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

David-Sarah Hopwood <david-sarah@jacaranda.org> Sat, 28 November 2009 04:25 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 EE3153A672E for <tls@core3.amsl.com>; Fri, 27 Nov 2009 20:25:06 -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=[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 eAMH8+sJ18bn for <tls@core3.amsl.com>; Fri, 27 Nov 2009 20:25:06 -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 8FE5E3A67AF for <tls@ietf.org>; Fri, 27 Nov 2009 20:25:05 -0800 (PST)
Received: by ewy6 with SMTP id 6so1193747ewy.29 for <tls@ietf.org>; Fri, 27 Nov 2009 20:24:54 -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=nsncAC3O/ThLkT/za/gy+AU5DrDTgnHVHOg95H2Ocj8=; b=cIpVdpmfS6b7o+zQgsQ5b1t4mhsPgRtz3uPoV5W1Ms4xBM+ILDYErJm3ek84n3wBGO I9NM3+JSbKSmD4LG3yyzeMXH9v9E+zdqpXXhzVT4kZYQwqufVMdarMAisIvPMJx7wGwo DgLq8W18sugGbBuZQcRJD+IlsfMr/z5caLMXA=
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=oneNsv2qTGDzujZXSN3+5aGpNx0ql4NzlA26u3LiDZRpZdSknZAvWVPCGIIxqnHhPo M5GUaY8xrfQLm6wuhVF01YqxHTmy9Yd1pOMt+67+DgLwKYd3ODKO41GoP3DToooP3jtt dnSJ4Mr82ph/T+ar7fmC4EtAz4FUYB20DllgY=
Received: by 10.216.88.68 with SMTP id z46mr612283wee.27.1259382294140; Fri, 27 Nov 2009 20:24:54 -0800 (PST)
Received: from ?192.168.0.2? (5adcc5d2.bb.sky.com [90.220.197.210]) by mx.google.com with ESMTPS id i6sm5289041gve.16.2009.11.27.20.24.53 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 27 Nov 2009 20:24:53 -0800 (PST)
Sender: David-Sarah Hopwood <djhopwood@googlemail.com>
Message-ID: <4B10A613.9070506@jacaranda.org>
Date: Sat, 28 Nov 2009 04:24:51 +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> <4B10A184.4050107@jacaranda.org>
In-Reply-To: <4B10A184.4050107@jacaranda.org>
X-Enigmail-Version: 0.96.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="------------enigB8B769F171DE3CE1AB4FCCCD"
Subject: Re: [TLS] What would be the point of removing signalling in TLS 1.3? [correction]
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:25:07 -0000

David-Sarah Hopwood wrote:
> 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.

Correction:
For approach 3 to work, *every* patched implementation must know that
requesting TLS 1.3+ implies that a client 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.

The second part of this is wrong: TLS 1.3+ can be negotiated only
if the client supports it, therefore it can be assumed that the client
knows that negotiating TLS 1.3+ implies being patched.

However, the first part was correct. So, "not deciding" is effectively
equivalent to deciding against approach 3 (and also against a combination
of 2 and 3), while still leaving the choice between 1 and 2 open.

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