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

Paul Wouters <paul@nohats.ca> Wed, 18 April 2018 20:42 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 C5496127876 for <tls@ietfa.amsl.com>; Wed, 18 Apr 2018 13:42:49 -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 b-4G-AX7KJUt for <tls@ietfa.amsl.com>; Wed, 18 Apr 2018 13:42:47 -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 695291241F5 for <tls@ietf.org>; Wed, 18 Apr 2018 13:42:47 -0700 (PDT)
Received: from localhost (localhost [IPv6:::1]) by mx.nohats.ca (Postfix) with ESMTP id 40RDZr6fXKz39h; Wed, 18 Apr 2018 22:42:44 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nohats.ca; s=default; t=1524084164; bh=8TqLutCcxtJUnlRGFHMJEKA7tB5pV1EihbvXCyWATM4=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=METRIS6MeFAocHMBAKkehSVQWP1kaXv3e/BWekP+GTVQ4p7G0Elm3josNNOay+LvB e6caO+V5SYtECwOKZ858drEWFH74FvhAeS5BsO42uzhUR/tRd8GmVtGiTjoTR6CgA1 7/q8ZjH2QCcjkZP9ixrTfZBMb25KhWQCVBZsRJEI=
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 vRYEswfZWl9r; Wed, 18 Apr 2018 22:42:43 +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; Wed, 18 Apr 2018 22:42:43 +0200 (CEST)
Received: by bofh.nohats.ca (Postfix, from userid 1000) id 856A233AA19; Wed, 18 Apr 2018 16:42:42 -0400 (EDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 bofh.nohats.ca 856A233AA19
Received: from localhost (localhost [127.0.0.1]) by bofh.nohats.ca (Postfix) with ESMTP id 7B58E411635E; Wed, 18 Apr 2018 16:42:42 -0400 (EDT)
Date: Wed, 18 Apr 2018 16:42:42 -0400
From: Paul Wouters <paul@nohats.ca>
To: Joseph Salowey <joe@salowey.net>
cc: "<tls@ietf.org>" <tls@ietf.org>
In-Reply-To: <CAOgPGoCbHzuAZra5+i647gtLbR9ZV0-nEE+A7K6e8cUMNjNYtA@mail.gmail.com>
Message-ID: <alpine.LRH.2.21.1804181640480.29344@bofh.nohats.ca>
References: <CAOgPGoAhzEtxpW5mzmkf2kv3AcugNy0dAzhvpaqrTSuMSqWqfw@mail.gmail.com> <CAOgPGoCbHzuAZra5+i647gtLbR9ZV0-nEE+A7K6e8cUMNjNYtA@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/HK-VsPow2ohV9Waw0Z9autPpaWY>
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: Wed, 18 Apr 2018 20:42:50 -0000

On Wed, 18 Apr 2018, Joseph Salowey wrote:

This is a combined response of Viktor, Nico and Paul.

>  Concerns have been raised about the trade-offs associated with pinning and I
>  do not think we currently have consensus to add
>  pinning.  While I think it may be possible to come to consensus on pinning I
>  think it may take some time.  I believe we can
>  quickly get consensus for the following approach:

A slight correction here. The call that there is no consensus on pinning
is not entirely correct. The discussion showed a majority of people in
favour of some kind of pinning, but with most people being agreeable that
this can be in its own document and not hold up this document further. A
pinning document is inevitably coming.

>  1. Scope the document to the assertive use cases

This means actually leaving out what some of us think are the most
important use case - an alternative for webpki. While we are okay
to reduce the scope of this document, it seems logical that such
decision comes with some guarantees to allow the other use cases.
Which gets us back to a new document about pinning (see below)

>  2. Explicitly allow (but do not require) DoE be included

The document does not currently allow the extension to be empty. So if
there is no TLSA record and the extension would be present, it therefore
can only contain a DoE chain. So what do you mean with item 2? Possibly
you mean to say "if there is no TLSA record, the extension can be omited
or the extension can be included with a DoE chain" ? That would be okay
with us.

>  3. Remove current text about pinning

That is fine, but one caveat below.

>  4. Re-submit the document for publication and start work on a separate
>  extension that supports pinning

While we agree we can move pinning to a separate document, it makes much
less sense for this to become an additional fully independent TLS
extension, especially since the pinning will depend on DNSSEC properties
only delivered by the TLS-DNSSEC extension. So as we suggested before, the
best solution therefore would be to define this two byte pin in the
current document, and be defined as "ignore completely unless you
implement this other RFC". That is,

      The proposed 16-byte "extension support lifetime" field will:

        * Have 0 as the only value defined in the present draft
        * Servers that implement only the present draft SHALL send 0.
        * Clients that implement only the present draft SHALL treat
          any value received as though it were 0.
        * A zero "extension support lifetime" field prohibits the
          client from unilaterally mandating the extension based
          on prior observation of its presence (pinning).

This a win-win for both opponents and proponents of pinning. And not
only that, it will allow us to put the pinning inside the extension
it relates to.

Additionally, with no pin set to 0 in the current document, and no
mentioning of pinning since the consensus agrees to remove it that,
client implementations will not be told to not pin, and will start doing
something like TOFU like pinning. It would actually be better to specify
this zero pin to prevent this from happening.

If you take it as a given that we will write this document, then it only
makes logical sense to already reserve these two bytes in the current
document, even it if states "must be 0". Our document will Update:
this document to describe the pinning in detail.

Nico, Paul and Viktor