Re: [dnsext] MAR proposal #1: Algorithm downgrade protection

Edward Lewis <Ed.Lewis@neustar.biz> Fri, 01 April 2011 14:54 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 90BD03A6863 for <dnsext@core3.amsl.com>; Fri, 1 Apr 2011 07:54:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.553
X-Spam-Level:
X-Spam-Status: No, score=-102.553 tagged_above=-999 required=5 tests=[AWL=0.046, BAYES_00=-2.599, 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 fXHxpa3XftNO for <dnsext@core3.amsl.com>; Fri, 1 Apr 2011 07:54:51 -0700 (PDT)
Received: from stora.ogud.com (stora.ogud.com [66.92.146.20]) by core3.amsl.com (Postfix) with ESMTP id 28C923A6839 for <dnsext@ietf.org>; Fri, 1 Apr 2011 07:54:51 -0700 (PDT)
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 p31EuORE098804; Fri, 1 Apr 2011 10:56:27 -0400 (EDT) (envelope-from Ed.Lewis@neustar.biz)
Received: from [10.31.200.116] by Work-Laptop-2.local (PGP Universal service); Fri, 01 Apr 2011 10:56:27 -0400
X-PGP-Universal: processed; by Work-Laptop-2.local on Fri, 01 Apr 2011 10:56:27 -0400
Mime-Version: 1.0
Message-Id: <a06240800c9bb91a9ee04@[10.31.200.116]>
In-Reply-To: <alpine.BSF.2.00.1104011022030.92106@fledge.watson.org>
References: <alpine.BSF.2.00.1011180553250.83352@fledge.watson.org> <4CE51293.5040605@nlnetlabs.nl> <a06240801c9101620d463@192.168.128.163> <22284.1290447209@nsa.vix.com> <4CF4D54B.5000407@nlnetlabs.nl> <20110310223438.978E9C0E902@drugs.dv.isc.org> <4D79DDFA.3010006@nlnetlabs.nl> <alpine.BSF.2.00.1103140901170.99213@fledge.watson.org> <20110314213319.A2799C8CA0B@drugs.dv.isc.org> <alpine.BSF.2.00.1103141750530.74870@fledge.watson.org> <a06240800c9a50cf4632a@10.31.200.110> <AANLkTimUUa5zkr+hZH4jR-euENg_n=9EwtRVBN-cxr9_@mail.gmail.com> <a06240802c9a7b6cb4cc3@192.168.1.105> <AANLkTin+hMZ-27VjkQq7_44zNguMiefhxbgGD+-XZxPP@mail.gmail.com> <a06240802c9a7e0807069@10.31.200.117> <AANLkTi=4co5mS3RYhK1BvUMOm54wgNAMeKtk3_Zm0ff1@mail.gmail.com> <a06240802c9a93d762e13@[10.31.200.112]> <a06240803c9a9417e1fe8@[10.31.200.112]> <4D938CC3.1020103@nlnetlabs.nl> <a06240800c9ba6184d535@[10.31.200.112]> <4D94DF2B.1040407@nlnetlabs.nl> <a06240800c9bb6f86edae@[10.31.200.112]> <alpine.BSF.2.00.1104011022030.92106@fledge.watson.org>
Date: Fri, 01 Apr 2011 10:53:09 -0400
To: Samuel Weiler <weiler@watson.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: dnsext@ietf.org
Subject: Re: [dnsext] MAR proposal #1: Algorithm downgrade protection
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: Fri, 01 Apr 2011 14:54:52 -0000

At 10:24 -0400 4/1/11, Samuel Weiler wrote:
>This is a proposed change in DNSSECbis that arguably changes the 
>mandatory algorithm rules.  I'm posting this as a summary of what I 
>understand some may support, I don't support this change myself. 
>Please post in this thread with your support or lack thereof.
>
>
>In order to provide some protection against algorithm downgrade[1], 
>we're defining a mechanism for zone signers to signal to validators 
>that a SET of algorithms should ALL be checked, when possible, 
>before determining that an answer from the zone is Secure. 
>Specifically, we're overloading the DS RRset to do that signalling.
>
>Validators SHOULD check signatures from all algorithms present in a 
>zone's DS RRset or trust anchors before declaring an answer from the 
>zone to be Secure.  If it is impossible to validate an answer with 
>one or more of those algorithms, the answer SHOULD be treated as 
>Bogus.
>
>This is a subset of the checks unbound was performing that let to 
>the discovery of the problems with .cz's algorithm roll process.
>
>Please post in this thread with your support or objections.

IMHO, algorithm downgrade protection is not a goal of DNSSEC. 
Further, there is no way an algorithm downgrade attack can succeed.

Presuming validation, when a resolver receives an answer section 
containing an RRset matching it's query, a resolver has to determine 
if the data is known to be insecure or is supposed to be secured.

If a signature arrives with the answer, the validator can begin there 
and work towards a trust anchor.  Recalling that the point is cache 
protection and the decisions made by the validator are governed first 
and foremost by local policy a validator can decide to ignore a 
specific algorithm as being suspect or broken.

If we are working backwards - that is up the tree from the answer to 
a trust anchor or forward - from a trust anchor down to the answer, 
there will be a point in which we can get the DS RRset for a zone cut 
from a parent and verify it completely.  In the DS set are the set of 
algorithms available of the zone below for the verifier to reply 
upon.  Again, it's the verifiers call which algorithms to use, not 
the DS set.

 From this the verifier can validate the DNSKEY set of the zone cut's 
corresponding apex.  The reason it can do this is that it has secured 
the DS set's state.  If there is no DS set, then there is an empty 
set of algorithms.  If the DS set has no algorithms useful to the 
validator, empty set.  If the DS set shows a stronger algorithm is in 
use in addition to a weak one, the validator can make a note of that 
(exclude the weak algorithm from what's acceptable).  I.e., it's not 
possible to "sneak one by" the validator by stripping signatures.

Stepping down into the zone, if the zone in question is the answer's 
owner (or has a further zone cut, the same will apply to the 
subsequent DS set), then we can look back at the answer.  What 
signatures are there?  Is it evident that a "necessary one" is 
missing?  The answer is yes, because the validator knows from the DS 
what to expect and the validator knows what it has on hand.

There's no downgrade attack that will get past this point if the 
validator has it's local policy implemented.

It's like saying someone's hall pass is good if it is signed by the 
principal but if the principal didn't object then a teacher can okay 
it.  (A teacher can't veto the principal.)  If the principal checked 
it and denied it yet the teacher signed it, the hall monitor can tell 
- if it is evident that the principal checked it.  If the result of 
the check isn't available, policy should prevent access, regardless 
of the lower level approval, right?

Turning this around - what if the hall monitor saw that the principal 
had approved but there was no word from the teacher?  It's a waste of 
time for the teacher's approval to be sought, because policy says the 
principal rules.  Even if the teacher is supposed to have an approval 
there, the lack if it isn't important.  Holding up the student will 
just irritate the student at that point.

DNSSEC is to protect the cache and it is up to validators to apply 
the necessary policy to meet the goals of DNS and security.  Get the 
answer fast and reliable.  DNSSEC is not about letting zone admins 
dictate to consumers how the zone is secured.  Zone admins are adding 
ancillary data to allow validators to make their checks.
-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Edward Lewis
NeuStar                    You can leave a voice message at +1-571-434-5468

Me to infant son: "Waah! Waah! Is that all you can say?  Waah?"
Son: "Waah!"