Re: [TLS] TLSrenego - possibilities, suggestion for SSLv3

Marsh Ray <marsh@extendedsubset.com> Wed, 11 November 2009 21:22 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 708023A681A for <tls@core3.amsl.com>; Wed, 11 Nov 2009 13:22:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.529
X-Spam-Level:
X-Spam-Status: No, score=-2.529 tagged_above=-999 required=5 tests=[AWL=0.070, 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 hMY36doC-r50 for <tls@core3.amsl.com>; Wed, 11 Nov 2009 13:22:51 -0800 (PST)
Received: from mho-02-ewr.mailhop.org (mho-02-ewr.mailhop.org [204.13.248.72]) by core3.amsl.com (Postfix) with ESMTP id 8FCD63A689F for <tls@ietf.org>; Wed, 11 Nov 2009 13:22:51 -0800 (PST)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-02-ewr.mailhop.org with esmtpa (Exim 4.68) (envelope-from <marsh@extendedsubset.com>) id 1N8Ker-000OCV-T1 for tls@ietf.org; Wed, 11 Nov 2009 21:23:18 +0000
Received: from [127.0.0.1] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id 120786678 for <tls@ietf.org>; Wed, 11 Nov 2009 21:23:16 +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: U2FsdGVkX18GKN79P8smKGnc2Cry9yIXfRjlfWE7UV4=
Message-ID: <4AFB2B42.9060602@extendedsubset.com>
Date: Wed, 11 Nov 2009 15:23:14 -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: <4AFA36A8.9010805@extendedsubset.com> from "Marsh Ray" at Nov 10, 9 09:59:36 pm, <200911111916.nABJGtVm015003@fs4113.wdf.sap.corp><CE2A65CAAFE55048BA6682475F9A7DBF5EA6E601BC@ACLMAIL01.corp.audiocodes.com> <4AFB154A.9030106@extendedsubset.com> <7E1DF37F1F42AB4E877E492C308E6AC4023805E5@XCH57YKF.rim.net>
In-Reply-To: <7E1DF37F1F42AB4E877E492C308E6AC4023805E5@XCH57YKF.rim.net>
X-Enigmail-Version: 0.96.0
OpenPGP: id=1E36DBF2
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Subject: Re: [TLS] TLSrenego - possibilities, suggestion for SSLv3
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: Wed, 11 Nov 2009 21:22:52 -0000

Rob P Williams wrote:
> By changing the way the Finished message is calculated - you can make
> SSLv3 safer.

I think this is a good idea for SSLv3. (the proposed extension is better
for TLS)

> Approach:
> 
>     For initial handshakes - keep the calculation the same.
> 
>     For subsequent handshakes - 
>         append extra information to 'handshake_messages' before being
> hashed.
>         This could be as simple as a counter. 
>         This could be the finished data from the previous handshake.

It has to be something that MITM cannot prep the client or server into
matching. A 'renegotiating' bit is not sufficient, even a counter may
not be (M just renegotiates that same number of times before splicing).

Is it possible to define this in terms of what already exists? E.g.
simply "don't reset the handshake MAC state for renegotiations" ?

> 	I've attempted to draw a table of what would happen when
> renegotiating;
> 
> 	OC = old client
> 	NC = new client
> 	OS = old server
> 	NS = new server
> 
> 
>             OS   | NS
>            ------+-----
>       OC  |  .   | fail
>       NC  | fail | good
> 
> 
> OC-NS failure - is useful - 
>     it shows the attack being mitigated.
> NC-OS failure - is ALSO useful.
>     By attempting to renegotiate - you can verify if you are talking to
> an OS or NS.

Well, if the remote endpoint allows you to initiate a renegotiation. MS
IIS for example responds with a TCP RST, other implementations may be
less direct.

- Marsh