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

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 783291ACE81 for <>; Thu, 14 Jan 2016 06:11:31 -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 UzAiNAK0tKDV for <>; Thu, 14 Jan 2016 06:11:29 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 520E61ACE7D for <>; Thu, 14 Jan 2016 06:11:29 -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 D31B1449BC; Thu, 14 Jan 2016 15:11:26 +0100 (CET)
X-purgate-ID: 152705::1452780686-00006F99-07AA0F45/0/0
X-purgate-size: 2024
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 3B8E440B76; Thu, 14 Jan 2016 15:11:25 +0100 (CET)
Received: by (Postfix, from userid 10159) id DAE761A3E9; Thu, 14 Jan 2016 15:11:25 +0100 (CET)
In-Reply-To: <>
To: Ilari Liusvaara <>
Date: Thu, 14 Jan 2016 15:11:25 +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 14:11:31 -0000

Ilari Liusvaara wrote:
> Martin Rex wrote:
>> Ilari Liusvaara wrote:
>>> Then there's also similar problems with RSA. And then RSA PKCS #1
>>> v1.5 encryption is on just about every "do not use!" list. Get it
>>> wrong (good luck getting it right) and it is game over.
>> Getting PKCS#1 v1.5 right is fairly easy, and requiring it should go into
>> TLS 1.2LTS as well.  How to do it right for signatures has been
>> described in PKCS#1 v2.0 (rfc2437, Oct-1998, Section 8.1.2) already,
> I was talking about encryption, not signatures. Those are used by
> TLS_RSA_WITH_* ciphersuites. The encrpytion is very broken, the
> signatures are at most slightly such.

Encryption is a public key operation.

Maybe you're thinking of *de*cryption instead (aka Bleichenbacher)?
AFAIK, the Bleichenbacher countermeasure uses the fact that RSA
is homomorphic to multiplication.  Decoding the PKCS#1 v1.2 Blocktype 02
padding of the decrypted RSA premaster secret in constant time does
also not require rocket science.  But it seems sufficiently non-obvious
that example code might help.

> (And those lists of crypto algorithms don't list RSA PKCS #1 v1.5
> signatures the same as encryption).
>>>>    - 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).
>>> You have EC formats extension already.
>> rfc4492 is severly broken, in that it specifies that a ClientHello
>> without the two TLS EC extensions indicates that the client supports
>> *EVERYTHING* in the rfc4492 spec (rather than a reasonable default
>> subset).  I hope that the IESG does not let such obvious breakage
>> enter the standards track.
> Does RFC4492bis fix that?

rfc4492bis can not fix that, unless a new signal is added that clients
can include in ClientHello and that enables servers to distinguish
rfc4492 peers from rfc4492bis peers.