Re: [TLS] Precluding bilateral opt-in for downgrade protection.

Paul Wouters <paul@nohats.ca> Sat, 28 April 2018 19:01 UTC

Return-Path: <paul@nohats.ca>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ACF0E127342 for <tls@ietfa.amsl.com>; Sat, 28 Apr 2018 12:01:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nohats.ca
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 hn1P5hQYPAr8 for <tls@ietfa.amsl.com>; Sat, 28 Apr 2018 12:01:43 -0700 (PDT)
Received: from mx.nohats.ca (mx.nohats.ca [193.110.157.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 61488127241 for <tls@ietf.org>; Sat, 28 Apr 2018 12:01:43 -0700 (PDT)
Received: from localhost (localhost [IPv6:::1]) by mx.nohats.ca (Postfix) with ESMTP id 40YKsc72cHz34Z; Sat, 28 Apr 2018 21:01:40 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nohats.ca; s=default; t=1524942101; bh=d1Hzu8h7qk+GwJg82siGg6GKbcou6oVRS5X2nGN4x84=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=PNP01nB5y9kjy4fNuv1ScRLoyYgE2qF/eeYxRfPTs0PcnbBicRwrqCNcC6FfD3ltP QSJ5IcY7bSd0RH41T0VIyemSMnBctZzAPr0o65pIDjVv0vNnh78DHMCep4AeBvGpB1 ptIU69pc3XSgFCQPBGhXD8JAREctEu/eJPvXaoPU=
X-Virus-Scanned: amavisd-new at mx.nohats.ca
Received: from mx.nohats.ca ([IPv6:::1]) by localhost (mx.nohats.ca [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id 1Ar_iy1w5aHw; Sat, 28 Apr 2018 21:01:37 +0200 (CEST)
Received: from bofh.nohats.ca (bofh.nohats.ca [76.10.157.69]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx.nohats.ca (Postfix) with ESMTPS; Sat, 28 Apr 2018 21:01:35 +0200 (CEST)
Received: by bofh.nohats.ca (Postfix, from userid 1000) id 8108361CD5; Sat, 28 Apr 2018 15:01:34 -0400 (EDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 bofh.nohats.ca 8108361CD5
Received: from localhost (localhost [127.0.0.1]) by bofh.nohats.ca (Postfix) with ESMTP id 7527440C1031; Sat, 28 Apr 2018 15:01:34 -0400 (EDT)
Date: Sat, 28 Apr 2018 15:01:34 -0400
From: Paul Wouters <paul@nohats.ca>
To: Shumon Huque <shuque@gmail.com>
cc: TLS WG <tls@ietf.org>
In-Reply-To: <CAHPuVdV+qhC=jS-JEoS6ig6ofRXV__VLOmSL=6c=3_vJK-zCpQ@mail.gmail.com>
Message-ID: <alpine.LRH.2.21.1804281435500.11560@bofh.nohats.ca>
References: <C7CAD4AD-B296-473A-890D-BEBA115990B4@dukhovni.org> <CAHPuVdV+qhC=jS-JEoS6ig6ofRXV__VLOmSL=6c=3_vJK-zCpQ@mail.gmail.com>
User-Agent: Alpine 2.21 (LRH 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/OzRa003benLptgf4YDzWwNHDSf4>
Subject: Re: [TLS] Precluding bilateral opt-in for downgrade protection.
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 28 Apr 2018 19:01:46 -0000

On Sat, 28 Apr 2018, Shumon Huque wrote:

[ not going to repeat my technical arguments here, just going to comment
on process ]

> First, there is no agreement that your reason for doing pinning,
> i.e. that DANE needs downgrade resistance against PKIX attacks
> is even valid.

This is incorrect. From the replies to the consensus call on the list,
it actually weights in favour of _some_ kind of downgrade resistance.

In fact, it worries me that the consensus call outcome seems to come
from non-public voices and not from a tally of those participants on
the TLS list.

> This can be clearly seen from various comments on
> list and at IETF/London, such as the point made many times that 
> the original purpose of this draft was to add DANE as an additional 
> possible authentication mechanism in TLS, not to position it as a 
> mechanism that if available unconditionally trumps PKIX authentication.. 

This is actually upsetting. I can assure you that since the late 90's,
people were working on DNSSEC as an alternative for the webpki. I wrote
RFC 7901 as a building block for doing so, and that RFC is now the basis
of the format of the data in this document. It is an explicit goal of
_some_ people at IETF and has been for decades. What the motivation is
of the individual document editor is not relevant. Once the document
was adopted by the WG it became a document that needs to represent WG
consensus, not original author intent.

I will agree to the point that people in the webpki sphere dislike
DNSSEC and don't want to see it competing against webpki. But writing
specifications to limit alternatives is not what the IETF is about. The
two byte is too much argument is simply a strawman argument.

The "additive use case" is a completely made up concept. No one in their
right minds will want a security model of "DANE or WebPKI, whichever is
weaker".

> If you look back at my back-and-forth answering IESG review comments, 
> you will observe that I had to add text to the draft that says TLS clients 
> can fail back to normal PKIX authentication if DANE fails for any reason
> (i.e. a protocol behavior that is the opposite of downgrade resistance). 

No one is objecting to that text.

> There are other comments like (paraphrasing) "What's the downgrade 
> problem? The only security downgrade issue I see is DNSSEC's use of 
> legacy crypto"?

Everyone makes mistakes, even people in the IESG. Viktor, Nico and I
have clearly explained the downgrade attack. If your argument is that
the IESG said otherwise and we should believe them, then the IESG is
wearing no clothes, unless the specific IESG individual will show us
the technical argument of why there allegedly is no downgrade attack.

> Clearly, for most DANE proponents, an obvious goal for the protocol
> would be to protect against PKIX attacks. In an ideal world, I share
> that view also. But I also recognize the other views I just described,
> and am willing to make compromises to get a foot in the door for DANE
> first. There will always be opportunities to improve the protocol
> later.

This is again not the proper argument to have. We make arguments based
on technical merit and not based on "other [political] views". The
technical points against a two byte zero value are non-existent.

> In fact, the legacy crypto issue will always be a huge impediment for
> any DANE proponent in arguing against the Internet PKI. An argument
> I've heard many times: Since most of the Internet PKI has moved to
> 2048-bit RSA or better, why would I degrade the security of my system
> by moving to DANE, which in most cases is protected by 1024-bit RSA ZSK's
> in the weakest part of the chain (some chains are even weaker)? And if so,

At this rate, this RFC won't be ready before .com is using 2048bit
ZSK's. The argument is pretty weak and ephemeral and should not be
an argument when writing RFCs.

> why should PKIX not need downgrade resistance against DANE

It already has that by simply not using DANE, which is what all current
browsers already (sadly) do. The refusal of the two byte value however,
does not reciprocate that freedom to those users who voluntarilly want
to move away from webpki towards dane-only.

> vice versa? For DANE proponents to make a stronger case, they need to
> urgently solve this problem. I'm not sure how to do that quickly - it
> probably involves getting ICANN to impose rules on TLDs prohibiting
> weak keys (which would likely take years).

Strawman. From what I know, Versign is already investigating the ZSK
key length for its zones. Regardless of if that would take years or not,
publishing new RFCs that for no reason prohibit moving towards this
added security is not what the IETF should be doing.

> The second reason is that pinning really is a controversial feature.
> And for this reason, putting it in the core spec will be difficult.

That is not a technical argument. And Viktor's proposal of just adding
the two bytes set to a mandatory 0 in this specification moves the
discussion of how/when to pin this extension to that other new document
that will see new (technical) discussion. So your argument here is only
in favour of those two bytes to ensure proper extension pinning
discussion happens in the new to be written specification.

> I won't repeat all the arguments and concerns expressed already, many
> of which I share by the way. So moving this feature into a new optional
> extension (both the pinning field and a description of the associated
> behavior) appears to me to be the past of least resistance.

The path of least resistance is not the same as rough consensus.

> By continuing to argue your position, the most you can hope to achieve
> is deadlock.

The exact same can be said of you, when you will face the inevitable
Appeal Process.

Paul