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

Martin Rex <> Wed, 03 February 2010 02:17 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A85213A6BB6 for <>; Tue, 2 Feb 2010 18:17:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.923
X-Spam-Status: No, score=-9.923 tagged_above=-999 required=5 tests=[AWL=-0.274, BAYES_00=-2.599, HELO_EQ_DE=0.35, J_CHICKENPOX_54=0.6, RCVD_IN_DNSWL_HI=-8]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 6pUyj4eZHaRN for <>; Tue, 2 Feb 2010 18:17:32 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 731D43A6BB2 for <>; Tue, 2 Feb 2010 18:17:32 -0800 (PST)
Received: from by (26) with ESMTP id o132I7em012808 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 3 Feb 2010 03:18:07 +0100 (MET)
From: Martin Rex <>
Message-Id: <>
To: (Marsh Ray)
Date: Wed, 3 Feb 2010 03:18:06 +0100 (MET)
In-Reply-To: <> from "Marsh Ray" at Feb 2, 10 07:50:42 pm
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Scanner: Virus Scanner virwal08
X-SAP: out
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: Wed, 03 Feb 2010 02:17:33 -0000

Marsh Ray wrote:
> Paul Hoffman wrote:
> > 
> > This proposed protocol change is only relevant to scenarios where
> > there is a cryptographic reason to mix inherently non-sensitive data
> > passed before the change_cipher_spec message into the master secret.
> You said the data is "not sensitive" and it is sent in plain text. So an
> attacker has it as soon as the endpoints do.
> What does this accomplish over just hashing your extra data into the 28
> byte random field? (which would not require a new protocol structure)

I had the same thought.  Have the endpoints hash it into the
random fields that are sent in the ClientHellos.

Adding extra data onto every TLS handshake that will _only_ be
used during full handshake and completely useless for all session
resumptions seems like a waste.  (For large&busy servers, a
session resumption rate of >95% is desired).

> 224 bits of from each endpoint ... is 448 bits really not enough entropy
> somehow? 448 bits ought to be enough for anybody :-)
> It looks to me (but IANAC) like the PRF maxes out at 672 bits of entropy
> doing key block expansion (master_secret[48]*8 + 128md5 + 160sha), so
> you can only effectively add 224 bits (only 50% more) from any source.

The PRF will have to do some kind of compression of all the entropy
from the inputs.

> How big were you planning to make those symmetric keys anyway?

I would prefer to _not_ call anything "key" that is going to
travel in the clear.  Personally, I always think of "keys" being
secret or even private information.   I would prefer the term
"random" or "entropy".