Re: [dnsext] Clarifying the mandatory algorithm rules
"W.C.A. Wijngaards" <wouter@nlnetlabs.nl> Thu, 18 November 2010 11:48 UTC
Return-Path: <wouter@nlnetlabs.nl>
X-Original-To: dnsext@core3.amsl.com
Delivered-To: dnsext@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C349E28B797 for <dnsext@core3.amsl.com>; Thu, 18 Nov 2010 03:48:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.628
X-Spam-Level:
X-Spam-Status: No, score=-1.628 tagged_above=-999 required=5 tests=[AWL=-0.124, BAYES_00=-2.599, HELO_EQ_NL=0.55, HOST_EQ_NL=1.545, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EmVh-hSXI7sg for <dnsext@core3.amsl.com>; Thu, 18 Nov 2010 03:47:55 -0800 (PST)
Received: from rotring.dds.nl (rotring.dds.nl [85.17.178.138]) by core3.amsl.com (Postfix) with ESMTP id DB9123A6835 for <dnsext@ietf.org>; Thu, 18 Nov 2010 03:47:54 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by rotring.dds.nl (Postfix) with ESMTP id 9763E586E9 for <dnsext@ietf.org>; Thu, 18 Nov 2010 12:48:41 +0100 (CET)
Received: from vylkir.localdomain (195-241-9-117.adsl.dds.nl [195.241.9.117]) (using SSLv3 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by rotring.dds.nl (Postfix) with ESMTPSA id 3FFCD58677 for <dnsext@ietf.org>; Thu, 18 Nov 2010 12:48:35 +0100 (CET)
Message-ID: <4CE51293.5040605@nlnetlabs.nl>
Date: Thu, 18 Nov 2010 12:48:35 +0100
From: "W.C.A. Wijngaards" <wouter@nlnetlabs.nl>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Fedora/3.1.6-1.fc13 Thunderbird/3.1.6
MIME-Version: 1.0
To: dnsext@ietf.org
References: <alpine.BSF.2.00.1011180553250.83352@fledge.watson.org>
In-Reply-To: <alpine.BSF.2.00.1011180553250.83352@fledge.watson.org>
X-Enigmail-Version: 1.1.2
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.96.4 at rotring
X-Virus-Status: Clean
Subject: Re: [dnsext] Clarifying the mandatory algorithm rules
X-BeenThere: dnsext@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: DNS Extensions working group discussion list <dnsext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/dnsext>, <mailto:dnsext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dnsext>
List-Post: <mailto:dnsext@ietf.org>
List-Help: <mailto:dnsext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsext>, <mailto:dnsext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Nov 2010 11:48:00 -0000
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Samuel, Several people have complained that unbound is too strict, and I keep defending this. I do claim to be RFC conformant; and I want to oppose the change. (but not the clarification of signing rules). On 11/18/2010 12:02 PM, Samuel Weiler wrote: > opening resolvers to a downgrade attack or discouraging the use of new > algorithms. This is what I do, I want to avoid a downgrade attack. A proper signed zone has these signatures. They are missing. Something is wrong. > CZNIC published a DNSKEY for a "new" algorithm without simultaneously > publishing the corresponding RRSIGs. Unbound started rejecting answers > from .cz because the zone didn't also include the new RRSIGs, even > though Unbound fully supported the old algorithm and the RRSIGs for that > old algorithm were present in the zone. Yes. Even though one signature worked, because the other did not work (was 'stripped off') it was obvious that there was a downgrade attack. Signatures had been removed from the answer. To be safe, unbound blocks this suspect content. And if you interpret the downgrade to include algorithm-downgrade, then it might be unbound itself that is under a downgrade attack. It is certain that someone-else (that has less algorithm support) is getting a signature-presence-downgrade attack. > These rules are indeed for zone operators and/or signers and do not need > to be enforced by a validator. While I haven't worked through the I am ok with OPTIONAL. I understand cryptographically it works with a single signature, but operationally I do not agree with you. Operationally, something really bad is happening. > validation sections of 4035 closely, I think Unbound is violating the > RFC by checking for this. (It would fine for Unbound to disable support > for the "old" algorithm entirely, in which case the answers should > indeed be rejected, but that isn't what happened here.) In contrast, > BIND found the signatures from the "old" algorithm sufficient. You must not be lenient with security. I disagree, I am not violating the RFC. I choose to reject zones that are not signed properly. You understand that unbound gets algorithm-downgrade-protection from applying this policy? There is actual security benefit to this policy? > I've heard folks from CZNIC advocating adding some clarifications to > 4641bis and other operational documents reminding zone operators of > these rules, perhaps in better language. I generally support that. Yes, people should know how to keep it signed properly. > I've also been encouraged to add an explanation of this to > dnssec-bis-updates. Since validator implementers did different things, > I agree that clarification is in order. > > I'm not sure if the generalization (that validators can ignore section > 2) is 100% correct. Is it? No, don't do this, it makes the situation less understandable; I want to reject this because referring to section headers is perhaps something of an excuse, but not good for understanding. > Alternatively, we could say something specific: > > "The last paragraph of RFC4035 Section 2.2 includes rules for which > algorithms must be used to sign a zone. Since these rules have been > confusing, we restate them in different language here: Perhaps the above paragraph can be shortened, 'rules are restated here'. > Every algorithm present in a zone's DS RRset (if any) must also be > present in its DNSKEY RRset. Every algorithm present in the DNSKEY > RRset must be used to sign every RRset in the zone, including the DNSKEY > RRset itself. If more than one key of the same algorithm is in the > DNSKEY RRset, it is sufficient to sign each RRset with any subset of > these DNSKEYs. It is acceptable to sign some RRsets with one subset of > keys (or key) and other RRsets with a different subset, so long as at > least one DNSKEY of each ALGORITHM is used to sign each RRset. > Likewise, if there are DS records for multiple keys of the same > algorithm, any subset of those may appear in the DNSKEY RRset. I agree with this text, and I like it. I would like you to add that 'extra signatures are allowed to be present (that have nothing to do with the keys in the DNSKEY rrset)'. I want to add it because people asked me that as a question. It states something new: the DNSKEY RRset must be signed with every algorithm present in the DNSKEY RRset validly. This makes a (small) difference to the revoke step in the RFC5011-singlecombinedkey-algorithm-rollover scheme, where the DNSKEY must also be signed with the temporary-ZSK (I believe). Some signers take leeway when no DS points to a zone, since the DNSKEY does not get validated with those algorithms by current validator implementations. But I am OK with this change. > Furthermore, note that these rules are for zone operators and zone > operators, as might be inferred from the Section 2 heading: "Zone > Signing". These rules do not need to be separately enforced by > validating resolvers." I do not agree with this, because it diminishes security. > Does the WG have a preference for which version of this to add to > dnssec-bis-updates? By default, I propose to add the specific one. If > someone else has walked through RFC4035 Sections 4 and 5 carefully, > perhaps we could use the general one. I also welcome other restatements > of the rules: I wrote the original ones which have been confusing, and > having someone else rewrite them might make more sense. You are removing algorithm-downgrade protection, even though the current rules seem to make this optional today. I disagree with that. If someone decides to sign his zone (permanently, not rollover) with algorithms X and Y, he should get protection from X AND Y, not X OR Y when this is possible and implemented. The protocol can easily deal with this, we should not allow misconfiguration. Best regards, Wouter -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAkzlEpMACgkQkDLqNwOhpPhjYACeMfS3m7QSRRolK48EhaigyRuS RBgAoLH+zQ+VN36QoaJaHjlU9uPJLEay =vjRC -----END PGP SIGNATURE-----
- Re: [dnsext] Clarifying the mandatory algorithm r… Jeffrey A. Williams
- Re: [dnsext] Clarifying the mandatory algorithm r… Jeffrey A. Williams
- Re: [dnsext] Clarifying the mandatory algorithm r… Jeffrey A. Williams
- [dnsext] Clarifying the mandatory algorithm rules Samuel Weiler
- Re: [dnsext] Clarifying the mandatory algorithm r… Ondřej Surý
- Re: [dnsext] Clarifying the mandatory algorithm r… Ondřej Surý
- Re: [dnsext] Clarifying the mandatory algorithm r… Samuel Weiler
- Re: [dnsext] Clarifying the mandatory algorithm r… W.C.A. Wijngaards
- Re: [dnsext] Clarifying the mandatory algorithm r… W.C.A. Wijngaards
- Re: [dnsext] Clarifying the mandatory algorithm r… Phillip Hallam-Baker
- Re: [dnsext] Clarifying the mandatory algorithm r… Florian Weimer
- Re: [dnsext] Clarifying the mandatory algorithm r… Jelte Jansen
- Re: [dnsext] Clarifying the mandatory algorithm r… Samuel Weiler
- Re: [dnsext] Clarifying the mandatory algorithm r… Brian Dickson
- Re: [dnsext] Clarifying the mandatory algorithm r… Samuel Weiler
- Re: [dnsext] Clarifying the mandatory algorithm r… Samuel Weiler
- Re: [dnsext] Clarifying the mandatory algorithm r… Ondřej Surý
- Re: [dnsext] Clarifying the mandatory algorithm r… Ondřej Surý
- Re: [dnsext] Clarifying the mandatory algorithm r… Ondřej Surý
- Re: [dnsext] Clarifying the mandatory algorithm r… Brian Dickson
- Re: [dnsext] Clarifying the mandatory algorithm r… Ondřej Surý
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… Brian Dickson
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… Ondřej Surý
- Re: [dnsext] Clarifying the mandatory algorithm r… George Barwood
- Re: [dnsext] Clarifying the mandatory algorithm r… Jelte Jansen
- Re: [dnsext] Clarifying the mandatory algorithm r… W.C.A. Wijngaards
- Re: [dnsext] Clarifying the mandatory algorithm r… Ondřej Surý
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… W.C.A. Wijngaards
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… Jelte Jansen
- Re: [dnsext] Clarifying the mandatory algorithm r… Doug Barton
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… Matthijs Mekking
- Re: [dnsext] Clarifying the mandatory algorithm r… Jelte Jansen
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Ondřej Surý
- Re: [dnsext] Clarifying the mandatory algorithm r… Paul Vixie
- Re: [dnsext] Clarifying the mandatory algorithm r… W.C.A. Wijngaards
- Re: [dnsext] Clarifying the mandatory algorithm r… Matthijs Mekking
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Phillip Hallam-Baker
- Re: [dnsext] Clarifying the mandatory algorithm r… Matthijs Mekking
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Brian Dickson
- Re: [dnsext] Clarifying the mandatory algorithm r… Matthijs Mekking
- Re: [dnsext] Clarifying the mandatory algorithm r… Olafur Gudmundsson
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Alfred Hönes
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… Samuel Weiler
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… Matthijs Mekking
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Samuel Weiler
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Brian Dickson
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… Samuel Weiler
- Re: [dnsext] Clarifying the mandatory algorithm r… Mark Andrews
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Casey Deccio
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Casey Deccio
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Casey Deccio
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Matthijs Mekking
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Matthijs Mekking
- Re: [dnsext] Clarifying the mandatory algorithm r… Edward Lewis
- Re: [dnsext] Clarifying the mandatory algorithm r… Samuel Weiler
- [dnsext] MAR proposal #1: Algorithm downgrade pro… Samuel Weiler
- Re: [dnsext] MAR proposal #1: Algorithm downgrade… Samuel Weiler
- [dnsext] MAR proposal #2: Allowing pre-publishing… Samuel Weiler
- Re: [dnsext] MAR proposal #1: Algorithm downgrade… Edward Lewis
- Re: [dnsext] MAR proposal #2: Allowing pre-publis… Edward Lewis
- Re: [dnsext] MAR proposal #1: Algorithm downgrade… Mark Andrews
- Re: [dnsext] MAR proposal #1: Algorithm downgrade… Paul Hoffman
- Re: [dnsext] MAR proposal #2: Allowing pre-publis… Paul Hoffman
- Re: [dnsext] MAR proposal #1: Algorithm downgrade… Brian Dickson
- Re: [dnsext] MAR proposal #2: Allowing pre-publis… Marc Lampo
- Re: [dnsext] MAR proposal #2: Allowing pre-publis… Matthijs Mekking
- Re: [dnsext] MAR proposal #2: Allowing pre-publis… Joe Abley
- Re: [dnsext] Clarifying the mandatory algorithm r… weiler