[dns-operations] Validation direction (Was: Re: Org Dnskey TTL)

Edward Lewis Ed.Lewis at neustar.biz
Tue Apr 20 14:41:50 UTC 2010


At 16:07 +0200 4/20/10, Phil Regnauld wrote:

>	Is there some inherent advantage to doing bottom-up validation ?

Yes, yes, there is.  I shudder to think that anyone would assume the 
opposite.  Validation was designed to be from the received data up to 
a trust anchor.

(Side note - When I wrote a validator in '98 it had two "phases" - 
optimistic/opportunistic and then pessimistic/pendantic. Once a query 
was satisfied, the validator would assume all the data came in good 
and then optimistically verify back to a trust anchor. If there was a 
failure, then the iterator would start again contacting only 
authoritative sources and validate each step down the tree.  The 
former was cheaper to do and more likely the case - as attacks are 
rare - hence it was done first.  I only become paranoid as a last 
resort.)

When you look at a terminal answer to a question (meaning, a match 
for QNAME, QCLASS, and QTYPE), you will also have an RRSIG.  In the 
RRSIG is the name of the key that signed it.  From that you validate 
the key by finding the key that signed it, and so on, until you reach 
a key you just trust.  There may be multiple signatures, hence 
multiple keys, hence multiple chains to try.

You have to decide whether a key is authorized to sign.  Today we 
assume the authorized key is only one of the zone's keys, but that 
wasn't in the original design.

Bottom up reinforces that DNSSEC is about protecting the consumer, 
and that "local policy" is the trump card.  The consumer can decide 
at what point they trust the chain and can decide whom they trust to 
sign data.  Even today it is not "illegal" to rely on a third party - 
it's just not the common path.

Had this all been top down, we'd have all sorts of other issues - 
like hardening down the tree when by its nature it's very loose. 
(Loose is good for scaling.)

There's also another aspect of this.  The job of the DNS is to get 
you an answer.  Depth first like.  BIND chooses to fill in the whole 
tree of data (NS and addresses) to get to an answer, but it even does 
that in parallel to the lookup driving the filling.  Job 1 - get the 
answer.  Job 2 - make sure it's good.  Remember that the delegation 
NS and glue are hints - and that is why - we are running to the 
answer first, asking questions later.

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Edward Lewis
NeuStar                    You can leave a voice message at +1-571-434-5468

Wouldn't it be nice if all of the definitions of equivalence were the same?



More information about the dns-operations mailing list