Re: [TLS] WGLC for "Guidance for External PSK Usage in TLS"

Jonathan Hammell <jfhamme.cccs@gmail.com> Mon, 21 December 2020 14:30 UTC

Return-Path: <jfhamme.cccs@gmail.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 BC6983A1129 for <tls@ietfa.amsl.com>; Mon, 21 Dec 2020 06:30:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, 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=gmail.com
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 hL44C6geV7Ih for <tls@ietfa.amsl.com>; Mon, 21 Dec 2020 06:30:23 -0800 (PST)
Received: from mail-oo1-xc2e.google.com (mail-oo1-xc2e.google.com [IPv6:2607:f8b0:4864:20::c2e]) (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 0D3163A1128 for <tls@ietf.org>; Mon, 21 Dec 2020 06:30:23 -0800 (PST)
Received: by mail-oo1-xc2e.google.com with SMTP id x203so2252592ooa.9 for <tls@ietf.org>; Mon, 21 Dec 2020 06:30:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fpHvg2dLVpwJe24QieOxKySgllG4aQDKk4O6dyFxAP0=; b=hBdufKNU29aAgRHVM0DSJ43NEaFi6iff3gW8xUG168ToHIlFgWk0I2+Vwk+5m+Fu5y z49JAITXsPFuGBZ6Fee3bNU8kwSTwi/xgJXqF1o8mfDIBke7OOWdEgqSrjxGUbfKsjLP r4NnbL2ffw1MJ79jBdJTr8zxSnn3Ax9nNKlAsEwkgwn6XX/ZmUl00VMa6ExpslInBGNq +0ng/pgJ6I7ZgqBAgWX6hC7R/4ajoVRnGacx0VNOBdHoGtC2FHFDx8M5d73UGluRPC7U Dy0Z+rKZYDBQ9ySSYSVlvXeaqVXR7Aa8/F3yU+0qvE3Jq+ojXW6ey5XNqVHlj8lAjbVQ sE9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fpHvg2dLVpwJe24QieOxKySgllG4aQDKk4O6dyFxAP0=; b=PMqGczeNj2VwuNMPM6ogS+tK8MTXMPQ4+AI0zz0BUM8OKj7IyhEHzmoxGds+S7dRiN hybXrCc2hhWO9iNbWsU9gv4ATil5c5lnY98Y2bp+RaOGk7WG1bCuZb6ozfywXMBWp9YR H7Q8VV//k/3/J+dA4zXX20KHcWGqX84K8gd3f6MVLHQ0mtO+Qb1zIs2fYck4PnspMgH8 6M01V9CGRtGl9ZNl2g+SeiQhuObex8srlS+sPl/vO9dG0BjV3rybOrmptYVGBDbo7lxE ZzM/eVoyl3YLdu5ubQjplxW3brMzII1JaltqML+4eTxK2CZguEihnzppvmwUWFJaNBbx TCxw==
X-Gm-Message-State: AOAM531T4CCGw6v/PSxmRr0jNysuGhpmMTxKOx42DXNDU2q6wW+Tzw38 JIYJq8/s0kb+71ZTus1KS+JV43IuR88NxAn0wWE=
X-Google-Smtp-Source: ABdhPJyeOJLEplWjPVKbZlRUArR+Ugo+/Kawcxmazn2o0DMyYEqRrJy7hMo5x4NpzZQ9Hy6jLVlHD1BM6Z77Qp3WeZo=
X-Received: by 2002:a05:6820:30e:: with SMTP id l14mr11561016ooe.38.1608561022306; Mon, 21 Dec 2020 06:30:22 -0800 (PST)
MIME-Version: 1.0
References: <CAOgPGoADZ=0-VnpHmU4GO996DuFefyfb4ia7wAjZ7h-bZkyDzQ@mail.gmail.com> <CALhKWghvD3yXTj5OcV9ENPwX=FdfJhUVHP3sCCgtq8bhxMYV0A@mail.gmail.com> <9A762E08-9935-4C8B-ABBC-7A53BD5CB68A@vigilsec.com>
In-Reply-To: <9A762E08-9935-4C8B-ABBC-7A53BD5CB68A@vigilsec.com>
From: Jonathan Hammell <jfhamme.cccs@gmail.com>
Date: Mon, 21 Dec 2020 09:30:11 -0500
Message-ID: <CALhKWghLGhHhy2LjAmygO-naEpB-J0q4pknVhzQBrhoY6cpP7w@mail.gmail.com>
To: Russ Housley <housley@vigilsec.com>
Cc: Joe Salowey <joe@salowey.net>, IETF TLS <tls@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/Sacfm6w67MuPXXDi1koyQbNPtAU>
Subject: Re: [TLS] WGLC for "Guidance for External PSK Usage in TLS"
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, 21 Dec 2020 14:30:25 -0000

Hi Russ,

On Fri, Dec 18, 2020 at 1:55 PM Russ Housley <housley@vigilsec.com> wrote:
> > 1. Section 4 covers a lot of ground and is difficult to follow.  I
> > suggest it be split into subsections (e.g. "4.1 PSKs Shared with
> > Multiple Group Members" and "4.2 Weak Entropy PSKs") and move the
> > attack description to an appendix.
>
> I just reread it, and I think that the flow is okay.  It is about 2 pages.  That said, I can see it dividing into two clean subsections.  I'd prefer to leave the attack in the body of the first subsection.

Okay.  Just an editorial suggestion.

> > 2. In Section 4, para 2, the reference "As discussed in Section 6"
> > refers to the use case of provisioning where multiple clients or
> > servers share the same PSK, but Section 6 covers all use cases (and
> > also provisioning). I suggest to create a couple more subsections for
> > clarity and accurate referencing: "6.1 Use Cases for Pair-wise
> > External PSKs" and "6.2 Use Cases for PSKs Shared with Multiple
> > Entities", shifting the provisioning sections to 6.3 and 6.4.  Then
> > the Section 4 citation can refer to Section 6.2.
>
> I think your only concern is the granularity of the forward reference. I'm not sure most people would be confused.

Yes, it is the granularity of the reference.  If you think it is okay,
then leave it as is.

> > 3. Section 7, item 4 is missing a word.  s/This protects an attacker
> > from/This protects against an attacker from/
>
> Against the original text: s/protects/prevents/

That is better than my suggestion.  Thanks.

> > 4. Since there is no mitigation against revealing PSK identity, it is
> > more accurate to rename Section 5 "Privacy Concerns".
>
> How about "Privacy Considerations"?

Even better.

> > 5. Section 4, para starting with "Finally, in addition to these...":
> > s/may negatively affects deployments/may negatively affect
> > deployments/
>
> Agreed.
>
> > 6. Section 5, para 1: I don't think "oppress" is the right word to use
> > here.  Perhaps, "suppress" would be better.
>
> Agreed.
>
> > 7. In Section 6, the last paragraph refers to Section 7 as the final
> > sentence.  I assume this reference is for the recommendation to not
> > share a PSK between more than one node, but it is not clear.  The
> > previous sentence says do not share PSKs "even if other accommodations
> > are made", but this conflicts with item 2 of Section 7 which says do
> > not share PSKs "unless other accommodations are made".
>
> How about:
>
>    The exact provisioning process depends on the system requirements and
>    threat model.  Whenever possible, avoid sharing a PSK between nodes;
>    however, sharing a PSK among several node is sometimes unavoidable.
>    When PSK sharing happens, other accommodations as needed as
>    discussed in Section 7.

That is better, except that I think you meant "are needed as
discussed" near the end.  But I wonder if that should be written in
requirements language, such as "other accommodations SHOULD be used as
discussed in Section 7."  A SHOULD is maybe not as strong as "are
needed", but I'm not sure if a MUST will be acceptable here.

> > 8. It is not clear why "client certificate authentication after
> > PSK-based connection establishment", mentioned at the end of Section
> > 6, is not a sufficient accommodation.  Should it be added to Section
> > 7, item 2?
>
> Agreed,
>
> > 9. Section 7.1.2, first para, s/clash/collide
>
> That is better.
>
> > 10. Section 7.1.2 describes a possible concern regarding PSK identity
> > collisions, but it does not provide a recommendation/mitigation for
> > vendors or users.  What should the reader do with this information?
>
> It means the application, not the stack need to handle the collision by following the advice in the document.
>
> > 11. Section 6, item 2: the term "logical nodes" is not defined.
>
> I suggest dropping "logical"
>

Thanks,
Jonathan