[secdir] draft-ietf-netconf-yp-transport-capabilities-06 ietf last call Secdir review

Christian Huitema via Datatracker <noreply@ietf.org> Sat, 08 August 2026 00:58 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: secdir@ietf.org
Delivered-To: secdir@mail2.ietf.org
Received: from [10.244.8.24] (gaia.k8s.ietf.org [4.156.85.76]) by mail2.ietf.org (Postfix) with ESMTP id 52A93125CB315; Fri, 7 Aug 2026 17:58:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1786150713; bh=JrD63rixPVIv7JapBQYJQ1iwRhxOZX+UB1vsSCK0hMI=; h=From:To:Cc:Subject:Reply-To:Date; b=Wb3U2c1WLA+vQNGW0ovxyB84tcRQmPaN64etUqkjgsdWSZNSkF752/KJQYua1e7TA 1M6/d2exJg4f+0c5EreoEC/0btbtn64+YcMhogOuiQ+bRyWklVKtR3BiF5EuGZzQFs IFAlPif88BrvpYOfTgtfOZmzwEi46d18eQ1yC6hU=
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Christian Huitema via Datatracker <noreply@ietf.org>
To: secdir@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 12.70.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <178615071319.153546.9203560369914607963@dt-datatracker-559c48c7fb-9llwz>
Date: Fri, 07 Aug 2026 17:58:33 -0700
Message-ID-Hash: 35RFVQU2KDXYC24YYOKBXYKE3RMNN5BM
X-Message-ID-Hash: 35RFVQU2KDXYC24YYOKBXYKE3RMNN5BM
X-MailFrom: noreply@ietf.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-secdir.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: draft-ietf-netconf-yp-transport-capabilities.all@ietf.org, last-call@ietf.org, netconf@ietf.org
X-Mailman-Version: 3.3.9rc6
Reply-To: Christian Huitema <huitema@huitema.net>
Subject: [secdir] draft-ietf-netconf-yp-transport-capabilities-06 ietf last call Secdir review
List-Id: Security Area Directorate <secdir.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/secdir/ggmeidsQ2bHqSk3aVo5wsVXYeBk>
List-Archive: <https://mailarchive.ietf.org/arch/browse/secdir>
List-Help: <mailto:secdir-request@ietf.org?subject=help>
List-Owner: <mailto:secdir-owner@ietf.org>
List-Post: <mailto:secdir@ietf.org>
List-Subscribe: <mailto:secdir-join@ietf.org>
List-Unsubscribe: <mailto:secdir-leave@ietf.org>

Document: draft-ietf-netconf-yp-transport-capabilities
Title: YANG Notification Transport Capabilities
Reviewer: Christian Huitema
Review result: Not Ready

I have reviewed draft-ietf-netconf-yp-transport-capabilities-06
as part of the security directorate's ongoing effort to review all
IETF documents being processed by the IESG. Theses 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 Not Ready.

I find this document confusingbecause it uses generic terms like "server"
or "transport" outside of the general understanding of these terms in IETF RFCs.

Let's start with the introduction: The "ietf-system-capabilities" YANG module
defined in [RFC9196] allows a client to discover a set of capabilities
supported by a server (including, basic system capabilities and YANG-Push
related capabilities) both at implementation time and at runtime. OK. What kind
of server are we speaking about? A web server? An SMTP server? A server
implementing protocols like NETCONF? A VPN server? Capabilities of servers tend
to be very dependent on the type of application that the server is
implementing. The split of functions between client and servers is also very
dependent on the application. For example, a recursive DNS server is both a
server for stub DNS resolvers and a client to authoritative DNS resolvers.

If we mean any server on the Internet, then the review could just as well stop
here. The concept of a unifying model for all Internet nodes that happen to
accept a request and do something for another node is just silly.

If we mean specialized servers used in network management such as NETCONF or
RESTCONF, the draft should say so.

Let's continue with the second paragraph of the introduction, the notion of
transport protocol. At the lowest level, mentioning transport protocols on the
Internet means something like TCP, UDP or QUIC. But then, the examples go on to
include TLS, DTLS. I suspect that the authors' cocnept of what "transport"
means is different from the regular understanding in, say, the IETF Web and
Internet Transport Area. Again, it would be nice if the draft was rewritten to
explain what is mean here by "transport", and if possible pick another name.

The draft goes on to differentiate between TLS 1.2 and TLS 1.3, DTLS 1.2 and
DTLS 1.3, which seems wrong. TLS 1.3 is defined in RFC 9846, which obsoletes
older RFCa including RFC 5246 (TLS 1.2) and RFC 8446 (the original
specification of TLS 1.3). RFC 6347 (DTLS 1.2) is obsoleted by RFC 9147 (DTLS
1.3). The draft should not make normative references to RFCs that are obsolete.
I do not think that the draft should differentiate "identity dtls12" and
"identity dtls13" -- these are just two version of the same protocol, that
certainly do not change the "identity" of the server.

I can understand the need to provide the list of supported
TLS or DTLS versions for management purposes, but this should be achieved by
something like a supported version parameter. The TLS and DTLS negotiations
include the capability of "negotiating down" from [D]TLS 1.3 to [D]TLS 1.2, if
the server and the client are specifically configured to tolerate such
downgrade. Maybe that acceptance or refusal of downgrade should be documented
in the YML text?

I also do not really understand the relation between this "transport capability"
description and the "HTTPS" or "CSVRV" DNS records that clients use to
determine how to contact a server. Maybe that should be explained? Are clients
expected to retrieve the YML description of the server before establishing a
connection? It is pretty hard to review the security properties of this
proposal without understanding its planned usage.