[OT: DNSCurve] Resolvers w/o key -> HMAC Proposal
Erwin Hoffmann <[email protected]>
| Newsgroups | gmane.network.djbdns |
|---|---|
| Message-ID | <[email protected]> |
Good morning, since there is no official discussion list on DNSCurve I try my question here. Current: DNSCurve requires that both the DNSCurve Sever as well Responder do encrypt their DNS messages with the public key of the peer. In fact, DNSCurve builds it's own infrastructure on top of public DNS and aside from DNSSec. Question: Wouldn't it be enough if the the DNSCurve Server has a Key ? Assumptions: 1. DNSCurve Server [B] has Pubkey+ Privkey; Pubkey is hostname label of FQDN. 2. DNSCurve Resolver/Forwarder [A] has no key at all. Outline of Proposal: a) [A] is preparing a query to [B]. b) [A] sees [B] is DNSCurve enabled from public DNS and set up Nonce. c) [A] is hashing the Query my means of SHA1 => HDQ=sha1(Query+Nonce); this is a Sharedsecret kept in memory aside the query and the Pubkey of [B]. d) [A] encrypts Query with Pubkey of [B] including the Nonce. e) [A] sends Query as "Open DNSCurve Query" to [B] f) [B] decrypts the "Open DNSCurve Query" by means of his Privkey. g)[B] constructs from the decrypted Query and the Nonce the HDQ. h) [B] provides the answer as "Open DNSCurve Answer" in a HMAC format to [A]. i) [A] receives and processes [B]'s answer by means of the HDQ. Disadvantages: Reduction of security quality w.r.t. the original implementation. Advantages: "Open DNSCurve Forwarders" (even behind a NAT and irrespectively whether IPv4/IPv6) could operate without particular key. Interoperabilty with 'keyed' DNSCurve Forwardes. Reduction of processing at DNSCurve Cache Servers (easy HMAC computation). Authenticity of DNSCurve Cache is untouched. Integrity of DNSCurve Answer is still provided. Thoughts, comments ? Thanks. --eh. Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de/