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

Michael D'Errico <mike-list@pobox.com> Tue, 10 November 2009 05:17 UTC

Return-Path: <mike-list@pobox.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 B3D263A67F7 for <tls@core3.amsl.com>; Mon, 9 Nov 2009 21:17:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.588
X-Spam-Level:
X-Spam-Status: No, score=-2.588 tagged_above=-999 required=5 tests=[AWL=0.011, 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 eQCTlCyuPDmT for <tls@core3.amsl.com>; Mon, 9 Nov 2009 21:17:12 -0800 (PST)
Received: from sasl.smtp.pobox.com (a-pb-sasl-quonix.pobox.com [208.72.237.25]) by core3.amsl.com (Postfix) with ESMTP id C34113A6A45 for <tls@ietf.org>; Mon, 9 Nov 2009 21:17:12 -0800 (PST)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id BE29E7A500 for <tls@ietf.org>; Tue, 10 Nov 2009 00:17:39 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=message-id :date:from:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; s=sasl; bh=PeqMve7JU6Ju LPDLgtxJS/FDgyg=; b=Y9qo7LcTqH7rdrNfAgPFRYPCmbbgZ+C3Wh8tnrqhTgcC Qw08AsgSQtvbTYIHi79QKTjGrZGJLD3ml4/BcLGx/nzYbTYUT6bl5C8FtYjoeE3a 4KFq73w41XH2GCwyIUWiYg6EyxAQBx947fbrtbq0i+trV1B5JO3jbMYIxBCrTpc=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=message-id:date :from:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; q=dns; s=sasl; b=uZLzyt knGzAF74CU5y+s5KmfTi50vYtSc0p+o3747czhGDvMjGTHhrbYf+rapLc84yA4Bx e8oQJbQ3wBGGzKmNHkBr0M6gA7t8UIMRH1DKWlf/ntH7AaCIDzTyhCVU+QF/Tsn8 jLjiQGyRxEDaZjO+DffJTTRsNZWLo6YdKwba0=
Received: from a-pb-sasl-quonix. (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id BA6C47A4FE for <tls@ietf.org>; Tue, 10 Nov 2009 00:17:39 -0500 (EST)
Received: from administrators-macbook-pro.local (unknown [24.234.114.35]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTPSA id 62E787A4FD for <tls@ietf.org>; Tue, 10 Nov 2009 00:17:39 -0500 (EST)
Message-ID: <4AF8F7B4.7020101@pobox.com>
Date: Mon, 09 Nov 2009 21:18:44 -0800
From: Michael D'Errico <mike-list@pobox.com>
User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812)
MIME-Version: 1.0
To: tls@ietf.org
References: <200911092035.nA9KZviE026489@fs4113.wdf.sap.corp> <4AF8EF8F.3090100@jacaranda.org>
In-Reply-To: <4AF8EF8F.3090100@jacaranda.org>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Pobox-Relay-ID: 5DB28B8A-CDB8-11DE-B448-7B3EEE7EF46B-38729857!a-pb-sasl-quonix.pobox.com
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 05:17:13 -0000

> Suppose that the client sent an SSLv3 ClientHello
> with client_version = 3.1 (or higher). Assuming the server supports TLS,
> then TLS will be negotiated. So when the client sends the renegotiation,
> it knows that it is safe to send extensions. The attack is prevented as
> long as the renegotiating handshake uses the extension; it is not necessary
> for the initial handshake to have used it.

The problem is that your initial handshake *is* the renegotiation!
(from the server's point of view)

A client needs to send an empty Renegotiation_Info so that the server
can ascertain whether an attack is taking place.  Otherwise it may be
configured to let you "re"negotiate for practical reasons, and you just
bought someone a pizza.

The scary thing is that a truly paranoid client can't connect to any
unpatched server that asks for credentials immediately.

Mike