Re: [TLS] Downgrade protection, fallbacks, and server time

Eric Rescorla <> Wed, 01 June 2016 22:43 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C23B612B040 for <>; Wed, 1 Jun 2016 15:43:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id rIcDXL4tIy4t for <>; Wed, 1 Jun 2016 15:43:48 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4002:c05::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id E515512B00F for <>; Wed, 1 Jun 2016 15:43:47 -0700 (PDT)
Received: by with SMTP id h19so33328037ywc.0 for <>; Wed, 01 Jun 2016 15:43:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=c1fCYrBQ0785zOFkoDUTYveS/KlYFSAZzwpkRUpMI9Y=; b=BcPjzTzBVbsXwkaannNA4skStdRJT1DQ/pKZwlJooAETy8gk672DhLmz7gPiGIezjr JXaBX8ZNLTnsvimTFhst2lW1CKc2Vl1hzSc3hvfm/yOGiEADFXM3DJh4JdR8yq/QJvvy dV+vQi+4M0RSYiaQJzd2ahIsmOxTREkFUUumYjMboarKCNCHs2o0kQsxt/bobwK4LYtN 4PJitzSNpKzLQ4IFwtsRoA9v5AKLR48banqKhBQeqV4+TDVBoUnvinkL3bLzOUlwI7hy vpsJWL1qGgmMUp/J8Gp8RZ2F2vfZTMe6RbjHZ0xDJweIz1t0zF5bVw9ooSeqVcOpSPtd 3tjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=c1fCYrBQ0785zOFkoDUTYveS/KlYFSAZzwpkRUpMI9Y=; b=WfoTSDPETov9VHIQrkzA+hhdEaWiFcOW9DinlBJo+sqFvk9wCljKTwh8L0QtsXiWu4 nnNHl2vdhCRMtwTg21X0WFiISymwDjtJjSEdPzi24hWH+BVp7oG7Qg/kRJel5fGNnwaJ Fra6nMV1V4OpJQVK9gG2rzyk8PYyjjobvuDjIfYSLbda113ZpyjVpVVPk20O0j+jcizx CyZDYnYkjrkoPbgeDcffiGX7J8KFvpCqnPU3IdqKlQSiRTBoYAFc8Zg4Jc7ay+Sj3FZk SMi+7DLyYNUvUTZlvHJGcNyETMFffaZ/BamqaDOFxHc1xE0Awmo9StPQ/U5MoCCjEzZR SHoA==
X-Gm-Message-State: ALyK8tIPHgz/UFqeLDhPrzPZbJAfvgli4Lfa98Pujo4H0iSbK4L+lFkrRG27nSKWWRfy7loenrcrYrM5RE7TJQ==
X-Received: by with SMTP id z142mr3846411ywz.322.1464821027214; Wed, 01 Jun 2016 15:43:47 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Wed, 1 Jun 2016 15:43:07 -0700 (PDT)
In-Reply-To: <>
References: <>
From: Eric Rescorla <>
Date: Wed, 1 Jun 2016 15:43:07 -0700
Message-ID: <>
To: David Benjamin <>
Content-Type: multipart/alternative; boundary=001a11422568fcc67905343f3824
Archived-At: <>
Cc: "" <>
Subject: Re: [TLS] Downgrade protection, fallbacks, and server time
X-Mailman-Version: 2.1.17
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, 01 Jun 2016 22:43:51 -0000

2% is actually pretty good, but I agree that we're going to need fallback.

I'd be fine with moving the 8 bytes to the end, but I wonder if it would be
better to
instead have the *client* indicate its max version and the server check.
That would
have the advantage that it would leave more of the server random intact.


P.S. The FALLBACK_SCSV isn't a substitute because it isn't signed by the

On Wed, Jun 1, 2016 at 3:29 PM, David Benjamin <>;

> In case folks hoped we could bump the ClientHello version without those
> dreaded browser fallbacks, I have bad news. :-( 1.3 intolerance very much
> exists. (Maybe we should just give up on ClientHello.version and use an
> extension? Extensions have rusted less.)
> I picked a large list of top sites and tried connecting to them. Just
> under 2% of them could handle a TLS 1.2 ClientHello, but not the same
> ClientHello with the version switched to 1.3 (no other changes, so I
> haven't tested a real 1.3 ClientHello). They're not unknown hosts either. I
> expect if you probe any top site list, you'll very quickly find some.
> Fortunately, the ServerHello.random trick fixes this. But it currently
> clobbers the old server timestamp which tlsdate[1] uses for clock
> synchronization. There really should be a less silly secure timestamping
> protocol, but, today, tlsdate has users. Any servers which expect to be a
> tlsdate target can't honor this MUST without tlsdate gone.
> (FALLBACK_SCSV works fine as well, but I gather people prefer the
> ServerHello.random one and would be unhappy having to implement both in
> clients with a fallback because not all servers do the latter.)
> I mentioned this before, but rather than clobbering the first 8 bytes, the
> last 8 bytes seems as reasonable and avoids this unnecessary complication
> to TLS 1.3 deployment. If folks agree now that the fallback's
> resurrection is more certain, I'm happy to put together a PR.
> David
> [1]
> _______________________________________________
> TLS mailing list