Do not include a timestamp in the ClientHello Random field.
authorNick Mathewson <nickm@torproject.org>
Sun, 8 Sep 2013 00:40:59 +0000 (20:40 -0400)
committerNick Mathewson <nickm@torproject.org>
Mon, 16 Sep 2013 17:44:10 +0000 (13:44 -0400)
commit4af793036f6ef4f0a1078e5d7155426a98d50e37
tree610acd22f68d760448939691b2603fb8c5e8a082
parent46ebd9e3bb623d3c15ef2203038956f3f7213620
Do not include a timestamp in the ClientHello Random field.

Instead, send random bytes.

While the gmt_unix_time record was added in an ostensible attempt to
mitigate the dangers of a bad RNG, its presence leaks the host's view
of the current time in the clear.  This minor leak can help
fingerprint TLS instances across networks and protocols... and what's
worse, it's doubtful thet the gmt_unix_time record does any good at
all for its intended purpose, since:

    * It's quite possible to open two TLS connections in one second.
    * If the PRNG output is prone to repeat itself, ephemeral
    * handshakes (and who knows what else besides) are broken.
ssl/d1_clnt.c
ssl/s23_clnt.c
ssl/s3_clnt.c