Re: [TLS] simplistic renego protection

Marsh Ray <marsh@extendedsubset.com> Mon, 16 November 2009 18:04 UTC

Return-Path: <marsh@extendedsubset.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 ABCAC3A6988 for <tls@core3.amsl.com>; Mon, 16 Nov 2009 10:04:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.161
X-Spam-Level:
X-Spam-Status: No, score=-2.161 tagged_above=-999 required=5 tests=[AWL=0.438, 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 1ZS7454+6FAW for <tls@core3.amsl.com>; Mon, 16 Nov 2009 10:04:43 -0800 (PST)
Received: from mho-02-ewr.mailhop.org (mho-02-ewr.mailhop.org [204.13.248.72]) by core3.amsl.com (Postfix) with ESMTP id EE9133A6AE0 for <tls@ietf.org>; Mon, 16 Nov 2009 10:04:42 -0800 (PST)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-02-ewr.mailhop.org with esmtpa (Exim 4.68) (envelope-from <marsh@extendedsubset.com>) id 1NA5wP-0000bp-Ev for tls@ietf.org; Mon, 16 Nov 2009 18:04:41 +0000
Received: from [127.0.0.1] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id 871A3667C for <tls@ietf.org>; Mon, 16 Nov 2009 18:04:40 +0000 (UTC)
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 69.164.193.58
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1+UtdPPrAi8itW7FmgRezfQvwnTkqnVzdo=
Message-ID: <4B019434.9020001@extendedsubset.com>
Date: Mon, 16 Nov 2009 12:04:36 -0600
From: Marsh Ray <marsh@extendedsubset.com>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: "tls >> \"tls@ietf.org\"" <tls@ietf.org>
References: <200911161029.nAGAT8uN019401@fs4113.wdf.sap.corp> <4B01923F.9020806@pobox.com>
In-Reply-To: <4B01923F.9020806@pobox.com>
X-Enigmail-Version: 0.96.0
OpenPGP: id=1E36DBF2
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
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: Mon, 16 Nov 2009 18:04:43 -0000

Michael D'Errico wrote:
> 
> The attack requires that there be a man-in-the-middle between the
> client and server.  The MITM handshakes once with the server.  The
> client then handshakes with the server via the MITM, so:
> 
>   - the client sees the handshake as its initial handshake
>   - the server sees the handshake as a renegotiation
> 
> This is the point: the client is attacked on its *initial* handshake.
> 
> Therefore the client needs to be protected on its *initial* handshake.
> 
> It doesn't matter what happens after that.  If the client has completed
> its initial handshake and there was no MITM, it is impossible for a MITM
> to insert itself in the next handshake (i.e. a renegotiation).  So from
> the client's point of view the only handshake it needs to be concerned
> with (in terms of security not mechanics) is the initial one.

I hear this often enough that I don't argue with it every time,
nevertheless...

There is another attack which is a mirror-image of this one, where the
client sees a renegotiation but the server only sees one session.

One may dismiss this attack with the reasoning that "well it's the
client's fault for not checking the cert at the right point". Perhaps
for some specific protocol on TLS that may be true, but there doesn't
appear to be anything the TLS protocol itself that requires clients to
authenticate (rather than the other way round).

I strongly suspect many actual client applications are vulnerable to
this attack.

For these reasons, I suggest that we are unsafe in concluding that all
vulnerabilities can be fixed at the server.

- Marsh