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

Viktor Dukhovni <ietf-dane@dukhovni.org> Sat, 11 July 2015 20:48 UTC

Return-Path: <ietf-dane@dukhovni.org>
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 319CB1ACC82 for <tls@ietfa.amsl.com>; Sat, 11 Jul 2015 13:48:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] 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 Qy3g2z0oZ0j5 for <tls@ietfa.amsl.com>; Sat, 11 Jul 2015 13:48:11 -0700 (PDT)
Received: from mournblade.imrryr.org (mournblade.imrryr.org [38.117.134.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BDD801ACC80 for <tls@ietf.org>; Sat, 11 Jul 2015 13:48:11 -0700 (PDT)
Received: by mournblade.imrryr.org (Postfix, from userid 1034) id E92E5284D6A; Sat, 11 Jul 2015 20:48:10 +0000 (UTC)
Date: Sat, 11 Jul 2015 20:48:10 +0000
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
To: tls@ietf.org
Message-ID: <20150711204810.GU28047@mournblade.imrryr.org>
References: <CALuAYvbteowTeyWe9VneRHgyvzTRS3LfKdorWt=jmEy2k+wNqw@mail.gmail.com> <20150711190040.GS28047@mournblade.imrryr.org> <201507111536.50433.davemgarrett@gmail.com> <201507111605.01407.davemgarrett@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <201507111605.01407.davemgarrett@gmail.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/sVg8hDtHJuoMAXDdB1ZOKw3ZBq8>
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: tls@ietf.org
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: Sat, 11 Jul 2015 20:48:13 -0000

On Sat, Jul 11, 2015 at 04:05:01PM -0400, Dave Garrett wrote:

> ========================================
> If the client provided a "signature_algorithms" extension, then all
> certificates provided by the server SHOULD be signed by a hash/signature
> algorithm pair indicated by the extension (or defaults assumed in its
> absence). If the server cannot produce a valid certificate chain using
> these known supported pairs, then it SHOULD send the client a complete
> valid chain which attempts to match known support where possible, yet
> including certificates that are not known to be supported. If the
> client cannot build a trusted chain using these certificates and any
> other trusted information it has access to, then it MUST send an
> "unsupported_certificate" alert message and close the connection.
> ========================================
> 
> Comments?
> 
> Note that for the purposes of discussion here, opportunistic encryption
> can "trust" whatever it wants; anything or nothing, depending on implemented
> strategy.

Largely close enough.  Feel free to borrow any text from the below
that you find to be an improvement.

    ========================================

    Whenever possible, all certificates provided by the server
    SHOULD be signed by a hash/signature algorithm pair indicated
    by the client's supported algorithms extension (or the defaults
    assumed in its absence).  If the server cannot produce a
    certificate chain that is signed via only the indicated supported
    pairs, then it SHOULD continue the handshake by sending the
    client a certificate chain of its choice that may include
    hash/signature algoriths that are not known to be supported by
    the client.

    The public key in the leaf certificate must of course be
    compatible with the chosen cipher-suite, and the subsequent
    ServerKeyExchange message must be signed via a mutually supported
    hash/signature algorithm pair.

    If the client cannot construct a satisfactory chain using the
    provided certificates and decides to abort the handshake, then
    it MUST send an "unsupported_certificate" alert message and
    close the connection.

    ========================================

-- 
	Viktor.