Re: [kitten] AD review of draft-ietf-kitten-tls-channel-bindings-for-tls13-08
Alexey Melnikov <alexey.melnikov@isode.com> Fri, 01 October 2021 08:57 UTC
Return-Path: <alexey.melnikov@isode.com>
X-Original-To: kitten@ietfa.amsl.com
Delivered-To: kitten@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id 175213A0931;
Fri, 1 Oct 2021 01:57:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001,
SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001]
autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key)
header.d=isode.com
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 PS9Tdwt3TY1n; Fri, 1 Oct 2021 01:57:10 -0700 (PDT)
Received: from waldorf.isode.com (waldorf.isode.com [62.232.206.188])
by ietfa.amsl.com (Postfix) with ESMTP id E83373A0414;
Fri, 1 Oct 2021 01:57:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1633078628;
d=isode.com; s=june2016; i=@isode.com;
bh=QAL36pgrOeLjTxJ95MMMTFanvLs65CFzpqrU4rgxUL8=;
h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:
In-Reply-To:References:Content-Type:Content-Transfer-Encoding:
Content-ID:Content-Description;
b=NoOgIWTA16C9ZX8HYvyKkq2Tyc+YiRtSw+b68rHjsVOo/hj5ZpCxtaa1BZ8wIe4tKkxtaW
xMHNx74hvsfyZnYPYcXQ6RMWFj8RMa+iYI056byXfXyj/u05L9q8f34AJd3Kt5yz+eCfJY
5zYV1fr+AJsdNLo4xGFXFWu9oSkpTAY=;
Received: from [192.168.1.222] (host5-81-100-26.range5-81.btcentralplus.com
[5.81.100.26])
by waldorf.isode.com (submission channel) via TCP with ESMTPSA
id <YVbNYwABR3sH@waldorf.isode.com>; Fri, 1 Oct 2021 09:57:07 +0100
To: Benjamin Kaduk <kaduk@mit.edu>,
draft-ietf-kitten-tls-channel-bindings-for-tls13.all@ietf.org
Cc: kitten@ietf.org
References: <20211001045330.GX98042@kduck.mit.edu>
From: Alexey Melnikov <alexey.melnikov@isode.com>
Message-ID: <327a29ea-b384-8ba2-20d8-511b3071857a@isode.com>
Date: Fri, 1 Oct 2021 09:57:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0)
Gecko/20100101 Thunderbird/78.14.0
In-Reply-To: <20211001045330.GX98042@kduck.mit.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
Archived-At: <https://mailarchive.ietf.org/arch/msg/kitten/DYEK3iuBBKuau2htrr-ScfnKwvM>
Subject: Re: [kitten] AD review of
draft-ietf-kitten-tls-channel-bindings-for-tls13-08
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <kitten.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/kitten>,
<mailto:kitten-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/kitten/>
List-Post: <mailto:kitten@ietf.org>
List-Help: <mailto:kitten-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/kitten>,
<mailto:kitten-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 01 Oct 2021 08:57:16 -0000
Hi Ben, On 01/10/2021 05:53, Benjamin Kaduk wrote: > Hi all, > > Nothing particularly earth-shattering here, but enough that we should > put out a revised I-D before I initiate the IETF last-call. > > Though there's not currently a formal requirement (since the precise > meaning and usage of the "updates" tag is not well defined), it's been > the practice of recent IESGs to ask that documents provide a clear > statement of the nature of any updates being made. While we currently > do this for the updates of RFCs 5801 and 5802, we're pretty silent about > how we update RFCs 5929 and 8446. I have a proposal for 8446 below > (wrapped into another suggestion), and we can probably put a note > somewhere that we update 5929 to provide a channel-binding for TLS that > is compatible with TLS 1.3. > > Section 1 > > The "unique" channel binding types defined in [RFC5929] were found to > be vulnerable to the "triple handshake vulnerability" > [TRIPLE-HANDSHAKE] without the extended master secret extension > defined in [RFC7627]. Because of this they were not defined for TLS > 1.3 (see [RFC8446] section C.5). [...] > > I don't think this conveys quite the right reasoning for why the channel > bindings were not updated in RFC 8446 directly. In particular, TLS 1.3 > intrinsically uses the extended master secret mechanism of "hash the > entire handshake transcript" and in that regard is not susceptible to > triple-handshake type attacks. > > Peeking through the archives, it seems that > https://mailarchive.ietf.org/arch/msg/tls/2XbkUZhdxwFXhLVTdE2C-UZGaO0/ > may have been the most recent discussion of tls-unique in the context of > draft-ietf-tls-tls13 . The note referenced in that email thread seems > to be: > > % [Raw public keys or skipping certificate chain checking] > % used alone is vulnerable to man-in-the-middle > % attacks and therefore unsafe for general use. However, it is also > % possible to bind such connections to an external authentication > % mechanism via out-of-band validation of the server's public key, > % trust on first use, or channel bindings [RFC5929]. [[NOTE: TLS 1.3 > % needs a new channel binding definition that has not yet been > % defined.]] If no such mechanism is used, then the connection has no > % protection against active man-in-the-middle attack; applications MUST > % NOT use TLS in such a way absent explicit configuration or a specific > % application profile. > > So I would propose the following replacement text: > > The "unique" channel binding types defined in [RFC5929] were found to > be vulnerable to the "triple handshake vulnerability" > [TRIPLE-HANDSHAKE] without the extended master secret extension > defined in [RFC7627]. While TLS 1.3 uses a complete transcript hash > akin to the extended master secret procedures, the safety of channel > bindings with TLS 1.3 was not analyzed as part of the core protocol > work, and so the specification of channel bindings for TLS 1.3 was > deferred. [RFC8446] section C.5 notes the lack of a channel bindings > definition for TLS 1.3; as this document defines such channel > bindings, it accordingly updates [RFC8446] to note that the gap has > been filled. > > (Note that I also modified the final sentence to be able to explicitly > note in what way we see this document as updating RFC 8446.) I like your proposal. > Section 3 > > Channel bindings do not leak secret information about the channel and > are considered public. [...] > > In light of the way that > https://datatracker.ietf.org/doc/html/rfc5929#section-10.2 frames its > discussion of channel-bindings disclosure (and to some extent > https://datatracker.ietf.org/doc/html/rfc5056#section-8 as well), I > think that we might want to scope the statement to just "the channel > bindings type defined in this document" and to frame the subsequent > discussion as being that "disclosure of the channel binding data does > not affect the security of the TLS channel. To say that they are > "considered public" might imply an intention to disclose, when it seems > that the important point is only that disclosure or non-disclosure is > irrelevant. With those changes included, this might look something > like: > > The channel binding type defined in this document is constructed so > that disclosure of the channel binding data does not leak secret > information about the TLS channel and does not affect the security of > the TLS channel. [...] I like this too. > Section 3.1 > > While it is possible to use this channel binding mechanism with TLS > versions below 1.3, extra precaution must be taken to ensure that the > chosen cipher suites always result in unique master secrets. For > more information see the Security Considerations section of > [RFC5705]. > > Should we reiterate here that the extended master secret mechanism of > RFC 7627 is one way to ensure uniqueness of master secrets? > > When TLS renegotiation is enabled the "tls-exporter" channel binding > type is not defined and implementations MUST NOT support it. > > We may want to be specific that this mandate is scoped to renegotiation > being enabled at (e.g.) connection scope (vs implementation-wide). Right. > Section 4.1 > > Subject: Registration of channel binding tls-exporter > > It's interesting that this is part of the template given in RFC 5056 but > not part of the registry itself...arguably a bug in 5056, but probably > not worth doing anything about now. Agreed. Best Regards, Alexey
- [kitten] AD review of draft-ietf-kitten-tls-chann… Benjamin Kaduk
- Re: [kitten] AD review of draft-ietf-kitten-tls-c… Alexey Melnikov
- Re: [kitten] AD review of draft-ietf-kitten-tls-c… Sam Whited
- Re: [kitten] AD review of draft-ietf-kitten-tls-c… Benjamin Kaduk