RFC 9918
Updates to Using the NETCONF Protocol over Transport Layer Security (TLS) with Mutual X.509 Authentication
Updates to Using the NETCONF Protocol over Transport Layer Security (TLS) with Mutual X.509 Authentication π
Okay bestie, this is RFC 9918 from the IETF (Internet Engineering Task Force) πΈ It's a Standards Track doc, so it's the real deal, not a someday idea. It's dated July 2026, the ISSN is 2070-1721, and the authors are Sean Turner (sn3rd) and Russ Housley (Vigil Security) π It updates RFC 7589 and doesn't list anything it obsoletes. Stay with me, the whole thing is about making NETCONF safer with TLS, and it's giving upgrade era π
Abstract β¨
Okay so RFC 7589 is the doc that explains how to protect Network Configuration Protocol (NETCONF) messages with TLS 1.2 π This one updates RFC 7589 so the TLS 1.2 support requirements get refreshed, and adds TLS 1.3 support requirements too π¦ It also puts restrictions on TLS 1.3's early data, which is so important, trust me π
Status of This Memo π
This is an Internet Standards Track document π
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It went through public review and got approved for publication by the Internet Engineering Steering Group (IESG). If you want more info on Internet Standards, check out Section 2 of RFC 7841 π
For the current status, any errata, and how to give feedback, go to https://www.rfc-editor.org/info/rfc9918 β¨
Copyright Notice π¦
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved π
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they stand on the publication date. Please read these carefully because they spell out your rights and restrictions for this doc π Code Components pulled out of this document must include Revised BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Revised BSD License π«Ά
Table of Contents ποΈ
- 1. Introduction
- 2. Conventions
- 3. Early Data
- 4. Cipher Suites
- 5. Security Considerations
- 6. IANA Considerations
- 7. Normative References
- Acknowledgments
- Authors' Addresses
1. Introduction πΈ
Okay so [RFC7589] is the one that explains how to protect NETCONF messages [RFC6241] with TLS 1.2 [RFC5246] π This document updates [RFC7589] to refresh the support requirements for TLS 1.2 [RFC5246] and add TLS 1.3 [RFC9846] support requirements, including restrictions on the use of TLS 1.3's early data, which is also called 0-RTT data β±οΈ It also updates the "netconf-tls" entry, the IANA-registered port number, so it points to this document π Everything else in [RFC7589] stays exactly the same, including connection initiation, message framing, connection closure, certificate validation, server identity, and client identity β¨
NOTE: Implementations that support TLS 1.3 [RFC9846] SHOULD also follow Sections 4 and 5 of [RFC7589] π«Ά
2. Conventions π§
Okay, so the key words are the big ones that tell you how strict a rule is π They are "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL". Per BCP 14 [RFC2119] [RFC8174], they only mean the official thing when they show up in all capitals, exactly like that, and not any other way π
3. Early Data π¦
Early data (aka 0-RTT data) is a TLS 1.3 [RFC9846] feature that lets a client send data ("early data") in the very first flight of messages to a server π TLS 1.3 can totally work without early data too, see Appendix F.5 of [RFC9846] πΈ Real talk, early data is only allowed by TLS 1.3 when the client and server share a Pre-Shared Key (PSK). That PSK can come from outside the protocol or from an earlier handshake π The client uses the PSK to authenticate the server and to encrypt the early data π
Now here's the drama. As Section 2.3 of [RFC9846] says, the security properties for early data are weaker than for regular TLS-protected data π Early data isn't forward secret, and nothing protects against replaying early data between connections π Appendix F.5 of [RFC9846] says applications should not use early data unless a profile defines how it gets used π So this document says that NETCONF implementations supporting TLS 1.3 or later MUST NOT use early data. No exceptions, bestie π«
4. Cipher Suites π₯
Implementations MUST support mutually authenticated TLS 1.2 [RFC5246], and as specified in [RFC9325], they are recommended to support the cipher suites found in Section 4.2 of [RFC9325] π
Implementations MAY implement additional TLS 1.2 cipher suites that provide mutual authentication [RFC5246] and confidentiality, as required by NETCONF [RFC6241] π¦
Implementations SHOULD support mutually authenticated TLS 1.3 [RFC9846]. And if they implement it, they MUST prefer to negotiate TLS 1.3 over earlier versions of TLS π
Implementations that support TLS 1.3 [RFC9846] are REQUIRED to support the mandatory-to-implement cipher suites listed in Section 9.1 of [RFC9846] π
Implementations that support TLS 1.3 MAY implement additional TLS cipher suites that provide mutual authentication and confidentiality, which NETCONF [RFC6241] requires πΈ
5. Security Considerations π‘οΈπ
Lowkey the most important section, so read closely π«Ά The security considerations of [RFC6241], [RFC7589], and [RFC9325] apply here too β¨
NETCONF implementations SHOULD follow the TLS recommendations given in [RFC9325] π
For implementations that support TLS 1.3, the security considerations of TLS 1.3 [RFC9846] apply π¦
As specified in [RFC7589], NETCONF over TLS requires mutual authentication π€
For implementations that support TLS 1.3 [RFC9846]:
TLS 1.3 mutual authentication is used to make sure that only authorized users and systems can view the NETCONF server's configuration and state, or change the NETCONF server's configuration. So neither the client nor the server should set up a NETCONF over TLS 1.3 connection with an unknown, unexpected, or incorrectly identified peer. See Section 7 of [RFC7589] π¨ If deployments use a trusted list of Certification Authority (CA) certificates [RFC5280], then the listed CAs should only issue certificates to parties that are authorized to access the NETCONF servers. Doing otherwise lets certificates that were issued for other purposes get accepted by a NETCONF server, and that's a whole disaster π
The security considerations of [RFC9525] apply to all implementations when the client checks the identity of the server, as is required in Section 6 of [RFC7589] π
6. IANA Considerations π
IANA added a reference to this document in the "netconf-tls" entry in the "Service Name and Transport Protocol Port Number Registry" π Here's the updated entry:
Service Name: netconf-tls
Port Number: 6513
Transport Protocol: tcp
Description: NETCONF over TLS
Assignee: IESG <iesg@ietf.org>
Contact: IETF Chair <chair@ietf.org>
Reference: RFC 7589, RFC 9918
7. Normative References π
These are the references the spec leans on, and you need them for the full picture π§
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246,
DOI 10.17487/RFC5246, August 2008,
<https://www.rfc-editor.org/info/rfc5246>.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<https://www.rfc-editor.org/info/rfc5280>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>.
[RFC7589] Badra, M., Luchuk, A., and J. Schoenwaelder, "Using the
NETCONF Protocol over Transport Layer Security (TLS) with
Mutual X.509 Authentication", RFC 7589,
DOI 10.17487/RFC7589, June 2015,
<https://www.rfc-editor.org/info/rfc7589>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC9325] Sheffer, Y., Saint-Andre, P., and T. Fossati,
"Recommendations for Secure Use of Transport Layer
Security (TLS) and Datagram Transport Layer Security
(DTLS)", BCP 195, RFC 9325, DOI 10.17487/RFC9325, November
2022, <https://www.rfc-editor.org/info/rfc9325>.
[RFC9525] Saint-Andre, P. and R. Salz, "Service Identity in TLS",
RFC 9525, DOI 10.17487/RFC9525, November 2023,
<https://www.rfc-editor.org/info/rfc9525>.
[RFC9846] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 9846, DOI 10.17487/RFC9846, July 2026,
<https://www.rfc-editor.org/info/rfc9846>.
Acknowledgments π«Ά
Big thank-yous to Per Andersson, JΓΌrgen SchΓΆnwΓ€lder, Jeff Hartley, Rob Wilton, and Qin Wu for reviewing this π·
Authors' Addresses π
Sean Turner
sn3rd
Email: sean@sn3rd.com
Russ Housley
Vigil Security, LLC
516 Dranesville Road
Herndon, VA 20170
United States of America
Email: housley@vigilsec.com
π¦ where this page comes from
- ietf: rfc9918 2026-07
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms