Re: [TLS] A not-so crazy idea

Yoav Nir <ynir@checkpoint.com> Sun, 15 November 2009 21:07 UTC

Return-Path: <ynir@checkpoint.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 4A5893A684E for <tls@core3.amsl.com>; Sun, 15 Nov 2009 13:07:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.185
X-Spam-Level:
X-Spam-Status: No, score=-0.185 tagged_above=-999 required=5 tests=[BAYES_40=-0.185]
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 7GYvdwboTDRf for <tls@core3.amsl.com>; Sun, 15 Nov 2009 13:07:37 -0800 (PST)
Received: from dlpdemo.checkpoint.com (dlpdemo.checkpoint.com [194.29.32.54]) by core3.amsl.com (Postfix) with ESMTP id 227D63A66B4 for <tls@ietf.org>; Sun, 15 Nov 2009 13:07:37 -0800 (PST)
X-CheckPoint: {4B006A45-0-14201DC2-FFFF}
Received: by dlpdemo.checkpoint.com (Postfix, from userid 105) id CE91E29C007; Sun, 15 Nov 2009 23:07:32 +0200 (IST)
Received: from michael.checkpoint.com (michael.checkpoint.com [194.29.32.68]) by dlpdemo.checkpoint.com (Postfix) with ESMTP id AB6F829C004; Sun, 15 Nov 2009 23:07:32 +0200 (IST)
X-CheckPoint: {4B006A42-0-14201DC2-FFFF}
Received: from il-ex01.ad.checkpoint.com (localhost [127.0.0.1]) by michael.checkpoint.com (8.12.10+Sun/8.12.10) with ESMTP id nAFL7VGo003165; Sun, 15 Nov 2009 23:07:32 +0200 (IST)
Received: from il-ex01.ad.checkpoint.com ([126.0.0.2]) by il-ex01.ad.checkpoint.com ([126.0.0.2]) with mapi; Sun, 15 Nov 2009 23:07:37 +0200
From: Yoav Nir <ynir@checkpoint.com>
To: Yair Elharrar <Yair.Elharrar@audiocodes.com>, "tls@ietf.org" <tls@ietf.org>
Date: Sun, 15 Nov 2009 23:04:38 +0200
Thread-Topic: [TLS] A not-so crazy idea
Thread-Index: AcpmL3U++M43uu82REK8bKXhB/TsdQAAVxpTAAGbG48=
Message-ID: <006FEB08D9C6444AB014105C9AEB133FB36A4EC05F@il-ex01.ad.checkpoint.com>
References: <200911150230.nAF2USpK019975@fs4113.wdf.sap.corp> <4AFF6EFA.6080508@pobox.com> <4AFF7071.9050102@extendedsubset.com> <4AFF77B1.1000106@jacaranda.org> <4AFF7EC3.8060805@pobox.com> <20091115173157.GR1105@Sun.COM> <4B004AE7.9000305@pobox.com>, <20091115195633.GV1105@Sun.COM>, <CE2A65CAAFE55048BA6682475F9A7DBF5EA6E601C1@ACLMAIL01.corp.audiocodes.com>
In-Reply-To: <CE2A65CAAFE55048BA6682475F9A7DBF5EA6E601C1@ACLMAIL01.corp.audiocodes.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [TLS] A not-so crazy idea
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: Sun, 15 Nov 2009 21:07:38 -0000

That would mean that RFC-compliant clients just don't work. A change like that is fine for a future version, like 1.3, but changing the behavior of 1.0 in a non-compliant way is just wrong. You really have to signal it.

Of course, once you have a new version like 1.3, you don't need both old and new behavior.  There's jut the new, TLS 1.3 way of calculating the Finished message.
________________________________________
From: tls-bounces@ietf.org [tls-bounces@ietf.org] On Behalf Of Yair Elharrar [Yair.Elharrar@audiocodes.com]
Sent: Sunday, November 15, 2009 22:35
To: tls@ietf.org
Subject: Re: [TLS] A not-so crazy idea

What if we just change the definition of the server's FINISHED message a bit; instead of sending
    Hash(handshake_msgs)
to the client, the server will send
    Hash(handshake_msgs || verify_data)
using the session's previous verify_data.
There's no change to initial handshakes, of course, as there's no previous verify_data.

This means:
1. Patched client and patched server: renegotiation is safe.
2. Patched client, unpatched server: the client can calculate Hash(handshake_msgs) and tell that the server is unpatched. It is up to the client to decide whether to abort the session or not.
3. Unpatched client, patched server: renegotiation will fail, as it should.


Yair
--