Re: [TLS] Quest for Unified Solution to TLS Renegotiation
Nelson B Bolyard <nelson@bolyard.me> Fri, 27 November 2009 05:58 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 14F2C3A67FB for <tls@core3.amsl.com>; Thu, 26 Nov 2009 21:58:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.445
X-Spam-Level:
X-Spam-Status: No, score=-2.445 tagged_above=-999 required=5 tests=[AWL=0.154, 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 qESmRUDcDnjB for <tls@core3.amsl.com>; Thu, 26 Nov 2009 21:58:35 -0800 (PST)
Received: from p3plsmtpa01-01.prod.phx3.secureserver.net (p3plsmtpa01-01.prod.phx3.secureserver.net [72.167.82.81]) by core3.amsl.com (Postfix) with SMTP id 4AD713A63D3 for <tls@ietf.org>; Thu, 26 Nov 2009 21:58:35 -0800 (PST)
Received: (qmail 9643 invoked from network); 27 Nov 2009 05:58:29 -0000
Received: from unknown (24.5.142.42) by p3plsmtpa01-01.prod.phx3.secureserver.net (72.167.82.81) with ESMTP; 27 Nov 2009 05:58:29 -0000
Message-ID: <4B0F6B04.1090103@bolyard.me>
Date: Thu, 26 Nov 2009 22:00:36 -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: IETF TLS Working Group <tls@ietf.org>
References: <C7342F07.6C8C%uri@ll.mit.edu> <32C4392B-749C-47D7-B625-C769A18DE9DE@checkpoint.com>
In-Reply-To: <32C4392B-749C-47D7-B625-C769A18DE9DE@checkpoint.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Subject: Re: [TLS] Quest for Unified Solution to TLS Renegotiation
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, 27 Nov 2009 05:58:36 -0000
>> On 11/26/09 12:23 , "David-Sarah Hopwood" <david-sarah@jacaranda.org> >> wrote: >>> Blumenthal, Uri - 0662 - MITLL wrote: >>>> Yes, previous_verify_data MUST be a part of the input to the PRF. >>>> What Yoav Nir said (XOR-ing it with the master_secret), should work >>>> (out of hand - anybody sees a problem with it?). I replied to that in another message, but yes, don't mix key and non-key data together like that in the PRF definition. If you want to XOR the new data with something, or append it to something, do it with some other non-key (and non-constant) data that is input to the PRF, or else plan to replace hardware. >>> The previous_verify_data is not necessarily secret, so this requires the >>> PRF to be secure against related-key attack. The particular PRFs used in >>> SSLv3 and TLS 1.0 to 1.2 should be secure in that sense, but (if we >>> decide to use this approach) I still prefer what I suggested before: >>> >>> verify_data = >>> PRF(master_secret, finished_label, Hash(handshake_messages) >>> + previous_verify_data) >>> [0..verify_data_length-1]; >>> >>> which uses the PRF in a more conventional way. This would be OK for HSMs. It doesn't change the definition of PRF. It doesn't combine key and non-key data in a common input. It doesn't change constants that may be in silicon. On 2009-11-26 14:38 PST, Yoav Nir wrote: > I don't see why my suggestion doesn't hold for SSLv3 as well. Here's from > the spec: > > enum { client(0x434C4E54), server(0x53525652) } Sender; > > struct { > opaque md5_hash[16]; > opaque sha_hash[20]; > } Finished; > > md5_hash > MD5(master_secret + pad2 + MD5(handshake_messages + > Sender + master_secret + pad1)); > > sha_hash > SHA(master_secret + pad2 + SHA(handshake_messages + > Sender + master_secret + pad1)); > > So this could be changed in renegotiation to the following, or the Sender > field could be replaced with the contents of the previous Finished > message (it's like the finished label) > > enum { client(0x434C4E54), server(0x53525652) } Sender; > > struct { > opaque md5_hash[16]; > opaque sha_hash[20]; > } Finished; > > md5_hash > MD5(master_secret^previous_Finished_message + pad2 + > MD5(handshake_messages + > Sender + master_secret + pad1)); > > sha_hash > SHA(master_secret^previous_Finished_message + pad2 + > SHA(handshake_messages + > Sender + master_secret + pad1)); For hardware security modules that implement SSL3, that change means replacing the HSM. The only change you can make to the definitions of md5_hash and sha_hash that won't require the hardware to be replaced is to change the definition of "handshake_messages". That means somehow making the additional data part of the data stream that gets input into that MD5 or SHA function before "Sender", perhaps as if it was a pseudo handshake message.
- [TLS] Quest for Unified Solution to TLS Renegotia… Michael D'Errico
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Marsh Ray
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Stefan Santesson
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Eric Rescorla
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Hovav Shacham
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Michael D'Errico
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Eric Rescorla
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Michael D'Errico
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Michael D'Errico
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Yoav Nir
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Blumenthal, Uri - 0662 - MITLL
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Blumenthal, Uri - 0662 - MITLL
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Blumenthal, Uri - 0662 - MITLL
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Marsh Ray
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Michael D'Errico
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Michael D'Errico
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Blumenthal, Uri - 0662 - MITLL
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Stephen Farrell
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Yoav Nir
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Nelson B Bolyard
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Nelson B Bolyard
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Blumenthal, Uri - 0662 - MITLL
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Martin Rex
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Kyle Hamilton
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Eric Rescorla
- Re: [TLS] Quest for Unified Solution to TLS Reneg… Blumenthal, Uri - 0662 - MITLL
- Re: [TLS] Quest for Unified Solution to TLS Reneg… David-Sarah Hopwood