Re: [TLS] simplistic renego protection

Nelson B Bolyard <nelson@bolyard.me> Fri, 20 November 2009 03:03 UTC

Return-Path: <nelson@bolyard.me>
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 A4D013A6809 for <tls@core3.amsl.com>; Thu, 19 Nov 2009 19:03:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.189
X-Spam-Level:
X-Spam-Status: No, score=-2.189 tagged_above=-999 required=5 tests=[AWL=0.410, 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 RjzNV2W9Qh13 for <tls@core3.amsl.com>; Thu, 19 Nov 2009 19:03:26 -0800 (PST)
Received: from smtpauth11.prod.mesa1.secureserver.net (smtpauth11.prod.mesa1.secureserver.net [64.202.165.33]) by core3.amsl.com (Postfix) with SMTP id C11363A67A4 for <tls@ietf.org>; Thu, 19 Nov 2009 19:03:26 -0800 (PST)
Received: (qmail 4569 invoked from network); 20 Nov 2009 03:03:23 -0000
Received: from unknown (24.5.142.42) by smtpauth11.prod.mesa1.secureserver.net (64.202.165.33) with ESMTP; 20 Nov 2009 03:03:23 -0000
Message-ID: <4B060687.30007@bolyard.me>
Date: Thu, 19 Nov 2009 19:01:27 -0800
From: Nelson B Bolyard <nelson@bolyard.me>
Organization: Network Security Services
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.9.1b1pre) Gecko/20081004 NOT Firefox/2.0 SeaMonkey/2.0a2pre
MIME-Version: 1.0
To: tls@ietf.org
References: <200911182000.nAIK0Qkm013905@fs4113.wdf.sap.corp> <4B04A792.7040607@jacaranda.org> <B197003731D4874CA41DE7B446BBA3E829CD28F1@TK5EX14MBXW653.wingroup.windeploy.ntdev.microsoft.com> <4B059716.6010309@jacaranda.org>
In-Reply-To: <4B059716.6010309@jacaranda.org>
Content-Type: text/plain; charset="UTF-8"
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: Fri, 20 Nov 2009 03:03:27 -0000

On 2009-11-19 11:05 PST, David-Sarah Hopwood wrote:
> Nasko Oskov wrote:

>> If the MiTM sends a client hello to the server that has no extension, then
>> the server has no way to drop the connection. This will require a strict
>> server to prevent the attack and strict server config will not be reality
>> for a long time. What am I missing?
> 
> That, in the RI approach, strict server config is essential from the start.
> 
> We haven't yet established whether the ability to support lenient servers
> is a requirement. Eric has argued against allowing that; so have I.
> If lenient servers are allowed, then I think it will take *much* longer
> until the vulnerability is eliminated from most connections.

I must have missed the message wherein "lenient server" was defined.
Is it a server that accepts client hellos without any signal that the
client has been upgraded, but merely refuses to renegotiate with such a
client?

IOW, is it the kind of server that numerous vendors are shipping now,
that recent patches to open source have just created, one that refuses to
renegotiate at all but still accepts old style client hellos?

Is someone proposing to abolish them already?

> Remember, rejecting a renegotiating ClientHello does not necessarily lead
> to an interoperability failure; it only does so if the client will not
> reconnect.

By definition, the alert that rejects a renegotiating client auth
(no_renegotiation) is a warning alert.  It leaves the previous TLS
connection and session state intact and able to continue.  So IINM, it does
not lead to an interoperability failure unless the client chooses to treat
that alert as fatal, despite being a warning, AND refuses to reconnect.
Right?