Re: [TLS] PR to clarify RSASSA-PSS requirements

Peter Wu <peter@lekensteyn.nl> Wed, 22 November 2017 12:10 UTC

Return-Path: <peter@lekensteyn.nl>
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 5D0A312940C for <tls@ietfa.amsl.com>; Wed, 22 Nov 2017 04:10:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.3
X-Spam-Level:
X-Spam-Status: No, score=-4.3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lekensteyn.nl
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 lpG5hk3W6IHB for <tls@ietfa.amsl.com>; Wed, 22 Nov 2017 04:10:49 -0800 (PST)
Received: from mail.lekensteyn.nl (mail.lekensteyn.nl [IPv6:2a02:2308::360:1:25]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1F1FA12940B for <tls@ietf.org>; Wed, 22 Nov 2017 04:10:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lekensteyn.nl; s=s2048-2015-q1; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=AJ2n44xknqGG6jc6YR/BulWPktk8HtRY53alPKD1I/E=; b=NLGmOkiCfO+G+20zHJEIxs7MJniK+iKgpSgs8GlO70DFE6q+PPhb239UolBEKnvnGvkyH1T/RRBAR1Uzwpv3X4JjEusZBE0uyLooi5IHABlZ1WoyL+Ro9NXoBw5p47BcUU5u8gou64EpEpFYVGRwUiNgHXTjom03F3lBYBYcrDq9YsIcPlUe9BwSVQQtqgmKKIboMqjPfSMSzbQ5AvJCFDoQYf7xbVAHG4F2IFDh+GWificscDWDBDcirIdA1oDoBz8BnXpmtnGa8ejbG5d6SjYmvPAcS05MWTsCf82ChLZzgO/2ypHyEsVHvnTk3u2K7BfcthLQKE/BHjiQgjIUQA==;
Received: by lekensteyn.nl with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <peter@lekensteyn.nl>) id 1eHTra-0006u9-QD; Wed, 22 Nov 2017 13:10:47 +0100
Date: Wed, 22 Nov 2017 12:10:44 +0000
From: Peter Wu <peter@lekensteyn.nl>
To: Eric Rescorla <ekr@rtfm.com>
Cc: "tls@ietf.org" <tls@ietf.org>
Message-ID: <20171122121044.GE18321@al>
References: <20171122035404.GC18321@al> <CABcZeBP+1xrd8KdWwHh6U2_rMXUDeZAZKF_ZvFrs8DJ7hnQrGw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CABcZeBP+1xrd8KdWwHh6U2_rMXUDeZAZKF_ZvFrs8DJ7hnQrGw@mail.gmail.com>
User-Agent: Mutt/1.9.1 (2017-09-22)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/UvZf-_p0cr6geGdS-lX96fIriQk>
Subject: Re: [TLS] PR to clarify RSASSA-PSS requirements
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 22 Nov 2017 12:10:51 -0000

On Tue, Nov 21, 2017 at 08:37:45PM -0800, Eric Rescorla wrote:
> I don't think that this is the right answer.
> 
> Let's separate out the question of (a) what people need to support and (b)
> what the code points mean. (b) needs to be unambigous, as that's the point
> of the extension and this PR actually makes it explicitly unambigous.
> 
> With that said, there seem to be two points of contention:
> 
> - Whether the code point refers to signatures other than those in
> CertificateVerify
> - Whether the code point refers to SPKIs with OIDs other than rsaEncryption
> 
> For the first point, I recognize that there are those who believe that the
> code point should refer only to CertificateVerify but that's not what it
> meant in TLS 1.2 and I don't think there's consensus to make that change.

Yes, it is my understanding (now) that the code point covers both CV
(and SKE in TLS 1.2) and certificate signatures based on RFC 5246.

> We could certainly introduce a new extension later which refers to just
> chain certificates.
>
> For the second point, I wouldn't be averse to having two code points, one
> for PSS that means "must be rsaEncryption" and one for "PSS with funny
> parameters" (with the hope we only ever needed the first). But that's not
> this PR.

Limiting it to rsaEncryption sounds good to me, it removes some
complication. Since it is not clear to me which parameters MUST be
supported now, rather than defining three codepoints for PSS keys now,
what about deferring it to a future spec (possibly in combination with
the new extension for negotiating supported certificates)?

Alternatively something arbitrary can be done such as requiring the
parameters as used for TLS handshakes to be supported (as the PR
proposes) and allowing alternative configurations to be supported too.

Kind regards,
Peter

> -Ekr
> 
> 
> On Tue, Nov 21, 2017 at 7:54 PM, Peter Wu <peter@lekensteyn.nl> wrote:
> 
> > Hi,
> >
> > At the moment there is still ambiguity in the requirements for PSS with
> > relation to certificates. Proposal to clarify this:
> > https://github.com/tlswg/tls13-spec/pull/1098
> >
> >
> > This PR intends to clarify the requirements for PSS support.
> >
> > The requirements are intentionally minimal to reduce implementation
> > efforts, but recognizes that some other implementations may be more
> > complete. Notes:
> >
> > - "Supporting PSS signatures on certificates is a mandatory requirement
> >   and I think we should be very clear about the parameters we permit."
> >   https://www.ietf.org/mail-archive/web/tls/current/msg23007.html
> > - Martin Rex wishes to remove TLS requirements on signature algorithms
> >   for certificates, hence the "MAY" for other PSS parameters in this PR.
> >   https://www.ietf.org/mail-archive/web/tls/current/msg23021.html
> > - Regardless, rsa_pss_sha256 is currently MTI for CertificateVerify and
> >   certificates, hence the strong MUST wording in this PR.
> > - It does not say anything about non-end-entity certificates, that's up
> >   to the PKI verifier. Consider case "CA Key: rsa-pss; EE signature:
> >   rsa-pss; EE key: rsa" from
> >   https://www.ietf.org/mail-archive/web/tls/current/msg24453.html
> > - PSS params in certificates are explicitly not restricted, satisfying
> >   https://www.ietf.org/mail-archive/web/tls/current/msg24457.html
> >
> > >From what I have heard, boringssl does not (or will not?) implement any
> > PSS support in the certificates (yet?). Don't know if anything should be
> > changed here to reflect that decision, but I thought it is worth
> > mentioning. It is possible that I'll follow boringssl's example in tris.
> >
> > If a TLS extension is introduced later, hopefully that improves interop
> > with odd keys and signatures that are optional in this PR (PSS pubkey or
> > custom salt lengths).
> > --
> > Kind regards,
> > Peter Wu
> > https://lekensteyn.nl