feat(keys): the password's own proof key (ADR 0020, D19)
A third subkey of the password's Argon2id (context `hlkpass1`, subkey 3) seeds an Ed25519 pair: `PasswordKeys.proofKeyPair` and `proofPublicKey`. An account that keeps no SRP verifier proves its password by signing the register's nonce with it, as it proves the recovery phrase; neither SRP's verifier nor the unwrapped account keys a signed-in device keeps can make it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
b4c93e03de
commit
e8953d1560
1 changed files with 114 additions and 10 deletions
|
|
@ -1,5 +1,6 @@
|
|||
/// An account's keys on the device (ADR 0017): what the password unlocks
|
||||
/// (Argon2id, split into SRP's x and the key-encryption key), the account's
|
||||
/// (Argon2id, split into SRP's x, the key-encryption key and the password's
|
||||
/// proof key), the account's
|
||||
/// key pairs and their wrapping, the recovery phrase and its key, data keys
|
||||
/// sealed to the account, and content sealed and signed in ADR 0002's
|
||||
/// envelope. libsodium (the `sodium` package, its sumo API for Argon2id)
|
||||
|
|
|
|||
Loading…
Reference in a new issue