Re: [TLS] What would be the point of removing signalling in TLS 1.3?

David-Sarah Hopwood <david-sarah@jacaranda.org> Sat, 28 November 2009 04:05 UTC

Return-Path: <djhopwood@googlemail.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1C60A3A67DF for <tls@core3.amsl.com>; Fri, 27 Nov 2009 20:05:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id olqb6s8+kbxt for <tls@core3.amsl.com>; Fri, 27 Nov 2009 20:05:44 -0800 (PST)
Received: from mail-ew0-f214.google.com (mail-ew0-f214.google.com [209.85.219.214]) by core3.amsl.com (Postfix) with ESMTP id 8FC293A67AF for <tls@ietf.org>; Fri, 27 Nov 2009 20:05:43 -0800 (PST)
Received: by ewy6 with SMTP id 6so1188822ewy.29 for <tls@ietf.org>; Fri, 27 Nov 2009 20:05:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :x-enigmail-version:content-type; bh=TBTwM/9cDWguKmL9pQV7SSgS1+y5t6XUBc2t4xUcGbo=; b=XmUhYwgFUhjK+uZdCrR7wYXgh3uabFgBWp9lnNR8SMf7pr3Ll+p+SrFEetjF/nuA5h NbYUnM349tnAyjOOegmZsmJZYtH3h1SqxcCwEejOYS87iwU2a8R8Cqa6z/rGD4o2CGxq 7y+d+cy3DBy93FaXq0eQNRN54bNTHotyi326w=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:x-enigmail-version:content-type; b=CuzTqWvS4l4AXO34KThAVTwc27ukD7YGb5VgwgKavqK8OHuECB7mnJPiqNMeOYRCZ6 nrFkrMHWfmJ85BQGfhoJns9cTUjabnG/u2yCIaOkW07gieX8UOSdFbThQyC0vR6eQ3Or lnUBruUkxxSVcnxpEMi0vXoUDgjpLYGX8UHHA=
Received: by 10.216.89.200 with SMTP id c50mr579138wef.137.1259381134071; Fri, 27 Nov 2009 20:05:34 -0800 (PST)
Received: from ?192.168.0.2? (5adcc5d2.bb.sky.com [90.220.197.210]) by mx.google.com with ESMTPS id j8sm5345477gvb.17.2009.11.27.20.05.32 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 27 Nov 2009 20:05:33 -0800 (PST)
Sender: David-Sarah Hopwood <djhopwood@googlemail.com>
Message-ID: <4B10A184.4050107@jacaranda.org>
Date: Sat, 28 Nov 2009 04:05:24 +0000
From: David-Sarah Hopwood <david-sarah@jacaranda.org>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.3) Gecko/20070326 Thunderbird/2.0.0.0 Mnenhy/0.7.5.666
MIME-Version: 1.0
To: tls@ietf.org
References: <C734A556.6B8A%stefan@aaa-sec.com> <4B0EF1AB.8050506@extendedsubset.com> <6A2B0911-C59D-4A11-94FA-713E46E89488@acm.org>
In-Reply-To: <6A2B0911-C59D-4A11-94FA-713E46E89488@acm.org>
X-Enigmail-Version: 0.96.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="------------enig670ACD35D790FBA4E1B30E39"
Subject: Re: [TLS] What would be the point of removing signalling in TLS 1.3?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
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/listinfo/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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 Nov 2009 04:05:45 -0000

Bodo Moeller wrote:
> On Nov 26, 2009, at 10:22 PM, Marsh Ray wrote:
>> Stefan Santesson wrote:
> 
>>> If you fix the Finished message calculation, making it immune to the
>>> renegotiation attack, and making it the standard Finished calculation
>>> for
>>> 1.3.... Then why would you need to signal that you are using the
>>> standard
>>> Finished calculation?
>>
>> So that clients and servers can be upgraded over a period of time
>> without causing interoperability problems.
> 
> There are more than two ways how to treat signaling (how to signal that
> a new Finished computation should be used) with respect to future
> protocol versions, i.e., TLS 1.3 and later:

[numbering added]
> 1. The specifications could mandate keeping the explicit signal even with
> TLS 1.3+.
> 
> 2. The specifications could require an explicit signal only for those TLS
> 1.3+ implementations that do offer backwards compatibility with earlier
> protocol versions (i.e., if the *negotiated* protocol version is TLS 1.3
> or later, that would imply that the new Finished computation should be
> used).
> 
> 3. The specifications could require an explicit signal only for
> implementations that don't announce TLS 1.3+ (i.e., if the *requested*
> protocol version is TLS 1.3+, that would imply that the new Finished
> computation should be used).
> 
> Stefan's proposal in the original message, it seems, was the third
> variant.  David's comment suggested that because of the complexity that
> comes with that variant, we should stick to the first one (and always
> keep signaling).
> 
> That's not implied, though.  The second variant makes a lot of sense to
> me -- it's just not something that the current specification would or
> should have to say a final word on: that's best left to the TLS 1.3
> specification.

No, we have to decide now. For approach 2 to work, *every* patched
implementation must know that requesting TLS 1.3+ implies that a
client is patched. For approach 3 to work, *every* patched implementation
must know that negotiating TLS 1.3+ implies that a server is patched.

If we leave it until TLS 1.3 is specified, then there will exist
implementations that don't know these things. Therefore, TLS 1.3+ clients
will have to send the c->s signal anyway, in case the server is one of
those that doesn't know that a TLS 1.3+ request implies that it is OK to
send the s->c signal. Similarly, TLS 1.3+ servers will have to send
the s->c signal anyway, in case the client is one of those that doesn't
know that negotiating TLS 1.3+ implies being patched.

Thus, "not deciding" is effectively equivalent to deciding on approach 1.

-- 
David-Sarah Hopwood  ⚥  http://davidsarah.livejournal.com