Re: [TLS] Also, on client-random and server-random

Ravi Ganesan <> Wed, 03 February 2010 12:15 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id ADFE728C163 for <>; Wed, 3 Feb 2010 04:15:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ze3PWzFn9Vij for <>; Wed, 3 Feb 2010 04:15:22 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id B364828C15E for <>; Wed, 3 Feb 2010 04:15:22 -0800 (PST)
Received: by pzk9 with SMTP id 9so1440927pzk.31 for <>; Wed, 03 Feb 2010 04:16:02 -0800 (PST)
MIME-Version: 1.0
Received: by with SMTP id v14mr4938673wah.194.1265199360168; Wed, 03 Feb 2010 04:16:00 -0800 (PST)
In-Reply-To: <>
References: <> <>
Date: Wed, 3 Feb 2010 04:16:00 -0800
Message-ID: <>
From: Ravi Ganesan <>
To: Adam Langley <>
Content-Type: text/plain; charset=UTF-8
Subject: Re: [TLS] Also, on client-random and server-random
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 12:15:23 -0000

Sorry my comments were
i) only meant to apply to RSA based ciphersuites (all we support as
yet in MashSSL).
ii) And, I said it exactly backwards.

In the abbreviated handshake as S does not know who C is upon getting
a client-hello, if you did not have the server-random, then a
malicious client could (if there were no other checks), get the server
to provide a large number of server-finisheds to carefully chosen
client-randoms, w/o completing the protocol.

Conversely, in the full handshake as C does not know who S is when
computing certificate-verify (assuming it is requested), a malicious
server could (if there were no other checks), get the client to
provide a large number of certificate-verifies on carefully chosen
server-randoms w/o completing the protocol.

Again, there was a time in SSL when these two random numbers were NOT
in protocol, (see this description of SSL 2.0 for
instance) and then they appear. I was trying to understand the
motivation for why they were added in, and the above two reasons were
all I could find.

On Wed, Feb 3, 2010 at 2:16 AM, Adam Langley <> wrote:
> On Tue, Feb 2, 2010 at 11:22 PM, Ravi Ganesan <> wrote:
>> FWIW, in my deconstruction of why these values exist, it seemed to me
>> that if you ran the full handshake with only the server-random [...] you were ok
> Consider a TLS connection using DH that I just sniffed from the network.
> If there's no client random then what stops me from intercepting
> future connections from the same client, to the same server and
> replaying the server's side to the client? The server random would be
> the same, as would the DH value and signature. I think, from a quick
> thought experiment, that the master secret would end up the same and
> the client would accept it. There's no reason that the client is
> required to use a different DH public value.