Re: [TLS] draft-rescorla-tls-renegotiate and MITM resistance

Nicolas Williams <Nicolas.Williams@sun.com> Mon, 09 November 2009 18:47 UTC

Return-Path: <Nicolas.Williams@sun.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 AC5203A69A7 for <tls@core3.amsl.com>; Mon, 9 Nov 2009 10:47:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.017
X-Spam-Level:
X-Spam-Status: No, score=-6.017 tagged_above=-999 required=5 tests=[AWL=0.029, BAYES_00=-2.599, HELO_MISMATCH_COM=0.553, 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 PhaKw105ZMEW for <tls@core3.amsl.com>; Mon, 9 Nov 2009 10:47:28 -0800 (PST)
Received: from brmea-mail-2.sun.com (brmea-mail-2.Sun.COM [192.18.98.43]) by core3.amsl.com (Postfix) with ESMTP id E09283A692E for <tls@ietf.org>; Mon, 9 Nov 2009 10:47:27 -0800 (PST)
Received: from dm-central-02.central.sun.com ([129.147.62.5]) by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id nA9IlsLJ006240 for <tls@ietf.org>; Mon, 9 Nov 2009 18:47:54 GMT
Received: from binky.Central.Sun.COM (binky.Central.Sun.COM [129.153.128.104]) by dm-central-02.central.sun.com (8.13.8+Sun/8.13.8/ENSMAIL, v2.2) with ESMTP id nA9IlsaD062031 for <tls@ietf.org>; Mon, 9 Nov 2009 11:47:54 -0700 (MST)
Received: from binky.Central.Sun.COM (localhost [127.0.0.1]) by binky.Central.Sun.COM (8.14.3+Sun/8.14.3) with ESMTP id nA9ILMVS011761; Mon, 9 Nov 2009 12:21:22 -0600 (CST)
Received: (from nw141292@localhost) by binky.Central.Sun.COM (8.14.3+Sun/8.14.3/Submit) id nA9ILLP3011760; Mon, 9 Nov 2009 12:21:21 -0600 (CST)
X-Authentication-Warning: binky.Central.Sun.COM: nw141292 set sender to Nicolas.Williams@sun.com using -f
Date: Mon, 09 Nov 2009 12:21:21 -0600
From: Nicolas Williams <Nicolas.Williams@sun.com>
To: Yoav Nir <ynir@checkpoint.com>
Message-ID: <20091109182120.GE1105@Sun.COM>
References: <CE2A65CAAFE55048BA6682475F9A7DBF5EA6E59A16@ACLMAIL01.corp.audiocodes.com> <195C3B4A-77FC-41AD-A0B7-6A3E076BE190@checkpoint.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <195C3B4A-77FC-41AD-A0B7-6A3E076BE190@checkpoint.com>
User-Agent: Mutt/1.5.7i
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] draft-rescorla-tls-renegotiate and MITM resistance
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: Mon, 09 Nov 2009 18:47:28 -0000

On Mon, Nov 09, 2009 at 02:36:47PM +0200, Yoav Nir wrote:
> On Nov 9, 2009, at 2:17 PM, Yair Elharrar wrote:
> 
> >The proposed draft is intended to resolve an MITM attack scenario,  
> >but is the new extension tamper-resistant?
> 
> It's as resistant as TLS is.
> 
> >Since the MITM handles all traffic between the real client and real  
> >server, it could add a fake extension to the 2nd ClientHello with  
> >its original verify_data, and empty the returned extension in the  
> >ServerHello.
> 
> The Finished messaged at the end of the TLS handshake signs all the  
> previous data. Unless the MITM can replicate the server's calculation  
> of the opaque_verify_data field, the client will notice that the  
> finished message is wrong (it signs an extension that the client did  
> not send).

Indeed, the Finished message is the key.

Note that there's no real need for the channel binding to actually be
sent, as in EKR's proposed fix: there's only a need to include it as an
extra input to the PRF call used to construct the Finished messages.
However, by sending the channel binding data as a Hello extension, this
proposal does the least amount of violence to existing implementations.

Nico
--