Commit Graph

2361 Commits (1a6dba3f0a937c33447e1ec46544afb123db12b5)

Author SHA1 Message Date
K Prasch b5c792b087
Merge pull request #467 from jMyles/character-crypto
Protection against node metadata replay attacks.
2018-10-03 11:50:57 -07:00
Kieran Prasch 99532d581a Use click built-in tooling for more eager and through CLI input validation; Document all CLI options. 2018-10-02 21:29:23 -07:00
Kieran Prasch eea6e5ea01 Reintroduce skipped CLI tests; Cleaup non-critical or stale stubs. 2018-10-02 21:19:23 -07:00
Kieran Prasch 5b0eb0003d Allow Vladimir to claim a BlockchainPower on the target Ursula's node; Use EvilMiddleware (skip Vladimir's SSL) 2018-10-02 21:19:23 -07:00
Kieran Prasch 76d8a2efd5 deprecate usage of certificates_dir from TLSKeypair and HostingPower 2018-10-02 21:19:23 -07:00
Kieran Prasch bf549db7f3 Learner is a concrete class; Handle unresponsive teacher nodes at startup. 2018-10-02 21:19:23 -07:00
Kieran Prasch 41d0ed5b0b Integrate with timestamp verification when remembering node by saving the cert to disk first. 2018-10-02 21:19:23 -07:00
Kieran Prasch cc5812f797 Improves CLI code style and conventions; Adds --force option to configure command. 2018-10-02 21:19:00 -07:00
Kieran Prasch 42f051f891 Save cert to disk when remembering node; Use host as certificate's common name and remove common_name from HostingKeypair 2018-10-02 11:32:55 -07:00
Kieran Prasch 1ab6fe5d31 Deprecate stale DHT Protocol classes 2018-10-02 11:32:55 -07:00
Kieran Prasch 246eb72e23 Provide flag for installing nucypher without a registry (for development); Log emissions for NodeConfiguration 2018-10-02 11:32:55 -07:00
Kieran Prasch a5441a01dc Use pasphrase to substantiate stamp 2018-10-02 11:32:55 -07:00
Kieran Prasch f9cfd597d4 Pass TLS certificate filepaths into node_information endpoint 2018-10-02 11:32:55 -07:00
Kieran Prasch 2805beb6be Update ursula CLI to save self-metadata; Check provider URI is tester at testing-startup 2018-10-02 11:32:55 -07:00
Kieran Prasch e3b78d0fd4 Use closures to encapsulate deploy logic; Restore functionality of the status CLI 2018-10-02 11:32:55 -07:00
Kieran Prasch 3337cdc994 Ensure accounts CLI can connect to blockchain with defaults and overrides; Do not validate blank registry. 2018-10-02 11:32:55 -07:00
Kieran Prasch f791e616ed Tighten up CLI connect to blockchain logic, collect pssphrase; Leave more CLI defaults to NodeConfiguration 2018-10-02 11:32:55 -07:00
Kieran Prasch 501bccc793 Limit CLI simulate command to test providers; Execute simulation using UrsulaProcessProtocol 2018-10-02 11:32:55 -07:00
Kieran Prasch 64351889e4 Allow CLI generation of both local and hosted transacting keys 2018-10-02 11:32:55 -07:00
Kieran Prasch 002e4275ca Check arming status with deployment readiness checks; Renaming 2018-10-02 11:32:55 -07:00
Kieran Prasch 80890ad026 Interleave deployment readiness checks with arming, passing through disqualifications to the CLI 2018-10-02 11:32:55 -07:00
Kieran Prasch 27d07be8e7 expand parameters of Blockchain.connect to include deployment and compilation options. 2018-10-02 11:32:55 -07:00
Kieran Prasch 72d07621fe Add deploy command; deprecate run_ursula infavor of ursula <action> 2018-10-02 11:32:55 -07:00
Kieran Prasch e1a67bf772 Restore use of CLI config class; Use shared cli flags and CLI config class throughout CLI.main 2018-10-02 11:32:55 -07:00
Kieran Prasch ab798bb4f3 Carefully piece together NodeConfiguration that works for lazy, temp, test, and real configs; Read seed registry 2018-10-02 11:32:55 -07:00
Kieran Prasch c99eae3605 Marks faileds TX regarding transaction gas. 2018-10-02 11:32:55 -07:00
Kieran Prasch b8b8d31118 Remove hot-swapping of registry at agent-init time; Require agency for acting. 2018-10-02 11:32:55 -07:00
Kieran Prasch 4ab2807a9f Update test fixture to testerchain netloc URI; Inreaces test coverage for deployer and agent. 2018-10-02 11:32:55 -07:00
Kieran Prasch 8dd1fe4b1d Token agency methods for geth node compadibility, Include transfer tokens agent method; Only init Miner if is_me is True 2018-10-02 11:32:55 -07:00
Kieran Prasch bd64521992 The Staking Loop; Add POA ans staking node configuration options 2018-10-02 11:32:55 -07:00
Kieran Prasch 74d52bba80 Require passphrase to substantiate_stamp; Integrate with CLI 2018-10-02 11:32:55 -07:00
Kieran Prasch bd88048f7b Fixes parameter merging bug; Set only uninitialized configuration to allow for individual settings to be flipped in the CLI 2018-10-02 11:32:55 -07:00
Kieran Prasch c2d2020839 Lazify path generation for NucypherKeyring 2018-10-02 11:32:55 -07:00
Kieran Prasch 8663bae64e Dedicated method for writing the default blank registry at installation-time; Use no_seed_registry configuration during tests 2018-10-02 11:32:44 -07:00
Kieran Prasch 8777c98969 Logging and API Updates for deployment workflow; Deployers and Interface 2018-10-02 10:53:31 -07:00
Kieran Prasch d804ecbc10 Use provider-uri & registry filepath as a means of connecting to contracts via CLI; Provide netloc of tester URIs 2018-10-02 10:53:31 -07:00
Kieran Prasch 9cce9f1ae7 Include provider_uri in configuration. 2018-10-02 10:53:31 -07:00
jMyles 589e7e61a0 Annnd finally, the logic to actually prevent the replay attack: Learners always keep only the latest signed metadata for a particular node. 2018-10-02 19:41:41 +02:00
jMyles 6aeb36ef70 (failing) test showing Alice only accepting latest node by timestamp. 2018-10-02 19:41:02 +02:00
jMyles 217d7b49a8 A few test things: Adding MockRestMiddleware where appropriate and expressly setting Ursula's verified_stamp status to False to show that it gets set to True during verification. 2018-10-02 17:33:53 +02:00
jMyles 8d39418a72 Caching verified_node status. 2018-10-02 17:33:07 +02:00
jMyles 369e87e829 Signed interface info messages includes timestamp. 2018-10-02 17:32:46 +02:00
jMyles 1ac448d4eb Vlad now needs to steal the timestamp in the simple case. 2018-10-02 17:32:23 +02:00
jMyles cb2d613cdb Separating timestamp and timestamp_bytes. 2018-10-02 17:32:09 +02:00
jMyles 58db9fdc12 Weaving timestamp into the proper inits. 2018-10-02 17:31:32 +02:00
jMyles 7c4f3ef2f6 Because we now only validate metadata in some cases during learning, we need to ensure that nodes are fully verified before remembering them. 2018-10-02 17:30:50 +02:00
jMyles 2d67007017 Adding notes to places where we assume that federated notes will accept other federated nodes - See #466. 2018-10-02 17:30:18 +02:00
jMyles 443ea93101 Moving the Learner init down so that it can use middleware. 2018-10-02 17:29:05 +02:00
jMyles ccadf17158 Setting timestamp bytes at interface signing time. 2018-10-02 11:52:14 +02:00
jMyles 570d5a6a1f Timestamp property function. 2018-10-02 11:51:04 +02:00