Hi Douglas,

Many thanks for the consideration of my observations.
Please see inline: GV2>

From: Douglas Gash (dcmgash) <dcmg...@cisco.com> 
Sent: Friday, July 4, 2025 11:36 AM
To: Gunter van de Velde (Nokia) <gunter.van_de_ve...@nokia.com>; The IESG 
<i...@ietf.org>
Cc: draft-ietf-opsawg-tacacs-tl...@ietf.org; opsawg-cha...@ietf.org; 
opsawg@ietf.org; mohamed.boucad...@orange.com; Joe Clarke (jclarke) 
<jcla...@cisco.com>
Subject: Re: Gunter Van de Velde's No Objection on 
draft-ietf-opsawg-tacacs-tls13-23: (with COMMENT)


You don't often get email from mailto:dcmg...@cisco.com. 
https://aka.ms/LearnAboutSenderIdentification 


 
CAUTION: This is an external email. Please be very careful when clicking links 
or opening attachments. See the URL nok.it/ext for additional information.
 
Hello Gunter,

Many, many thanks for taking the time to digest the doc and to provide some 
very significant improvements to the doc.

Please see inline…

From: Gunter Van de Velde via Datatracker <mailto:nore...@ietf.org>
Date: Tuesday, 24 June 2025 at 15:17
To: The IESG <mailto:i...@ietf.org>
Cc: mailto:draft-ietf-opsawg-tacacs-tl...@ietf.org 
<mailto:draft-ietf-opsawg-tacacs-tl...@ietf.org>, mailto:opsawg-cha...@ietf.org 
<mailto:opsawg-cha...@ietf.org>, mailto:opsawg@ietf.org 
<mailto:opsawg@ietf.org>, mailto:mohamed.boucad...@orange.com 
<mailto:mohamed.boucad...@orange.com>, Joe Clarke (jclarke) 
<mailto:jcla...@cisco.com>, Joe Clarke (jclarke) <mailto:jcla...@cisco.com>
Subject: Gunter Van de Velde's No Objection on 
draft-ietf-opsawg-tacacs-tls13-23: (with COMMENT)
Gunter Van de Velde has entered the following ballot position for
draft-ietf-opsawg-tacacs-tls13-23: No Objection

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)


Please refer to 
https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ 
for more information about how to handle DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-opsawg-tacacs-tls13/



----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

# Gunter Van de Velde, RTG AD, comments for draft-ietf-opsawg-tacacs-tls13-23

# The line numbers used are rendered from IETF idnits tool:
https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-opsawg-tacacs-tls13-23.txt

# This is a great write-up and needed extension to TACACS+

# I noted some non-blocking observations in the text that follows. Mostly
idnits and clarifications.

# A support the DISCUSS from Ketan

# Detailed Review
# ===============

16      Abstract
17
18         The Terminal Access Controller Access-Control System Plus (TACACS+)
19         protocol provides device administration for routers, network access
20         servers, and other networked computing devices via one or more
21         centralized TACACS+ servers.  This document adds Transport Layer
22         Security (TLS 1.3) support to TACACS+ and obsoletes former inferior
23         security mechanisms.
24
25         This document updates RFC 8907.

GV> What about the following textblob alternative:

"
This document specifies the use of Transport Layer Security (TLS) version 1.3
to secure the communication channel between a TACACS+ client and server.
TACACS+ is a protocol used for Authentication, Authorization, and Accounting
(AAA) in networked environments. The original TACACS+ protocol, defined in RFC
8907, does not mandate the use of encryption or secure transport. This
specification defines a profile for using TLS 1.3 with TACACS+, including
guidance on authentication, connection establishment, and operational
considerations. The goal is to enhance the confidentiality, integrity, and
authenticity of TACACS+ traffic, aligning the protocol with modern security
best practices.

This document updates RFC 8907.
Agreed, we will use this, however, one caveat, I understand that we should not 
make references in the abstract, so I think we need to just remove the clause 
“defined in RFC 8907”:
The original TACACS+ protocol, defined in RFC 8907, does not mandate
To
The original TACACS+ protocol does not mandate
Please LMK if I have misapprehended a previous comment 😉

GV2> ack

"

183     3.1.  Separating TLS Connections
184
185        All data exchanged by TACACS+ peers MUST be encrypted, including the
186        mutual authentication of the peers.  Therefore, when a TCP connection
187        is established for the service, a TLS handshake begins immediately.

GV> This reads like a storm of energy of change and leaves no room for
introduction. The text states "peers MUST be encrypted". While true when
supporting this RFC-to-be, it was not the situation before this RFC-to-be.
Maybe mention in the text that it MUST be supported when this RFC-to-be is
supported.
Agreed, will attempt to attenuate the storm energy (a little) by way of the 
context prefix, as suggested.  New text:
Peers implementing the TACACS+ protocol variant defined in this document MUST 
apply mutual
authentication and encrypt all data exchanged between them.

GV2> Thanks

