Re: [dnsext] Clarifying the mandatory algorithm rules

Edward Lewis <Ed.Lewis@neustar.biz> Mon, 22 November 2010 14:48 UTC

Return-Path: <Ed.Lewis@neustar.biz>
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 E9A9728C0D0 for <dnsext@core3.amsl.com>; Mon, 22 Nov 2010 06:48:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.96
X-Spam-Level:
X-Spam-Status: No, score=-99.96 tagged_above=-999 required=5 tests=[AWL=1.150, BAYES_05=-1.11, USER_IN_WHITELIST=-100]
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 b8B25DzTm4gI for <dnsext@core3.amsl.com>; Mon, 22 Nov 2010 06:48:08 -0800 (PST)
Received: from stora.ogud.com (stora.ogud.com [66.92.146.20]) by core3.amsl.com (Postfix) with ESMTP id D1C7B28B56A for <dnsext@ietf.org>; Mon, 22 Nov 2010 06:48:07 -0800 (PST)
Received: from Work-Laptop-2.local (gatt.md.ogud.com [10.20.30.6]) by stora.ogud.com (8.14.4/8.14.4) with ESMTP id oAMEmtpJ031592; Mon, 22 Nov 2010 09:48:55 -0500 (EST) (envelope-from Ed.Lewis@neustar.biz)
Received: from [192.168.128.163] by Work-Laptop-2.local (PGP Universal service); Mon, 22 Nov 2010 09:49:01 -0500
X-PGP-Universal: processed; by Work-Laptop-2.local on Mon, 22 Nov 2010 09:49:01 -0500
Mime-Version: 1.0
Message-Id: <a06240800c91031a94885@[192.168.128.163]>
In-Reply-To: <4CE69FBF.3070706@nlnetlabs.nl>
References: <alpine.BSF.2.00.1011180553250.83352@fledge.watson.org> <4CE50C01.4010104@nic.cz> <alpine.BSF.2.00.1011180630550.83352@fledge.watson.org> <4CE5898C.7050801@nic.cz><4CE64785.7090401@nlnetlabs.nl> <20101119141852.DC56A6F90C8@drugs.dv.isc.org> <4CE69FBF.3070706@nlnetlabs.nl>
Date: Mon, 22 Nov 2010 09:48:52 -0500
To: dnsext@ietf.org
From: Edward Lewis <Ed.Lewis@neustar.biz>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
X-Scanned-By: MIMEDefang 2.68 on 10.20.30.4
Cc: ed.lewis@neustar.biz
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: Mon, 22 Nov 2010 14:48:09 -0000

Apologies for not thoroughly reading the thread (volume is 
overwhelming), but I wanted to send this which I sent privately to 
Ondrej.  The reason is that I don't think anyone has properly stated 
the "use case" that prompted the questioned text.  (E.g., it isn't 
about algorithm "strength".)

Using a proof-by-contradiction approach, let's assume a signer *does 
not* have to have a signature by every algorithm at each and every 
set.

Let's say a signer has an alg 5 and alg 8 key in DS/DNSKEY and 
decides to signs all sets owned by names from a-m with alg 5 and all 
others with alg 8.  This decision is not expressible in the protocol 
(meaning the signer can't signal this to the verifier).

Let's say a verifier has implemented alg 5 but not alg 8.  When it 
asks for a set beginning with "a" it is supposed to arrive with a 
signature of alg 5.  The verifier should be able to validate the set. 
We know that only because we have "above vision" - knowing the intent 
of the sender.

If the verifier gets the set desired but there is an alg 8 signature 
there and no alg 5 signature, the verifier has no choice but to 
accept the data, even if the data has been forged.  Without the 
knowledge that the signer must have alg 5 and alg 8 signatures at the 
set, the verifier would be correct to conclude that this set was 
signed only by 8 and not by 5, thus out of bounds for the verifier.

The problem is, we know that the set was signed only by alg 5.  What 
happened is an interloper stripped off the legitimate alg 5 signature 
and inserted a completely bogus alg 8 signature - perhaps merely by 
changing the 5 to an 8 - and changing the data (maybe).  Recall that 
the verifier has not implemented alg 8 and hence cannot determine 
that the signature is bogus.

So, because the verifier is in an undecidable position - it can't 
distinguish between properly signed by alg 8 or improperly stripped 
of an alg 5, we have to require the signer include both.  The intent 
of this rule is to allow the verifier to have a "right to expect" an 
algorithm it can handle (given that the algorithm is in the DS and 
DNSKEY sets).  The intent was never to "look for trouble" in the 
sense that Unbound does.

- In summary, what we were concerned about was supporting old 
resolvers that didn't know about some algorithms, not a choice of 
algorithm situation.  And we were trying to make sure the protocol 
had a sufficient specification because we couldn't convey policy 
in-band.

- What the text missed was we didn't properly account for caching 
behavior and transition states.  (The latter a genetic problem in 
IETF solutions.)

- Oh, and yes, we probably could scope the requirement to the set of 
algorithms with keys that have an SEP bit set.


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

Ever get the feeling that someday if you google for your own life story,
you'll find that someone has already written it and it's on sale at Amazon?