Re: [TLS] WGLC for "Deprecating TLSv1.0 and TLSv1.1" (Martin Rex) Fri, 02 August 2019 22:30 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id DABF8120077 for <>; Fri, 2 Aug 2019 15:30:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -7.001
X-Spam-Status: No, score=-7.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] 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 esnpK5l1ACsC for <>; Fri, 2 Aug 2019 15:30:18 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 57D22120059 for <>; Fri, 2 Aug 2019 15:30:18 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id 460hgX0fQfz103F; Sat, 3 Aug 2019 00:30:16 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;;; q=dns/txt; s=it-20190212; t=1564785017; x=1596321017; h=subject:in-reply-to:references:to:date:cc:reply-to: mime-version:content-transfer-encoding:message-id:from; bh=u047yNO32PPyZhVhRBKKDSCDRiaZ1Xo9REMcB5LyJQc=; b=sMxX2C7KipoDB1afwfRVz9PsctexrwINhv4UQAXncymlA8IkL+XT9Jnw bYWe4aTrOk2zXk+7O2n2fEfx/JKAFz/MWGmkU3f2CPNPJUdFSFk+bPJ7R l9JKKyhCyF+6C3tUELsJJCNBUYEiezmEcYJo0YhJ6hQgLFFwXJMMAY0MO SZtWvh+6MOLwsPoTpDQ2XPPrmU6D80rNgXq6xZIpWhwRx9PcHmBIbo9lq z/q8rfNh9/PqrdIYsLwvtjRqDv8r0ukHaPZKIMFBNElqfGpRt/9cx0CdN BikjVIOx+3BXrZQX8GYl24MNYUlufByj8rX5mHNaWCMDMQKXcAGpIg/26 w==;
X-Amp-Result: SKIPPED(no attachment in message)
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Aug 2019 00:30:16 +0200
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 460hgV5lwNzfg; Sat, 3 Aug 2019 00:30:14 +0200 (CEST)
X-purgate-ID: 152705::1564785014-00000317-C595D430/0/0
X-purgate-size: 4451
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 ( []) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 460hgV3F8XzGpxk; Sat, 3 Aug 2019 00:30:14 +0200 (CEST)
Received: by (Postfix, from userid 10159) id 532BE404C; Sat, 3 Aug 2019 00:30:14 +0200 (CEST)
In-Reply-To: <>
References: <> <> <> <>
To: Hubert Kario <>
Date: Sat, 3 Aug 2019 00:30:14 +0200 (CEST)
CC:,, Martin Thomson <>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="ISO-8859-1"
Message-Id: <>
From: (Martin Rex)
Archived-At: <>
Subject: Re: [TLS] WGLC for "Deprecating TLSv1.0 and TLSv1.1"
X-Mailman-Version: 2.1.29
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: Fri, 02 Aug 2019 22:30:22 -0000

Hubert Kario <> wrote:
> On Wednesday, 1 May 2019 01:49:52 CEST Martin Rex wrote:
>> It is formally provable that from the three protocol versions:
>>  TLSv1.0, TLSv1.1, TLSv1.2
>> the weakest one is TLSv1.2, because of the royally stupid downgrade
>> in the strength of digitally signed.
>> Disabling TLSv1.0 will only result in lots of interop failures
>> and pain, but no improvement in security.
> We've been over this Martin, the theoretical research shows that for Merkle-
> Damgård functions, combining them doesn't increase their security 
> significantly.
> And the practical research:
> only confirms that.
> So, please, use a bit less inflammatory language when you have no factual 
> arguments behind your assertions.

I recently looked into the practical research paper you referenced,
about what it **REALLY** says.  Maybe you should have read this first,
about the *true* prerequisites of the attack, and what it means *really*
means for the security of digitally_signed using SHA1||MD5 in TLSv1.0+TLSv1.1

From what I can read in that paper, it actually confirms that the security
of digitally_signed using SHA1||MD5 for the TLSv1.0 ServerKeyExchange
handshake message for TLS_ECDHE_RSA_WITH_* is more in the same ballpark
as the security of SHA256, because of the small size of data that gets

from page 3 of this paper:

   In this paper, we devise the first second preimage attack on the
   concatenation combiner of Merkle-Damg°ard hash functions which is
   faster than 2^n.  As in related attacks (and in particular, [23])
   we obtain a tradeoff between the complexity of the attack and the
   length of the target message. In particular, our second preimage
   attack is faster than 2^n only for input messages of length at
   least[*2]  2^(2*n/7).  The optimal complexity[*3] of our attack is
   2^(3*n/4), and is obtained for (very) long messages of length 2^(3*n/4).
   Due to these constraints, the practical impact of our second preimage
   attack is limited and its main significance is theoretical.
   Namely, it shows that the concatenation of two Merkle-Damg°ard hash
   functions is not as strong a single ideal hash function.

  [*2]  For example, for n=160 and messge block length 512 bits (as in SHA-1),
        the attack is faster than 2^160 only for messages containing at least
        2^48 blocks, or 2^52 bytes.

  [*3]  The complexity formulas do not take into account (small) constant
        factors, which are generally ignored throughout this paper.

FYI   2^52 bytes == 4,503,599,627,370,496 bytes ==  4 PETA-Bytes

i.e. you need an AWFULLY HUGE amount of "wiggle room" in order to
efficiently construct a multi-collision, and the paper mentions that
if you have just tiny wiggle-room available, you are out-of-luck,
there is no "fast" algorithm for an attack.  More so if you also
have to account for a leading length field in the message.

For comparison size of digitally-signed data in ServerKeyExchange:

      struct {
          select (KeyExchangeAlgorithm) {
              case dh_anon:
                  ServerDHParams params;
              case dhe_dss:
              case dhe_rsa:
                  ServerDHParams params;
                  digitally-signed struct {
                      opaque client_random[32];
                      opaque server_random[32];
                      ServerDHParams params;
                  } signed_params;
              case rsa:
              case dh_dss:
              case dh_rsa:
                  struct {} ;
                 /* message is omitted for rsa, dh_dss, and dh_rsa */
              /* may be extended, e.g., for ECDH -- see [TLSECC] */
      } ServerKeyExchange;

for a DHE-2048 bit keypair, the size of signed data is typically

    32 + 32 + 2 + 256 + 2 + 1 + 2 + 256  = 583 bytes

for ECDHE P-384, the size of signed data is typically

    32 + 32 + 1 + 2 + 1 + 97  = 165 bytes 

So for TLS_ECDHE_RSA_WITH_* cipher suites, you have a *MUCH* stronger
baseline security with TLSv1.0 + TLSv1.1 (SHA1||MD5) than with TLSv1.2