Re: [TLS] Abbreviated Handshake != Renegotiated Handshake
Michael D'Errico <mike-list@pobox.com> Sat, 19 December 2009 22:12 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 408463A684C for <tls@core3.amsl.com>; Sat, 19 Dec 2009 14:12:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.546
X-Spam-Level:
X-Spam-Status: No, score=-2.546 tagged_above=-999 required=5 tests=[AWL=0.053, 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 GD-OIb1u6dtB for <tls@core3.amsl.com>; Sat, 19 Dec 2009 14:12:45 -0800 (PST)
Received: from sasl.smtp.pobox.com (a-pb-sasl-sd.pobox.com [64.74.157.62]) by core3.amsl.com (Postfix) with ESMTP id B5B043A67EC for <tls@ietf.org>; Sat, 19 Dec 2009 14:12:44 -0800 (PST)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 7A191A8812 for <tls@ietf.org>; Sat, 19 Dec 2009 17:12:28 -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=e6lyp5vyQ5ML vZTQf6hXhDdS0c4=; b=tTzsC5Msj3qnttNEGXwPfl8uoLxmSCuHnADHn5ObIb6E O22lNgVZobA98lcDqMPAfMjP47PCASxHOlU9C1QeUVlRyatUkIQD0U7adKGaZ7hA Hnw/9JwiRzs9uKi0D7lXUrhUkCMYJDwysp5jDXPdw37jtMrBId2bW092oLp5s08=
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=us9uWE +ICThAY+vHpUZ77oe3GvXuTDXPZZn7B1AWrUA7yp24jsOc2uE9B8JqC7hcCA6Gf9 Pt7Jz7uCE2R6PUeqpDNq5VK9t+4ijbQtzivhur8C1etcrq6I0yRRAlQry0CP/nW6 shyC74KFUR48qtRLljD3q+dC0KPEHTfho3HZg=
Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 769FAA8810 for <tls@ietf.org>; Sat, 19 Dec 2009 17:12:28 -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-sd.pobox.com (Postfix) with ESMTPSA id 073FBA880F for <tls@ietf.org>; Sat, 19 Dec 2009 17:12:27 -0500 (EST)
Message-ID: <4B2D503F.2060800@pobox.com>
Date: Sat, 19 Dec 2009 14:14:23 -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: <3561bdcc0912190913t7bf4ea3fkc3ec29117b268b96@mail.gmail.com> <4B2D22C6.9090109@extendedsubset.com> <3561bdcc0912191343n33b51ebdh260d8048ecd0857f@mail.gmail.com>
In-Reply-To: <3561bdcc0912191343n33b51ebdh260d8048ecd0857f@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Pobox-Relay-ID: 984EDF9E-ECEB-11DE-91DD-B34DBBB5EC2E-38729857!a-pb-sasl-sd.pobox.com
Subject: Re: [TLS] Abbreviated Handshake != Renegotiated Handshake
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, 19 Dec 2009 22:12:47 -0000
Ravi Ganesan wrote: > > ii) You say: "Why couldn't a client offer resumption of a previously > client-authed session in response to a server-initiated renegotiation?". > In re-reading RFC 5246 my take away is that this is implicitly > forbidden, but maybe that is just my reading. I feel it really MUST be > forbidden. As an example: > - imagine an application requirement to change key material every 24 > hours, because after that an attacker gathers up enough ciphertext or > chosen plaintext to render continuing to use the same key material > dangerous. > - app developer instructs his (server) SSL stack to do 'renegotiation' > every 24 hours. > - applications (server) SSl stack sends renegottation message'. > - In your scenario (client) stack at other end says "oh come on, not all > over again, lets just resume" and commences abbreviated handshake using > same master_secret. > - In your scenario the (server) SSL stack proceeds, and the app "thinks" > it is refreshing key material every 24 hours, and in fact it is not!!! The server is under no obligation to resume a session offered by the client. If your server application requires a full handshake every 24 hours, then it should ignore the session ID and simply continue with a full handshake. > My recommendation would be to say a Client MUST NOT offer session > resumption in response to a renegotiation, and if it chooses to do so, > the server MUST NOT accept it. It would be useful if any of those > originally involved with RFC 5246 can clarify intent of renegotiation > and if any why there is indeed some use case where one allows Client to > respond with abbreviated handshake. Like Marsh, I cannot think of any > use case, and per my example above it seems dangerous. If one agrees the > draft to fix the renego-attack would be great place to fix this too. I don't think these restrictions are necessary. It is up to the particular application to determine when resumption is allowed and when it isn't. The client can force a full handshake by not sending a session ID, and the server can force a full handshake by ignoring a session ID if the client sent one. > iii) OK back to abbreviated handshakes. As part of my work with the > MashSSL Alliance (www.mashssl.org <http://www.mashssl.org>) I end up > explaining the abbreviated handshake again and again and again, as it is > a HUGE benefit of starting with SSL to fix the problem we are trying to > address. Here is what I have to report: Of those who know enough about > SSL to ask, *ALL* immediately confuse it with "renegotiation" and ask > about the impact of your attack (currently MashSSL does not even have > renegotiation!). Now your draft has no obligation to change its wording > to help a different if related effort (though it would be nice :-)). I > am simply reporting back that almost everyone is mixed up on > 'resumption' versus 'renegotiation'. And it would help a lot of people > if your reply to me below, namely, "The bug and the fix are about > renegotiation and have absolutely nothing to do with session > resumption." made it into the draft. Renegotiation and session resumption are orthogonal. You can resume a session on an initial handshake or when renegotiating. I'm not sure your text is quite correct since you can be vulnerable to a man-in-the- middle when resuming a session on an initial handshake (the server sees it as a renegotiation). Mike
- [TLS] Abbreviated Handshake != Renegotiated Hands… Ravi Ganesan
- Re: [TLS] Abbreviated Handshake != Renegotiated H… Marsh Ray
- Re: [TLS] Abbreviated Handshake != Renegotiated H… Ravi Ganesan
- Re: [TLS] Abbreviated Handshake != Renegotiated H… Michael D'Errico
- Re: [TLS] Abbreviated Handshake != Renegotiated H… Eric Rescorla
- Re: [TLS] Abbreviated Handshake != Renegotiated H… Ravi Ganesan
- Re: [TLS] Abbreviated Handshake != Renegotiated H… Michael D'Errico
- Re: [TLS] Abbreviated Handshake != Renegotiated H… Martin Rex
- Re: [TLS] Abbreviated Handshake != Renegotiated H… David-Sarah Hopwood
- Re: [TLS] Abbreviated Handshake != Renegotiated H… Ravi Ganesan
- Re: [TLS] Abbreviated Handshake != Renegotiated H… Martin Rex