Re: [TLS] assert TLSext in renego-ServerHello instead of disable renego

David-Sarah Hopwood <david-sarah@jacaranda.org> Tue, 10 November 2009 06:33 UTC

Return-Path: <djhopwood@googlemail.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 726FB3A6899 for <tls@core3.amsl.com>; Mon, 9 Nov 2009 22:33:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[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 he-zG1-nab8Z for <tls@core3.amsl.com>; Mon, 9 Nov 2009 22:33:30 -0800 (PST)
Received: from mail-ew0-f207.google.com (mail-ew0-f207.google.com [209.85.219.207]) by core3.amsl.com (Postfix) with ESMTP id 12D0B3A6833 for <tls@ietf.org>; Mon, 9 Nov 2009 22:33:29 -0800 (PST)
Received: by ewy3 with SMTP id 3so3928013ewy.37 for <tls@ietf.org>; Mon, 09 Nov 2009 22:33:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :x-enigmail-version:content-type; bh=Qk0Hi7EI7t8Nj+DTWMU1RhSjOELPN1fevbzZ8FL86RU=; b=CpoO4dEvLRUzVaH4jQBcFNxDxi8X12iQdLJHz0SeIrz9zBpuMmb/uxdqTsBD1LsK1n 5jQBwV4zwFJHGwfKzE5p7jgYXahDNGkZDTs0j0x6TgEdWhCJ/LBmAFT/HZzPQ7VLRv6M Wg0QA3z+ob/LyuL3Qg7GxqvA2PhTf/A2q/FiI=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:x-enigmail-version:content-type; b=Vq7xIaBN7S6G9N6z/7WEJidA01PhAoWG5RkLvAHqOec4L6fONvavpYEoijBNLcGwUD dmtgJkGc48Eo0i+sb6hxdLpt4emzbdq320oftmILrfpgl0pnSeKYuPNyWWbnoOiSOKhR Ncgo/Z7/bvsU5XH0kzDk+Opt3w6051LII8BFw=
Received: by 10.216.87.3 with SMTP id x3mr632649wee.132.1257834830990; Mon, 09 Nov 2009 22:33:50 -0800 (PST)
Received: from ?192.168.0.2? (5e057cdf.bb.sky.com [94.5.124.223]) by mx.google.com with ESMTPS id 10sm4265758eyd.4.2009.11.09.22.33.49 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 09 Nov 2009 22:33:50 -0800 (PST)
Sender: David-Sarah Hopwood <djhopwood@googlemail.com>
Message-ID: <4AF90946.3020104@jacaranda.org>
Date: Tue, 10 Nov 2009 06:33:42 +0000
From: David-Sarah Hopwood <david-sarah@jacaranda.org>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.3) Gecko/20070326 Thunderbird/2.0.0.0 Mnenhy/0.7.5.666
MIME-Version: 1.0
To: tls@ietf.org
References: <200911092035.nA9KZviE026489@fs4113.wdf.sap.corp> <4AF8EF8F.3090100@jacaranda.org> <4AF8F7B4.7020101@pobox.com> <4AF8FDBD.4080003@jacaranda.org> <4AF90198.6010505@pobox.com>
In-Reply-To: <4AF90198.6010505@pobox.com>
X-Enigmail-Version: 0.96.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="------------enigCCF8A6BA195DDF1A106D0EB0"
Subject: Re: [TLS] assert TLSext in renego-ServerHello instead of disable renego
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: Tue, 10 Nov 2009 06:33:31 -0000

Michael D'Errico wrote:
>>> The problem is that your initial handshake *is* the renegotiation!
>>> (from the server's point of view)
>>
>> I may well be confused, but: a handshake is a renegotiation
>> if-and-only-if it is encrypted. Initial handshakes are in the clear.
>> So there is no ambiguity, from either party's point of view, about
>> whether a handshake is a renegotiation.
> 
> Your initial handshake is in the clear from you to the MITM, but it gets
> sent over the already-secure connection from the MITM to the server, so
> from the server's perspective you are renegotiating.  This is why you
> have to send the Renegotiation_Info extension -- it let's the server
> know that *you* think you are performing an initial handshake.  It can
> then shut down the connection and save you from the attack.

If from the server's perspective you are renegotiating, and it doesn't see
a non-empty and correct Renegotiation_Info, then it should shut down the
connection anyway. The server doesn't need to know whether the client
supports the extension; to avoid the attack, it has to shut down the
connection whether the client supports the extension or not.

-- 
David-Sarah Hopwood  ⚥  http://davidsarah.livejournal.com