Re: [TLS] New drafts: adding input to the TLS master secret

Simon Josefsson <simon@josefsson.org> Tue, 02 February 2010 14:37 UTC

Return-Path: <simon@josefsson.org>
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 9752A28C101 for <tls@core3.amsl.com>; Tue, 2 Feb 2010 06:37:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.562
X-Spam-Level:
X-Spam-Status: No, score=-1.562 tagged_above=-999 required=5 tests=[AWL=-0.963, BAYES_00=-2.599, SARE_RAND_1=2]
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 c7BkBLocjroq for <tls@core3.amsl.com>; Tue, 2 Feb 2010 06:37:21 -0800 (PST)
Received: from yxa-v.extundo.com (yxa-v.extundo.com [83.241.177.39]) by core3.amsl.com (Postfix) with ESMTP id 6429E28C247 for <tls@ietf.org>; Tue, 2 Feb 2010 06:30:02 -0800 (PST)
Received: from mocca (c80-216-24-99.bredband.comhem.se [80.216.24.99]) (authenticated bits=0) by yxa-v.extundo.com (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id o12EUZq8018916 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Tue, 2 Feb 2010 15:30:37 +0100
From: Simon Josefsson <simon@josefsson.org>
To: Paul Hoffman <paul.hoffman@vpnc.org>
References: <p0624089bc78922bdaddd@[10.20.30.158]>
OpenPGP: id=B565716F; url=http://josefsson.org/key.txt
X-Hashcash: 1:22:100202:tls@ietf.org::atAT7AJ5KCOssdlE:9pRK
X-Hashcash: 1:22:100202:paul.hoffman@vpnc.org::vpCcyR/ktCG8HmuR:Tsq3
Date: Tue, 02 Feb 2010 15:30:34 +0100
In-Reply-To: <p0624089bc78922bdaddd@[10.20.30.158]> (Paul Hoffman's message of "Fri\, 29 Jan 2010 15\:42\:26 -0800")
Message-ID: <87fx5jk8vp.fsf@mocca.josefsson.org>
User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Virus-Scanned: clamav-milter 0.95.3 at yxa-v
X-Virus-Status: Clean
Cc: tls@ietf.org
Subject: Re: [TLS] New drafts: adding input to the TLS master secret
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, 02 Feb 2010 14:37:22 -0000

I have read these two documents and believe they are generally fine.  As
far as I can tell, they are not backwards compatible with earlier
proposals.  But that is not important.

There is one thing in draft-hoffman-tls-additional-random-ext-00.txt
that bothers me: There is no requirement that additional random data is
generated using cryptographic principles.  This means the extension can
be used as a general-purpose extension mechanism to exchange data that
has meaning to, for example, some middle-ware that sits between the
client and server.

Is this the intention?  I'm assuming no, and that the
additional_random_value actually are intended to be, well, just an
additional random value.

Therefor, I would suggest that a new requirement is added:

   The client and server MUST generate the additional_random_value data
   using a secure random number generator.  [RANDOM] provides guidance
   on the generation of random values.
...
   [RANDOM]   Eastlake, D., 3rd, Schiller, J., and S. Crocker,
              "Randomness Requirements for Security", BCP 106, RFC 4086,
              June 2005.

This is similar to what's in RFC 5246 says about the random_bytes field:

7.4.1.2.  Client Hello
...
      random_bytes
         28 bytes generated by a secure random number generator.

/Simon