Re: [TLS] WGLC for "Deprecating TLSv1.0 and TLSv1.1"

mrex@sap.com (Martin Rex) Fri, 02 August 2019 22:30 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DABF8120077 for <tls@ietfa.amsl.com>; Fri, 2 Aug 2019 15:30:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.001
X-Spam-Level:
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: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=sap.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id esnpK5l1ACsC for <tls@ietfa.amsl.com>; Fri, 2 Aug 2019 15:30:18 -0700 (PDT)
Received: from smtpde01.smtp.sap-ag.de (smtpde01.smtp.sap-ag.de [155.56.68.170]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 57D22120059 for <tls@ietf.org>; Fri, 2 Aug 2019 15:30:18 -0700 (PDT)
Received: from esa15.sap.c3s2.iphmx.com (esa15.sap.c3s2.iphmx.com [216.71.156.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtpde01.smtp.sap-ag.de (Postfix) with ESMTPSA id 460hgX0fQfz103F; Sat, 3 Aug 2019 00:30:16 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sap.com; i=@sap.com; 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 smtpde02.smtp.sap-ag.de ([155.56.68.140]) by esa15.sap.c3s2.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Aug 2019 00:30:16 +0200
Received: from mail07.wdf.sap.corp (mail04.sap.corp [194.39.131.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtpde02.smtp.sap-ag.de (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 http://www.eleven.de for further information)
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate-type: clean
X-SAP-SPAM-Status: clean
Received: from ld9781.wdf.sap.corp (ld9781.wdf.sap.corp [10.21.82.193]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mail07.wdf.sap.corp (Postfix) with ESMTPS id 460hgV3F8XzGpxk; Sat, 3 Aug 2019 00:30:14 +0200 (CEST)
Received: by ld9781.wdf.sap.corp (Postfix, from userid 10159) id 532BE404C; Sat, 3 Aug 2019 00:30:14 +0200 (CEST)
In-Reply-To: <5441930.X76MtM1CnQ@pintsize.usersys.redhat.com>
References: <28511b10-8f6a-4394-95a9-5188130f7b58@www.fastmail.com> <7d37f7ca-e253-4c95-9cf7-2d16b0b6a0aa@www.fastmail.com> <20190430234952.21F5C404C@ld9781.wdf.sap.corp> <5441930.X76MtM1CnQ@pintsize.usersys.redhat.com>
To: Hubert Kario <hkario@redhat.com>
Date: Sat, 03 Aug 2019 00:30:14 +0200
CC: tls@ietf.org, mrex@sap.com, Martin Thomson <mt@lowentropy.net>
Reply-To: mrex@sap.com
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="ISO-8859-1"
Message-Id: <20190802223014.532BE404C@ld9781.wdf.sap.corp>
From: mrex@sap.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/i2nCd1i8wcaKHmABg98Q8Za0Xfg>
Subject: Re: [TLS] WGLC for "Deprecating TLSv1.0 and TLSv1.1"
X-BeenThere: tls@ietf.org
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." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Aug 2019 22:30:22 -0000

Hubert Kario <hkario@redhat.com> 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:
> https://eprint.iacr.org/2016/131.pdf
> https://www.iacr.org/archive/asiacrypt2009/59120136/59120136.pdf
> 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
signed.



from page 3 of this paper:

   https://eprint.iacr.org/2016/131.pdf

   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
(SHA1-only)


-Martin