On 12/06/2010 09:06 AM, Ray Dillinger wrote: > On Sun, 2010-12-05 at 21:51 -0800, David Barrett wrote: >> Agreed on it not going anywhere anytime soon. I think they haven't been >> clear on what problem they're trying to solve. If it's to prevent >> government seizures of the domain, I'd suggest that be built into the >> existing DNS infrastructure in a backwards-compatible fashion. Ideally >> this would be part of DNSSec (though I don't think it is) as something like: >> >> 1) When the domain is registered (and renewed), record the new owner's >> public key in a big TXT record. >> >> 2) When the domain's DNS record is changed in any way, sign it with that >> public key. (This means only the owner can actually update the DNS record.) >> >> 3) On the client (or recursive DNS server) side, cache a domain's public >> key (if available) until its registration expires. (The "TTL" for the >> key is independent from the TTL of the record itself.) > > I'm not sure here - is the domain's public key distinct from the owner's > public key in this context? 'Cause if they are the same then the > recursive DNS nodes (and clients) can evaluate the validity of order to > change the DNS record. If they're not the same, then where does the > domain's private key live and how does the system deal with compromised > keys?
There is only one key, owned by the domain owner (not the registrar). It'd work like this: 1) I register domain supersecure.com, which has never been used before. 2) When registering it with Register.com, I choose the "Securely register this domain" option, and upload my public key, a DNS record description, and a signed hash of that record. 3) Register.com publishes the record for the first time, with my public key in a TXT record, and a signed hash of the record in another. 4) A DNS client (or intermediate server) receives a request to resolve supersecure.com for the first time. It has no prior cache, so it accepts the new value without question. 5) The domain's TTL expires, and the DNS client receives a second request. It redownloads the latest version of the record, validates the hash, and continues. ----------- ICANN seizes the domain ------------------ 6) Everything continues to function until the TTL expires 7) The domain's TTL expires, and the DNS client receives a third request. It redownloads the latest version of the record, but finds the signature fails (the hash doesn't match, or is improperly signed). It refuses the updated record and continues hosting the old record indefinitely (up until the expiration of the domain itself, at which time it reverts back to ICANN control). ------------- Domain owner resolves issue with ICANN ------- 8) Domain owner pushes an updated version of the DNS record. 9) DNS clients keep retrying (using the same TTL) throughout the temporary seizure, and eventually find that the new record has a valid signature. Obviously this has a lot of problems. If you lose the key to the domain, you're totally screwed. If a DNS client hadn't ever attempted to resolve your domain prior to ICANN seizing it, it'll go to them. Etc. But it gives your domain limited, temporary protection from seizure, for those people who already use you. For example, if Facebook used this, every DNS cache in the world is already populated. If your company used it, all your customers and users would continue functioning, for a while, giving you breathing room to figure out a long term solution. But ultimately, ICANN seizing the domain eventually is not a bug, it's a feature -- it's a core requirement of any centralized authority that they have central authority. This is one way to weaken that authority without taking it away entirely. Furthermore, any P2P-DNS (DDNS) system would have the same problem if it still has a central authority. Indeed, the problem has absolutely nothing to do with technology and everything to do with who you trust to resolve names to values. If that trusted person changes the mapping, then according to that design, that's a good thing. -david _______________________________________________ p2p-hackers mailing list p2p-hackers@lists.zooko.com http://lists.zooko.com/mailman/listinfo/p2p-hackers