[Taps] Secdir telechat review of draft-ietf-taps-transport-security-11

Paul Wouters via Datatracker <noreply@ietf.org> Wed, 15 April 2020 15:48 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: taps@ietf.org
Delivered-To: taps@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 02CE43A0B1C; Wed, 15 Apr 2020 08:48:26 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Paul Wouters via Datatracker <noreply@ietf.org>
To: secdir@ietf.org
Cc: draft-ietf-taps-transport-security.all@ietf.org, taps@ietf.org, last-call@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.127.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <158696570597.6243.17363184130849112053@ietfa.amsl.com>
Reply-To: Paul Wouters <paul@nohats.ca>
Date: Wed, 15 Apr 2020 08:48:26 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/TWSngQsXbgQ2V2G61eOaP88Ot8s>
Subject: [Taps] Secdir telechat review of draft-ietf-taps-transport-security-11
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.29
List-Id: "IETF Transport Services \(TAPS\) Working Group" <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/taps/>
List-Post: <mailto:taps@ietf.org>
List-Help: <mailto:taps-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/taps>, <mailto:taps-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Apr 2020 15:48:26 -0000

Reviewer: Paul Wouters
Review result: Has Nits

I have reviewed this document as part of the security directorate's  ongoing
effort to review all IETF documents being processed by the IESG.  These
comments were written primarily for the benefit of the security area directors.
 Document editors and WG chairs should treat these comments just like any other
last call comments.

The summary of the review is Has Nits

Compared to my last review (-09) a lot of text has been removed, reducing the
technical details and giving a briefer (but arguably cleaner) overview.

I do still have a personal preference of dropping CurveCP and MinimalT as I
don't really think these are anything but abandoned research items. I have
never seen or heard of these being deployed. I would be more tempted to list
openconnect (draft-mavrogiannopoulos-openconnect) which actually does see quite
some deployment. If the intent is really to show different kind of API's, than
there are other esoteric examples that could be included, such as
Off-The-Record(OTR) or Signal, which are mostly encrypted chat programs, but
with the ability to generate session keys for encrypted bulk transport (eg for
video/audio or file transfer)

Section 5.1

 "Session Cache Management (CM):" which does not include IKEv2/IPsec, even
 though it does have session resumption (RFC 5723). I guess this is because the
 section limits itself to "the application" that can restart the session. But
 for IKEv2/IPsec the same could be said. An application that after a long idle
 period sends a packet, triggers a kernel ACQUIRE, which triggers an IKEv2
 session resumption. WireGuard does not have this capability as there are no
 API/hooks for packet trigger tunnel events (AFAIK)

"Pre-Shared Key Import (PSKI):" lists WireGuard, but AFAIK it does not support
PSK based authentication - only public key based authentication. While I
understand the IKEv2 entry (PSKs are used for authentication of peers), I am
not sure the ESP entry should be here. ESP does not "authenticate peers",
unless you call "being able to decrypt and authenticate packets" as an instance
of "authenticating peer"

Section 5.2

This states "This can call into the application to offload validation.".  This
"can" is only not supported by WireGuard, as all of this is happening inside
the kernel. Maybe a note could be useful here?

"Source Address Validation" - It is a little unclear why TCP based protocols
are not listed here. They (implicitly) do source address validation. Perhaps
the introduction in this paragraph can state this more explicitly. Eg "for
those protocols that do not use TCP and therefor do not have builtin source
address validation ......."