Re: [TLS] Fixing TLS (Martin Rex) Thu, 14 January 2016 09:40 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 5CEA01B2DAE for <>; Thu, 14 Jan 2016 01:40:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.551
X-Spam-Status: No, score=-6.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id xDaHmqVrp-iq for <>; Thu, 14 Jan 2016 01:40:47 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 457C91B2DAD for <>; Thu, 14 Jan 2016 01:40:47 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 62F2E4496D; Thu, 14 Jan 2016 10:40:45 +0100 (CET)
X-purgate-ID: 152705::1452764445-00006F99-8A62FCD9/0/0
X-purgate-size: 2282
X-purgate: clean
X-purgate: This mail is considered clean (visit for further information)
X-purgate-Ad: Categorized by eleven eXpurgate (R)
X-purgate-type: clean
X-SAP-SPAM-Status: clean
Received: from ( []) by (Postfix) with ESMTP id CD60240918; Thu, 14 Jan 2016 10:40:44 +0100 (CET)
Received: by (Postfix, from userid 10159) id 497531A3E9; Thu, 14 Jan 2016 10:40:44 +0100 (CET)
In-Reply-To: <>
To: Ilari Liusvaara <>
Date: Thu, 14 Jan 2016 10:40:44 +0100 (CET)
X-Mailer: ELM [version 2.4ME+ PL125 (25)]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <>
From: (Martin Rex)
Archived-At: <>
Cc: "" <>
Subject: Re: [TLS] Fixing TLS
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." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 14 Jan 2016 09:40:49 -0000

Ilari Liusvaara wrote:
> Peter Gutmann wrote:
>> Salz, Rich <> writes:
>>>> TLS needs an LTS version that you can just push out and leave to its own
>>>> devices
>>>So don't you have that with TLS 1.1 and appropriate cipher and option
>> Based on the feedback I've had, I'm kinda tempted to do a TLS 1.2 LTS draft
>> that specifices just a single boolean flag, "use this known-good
>> configuration and not the 6.023e23 other ones and you should be good
>> for the next decade or so".  That can then be baked into long-term
>> systems and devices and left alone while people get on with other things.
> To actually fix the known problems with TLS 1.2, you would at minimum
> need a new extension, since there is currently no way to fix the broken
> server authentication.

One Boolean signaling is sufficent to fix all of the problems.
one SCSV in the Client->Server direction and a TLS extension Boolean
response in ServerHello.

> Then there are the other security fix extensions (at least three already).
> Those all would need to be impiled.
> And then there is the TLS 1.2 Diffie-Hellman issue...

TLS 1.2LTS should fix them all at once, including:

   - promise to support minimum DHE key lengths >= 2048 bits
     whenever ClientHello includes DHE cipher suites

   - promise to support a certain small subset of EC curves
     and uncompressed point format whenever ClientHello includes
     ECDHE cipher suites (but may omit TLS extensions).

   - new/improved ServerKeyExchange handshake message, which
     does not only contain the reasonable set of DHE parameters,
     but also uses a digititally signed covering all prior
     handshake messages, not just the two hello randoms.

   - overriding any TLS record layer protocol version and
     ClientHello.client_version that is less than TLSv1.2

   - promise that digital signatures using SHA-256 are supported

   - fix the misunderstood semantics of the signature_algorithm extension
     so that it is only used as a hint to certificate selection,
     but *NEVER* seen as a hard requirement (or reason for server to
     abort the TLS handshake based on the signature of the server cert).