189        To ensure separation of TACACS+ traffic that uses TLS from that which
190        does not (Section 5.3), TLS TACACS+ servers MUST be deployed on a
191        separate TCP/IP port number from Non-TLS TACACS+ servers (preferably
192        on a separate host, as recommended in Section 5.1.1).  Because of the
193        widespread use of default port number settings in numerous existing
194        TACACS+ client configurations, a well-known system TCP/IP port number
195        is assigned: the designated port number is [TBD] (Section 7) with the
196        service name tacacss (Section 7).  This ensures that the client can
197        separate TLS and Non-TLS traffic even where default port numbers are
198        omitted from its TACACS+ server connection configuration.
199
200        Under exceptional circumstances, this document permits any other TCP
201        port number to be configured when required by deployment specifics,
202        but the implications in Section 5.3 have to be considered by

GV> What about the following alternative textblob:

"
To ensure clear separation between TACACS+ traffic using TLS and that which
does not (see Section 5.3), servers supporting TACACS+ over TLS MUST listen on
a TCP/IP port distinct from that used by non-TLS TACACS+ servers. Where
feasible, it is further RECOMMENDED to deploy the TLS and non-TLS services on
separate hosts, as discussed in Section 5.1.1.

Given the prevalence of default port usage in existing TACACS+ client
implementations, this specification assigns a well-known TCP port number for
TACACS+ over TLS: [TBD], with the associated service name "tacacss" (see
Section 7). This allows clients to unambiguously distinguish between TLS and
non-TLS connections, even in the absence of an explicitly configured port
number.

While the use of the designated port is strongly encouraged, deployments with
specific requirements MAY use alternative TCP port numbers. In such cases,
operators must carefully consider the operational implications described in
Section 5.3. "
Agreed, have updated to this text.

GV2> Thanks

213        TLS 1.3 [RFC8446] must be used for transport, though it is expected
214        that TACACS+ as described in this document will work with future
215        versions of TLS.  Earlier versions of TLS MUST NOT be used.

GV> Would it be beneficial to state that "minimum TLS 1.3 MUST be used for
transport ..."?

Agreed, added,

GV2> Thanks

217        Once the TLS connection is established, the exchange of TACACS+ data
218        proceeds as defined in [RFC8907], except that it is transmitted over
219        TLS as TLS application data and without TACACS+ obfuscation
220        (Section 4).

GV> What about:

"
Once the TLS connection has been successfully established, the exchange of
TACACS+ data SHALL proceed in accordance with the procedures defined in
[RFC8907]. However, all TACACS+ messages SHALL be transmitted as TLS
application data. The TACACS+ obfuscation mechanism defined in [RFC8907] MUST
NOT be applied when operating over TLS (see Section 4) "
Agreed, added this text, though we changed the “SHALL” to “MUST”

GV2> Makes sense. Thanks

225        negotiated, when an inactivity timeout occurs.  Why it closed has no
226        bearing on TLS resumption, unless closed by a TLS error, in which
227        case the ticket might be invalidated.

GV> What is meant with "ticket"?

229        TACACS+ connections are not long-lived.  Non 'Single Connection Mode'
230        (Section 4.3 of [RFC8907]) connections are closed as soon as the
231        TACACS+ session completes.  Single Connection Mode connections are
232        longer lived, but even these are timed out and closed after a short
233        period of inactivity.  For this reason, keepalives are not required
234        to be supported.

GV> What about:

"
TACACS+ connections are generally not long-lived. For connections not operating
in Single Connection Mode (as defined in Section 4.3 of [RFC8907]), the TCP
session SHALL be closed upon completion of the associated TACACS+ session.
Connections operating in Single Connection Mode MAY persist for a longer
duration but are typically subject to timeout and closure after a brief period
of inactivity. Consequently, support for transport-layer keepalive mechanisms
is NOT REQUIRED. "
Agreed, updated.

GV2> Thanks

421        The introduction of TLS PSK, certificate peer authentication, and TLS
422        encryption to TACACS+ replaces these former mechanisms and so
423        obfuscation is hereby obsoleted.

GV>  Is TLS PSK in this document not documented after the TLS Encryption? Maybe
follow order in the above phrase to be conmsistent with the documentation in
this RFC-to-be for readability?
Agreed, simplified to:
The introduction of TLS authentication and encryption to TACACS+ replaces
this former mechanism and so obfuscation is hereby obsoleted.
This section describes how the TACACS+ client and servers MUST operate 
regarding the obfuscation
mechanism.

GV2> Thanks

502        completes.  Replay of this data is a risk.  Given the sensitivity of
503        TACACS+ data, clients MUST NOT send data until the full TLS handshake
504        completes; that is, clients MUST NOT send 0-RTT data and TLS TACACS+
505        servers MUST abruptly disconnect clients that do.

GV> Beyond the abruptly disconnect, is an operational logging recommended?
I haven’t yet picked up this change, because there felt like dissonance between 
this section defining protocol behaviour and deployment management 
considerations such as notifications to admins. As an implementor, there are a 
bunch of notifications I’d add, so to have just this one singled out in the RFC 
I thought may cause confusion?

GV2> That is fine Douglas. Be well,

G/


_______________________________________________
OPSAWG mailing list -- opsawg@ietf.org
To unsubscribe send an email to opsawg-le...@ietf.org

Reply via email to