Re: [TLS] Old signature schemes in CertificateRequest

Hubert Kario <hkario@redhat.com> Mon, 03 June 2019 11:52 UTC

Return-Path: <hkario@redhat.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 77072120092 for <tls@ietfa.amsl.com>; Mon, 3 Jun 2019 04:52:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level:
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 ofvyODSOccb1 for <tls@ietfa.amsl.com>; Mon, 3 Jun 2019 04:52:52 -0700 (PDT)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BD898120004 for <tls@ietf.org>; Mon, 3 Jun 2019 04:52:52 -0700 (PDT)
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D0C4E87629; Mon, 3 Jun 2019 11:52:51 +0000 (UTC)
Received: from pintsize.usersys.redhat.com (unknown [10.43.21.83]) by smtp.corp.redhat.com (Postfix) with ESMTP id 490D11B465; Mon, 3 Jun 2019 11:52:51 +0000 (UTC)
From: Hubert Kario <hkario@redhat.com>
To: tls@ietf.org
Date: Mon, 03 Jun 2019 13:52:45 +0200
Message-ID: <2281002.LFakFmYeNM@pintsize.usersys.redhat.com>
In-Reply-To: <5887cc7a-1d8f-4b8b-ac29-5df45c920160@www.fastmail.com>
References: <5887cc7a-1d8f-4b8b-ac29-5df45c920160@www.fastmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart5495687.zfl0cqNMVa"; micalg="pgp-sha512"; protocol="application/pgp-signature"
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 03 Jun 2019 11:52:51 +0000 (UTC)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/3GmSdQGLxf6TWqx9XckRMZq7mvA>
Subject: Re: [TLS] Old signature schemes in CertificateRequest
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: Mon, 03 Jun 2019 11:52:55 -0000

On Monday, 3 June 2019 03:29:47 CEST Martin Thomson wrote:
>    RSASSA-PKCS1-v1_5 algorithms:  Indicates a signature algorithm using
>       RSASSA-PKCS1-v1_5 [RFC8017] with the corresponding hash algorithm
>       as defined in [SHS].  These values refer solely to signatures
>       which appear in certificates (see Section 4.4.2.2) and are not
>       defined for use in signed TLS handshake messages, although they
>       MAY appear in "signature_algorithms" and
>       "signature_algorithms_cert" for backward compatibility with
>       TLS 1.2.
> 
> Similar things are said about those involving SHA-1 and other "legacy"
> schemes.
> 
> My reading is that this permits the inclusion of the related signature
> schemes in CertificateRequest messages.  These can't really be used in
> CertificateVerify, so there are some interesting corner cases to consider,
> like the case where only unusable schemes are listed.

or unusable together with unknown - consider PKCS1_v1_5 with ed25519 when the 
client doesn't support ed25519

> I don't think that this rises to erratum level, but it's a bit of a problem.
>  Ideally, we'd fix this in a subsequent version by saying some more about
> CertificateRequest.  But then maybe this backward compatibility stuff will
> no longer be necessary when that time comes (he says
> optimistically/naively).

yes, ideally the RFC should be more prescriptive about handling of situation 
when all sigalgs in CR are unusable to the client, but given the RFC overall 
and Alert description explanations, I think sending handshake_failure in such 
situation is quite uncontroversial.
and of course, the client MUST NOT abort the connection upon seeing such 
legacy values in CR message
-- 
Regards,
Hubert Kario
Senior Quality Engineer, QE BaseOS Security team
Web: www.cz.redhat.com
Red Hat Czech s.r.o., Purkyňova 115, 612 00  Brno, Czech Republic