Re: [TLS] Perhaps there's another way. Was: Verify data in the RI extension?

Dr Stephen Henson <lists@drh-consultancy.demon.co.uk> Thu, 26 November 2009 17:27 UTC

Return-Path: <lists@drh-consultancy.demon.co.uk>
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 E9FFB3A6A9B for <tls@core3.amsl.com>; Thu, 26 Nov 2009 09:27:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.587
X-Spam-Level:
X-Spam-Status: No, score=-2.587 tagged_above=-999 required=5 tests=[AWL=0.012, 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 R7oy7-lwDOea for <tls@core3.amsl.com>; Thu, 26 Nov 2009 09:27:36 -0800 (PST)
Received: from claranet-outbound-smtp01.uk.clara.net (claranet-outbound-smtp01.uk.clara.net [195.8.89.34]) by core3.amsl.com (Postfix) with ESMTP id 808A63A6893 for <tls@ietf.org>; Thu, 26 Nov 2009 09:27:36 -0800 (PST)
Received: from drh-consultancy.demon.co.uk ([80.177.30.10]:49737 helo=[192.168.7.8]) by relay01.mail.eu.clara.net (relay.clara.net [213.253.3.41]:10587) with esmtpa (authdaemon_plain:drh) id 1NDi7t-00063Y-41 (Exim 4.69) for tls@ietf.org (return-path <lists@drh-consultancy.demon.co.uk>); Thu, 26 Nov 2009 17:27:29 +0000
Message-ID: <4B0EBA86.9010107@drh-consultancy.demon.co.uk>
Date: Thu, 26 Nov 2009 17:27:34 +0000
From: Dr Stephen Henson <lists@drh-consultancy.demon.co.uk>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: "tls@ietf.org" <tls@ietf.org>
References: <C733FAC4.6B2F%stefan@aaa-sec.com> <9923D81D-BABA-4897-A0E3-6938FFB70045@checkpoint.com> <4B0EB686.4090905@extendedsubset.com>
In-Reply-To: <4B0EB686.4090905@extendedsubset.com>
X-Enigmail-Version: 0.96.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Subject: Re: [TLS] Perhaps there's another way. Was: Verify data in the RI extension?
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: Thu, 26 Nov 2009 17:27:38 -0000

Marsh Ray wrote:
> Yoav Nir wrote:
>> As far as implementation complexity, it's a wash. You have to have
>> some long-term "state", which now must include the old verify_data.
>> There's no way around that.
> 
> Perhaps, but that state does not need to be more that a bit or two in
> each direction for the signaling.
> 
> State derived from the previous handshake is already available at both
> endpoints. It is not necessary to carry over more!
> 
> This state currently resides in:
>     client write MAC secret
>     server write MAC secret
>     client write key
>     server write key
> 
> These secure entropy within these parameters are considered sufficient
> to protect all the application data, why aren't they good enough to
> establish continuity-of-identity across the renegotiation?
> 
> Seems to me the MAC_secret is better than the Finished message if for no
> other reason than it's 20 bytes instead of 12. Currently, all this
> hard-won entropy is discarded at the CCS. A tragedy!
> 
> My proposal:
> 
> At the CCS, instead of replacing the client/server MAC secret data,
> simply XOR-merge the incoming values with the previous ones.
> 
> * A one-line software change.
> * Easy even in hardware.
> * Preserves more entropy.
> * No changes to PRF.
> 
> Please actively attempt to shoot it down.
> 

I think this will give problems for external crypto libraries like PKCS#11 where
session key derivation is a mechanism with fixed parameters and the actual keys
are not available in plain text outside the hardware. You'd need to develop a
new mechanism, add it to the PKCS#11 spec and update firmware on every piece of
crypto hardware.

Steve.
-- 
Dr Stephen N. Henson.
Core developer of the   OpenSSL project: http://www.openssl.org/
Freelance consultant see: http://www.drh-consultancy.co.uk/
Email: shenson@drh-consultancy.co.uk, PGP key: via homepage.