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

"Rob P Williams" <rwilliams@certicom.com> Wed, 11 November 2009 22:03 UTC

Return-Path: <rwilliams@certicom.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 A33AC3A6A11 for <tls@core3.amsl.com>; Wed, 11 Nov 2009 14:03:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.203
X-Spam-Level:
X-Spam-Status: No, score=-5.203 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, MIME_QP_LONG_LINE=1.396, RCVD_IN_DNSWL_MED=-4]
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 seCvGgtyhS08 for <tls@core3.amsl.com>; Wed, 11 Nov 2009 14:03:47 -0800 (PST)
Received: from mhs03ykf.rim.net (mhs03ykf.rim.net [216.9.243.80]) by core3.amsl.com (Postfix) with ESMTP id 0505D3A6970 for <tls@ietf.org>; Wed, 11 Nov 2009 14:03:45 -0800 (PST)
X-AuditID: 0a401fcb-b7bb7ae000005c61-f0-4afb34dc530c
Received: from XCH38YKF.rim.net ( [10.64.31.208]) by mhs03ykf.rim.net (RIM Mail) with SMTP id EA.6D.23649.CD43BFA4; Wed, 11 Nov 2009 17:04:13 -0500 (EST)
Received: from XCH57YKF.rim.net ([10.64.31.54]) by XCH38YKF.rim.net with Microsoft SMTPSVC(6.0.3790.3959); Wed, 11 Nov 2009 17:04:12 -0500
x-mimeole: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
content-transfer-encoding: quoted-printable
Date: Wed, 11 Nov 2009 17:04:12 -0500
Message-ID: <7E1DF37F1F42AB4E877E492C308E6AC402380768@XCH57YKF.rim.net>
In-Reply-To: <4AFB2B42.9060602@extendedsubset.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [TLS] TLSrenego - possibilities, suggestion for SSLv3
Thread-Index: AcpjFTQV/NMDQ0tPSM2BTkatlt7ZHgAAMHxQ
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> <4AFB2B42.9060602@extendedsubset.com>
From: Rob P Williams <rwilliams@certicom.com>
To: Marsh Ray <marsh@extendedsubset.com>, tls@ietf.org
X-OriginalArrivalTime: 11 Nov 2009 22:04:12.0355 (UTC) FILETIME=[E6A80130:01CA631A]
X-Brightmail-Tracker: AAAAAQAAAZE=
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 22:03:48 -0000

Marsh Ray wrote:

> 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).

The counter option would mitigate this attack, the client is at
'initial', the server is at one when the splice is attempted. The hashes
in the Finished message will be different.

An attacker would require both ends to handshake the same number of
times (and be in sync) to make the splice possible. 

A client that would handshake with the attacker (to match the counter)
would be susceptible to a proxy...


Adding the previous finished data to the hash offers similar features to
the TLS extension proposal. Instead of transmitting the channel binding
explicitly, they are being compressed by MD5 and SHA1.


> 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 feel that keeping the digests themselves (the bytes, or the finished
data, or the counter), and not the state of the SHA1 and MD5 (which may
never be used) is less resource intensive.

However, keeping them running would match the 'ALL' handshake messages
point above...


> > 	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.

Good point! 

An attacker could just hang up on a (current or new) client to make them
think they are using a renegotiation proof IIS instance... 

Only seeing a correct renegotiation with a new server would verify that
you are talking to a new server.



--
rob | Software Developer
Certicom Corp. | A susbidiary of Research In Motion Limited

main | +1 905-507-4220
direct | +1 905-501-3887

rwilliams@certicom.com
www.certicom.com





































---------------------------------------------------------------------
This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.