Re: [DNSOP] on staleness of code points and code (mentions MD5 commentary from IETF98)

Mukund Sivaraman <muks@isc.org> Tue, 28 March 2017 03:05 UTC

Return-Path: <muks@isc.org>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0F30412985B for <dnsop@ietfa.amsl.com>; Mon, 27 Mar 2017 20:05:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.235
X-Spam-Level:
X-Spam-Status: No, score=-1.235 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_SOFTFAIL=0.665] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wqtBQYIaJPd9 for <dnsop@ietfa.amsl.com>; Mon, 27 Mar 2017 20:05:29 -0700 (PDT)
Received: from mail.banu.com (mail.banu.com [IPv6:2a01:4f8:140:644b::225]) by ietfa.amsl.com (Postfix) with ESMTP id 99E7E126C83 for <dnsop@ietf.org>; Mon, 27 Mar 2017 20:05:29 -0700 (PDT)
Received: from jurassic (unknown [115.118.159.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.banu.com (Postfix) with ESMTPSA id 3B28F56A06BC; Tue, 28 Mar 2017 03:05:26 +0000 (GMT)
Date: Tue, 28 Mar 2017 08:35:23 +0530
From: Mukund Sivaraman <muks@isc.org>
To: Evan Hunt <each@isc.org>
Cc: Paul Vixie <paul@redbarn.org>, "dnsop@ietf.org" <dnsop@ietf.org>
Message-ID: <20170328030523.GA28657@jurassic>
References: <58D96BC0.9040701@redbarn.org> <20170328024127.GC96991@isc.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="Dxnq1zWXvFF0Q93v"
Content-Disposition: inline
In-Reply-To: <20170328024127.GC96991@isc.org>
User-Agent: Mutt/1.8.0 (2017-02-23)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/cSK1LRK-7XpatO-19uKwNbKAcVk>
Subject: Re: [DNSOP] on staleness of code points and code (mentions MD5 commentary from IETF98)
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Mar 2017 03:05:31 -0000

Hi Evan

On Tue, Mar 28, 2017 at 02:41:27AM +0000, Evan Hunt wrote:
> On Mon, Mar 27, 2017 at 12:45:04PM -0700, Paul Vixie wrote:
> > also, a validator that outputs "secure" based on MD5 inputs is making a
> > promise it can't keep.
> 
> MD5 is known to be breakable, but it's not *as* breakable that hasn't been
> signed, or a resolver that hasn't turned on validation.  A validator that
> doens't implement an algorithm treats any domain signed by that algorithm
> as if it were not signed at all.  A MITM attack on that domain goes from
> "not as difficult as we'd like" to "trivially easy".  I don't see this as
> a net improvement to security.

It doesn't seem the same as a validator not supporting any algorithms.

Consider a zone that its operator has signed with RSASHA256 (for current
generation resolver implementations) and RSAMD5 (for implementations
that predate RSASHA256).

In the case where a resolver implementation supports RSASHA256 and
doesn't support RSAMD5, if the trust chain using RSASHA256 is broken,
validation would fail as RSASHA256 is a supported algorithm.

In the case where a resolver implementation supports RSASHA256 and
RSAMD5, if the trust chain using RSASHA256 is broken, validation would
succeed via RSAMD5 if a chain of trust can be established using that
algorithm. This opens a risk of downgrade attack.

It seems better to remove support for older algorithms, if current
algorithms are supported.

I also don't think highly of the RFC behavior that a zone is considered
unsigned if no algorithm is supported in the DS set. It doesn't sit well
with the rest of the all-or-nothing DNSSEC behavior.

		Mukund