Re: [TLS] TLS RSA-PSS and various versions of TLS

Ilari Liusvaara <ilariliusvaara@welho.com> Wed, 08 February 2017 21:24 UTC

Return-Path: <ilariliusvaara@welho.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 5AE85129478 for <tls@ietfa.amsl.com>; Wed, 8 Feb 2017 13:24:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-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 eaq-QKQPeTIA for <tls@ietfa.amsl.com>; Wed, 8 Feb 2017 13:24:53 -0800 (PST)
Received: from welho-filter2.welho.com (welho-filter2.welho.com [83.102.41.24]) by ietfa.amsl.com (Postfix) with ESMTP id 0400212954D for <tls@ietf.org>; Wed, 8 Feb 2017 13:24:49 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by welho-filter2.welho.com (Postfix) with ESMTP id DDDF81F22F; Wed, 8 Feb 2017 23:24:47 +0200 (EET)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp2.welho.com ([IPv6:::ffff:83.102.41.85]) by localhost (welho-filter2.welho.com [::ffff:83.102.41.24]) (amavisd-new, port 10024) with ESMTP id 6ZzZ9Gvl9GoD; Wed, 8 Feb 2017 23:24:47 +0200 (EET)
Received: from LK-Perkele-V2 (87-92-51-204.bb.dnainternet.fi [87.92.51.204]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp2.welho.com (Postfix) with ESMTPSA id BD58721C; Wed, 8 Feb 2017 23:17:39 +0200 (EET)
Date: Wed, 08 Feb 2017 23:17:38 +0200
From: Ilari Liusvaara <ilariliusvaara@welho.com>
To: Timothy Jackson <tjackson@mobileiron.com>
Message-ID: <20170208211738.GB17727@LK-Perkele-V2.elisa-laajakaista.fi>
References: <E521BA5F-4563-44D2-B186-B11B7B214A15@mobileiron.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <E521BA5F-4563-44D2-B186-B11B7B214A15@mobileiron.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
Sender: ilariliusvaara@welho.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/_zsMijfj7hzrlzUwvO6hWqwjOto>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] TLS RSA-PSS and various versions of TLS
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.17
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, 08 Feb 2017 21:24:56 -0000

On Wed, Feb 08, 2017 at 07:34:16PM +0000, Timothy Jackson wrote:
> I have a question on RFC5246 (TLS 1.2) and how it’s going to interact with
> RSASSA-PSS as we roll out TLS 1.3. Does the prohibition against RSASSA-PSS
> apply only to the signatures that can be used for signing handshakes or
> does it apply to the entire certificate chain as well? I ask because while
> I think the latter may have been the intent I have not found anything that
> indicates the former is not actually what the RFCs require.
> 
> The relevant section of RFC4056 reads:
> 
> 7.4.2 Server Certificate
> …
> Note that there are certificates that use algorithms and/or algorithm
>    combinations that cannot be currently used with TLS.  For example, a
>    certificate with RSASSA-PSS signature key (id-RSASSA-PSS OID in
>    SubjectPublicKeyInfo) cannot be used because TLS defines no
>    corresponding signature algorithm.
> 
> I don’t see anything here that restricts which signatures can be used on
> the certificates themselves. Is that accurate? If so, then I think the
> relevant restrictions are not in TLS RFCs at all, but rather are in RFCs
> such as 4055, 4056, and 5756. These RFCs allow RSASSA-PSS. Is it
> therefore permissible to have a CA that is signed with RSASSA-PSS with
> TLS 1.0, 1.1, or 1.2.
> 
> Is this what was intended?

My interpretation:

If client includes RSA-PSS codepoints in its signature_algorithms,
then:

- The server handshake signature MAY be signed using RSA-PSS in TLS
  1.2 or later. Yes, 1.2, not 1.3.
- The certificate chain MAY contain certificates signed with RSA-PSS
  in any TLS version (however, the salt length must match hash length).

In converse case:

- The server MUST NOT sign handshake using RSA-PSS in any TLS
  version
- The certificate chain SHOULD NOT contain certificates signed with
  RSA-PSS in any TLS version.


-Ilari