Re: [TLS] A crazy idea

Marsh Ray <marsh@extendedsubset.com> Sun, 15 November 2009 04:17 UTC

Return-Path: <marsh@extendedsubset.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 8A73C3A6806 for <tls@core3.amsl.com>; Sat, 14 Nov 2009 20:17:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.52
X-Spam-Level:
X-Spam-Status: No, score=-2.52 tagged_above=-999 required=5 tests=[AWL=0.079, 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 GuhpISrGxA+v for <tls@core3.amsl.com>; Sat, 14 Nov 2009 20:17:35 -0800 (PST)
Received: from mho-01-ewr.mailhop.org (mho-01-ewr.mailhop.org [204.13.248.71]) by core3.amsl.com (Postfix) with ESMTP id CA5B43A67A8 for <tls@ietf.org>; Sat, 14 Nov 2009 20:17:35 -0800 (PST)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-01-ewr.mailhop.org with esmtpa (Exim 4.68) (envelope-from <marsh@extendedsubset.com>) id 1N9WYw-000Iyp-SF for tls@ietf.org; Sun, 15 Nov 2009 04:18:06 +0000
Received: from [127.0.0.1] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id B07BC6678 for <tls@ietf.org>; Sun, 15 Nov 2009 04:18:05 +0000 (UTC)
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 69.164.193.58
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX19PJD9/YaLWKb5kSkpK4U0iILV3cMYdcTE=
Message-ID: <4AFF80FA.90106@extendedsubset.com>
Date: Sat, 14 Nov 2009 22:18:02 -0600
From: Marsh Ray <marsh@extendedsubset.com>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: "tls@ietf.org" <tls@ietf.org>
References: <200911150230.nAF2USpK019975@fs4113.wdf.sap.corp> <4AFF6EFA.6080508@pobox.com> <4AFF7071.9050102@extendedsubset.com> <4AFF77B1.1000106@jacaranda.org> <4AFF7EC3.8060805@pobox.com>
In-Reply-To: <4AFF7EC3.8060805@pobox.com>
X-Enigmail-Version: 0.96.0
OpenPGP: id=1E36DBF2
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Subject: Re: [TLS] A 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 04:17:36 -0000

Michael D'Errico wrote:
> Here's a crazy idea: we could define a completely incompatible change
> to the way Finished messages are calculated even on initial handshakes.

Or it could be as simple as flipping one bit in the verify_data.

> A client can initially try connecting using the new Finished message
> calculation, and if that fails, fall back to the original (if it's
> willing to risk talking to an unpatched server).

We can't change the app code.

> The server has the advantage of receiving the client's Finished message
> before it needs to send its own, so it can compute both the new and the
> old versions to see which the client supports.  Then it can decide
> whether to continue with the handshake or abort.  This also thwarts any
> tampering by a MITM since neither calculation would match if messages
> were altered.
> 
> For session resumption, each side would need to remember whether the
> new or the old Finished calculation was used.
> 
> Just throwing the idea out there....

We need all the ideas we can get.

Really, I think the harder problem is signaling in the initial hellos,
particularly the server hello. We need one unambiguous bit in each
direction, with a consistent default from unpatched endpoints.

- Marsh