Re: [TLS] External PSK with certificate-based authentication

Russ Housley <housley@vigilsec.com> Thu, 07 December 2017 15:35 UTC

Return-Path: <housley@vigilsec.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 BCEF1129464 for <tls@ietfa.amsl.com>; Thu, 7 Dec 2017 07:35:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, URIBL_BLOCKED=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 qf_LtFsdBcJi for <tls@ietfa.amsl.com>; Thu, 7 Dec 2017 07:35:07 -0800 (PST)
Received: from mail.smeinc.net (mail.smeinc.net [209.135.209.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BF431128D44 for <tls@ietf.org>; Thu, 7 Dec 2017 07:35:07 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id 2209D300670 for <tls@ietf.org>; Thu, 7 Dec 2017 10:35:07 -0500 (EST)
X-Virus-Scanned: amavisd-new at mail.smeinc.net
Received: from mail.smeinc.net ([127.0.0.1]) by localhost (mail.smeinc.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id dxXioDWTMxAi for <tls@ietf.org>; Thu, 7 Dec 2017 10:35:00 -0500 (EST)
Received: from a860b60074bd.home (pool-108-45-101-150.washdc.fios.verizon.net [108.45.101.150]) by mail.smeinc.net (Postfix) with ESMTPSA id 42489300579; Thu, 7 Dec 2017 10:35:00 -0500 (EST)
From: Russ Housley <housley@vigilsec.com>
Message-Id: <D6974C58-9793-4732-A7A6-469840672231@vigilsec.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_026FA576-CAB6-4499-83B2-93A0110C3838"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Date: Thu, 07 Dec 2017 10:34:59 -0500
In-Reply-To: <CABcZeBNRbUZCJSQ0H62HgWxn_kNLq+BMmpE5uYCLL0c0A8Z7PA@mail.gmail.com>
Cc: IETF TLS <tls@ietf.org>
To: Eric Rescorla <ekr@rtfm.com>
References: <332B60C8-9355-4743-B663-9FAB77C55282@vigilsec.com> <CABcZeBNRbUZCJSQ0H62HgWxn_kNLq+BMmpE5uYCLL0c0A8Z7PA@mail.gmail.com>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/AwPwpYvAyiMra1_QkeOazOqcoPU>
Subject: Re: [TLS] External PSK with certificate-based authentication
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: Thu, 07 Dec 2017 15:35:11 -0000

> On Dec 2, 2017, at 1:51 PM, Eric Rescorla <ekr@rtfm.com> wrote:
> 
> On Sat, Dec 2, 2017 at 10:10 AM, Russ Housley <housley@vigilsec.com <mailto:housley@vigilsec.com>> wrote:
> At the bottom of page 136, the current draft says:
> 
>    Note: TLS does not currently permit the server to send a
>    certificate_request message in non-certificate-based handshakes
>    (e.g., PSK).  If this restriction were to be relaxed in future, the
>    client's signature would not cover the server's certificate directly.
>    However, if the PSK was established through a NewSessionTicket, the
>    client's signature would transitively cover the server's certificate
>    through the PSK binder.  [PSK-FINISHED] describes a concrete attack
>    on constructions that do not bind to the server's certificate (see
>    also [Kraw16]).  It is unsafe to use certificate-based client
>    authentication when the client might potentially share the same PSK/
>    key-id pair with two different endpoints.  Implementations MUST NOT
>    combine external PSKs with certificate-based authentication of either
>    the client or the server.
> 
> [PSK-FINISHED] tells why it is not safe to do client authentication after resumption.
> 
> [Kraw16] says two things: (1) using a PSK from a previous handshake and adding client authentication is not secure; and (2)does not work; and the client signature must cover the public key.
> 
> So, the final sentence in the quoted paragraph seems to be too broad.  I do not see why we forbid an external PSK and certificate-based authentication in an initial handshake.  I acknowledge that TLS 1.3 does not support it, but I have been expecting an extension to be specified to do just that once the TLS 1.3 base specification is finished.
> 
> My view on this is that that's not a currently specified configuration. A future specification could of course relax that. If you wanted to submit a PR that said "absent some extension to the contrary" that would be fine, though I think that's implicit.

Please see https://github.com/tlswg/tls13-spec/pull/1117 <https://github.com/tlswg/tls13-spec/pull/1117>

Russ