Re: [TLS] Review of draft-ietf-tls-tls13-cert-with-extern-psk-00

Russ Housley <housley@vigilsec.com> Mon, 25 March 2019 22:14 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 E00DD120114 for <tls@ietfa.amsl.com>; Mon, 25 Mar 2019 15:14:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] 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 qN91xlD6tNVa for <tls@ietfa.amsl.com>; Mon, 25 Mar 2019 15:14:55 -0700 (PDT)
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 96EB8120005 for <tls@ietf.org>; Mon, 25 Mar 2019 15:14:55 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id 8741C300ADA for <tls@ietf.org>; Mon, 25 Mar 2019 17:56:37 -0400 (EDT)
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 r72jMu9bvI7J for <tls@ietf.org>; Mon, 25 Mar 2019 17:56:35 -0400 (EDT)
Received: from dhcp-9347.meeting.ietf.org (dhcp-9347.meeting.ietf.org [31.133.147.71]) by mail.smeinc.net (Postfix) with ESMTPSA id BB2B4300227; Mon, 25 Mar 2019 17:56:34 -0400 (EDT)
From: Russ Housley <housley@vigilsec.com>
Message-Id: <0D63B7E8-5538-4C04-B100-AC7AC6FFCE75@vigilsec.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_C0966D60-92E5-4F15-9629-32912B57F7AF"
Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\))
Date: Mon, 25 Mar 2019 18:14:50 -0400
In-Reply-To: <468BB192-0359-4B96-AC37-B0927EA317E8@gmail.com>
Cc: IETF TLS <tls@ietf.org>
To: Yoav Nir <ynir.ietf@gmail.com>
References: <468BB192-0359-4B96-AC37-B0927EA317E8@gmail.com>
X-Mailer: Apple Mail (2.3445.102.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/2bFqoMnHNqyu21n5zvqNg2595pM>
Subject: Re: [TLS] Review of draft-ietf-tls-tls13-cert-with-extern-psk-00
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, 25 Mar 2019 22:14:59 -0000

Thanks for the review.  I will address these comments promptly, but it might not be until next week.

Russ


> On Mar 25, 2019, at 5:08 PM, Yoav Nir <ynir.ietf@gmail.com> wrote:
> 
> Hi.
> 
> I’ve read this draft. For the most part it seems fine, but I have a few editorial nits:
> 
> 
> Abstract:
> I realize that all of section 3 is dedicated to motivation, but there really needs to be something in the abstract. Otherwise, I’m reading “authenticate with a combination of a certificate and an external pre-shared key” and wondering why you would want to use a certificate at all if you’ve managed to get a PSK between the client and the server.  It needs at least something like “... in order to facilitate post-quantum forward secrecy.” at the end.
> 
> 
> Section 1 (Introduction):
> The Introduction contains the following text: "The TLS 1.3 ... provides two mutually exclusive forms of server authentication... Second, the server can be authenticated by demonstrating that it possesses a pre-shared key (PSK) that was established by a previous handshake.”
> This flatly says that all PSKs in TLS 1.3 are established by a previous handshake, and that is not true. The very next sentence calls these “resumption PSKs” and describes other PSKs called “external PSKs”.  So these external PSKs are part of TLS 1.3, so the above sentence is incorrect.
> 
> 
> Section 3 (Motivation and Design Rationale):
> The section describes the threat to forward secrecy of a future large-scale quantum computer.  Then the third paragraph says this:
> "In the near-term, this document describes [a] TLS 1.3 extension to protect today's communications from the future invention of a large-scale quantum computer by providing a strong external PSK as an input to the TLS 1.3 key schedule while preserving the authentication provided by the existing certificate and digital signature mechanisms.”
> 
> It is not obvious to me that adding an external PSK to the TLS 1.3 key schedule protects against a large-scale quantum computer.  The IPsecME draft specifying the same thing ( https://tools.ietf.org/html/draft-ietf-ipsecme-qr-ikev2 <https://tools.ietf.org/html/draft-ietf-ipsecme-qr-ikev2> ) has such rationale in the Introduction, in the Security Considerations section, and in Appendix A. I think this document needs some similar text as well.
> 
> 
> Section 5 (Certificate with External PSK Extension):
> There’s a lot of stuff repeated here from RFC 8446: 
> The extensions structure, including its fields
> The rules for a server responding with an extension (only if the ClientHello contained it)
> The rules for a repeated ClientHello following a HelloRetryRequest
> The PreSharedKeyExtension from RFC 8446.
> The rules for handling an extension that appears in the wrong message.
> I don’t believe repeating this information adds clarity.
> 
> 
> Section 7 (Security Considerations):
> The fifth paragraph says the following:
>    Implementations must choose external PSKs with a secure key
>    management technique, such as pseudo-random generation of the key or
>    derivation of the key from one or more other secure keys.  The use of
>    inadequate pseudo-random number generators (PRNGs) to generate
>    external PSKs can result in little or no security.  An attacker may
>    find it much easier to reproduce the PRNG environment that produced
>    the external PSKs and searching the resulting small set of
>    possibilities, rather than brute force searching the whole key space.
>    The generation of quality random numbers is difficult.  [RFC4086]
>    offers important guidance in this area.
> That’s fine, but I’m missing the required length of such a PSK.  I believe the text should say “at least 256 randomly-generated bits”
> 
> Yoav
> 
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls