Replies: 1 comment 5 replies
-
Having support for nameservers/signing with bob wallet would be a nice use case for this. One issue with keeping DNSSEC keys completely offline is you have to increase the signature lifetime otherwise it wouldn't be practical Assuming bob signed this zone with signatures valid for two years:
If any of these records is updated at a later point that's before the RRSIG expiration, the older records can still be used for replay attacks because they have valid signatures. Some solutions:
For 2,3 some considerations are needed with key rollover to avoid downtime see RFC6781 section 4 |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Handshake users should have control over their own private keys for the blockchain, backed up by a BIP39 seed phrase and derived using BIP44 (with purpose
44'
and cointype5353'
). It would be convenient if we could extend this model for the DNSSEC keys that TLD owners will inevitably generate as well.Unfortunately ECDSA (with curve
secp256k1
) is not a standard DNSSEC algorithm. However,ed25519
and ECDSA using curveP-256
(akasecp256r1
) are: https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtmlSO, we must be careful mixing cryptographic algorithms together, but if we can very intentionally keep the private keys separate, we can do it. I propose using a new BIP44
purpose
with value53'
for DNSSEC key generation.I think we can continue to use the ECDSA/BIP32 derivation algorithm to generate keys as needed, if we use hardened derivation only (which incorporates a hash) then there shouldn't be any crazy wallet seed risk. We can even create "accounts" from name hash and auction start height, then derive new keys from that account if we ever need to rollover. There wouldn't be a blockchain to recover from but a wallet could make a DNS request to find the current DS record and then regenerate keys to discover its "index".
This HIP would enable some really cool features, for example: Bob Wallet could easily support signed zone file management under the hood, obfuscating DS record and DNSSEC key storage away from the user. Public servers (like shakedex and even the block explorers) could be added as options into bob wallet.
User Interface could be this simple:
Example implementation:
Output:
Beta Was this translation helpful? Give feedback.
All reactions