Re: [TLS] Deprecate SHA1 for signatures in TLS 1.3 (was Re: TLS 1.3 draft-07 sneak peek)

mrex@sap.com (Martin Rex) Mon, 13 July 2015 14:12 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C0E2E1B2B10 for <tls@ietfa.amsl.com>; Mon, 13 Jul 2015 07:12:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.652
X-Spam-Level:
X-Spam-Status: No, score=-4.652 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 jC_6fgPXnKUX for <tls@ietfa.amsl.com>; Mon, 13 Jul 2015 07:12:49 -0700 (PDT)
Received: from smtpde02.smtp.sap-ag.de (smtpde02.smtp.sap-ag.de [155.56.68.140]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C9FEE1B2B0D for <tls@ietf.org>; Mon, 13 Jul 2015 07:12:48 -0700 (PDT)
Received: from mail05.wdf.sap.corp (mail05.sap.corp [194.39.131.55]) (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 EBDA44443C; Mon, 13 Jul 2015 16:12:46 +0200 (CEST)
X-purgate-ID: 152705::1436796766-00000B48-0AB8D91F/0/0
X-purgate-size: 1748
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]) by mail05.wdf.sap.corp (Postfix) with ESMTP id D9DA340676; Mon, 13 Jul 2015 16:12:46 +0200 (CEST)
Received: by ld9781.wdf.sap.corp (Postfix, from userid 10159) id C6F221A1DC; Mon, 13 Jul 2015 16:12:46 +0200 (CEST)
In-Reply-To: <BLUPR03MB13965B49B433823B6A04B3088C9C0@BLUPR03MB1396.namprd03.prod.outlook.com>
To: Andrei Popov <Andrei.Popov@microsoft.com>
Date: Mon, 13 Jul 2015 16:12:46 +0200
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: <20150713141246.C6F221A1DC@ld9781.wdf.sap.corp>
From: mrex@sap.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/GrVEimJE1opCO4xzFZQULBoJSU0>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Deprecate SHA1 for signatures in TLS 1.3 (was Re: TLS 1.3 draft-07 sneak peek)
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: mrex@sap.com
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: Mon, 13 Jul 2015 14:12:50 -0000

Andrei Popov wrote:
> I'm not happy with this either.

I liked that proposal.

The spec already says:
> 
> "If the client supports only the default hash and signature algorithms
>  (listed in this section), it MAY omit the signature_algorithms
>  extension.  If the client does not support the default algorithms, or
>  supports other hash and signature algorithms (and it is willing to
>  use them for verifying messages sent by the server, i.e., server
>  certificates and server key exchange), it MUST send the
>  signature_algorithms extension, listing the algorithms it is willing
>  to accept."
> 
> This seems to be pretty clear: if the client properly advertises the
> algorithms it supports, then the handshake has a deterministic outcome.


While this may seem true, the problem that you're ignoring here is
that it changes the original meaning&semantics of ClientHello in
a backwards-incompatible and undesirable fashion, which creates either
an interop failure or a security problem or both.

In TLS up to TLSv1.1, the absence of a TLS signature_algorithms
extensions indicates *ONLY* the algorithm that has to be used
a the TLS protocol layer (for digitally-signed), and it says
*NOTHING* at all about the algorithms that may be used within
certificates.

As you might know, support for server certificates signed with
sha256WithRsaEncryption was added to Windows XP with Service Pack 3
(21-Apr-2008) and into Windows 2003 with KB938397.

So the lack of a TLS signature_algorithm extension ought to apply
semantics exclusively to "digitally-signed".  Applying any restrictive
semantics to server certifcates is a backwards-incompatible dumb idea
(in rfc5246) that needs to be fixed.


-Martin