Re: [TLS] rm Hello.random w/ (EC)DHE [was OPTLS: Signature-less TLS 1.3]

Nico Williams <nico@cryptonector.com> Mon, 10 November 2014 19:24 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4A4A71A0161 for <tls@ietfa.amsl.com>; Mon, 10 Nov 2014 11:24:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.134
X-Spam-Level: **
X-Spam-Status: No, score=2.134 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, J_CHICKENPOX_54=0.6, J_CHICKENPOX_55=0.6, J_CHICKENPOX_56=0.6, J_CHICKENPOX_57=0.6, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2Ov8nTlxfNDh for <tls@ietfa.amsl.com>; Mon, 10 Nov 2014 11:24:19 -0800 (PST)
Received: from homiemail-a106.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id 9D96A1A015B for <tls@ietf.org>; Mon, 10 Nov 2014 11:24:06 -0800 (PST)
Received: from homiemail-a106.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a106.g.dreamhost.com (Postfix) with ESMTP id 644552005D00D; Mon, 10 Nov 2014 11:24:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to:content-transfer-encoding; s= cryptonector.com; bh=YHOuH7G742STMFK5Gb5IFmUvAOs=; b=hZPqGi/6pGb 9MZhCMRxE/LJfhaqt5WQGkCQsQZghzcRiWH7CjIluZU2ZAR/T5GBlXY8QXsY+zE2 TDTX2OW24bXgQMCyK2L+4d7ESTwk6KEYB2rx1Sx1ZfzQHudnqE2ELRbl5evpgwiT j0/rNqKz833EE0sNJrp4VeswM2hkVCtk=
Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a106.g.dreamhost.com (Postfix) with ESMTPA id B6B1D2005D00B; Mon, 10 Nov 2014 11:24:05 -0800 (PST)
Date: Mon, 10 Nov 2014 13:24:04 -0600
From: Nico Williams <nico@cryptonector.com>
To: Dan Brown <dbrown@certicom.com>
Message-ID: <20141110192402.GD3412@localhost>
References: <810C31990B57ED40B2062BA10D43FBF5CFDCC9@XMB116CNC.rim.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <810C31990B57ED40B2062BA10D43FBF5CFDCC9@XMB116CNC.rim.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
Content-Transfer-Encoding: quoted-printable
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/6R8j6rCb-AxzCejjwNyl0SkA8yU
Cc: "'hoeteck@alum.mit.edu'" <hoeteck@alum.mit.edu>, "'tls@ietf.org'" <tls@ietf.org>
Subject: Re: [TLS] rm Hello.random w/ (EC)DHE [was OPTLS: Signature-less TLS 1.3]
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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/options/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: Mon, 10 Nov 2014 19:24:20 -0000

On Mon, Nov 10, 2014 at 05:58:12PM +0000, Dan Brown wrote:
> When using (EC)DHE (inc. OPTLS below), the TLS random nonces
> (ClientHello.random and ServerHello.random) seem redundant (unless one
> re-uses ephemeral secret keys (but then maybe a counter or secure time
> would be almost as good a nonce as a random in this case), or perhaps
> for some other reason I’m missing), and perhaps even a point of
> fragility (e.g. if a common generator for nonces and keys is weak, or
> corrupted). So, does it make sense to remove these Hello.randoms, when
> using (EC)DHE, or to replace them with something milder, like
> Hello.time, Hello.counter, or just Hello.nonce?

The main problem with the hello randoms today is that they are big.
This is what made Dual_EC deadly for TLS.  Besides, large nonces also
create a large covert channel.

Larger nonces make sense for plain PSK, static DH, and session
resumption.

For RSA key transport I don't see the point of larger nonces.

For (EC)DHE small nonces help the briefly reused server-side ephemeral
private key case, which is nice to have.

64-bit nonces should suffice for the key exchanges that need larger
nonces, no?

32-bit nonces should suffice for the key exchanges that need smaller or
no nonces.

The client should send a nonce of size matching the largest needed by
any of the ciphersuites it offers.

The server should send a nonce whose size is given by the selected
ciphersuite.

If variable size nonces are a problem (e.g., fingreprinting), then send
large nonces but set unneeded bits to one of a small set of suitable
constant patterns.

Nico
--