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

Simon Josefsson <> Tue, 02 February 2010 14:37 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9752A28C101 for <>; Tue, 2 Feb 2010 06:37:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.562
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 ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id c7BkBLocjroq for <>; Tue, 2 Feb 2010 06:37:21 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 6429E28C247 for <>; Tue, 2 Feb 2010 06:30:02 -0800 (PST)
Received: from mocca ( []) (authenticated bits=0) by (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 <>
To: Paul Hoffman <>
References: <p0624089bc78922bdaddd@[]>
OpenPGP: id=B565716F; url=
Date: Tue, 02 Feb 2010 15:30:34 +0100
In-Reply-To: <p0624089bc78922bdaddd@[]> (Paul Hoffman's message of "Fri\, 29 Jan 2010 15\:42\:26 -0800")
Message-ID: <>
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
Subject: Re: [TLS] New drafts: adding input to the TLS master secret
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." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-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:  Client Hello
         28 bytes generated by a secure random number generator.