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

"Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu> Mon, 13 July 2015 18:18 UTC

Return-Path: <prvs=46360aa18c=uri@ll.mit.edu>
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 3F1621B2D09 for <tls@ietfa.amsl.com>; Mon, 13 Jul 2015 11:18:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.209
X-Spam-Level:
X-Spam-Status: No, score=-4.209 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01, UNPARSEABLE_RELAY=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 FA0KEw0QGgm3 for <tls@ietfa.amsl.com>; Mon, 13 Jul 2015 11:18:39 -0700 (PDT)
Received: from mx1.ll.mit.edu (MX1.LL.MIT.EDU [129.55.12.45]) by ietfa.amsl.com (Postfix) with ESMTP id D80BE1B2D07 for <tls@ietf.org>; Mon, 13 Jul 2015 11:18:38 -0700 (PDT)
Received: from LLE2K10-HUB02.mitll.ad.local (LLE2K10-HUB02.mitll.ad.local) by mx1.ll.mit.edu (unknown) with ESMTP id t6DIIbN0002146 for <tls@ietf.org>; Mon, 13 Jul 2015 14:18:37 -0400
From: "Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu>
To: "tls@ietf.org" <tls@ietf.org>
Thread-Topic: [TLS] Deprecate SHA1 for signatures in TLS 1.3 (was Re: TLS 1.3 draft-07 sneak peek)
Thread-Index: AQHQuMqHM/L4/ZIBKEisF6Kbx4+pEp3QcEqAgAAI+QCAAAQ1gIAADWmAgAA2FYCAAVxdgIAAAVmAgAAEyoCAAVE1AIABlogAgAAEJoCAAAXHgIAACRMAgAADNACAAAGXgIAAA+MAgAAW+YCAAUSAgIAADsIAgAAC7YCAABbWgIAANnyAgAAH4ACAAAoZgIAAB+GAgAAMDwCAAAXygIAAI+yAgAADFACAAeEhAIAACGIAgADRqoCAAA4VgP//wZCA
Date: Mon, 13 Jul 2015 18:18:36 +0000
Message-ID: <D1C9790D.1BE58%uri@ll.mit.edu>
References: <CALuAYvbteowTeyWe9VneRHgyvzTRS3LfKdorWt=jmEy2k+wNqw@mail.gmail.com> <201507111709.27725.davemgarrett@gmail.com> <CABcZeBNCBrNeMKm5hCLQ741zFRpcXQ321onofH2EWJbiQrSs6w@mail.gmail.com> <201507111929.02696.davemgarrett@gmail.com> <BLUPR03MB13965B49B433823B6A04B3088C9C0@BLUPR03MB1396.namprd03.prod.outlook.com> <20150713044104.GK28047@mournblade.imrryr.org> <BLUPR03MB1396DF5184A7E3DFAF3F11028C9C0@BLUPR03MB1396.namprd03.prod.outlook.com> <20150713180153.GO28047@mournblade.imrryr.org>
In-Reply-To: <20150713180153.GO28047@mournblade.imrryr.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.5.2.150604
x-originating-ip: [172.25.177.187]
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha256"; boundary="B_3519641905_31005220"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.14.151, 1.0.33, 0.0.0000 definitions=2015-07-13_10:2015-07-13,2015-07-13,1970-01-01 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1506180000 definitions=main-1507130258
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/OsIrFuLB6b8-S0xOQmF7fD9NDlY>
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
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 18:18:41 -0000

To keep it short, +1 to Viktor’s point.
-- 
Regards,
Uri Blumenthal





On 7/13/15, 14:01 , "TLS on behalf of Viktor Dukhovni"
<tls-bounces@ietf.org on behalf of ietf-dane@dukhovni.org> wrote:

>On Mon, Jul 13, 2015 at 05:11:29PM +0000, Andrei Popov wrote:
>
>> I think a good design is to have the client explicitly advertise any
>> algorithms the client is willing/able to support, and for the server to
>> honor the client's capabilities.
>
>To the extent possible.  However, the server SHOULD NOT refuse to
>continue the handshake merely because it believes that some
>certificates in its chain might have signatures the client can't
>check.  The point being that the client may not need or attempt to
>check those signatures.
>
>> IMHO the existing specs already meet the above goal,
>
>No, the language about the certificate chain is needlessly restrictive.
>The decision as to whether the chain works for the client or not,
>SHOULD be left to the client.  The server's job is to *try* to avoid
>problems by sending a known-compatible chain when available.
>
>> No, I don't care for SHA1; let's deprecate it ASAP. I do care for a
>> straightforward and deterministic handshake where the client MUST
>>advertise
>> supported algorithms and the server MUST honor the client's
>>capabilities.
>
>The MUST honour bit cleanly applies to choices of algorithms in
>signature the server makes during and after the handshake.  However,
>honouring the algorithms for the chain signatures is more subtle.
>Yes, send a compatible chain when possible, HOWEVER, DO NOT prejudge
>the client's inability to handle an alternative chain if that's
>all you have.  As explained before, opportunistic TLS, DANE, pinning,
>...  may mean that the client does not in fact examine the signatures
>in the chain and the handshake would succeed, if only the server
>were not needlessly pedantic.
>
>Let's not be needlessly pedantic.
>
>> Having shipped a product that implements the strict interpretation of
>>the
>> current specs (WRT signature_algorithms) for a number of years now, I
>> remember exactly 3 related problem reports. Without pointing fingers (as
>> much as possible), here they are:
>
>Past performance is not a guarantee of future returns.
>
>Today, TLS 1.2 clients generally support all the defined hash
>algorithms, so problems are rare.  In the future, there will be
>new hash algorithms that not all clients will support, and there
>will servers with chains that are signed with bleeding-edge
>algorithms, there's no need to reject connections from clients that
>don't need to verify said signatures.
>
>
>> My preference would be to keep the client explicitly advertising its
>> capabilities, and the server strictly honoring the client-advertised
>> capabilities. And since the concept of "default algorithms" confuses
>> people, let's just get rid of it in 1.3. Conveniently, most of this WG
>>no
>> longer wants SHA1 or MD5. Why not just make signature_algorithms (even
>> more) clearly and unambiguously MTI in 1.3?
>
>An opportunistic TLS or DANE TLSA client cannot advertise the
>capability of supporting algorithms it was aware existed (by ignoring
>all signatures in the chain).
>
>We surely don't want to muddy the waters by adding "wildcard"
>algorithm code-points, and new APIs for clients to request that
>the TLS stack send those.
>
>The proposal on the table is simply sensible.  The server lacks
>sufficient information to make an informed decision as to whether
>its chain is unacceptable, and therefore should send whatever chain
>it has if it lacks a known compatible chain.  This is simply sound
>engineering.  The alternative is needless incompatibility.
>
>That this also fixes the problem for some folks who don't want to
>make sending the extension mandatory (and happen to get back a
>chain they can accept) is a harmless accident.
>
>-- 
>	Viktor.
>
>_______________________________________________
>TLS mailing list
>TLS@ietf.org
>https://www.ietf.org/mailman/listinfo/tls