Re: [TLS] Signature Algorithms

Viktor Dukhovni <ietf-dane@dukhovni.org> Tue, 17 March 2015 18:23 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 39F771A1B92 for <tls@ietfa.amsl.com>; Tue, 17 Mar 2015 11:23:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 TwyHME-QFPtA for <tls@ietfa.amsl.com>; Tue, 17 Mar 2015 11:23:38 -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 5C85F1A8866 for <tls@ietf.org>; Tue, 17 Mar 2015 11:23:36 -0700 (PDT)
Received: by mournblade.imrryr.org (Postfix, from userid 1034) id 6D6DA283011; Tue, 17 Mar 2015 18:23:29 +0000 (UTC)
Date: Tue, 17 Mar 2015 18:23:29 +0000
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
To: tls@ietf.org
Message-ID: <20150317182329.GJ3223@mournblade.imrryr.org>
References: <19075EB00EA7FE49AFF87E5818D673D41145FB0C@PRODEXMB01W.eagle.usaa.com> <201503171341.40315.davemgarrett@gmail.com> <CABcZeBNoVPi-8peRsdjksew0XDv=DnBnrqupk3zWoe+WVHXwSA@mail.gmail.com> <19075EB00EA7FE49AFF87E5818D673D411463AF8@PRODEXMB01W.eagle.usaa.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <19075EB00EA7FE49AFF87E5818D673D411463AF8@PRODEXMB01W.eagle.usaa.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/3wcf16JqM2kGdGxgKyPjEZiddt4>
Subject: Re: [TLS] Signature Algorithms
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: <http://www.ietf.org/mail-archive/web/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: Tue, 17 Mar 2015 18:23:40 -0000

On Tue, Mar 17, 2015 at 06:10:25PM +0000, Mehner, Carl wrote:

> If we want to drop MD5 EE-certs by removing MD5 from the signature
> algorithms, and you want to keep your long term SHA-1 EE-cert that has a
> chain which is capped by an MD5 root, you would not be able to send that
> root in the certificate_list as the document is written today. The text
> I suggested allows you to still send the root.

It may be sensible to recognize that in many cases the server has
a single certificate chain and can only send that regardles of what
the client's signature algorithms extension indicates.

Therefore, though when possible, the server should prefer to send
something that the client is known to support, the server should
be able to send whatever it has, and it is then up to the client
to accept that, or not.

At that point, the client may choose to only validate the signatures
that matter.  In particular self-signatures might not be validated,
and their algorithm might be ignored.  Similarly the signature of
a DANE-TA(2) issuer CA (self-signed or not) would typically be
ignored, because the trust-anchor vouching for that is DNSKEY of
the zone with the TLSA RRset, and not the signer of the CA certificate.

>    If the client provided a "signature_algorithms" extension, then all
>    certificates provided by the server, except for the self-signed root
>    CA certificate, MUST be signed by a hash/signature algorithm pair that
>    appears in that extension.

Therefore, even this is likely wrong.  The server SHOULD try to
send conformant chains, but is under no obligation to perform magic,
and should not unilaterally abort the connection when it can't.

This is what happens in practice anyway, servers send what they
have, ignoring this requirement.  The real question is what should
clients do.

-- 
	Viktor.