Re: [TLS] simplistic renego protection

Ben Laurie <benl@google.com> Sun, 22 November 2009 22:23 UTC

Return-Path: <benl@google.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 BD1443A6897 for <tls@core3.amsl.com>; Sun, 22 Nov 2009 14:23:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.976
X-Spam-Level:
X-Spam-Status: No, score=-105.976 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 w4ZCoI6QnDT6 for <tls@core3.amsl.com>; Sun, 22 Nov 2009 14:23:09 -0800 (PST)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.45.13]) by core3.amsl.com (Postfix) with ESMTP id 4BA443A6857 for <tls@ietf.org>; Sun, 22 Nov 2009 14:23:09 -0800 (PST)
Received: from zps76.corp.google.com (zps76.corp.google.com [172.25.146.76]) by smtp-out.google.com with ESMTP id nAMMN5nL029148 for <tls@ietf.org>; Sun, 22 Nov 2009 14:23:05 -0800
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1258928585; bh=dzS5uK39NnXrbtZqUT2xpmIkBrU=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=kAjxuEi5dc39FP1/7XFXoreKW+UdMM6MG0WPBqf7YGXr2cJlFMTft4mtnF5iZtmkt KYSkr0gx105fTOwFqvO+w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=mj1d8awl2NtYTR3wPK7b/e/YqeAtoJy6rjxJI7LuAB0bBiIA2rWFMOfrhC7OrD8Aa pIDKT9BxeJ2dca5ikZK+g==
Received: from qyk41 (qyk41.prod.google.com [10.241.83.169]) by zps76.corp.google.com with ESMTP id nAMMN1lr031009 for <tls@ietf.org>; Sun, 22 Nov 2009 14:23:02 -0800
Received: by qyk41 with SMTP id 41so2632247qyk.29 for <tls@ietf.org>; Sun, 22 Nov 2009 14:23:01 -0800 (PST)
MIME-Version: 1.0
Received: by 10.229.32.148 with SMTP id c20mr542265qcd.52.1258928581414; Sun, 22 Nov 2009 14:23:01 -0800 (PST)
In-Reply-To: <4B09AA00.9040205@jacaranda.org>
References: <C72BFA89.67A2%stefan@aaa-sec.com> <4B06E2D7.2040302@jacaranda.org> <1b587cab0911211147jf3f57b3y8528717b152cd8c2@mail.gmail.com> <4B086752.1030205@jacaranda.org> <1b587cab0911221107u4ac1a854p235d493584d8296c@mail.gmail.com> <4B09AA00.9040205@jacaranda.org>
Date: Sun, 22 Nov 2009 14:23:01 -0800
Message-ID: <1b587cab0911221423p32a22c44j546cffa2c32cfdeb@mail.gmail.com>
From: Ben Laurie <benl@google.com>
To: David-Sarah Hopwood <david-sarah@jacaranda.org>
Content-Type: multipart/alternative; boundary="0016364ed7d0e48e4b0478fd267a"
X-System-Of-Record: true
Cc: tls@ietf.org
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: Sun, 22 Nov 2009 22:23:10 -0000

On Sun, Nov 22, 2009 at 1:15 PM, David-Sarah Hopwood <
david-sarah@jacaranda.org> wrote:

> Ben Laurie wrote:
> > On Sat, Nov 21, 2009 at 2:18 PM, David-Sarah Hopwood <
> > david-sarah@jacaranda.org> wrote:
> >
> >> 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.
> >
> > I don't believe your argument. For example, if each byte were numbered,
> then
> > the application would not care one whit about boundaries (other than
> > reconnections, which it manages anyway).
>
> Numbering each byte is not what you suggested above. You haven't given
> enough detail to tell whether this could work, but if for the sake of
> argument it could, it would require incompatible changes to the application
> protocol. Therefore, it's not an argument that justifies the original
> point by Stefan Santesson above, about servers that accept renegotiations
> with unpatched clients not necessarily being vulnerable. In practice, such
> servers will be vulnerable for existing protocols.
>

I agree. I was disputing that this was not fixable at the application layer.


>
> --
> David-Sarah Hopwood  ⚥  http://davidsarah.livejournal.com
>
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>
>