[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: private algorithms and the DS record



Edward Lewis wrote:
At 9:35 -0500 12/22/04, David Blacka wrote:

There is still potential for a security problem, here, I think.

If an implementation pulls the private algorithm name from the DNSKEY and
eliminate the DNSKEY and DS before actually computing the SHA1 hash of the
DNSKEY.


I'm not following...(maybe I'm context switching too much)...can you elaborate?

Sure. Remember that, in the absence of private algorithms the implied algorithm is:


1) get a referral containing a DS set.
2) for each DS, check the algorithm. If you do not recognize the algorithm, remove it from consideration.
3) if there are still DSs in consideration, then the subzone must be signed. if there aren't DSs in consideration (i.e., no supported algorithms), consider the zone unsigned (or follow local policy, whatever)
4) fetch the DNSKEYs from the subzone, match DSs to DNSKEYs.


In the presence of private algorithms, the temptation might be to replace step 2 with:

2) for each DS, check the algorithm. If you understand a private algorithm, and one of the DSs uses a private algorithm, fetch the DNSKEY set from the child, find the correct key via algorithm and keyid, pull the private algorithm name and continue as before.

I.e., do the minimum amount of work to satisfy the requirements of step 2.

Where the safe thing to do is: .. find the correct key via algorithm and keyid, make certain the DS hash matches the DNSKEY key ..

The difference between doing the safe thing and not is currently an awareness of this safety issue. Right now, the only way a future implementer would be aware of this issue (and how to handle private algorithm, period, for that matter) is to either read the namedroppers archives, or to recreate this analysis.

Maybe it will never come up. Or maybe all implementers of DNSSEC will have read this thread when it was posted.

--
David Blacka    <davidb@verisignlabs.com>
Sr. Engineer    VeriSign Applied Research

--
to unsubscribe send a message to namedroppers-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>