Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add replication to the key manager #1755

Merged
merged 15 commits into from
Jun 13, 2019
Merged

Conversation

Yawning
Copy link
Contributor

@Yawning Yawning commented May 29, 2019

@Yawning Yawning added p:1 Priority: core feature c:key management Category: key management labels May 29, 2019
@Yawning Yawning self-assigned this May 29, 2019
@codecov
Copy link

codecov bot commented May 29, 2019

Codecov Report

Merging #1755 into master will decrease coverage by 0.19%.
The diff coverage is 1.29%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master    #1755     +/-   ##
=========================================
- Coverage   56.86%   56.67%   -0.2%     
=========================================
  Files         224      224             
  Lines       20687    20758     +71     
=========================================
  Hits        11764    11764             
- Misses       7680     7751     +71     
  Partials     1243     1243
Impacted Files Coverage Δ
go/worker/keymanager/keymanager.go 22.36% <0%> (-9.38%) ⬇️
go/worker/common/host/sandboxed.go 54.1% <50%> (+0.09%) ⬆️
go/storage/client/client.go 58.66% <0%> (-0.24%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 972ab8d...fafa0ba. Read the comment docs.

@codecov
Copy link

codecov bot commented May 29, 2019

Codecov Report

Merging #1755 into master will decrease coverage by 0.78%.
The diff coverage is 29.51%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master   #1755      +/-   ##
=========================================
- Coverage   57.79%     57%   -0.79%     
=========================================
  Files         231     236       +5     
  Lines       21054   21644     +590     
=========================================
+ Hits        12168   12338     +170     
- Misses       7602    8011     +409     
- Partials     1284    1295      +11
Impacted Files Coverage Δ
go/registry/tests/tester.go 87.23% <ø> (-0.04%) ⬇️
go/registry/api/runtime.go 67.85% <0%> (-6.22%) ⬇️
go/worker/registration/registration.go 73.46% <0%> (-1.02%) ⬇️
go/common/node/node.go 25.58% <0%> (-0.25%) ⬇️
go/tendermint/apps/registry/registry.go 61.38% <100%> (ø) ⬆️
go/ekiden/cmd/common/common.go 46.57% <100%> (+4.78%) ⬆️
go/tendermint/apps/roothash/roothash.go 51.56% <100%> (+0.1%) ⬆️
go/ekiden/cmd/common/flags/flags.go 75% <100%> (+8.33%) ⬆️
go/ekiden/cmd/debug/bootstrap/bootstrap.go 29.87% <100%> (+0.92%) ⬆️
go/tendermint/apps/registry/state.go 82.73% <100%> (ø) ⬆️
... and 22 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3642a89...b6d4e92. Read the comment docs.

@Yawning Yawning force-pushed the yawning/feature/keymanager-redux branch 9 times, most recently from 6852095 to 0a66386 Compare June 5, 2019 14:08
@Yawning Yawning force-pushed the yawning/feature/keymanager-redux branch 16 times, most recently from 8c06d2d to 3acbdbd Compare June 12, 2019 10:24
@Yawning Yawning force-pushed the yawning/feature/keymanager-redux branch from 58c5e59 to ae9c5a3 Compare June 13, 2019 09:42
@Yawning Yawning changed the title wip: Moar keymanager Add replication to the key manager Jun 13, 2019
@Yawning
Copy link
Contributor Author

Yawning commented Jun 13, 2019

There's still some corresponding runtime-ethereum(?) and chart changes to be made, but this should be ready for review.

@Yawning Yawning marked this pull request as ready for review June 13, 2019 09:44
@Yawning Yawning added the c:breaking/consensus Category: breaking consensus changes label Jun 13, 2019
Yawning added 12 commits June 13, 2019 11:09
It is useful to be able to add extra data to the per-node/per-runtime
component of the node's descriptor (eg: propagate per-enclave instance
state in a generic way, without requiring a separate BFT call).
 * Sign the InitResponse with the RAK.
 * Validate the InitResponse signature with the appropriate key.
 * Include the SignedInitResponse as the node/runtime ExtraInfo.
The current design has no notion of short term public keys, so this API
is pointless.  We can add such a call back later if we actually need it.
 * Removed the timestamp from SignedPublicKey (Not used).
 * Added the checksum to SignedPublicKey.
 * Added the checksum to ContractKey.
Unless `debug.allow_test_keys` is set, keys registered as test keys will
fail signature verification, regardless of if the signature is actually
correct or not.
This adds a hardcoded test entity to ease the gigantic amount of pain
that is our deployment process.

 * `debug.test_entity` will cause the built-in test entity and signing
   key to be used, instead of anything on disk.
 * The signing key is a test key, so `debug.allow_test_keys` must also
   be set.
 * Registering the entity must happen manually as usual, though the
   genesis document creation tool and the debug bootstrap server  will
   include it in the genesis document iff `debug.test_entity` is set.
This might break deployment, because we use a pre-generated runtime
descriptor.  It needs to be regenerated anyway.
It's useful to be able to specify the filename to be written.
The onEpochChange handler needs to ignore non-compute runtimes as well.
@Yawning Yawning force-pushed the yawning/feature/keymanager-redux branch from ae9c5a3 to 57b6d99 Compare June 13, 2019 11:12
go/worker/keymanager/keymanager.go Show resolved Hide resolved
This is also done in the scheduler PR, but maybe this will be merged
first.
@Yawning Yawning force-pushed the yawning/feature/keymanager-redux branch from 57b6d99 to 7bdb8a5 Compare June 13, 2019 11:53
Yawning added 2 commits June 13, 2019 11:56
This also changes the single node config to use the hardcoded test keys
instead of a pre-generated entity.
@Yawning Yawning force-pushed the yawning/feature/keymanager-redux branch from 7bdb8a5 to b6d4e92 Compare June 13, 2019 11:56
@Yawning Yawning merged commit c3eb172 into master Jun 13, 2019
@Yawning Yawning deleted the yawning/feature/keymanager-redux branch June 13, 2019 12:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c:breaking/consensus Category: breaking consensus changes c:key management Category: key management p:1 Priority: core feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants