Re: [TLS] simplistic renego protection

David-Sarah Hopwood <david-sarah@jacaranda.org> Sat, 21 November 2009 22:19 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 DBBA23A6985 for <tls@core3.amsl.com>; Sat, 21 Nov 2009 14:19:26 -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=[AWL=0.000, 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 z6JRGxKgY112 for <tls@core3.amsl.com>; Sat, 21 Nov 2009 14:19:25 -0800 (PST)
Received: from mail-ew0-f214.google.com (mail-ew0-f214.google.com [209.85.219.214]) by core3.amsl.com (Postfix) with ESMTP id 6C4ED3A68B1 for <tls@ietf.org>; Sat, 21 Nov 2009 14:19:25 -0800 (PST)
Received: by ewy6 with SMTP id 6so731763ewy.29 for <tls@ietf.org>; Sat, 21 Nov 2009 14:19:18 -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=FyssgRu1yo/S2vJT/GOEkfv1Z5HyJW1n6YgNgUwpzV0=; b=UPQKijVr+WgQafe3YbWMvRdkn+irYy3LwYfrnIxOnJ0n7PzadtcT50GI2a8LZdVVXP 9M3OMh+TpPATm0zJSmslPftF4VKLSu8xcuDU1nfDxCfJGMB4wZHJt++njBpHIRyAX3jX RKEBnkz0ZKxlMQmCQRpjZApBr+loyYG9F4qio=
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=L8SwQ8X5QisObGabkPoVYy+GK8IgM647VlEG6cx1eUdiLRDZ0nOdjG2vwTN2lTwEXW 9TxGq1qREkbhta9N+Mw9XQMDRiDgjH036ZG3GfnGsDHb65Y3wyb3hgyIuDpWjb2A3nMl a/HsiymXkrPMFcv1dElhte851RK6X1MJYmQ/Y=
Received: by 10.213.110.17 with SMTP id l17mr1818923ebp.18.1258841958462; Sat, 21 Nov 2009 14:19:18 -0800 (PST)
Received: from ?192.168.0.2? (5e023669.bb.sky.com [94.2.54.105]) by mx.google.com with ESMTPS id 16sm1324850ewy.14.2009.11.21.14.19.17 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 21 Nov 2009 14:19:17 -0800 (PST)
Sender: David-Sarah Hopwood <djhopwood@googlemail.com>
Message-ID: <4B086752.1030205@jacaranda.org>
Date: Sat, 21 Nov 2009 22:18:58 +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: <C72BFA89.67A2%stefan@aaa-sec.com> <4B06E2D7.2040302@jacaranda.org> <1b587cab0911211147jf3f57b3y8528717b152cd8c2@mail.gmail.com>
In-Reply-To: <1b587cab0911211147jf3f57b3y8528717b152cd8c2@mail.gmail.com>
X-Enigmail-Version: 0.96.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="------------enigFC072E51D66E5FCF63EBBB88"
Subject: Re: [TLS] simplistic renego protection
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: Sat, 21 Nov 2009 22:19:27 -0000

Ben Laurie wrote:
> On Fri, Nov 20, 2009 at 10:41 AM, David-Sarah Hopwood <
> david-sarah@jacaranda.org> wrote:
> 
>> Stefan Santesson wrote:
>>> On 09-11-20 5:24 AM, "Michael D'Errico" <mike-list@pobox.com> wrote:
>>>
>>>> Some servers apparently cannot function without renegotiation.
>>>> They will need to continue providing service to unpatched
>>>> clients for some amount of time and thus remain vulnerable.
>>> I fully agree,
>>>
>>> However, just because a server accepts renegotiation with an unpatched
>>> client, does not necessarily mean that the service provided over TLS is
>>> vulnerable.
>>>
>>> One example is if authentication is performed with proper channel binding
>>> in a layer above TLS and the service is provided under that security
>>> context.
>>
>> I'm skeptical. How can "proper channel binding" be done correctly in a
>> layer above TLS, if the TLS library merges renegotiated sessions?
>> Since the session merging will result in the client and server's state
>> at the higher layer(s) being out of sync, nothing can be assumed about
>> the correct functioning of those layers.
> 
> The depends on those layers. If, for example, clients and servers simply
> numbered their requests/responses, they would be immune to the attack.

That's not sufficient. They'd also have to make sure that renegotiation
boundaries coincide with request/response boundaries. That requires that
the app be notified by the TLS library precisely when a renegotiation
occurs, and that individual reads and writes cannot extend across a
renegotiation boundary. This contradicts the assumption that I stated
explicitly above: "if the TLS library merges renegotiated sessions".
It's also rather prone to application error even in cases where it would
theoretically work.

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