Re: [TLS] Consensus Call on draft-ietf-tls-dnssec-chain-extension

Viktor Dukhovni <ietf-dane@dukhovni.org> Fri, 13 April 2018 04:43 UTC

Return-Path: <ietf-dane@dukhovni.org>
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 E9D57126BF0 for <tls@ietfa.amsl.com>; Thu, 12 Apr 2018 21:43:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham 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 4d7mcy2zS7Pn for <tls@ietfa.amsl.com>; Thu, 12 Apr 2018 21:43:27 -0700 (PDT)
Received: from mournblade.imrryr.org (mournblade.imrryr.org [108.5.242.66]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 22006124239 for <tls@ietf.org>; Thu, 12 Apr 2018 21:43:26 -0700 (PDT)
Received: from [10.90.70.160] (unknown [38.86.168.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mournblade.imrryr.org (Postfix) with ESMTPSA id D53197A3309 for <tls@ietf.org>; Fri, 13 Apr 2018 04:43:25 +0000 (UTC) (envelope-from ietf-dane@dukhovni.org)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 11.3 \(3445.6.18\))
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
In-Reply-To: <a1e1258b-f002-f162-ba05-fd8b728ac2cd@nomountain.net>
Date: Fri, 13 Apr 2018 00:40:41 -0400
Content-Transfer-Encoding: quoted-printable
Reply-To: TLS WG <tls@ietf.org>
Message-Id: <095DDF77-F2E6-4522-AFA1-B77710B1BC98@dukhovni.org>
References: <CAOgPGoAhzEtxpW5mzmkf2kv3AcugNy0dAzhvpaqrTSuMSqWqfw@mail.gmail.com> <CAHPuVdXfVQ5ZYL+dTvFeTfOaz2NNPrqxvnWuqJkxu0aaKDF_Sg@mail.gmail.com> <20180410235321.GR25259@localhost> <20180411173348.GP17433@akamai.com> <alpine.LRH.2.21.1804120438460.24369@bofh.nohats.ca> <CAL02cgSuTOaT_NwnpXaa8DPhNJhzqZwepRL+J29BzcBfCTDtHw@mail.gmail.com> <CAHbuEH78KNyk8fnHThRkCERKPjZzYppi1uhkDx6kL_t448q0_g@mail.gmail.com> <20180412175441.GD20782@akamai.com> <6db83a59-1f0f-f552-0d48-6e2a8d43f602@nomountain.net> <CABkgnnUwOjkY1_KejV-YOw3YRqjFfzaYurEY1OpZ8phQVhcWLg@mail.gmail.com> <114FE78D-F340-4752-BEF0-459FE1548A80@dukhovni.org> <aa7ca33a-4acd-c770-a43c-df7a1f66c782@nlnetlabs.nl> <E3918F11-9AD7-4C06-9173-5175ECACD16B@dukhovni.org> <CABcZeBP6-7_NNmC+7iVnNXbQw7p3jJH4eC1-EjY4C4CwdWWNcg@mail.gmail.com> <702DDD4B-4609-476C-9BAA-6AA05978135F@dukhovni.org> <CABcZeBPJY1tsnCTYFbLoFSUX8pdVE7ZCi-+7kWsZkx8vwR_0YA@mail.gmail.com> <57382E5B-3562-426F-8E1D-58E140296DBC@dukhovni.org> <a1e1258b-f002-f162-ba05-fd8b728ac2cd@nomountain.net>
To: TLS WG <tls@ietf.org>
X-Mailer: Apple Mail (2.3445.6.18)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/_VPMWtZrwr6uUIbggNQzseoSM6Q>
Subject: Re: [TLS] Consensus Call on draft-ietf-tls-dnssec-chain-extension
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: Fri, 13 Apr 2018 04:43:29 -0000

> On Apr 13, 2018, at 12:07 AM, Melinda Shore <melinda.shore@nomountain.net> wrote:
> 
> I'm okay with putting denial-of-existence in there as a should,
> but I do feel strongly that pinning belongs in a separate document.
> As I  said earlier, I have a problem with putting features in protocols
> that  nobody intends to use.  It's bad enough when it happens by
> circumstance but doing it deliberately strikes me as a bad idea.

The great irony of the situation, is that present draft already
describes pinning:

   If TLS applications want to mandate the use of this extension for
   specific servers, clients could maintain a whitelist of sites where
   the use of this extension is forced.  The client would refuse to
   authenticate such servers if they failed to deliver this extension.

And I've seen no discussion or working group consensus to *prohibit*
such pinning, only observations that it would be rather fragile in
general.

What my proposal (B) (really (C), since (B) requires (A) as a foundation)
provides first and *foremost* is the ability for servers to DISABLE
pinning, by giving clients an upper bound pinning TTL of 0.

If you don't want to see pinning, voice your support for (B) (really C)
and have servers send a TTL of ZERO!

Keep in mind that the proposed TTL is an upper bound, it is NOT an
obligation to pin, and therefore is always a restriction on pinning,
while at the same supporting a signal that pinning may be safe at
the server's discretion.

So this both serves the overall interoperability objectives voiced
by Eric Rescorla, allows servers to disavow any pinning and supports
future cases.  It is a win-win, and carries ZERO implementation cost,
on the server, if pinning is explicitly unwanted, just the field to
zero and move along.  On the client if no pinning is desired, just
ignore the TTL.  This feature is a win/win and carries no implementation
burden, and the document is about to get a revision for (A) and still
awaits an IANA code point assignment.

If we act promptly on both (A) and (B) (i.e. (C)) there'll be zero
additional delay.

I sympathize strongly with the desire to keep specifications lean
and mean, but that desire is misplaced here.  The technical details
do matter, and both supporting DoE and setting a max "pin" TTL are
well motivated, improve interoperability and allow the server to
opt-out of the sort of fragile ad-hoc pinning described in the draft.

So please, let's not allow the general argument to deafen us to the
specific context of this document.  Though it needs at least (A) it
also needs (B) (i.e. (C)).

-- 
	Viktor.