<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.26 (Ruby 2.6.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-radext-tls-psk-03" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="RADIUS and TLS-PSK">RADIUS and TLS-PSK</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-radext-tls-psk-03"/>
    <author initials="A." surname="DeKok" fullname="Alan DeKok">
      <organization>FreeRADIUS</organization>
      <address>
        <email>aland@freeradius.org</email>
      </address>
    </author>
    <date year="2023" month="August" day="24"/>
    <area>Internet</area>
    <workgroup>RADEXT Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document gives implementation and operational considerations for using TLS-PSK with RADIUS/TLS (RFC6614) and RADIUS/DTLS (RFC7360).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-radext-tls-psk/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        RADEXT Working Group mailing list (<eref target="mailto:radext@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/radext/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/freeradius/radext-tls-psk.git"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The previous specifications "Transport Layer Security (TLS) Encryption for RADIUS"  <xref target="RFC6614"/> and "Datagram Transport Layer Security (DTLS) as a Transport Layer for RADIUS" <xref target="RFC7360"/> defined how (D)TLS can be used as a transport protocol for RADIUS.  However, those documents do not provide guidance for using TLS-PSK with RADIUS.  This document provides that missing guidance, and gives implementation and operational considerations.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="history">
      <name>History</name>
      <t>TLS deployments usually rely on certificates in most common uses. However, we recognize that it may be difficult to fully upgrade client implementations to allow for certificates to be used with RADIUS/TLS and RADIUS/DTLS.  These upgrades involve not only implementing TLS, but can also require significant changes to administration interfaces and application programming interfaces (APIs) in order to fully support certificates.</t>
      <t>For example, unlike shared secrets, certificates expire.  This expiration means that a working system using TLS can suddenly stop working.  Managing this expiration can require additional notification APIs on RADIUS clients and servers which were previously not required when shared secrets were used.</t>
      <t>Certificates also require the use of certification authorities (CAs), and chains of certificates.  RADIUS implementations using TLS therefore have to track not just a small shared secret, but also potentially many large certificates.  The use of TLS-PSK can therefore provide a simpler upgrade path for implementations to transition from RADIUS shared secrets to TLS.</t>
    </section>
    <section anchor="general-discussion-of-psks-and-psk-identities">
      <name>General Discussion of PSKs and PSK Identities</name>
      <t>Before we define any RADIUS-specific use of PSKs, we must first review the current standards for PSKs, and give general advice on PSKs and PSK identities.</t>
      <t>The requirements in this section apply to both client and server implementations which use TLS-PSK.  Client-specific and server-specific issues are discussed in more detail later in this document.</t>
      <section anchor="requirements-on-psks">
        <name>Requirements on PSKs</name>
        <t>Reuse of a PSK in multiple versions of TLS (e.g. TLS 1.2 and TLS 1.3) is considered unsafe (<xref target="RFC8446"/> Section E.7).  Where TLS 1.3 binds the PSK to a particular key derivation function, TLS 1.2 does not.  This binding means that it is possible to use the same PSK in different hashes, leading to the potential for attacking the PSK by comparing the hash outputs.  While there are no known insecurities, these uses are not known to be secure, and should therefore be avoided.</t>
        <t><xref target="RFC9258"/> adds a key derivation function to the import interface of (D)TLS 1.3, which binds the externally provided PSK to the protocol version.  In particular, that document:</t>
        <ul empty="true">
          <li>
            <t>... describes a mechanism for importing PSKs derived from external PSKs by including the target KDF, (D)TLS protocol version, and an optional context string to ensure uniqueness. This process yields a set of candidate PSKs, each of which are bound to a target KDF and protocol, that are separate from those used in (D)TLS 1.2 and prior versions. This expands what would normally have been a single PSK and identity into a set of PSKs and identities.</t>
          </li>
        </ul>
        <t>An implementation MUST NOT use the same PSK for TLS 1.3 and for earlier versions of TLS.  This requirement prevents reuse of a PSK with multiple TLS versions, which prevents the attacks discussed in <xref target="RFC8446"/> Section E.7.  The exact manner in which this requirement is enforced is implementation-specific.  One possibility is to have two different PSKs.  Another possibility is to forbid the use of TLS 1.3, or to forbid the use of TLS versions less than TLS 1.3.</t>
        <t>It is RECOMMENDED that systems follow the directions of <xref target="RFC9257"/> Section 4 for the use of external PSKs in TLS.  That document provides extremely useful guidance on generating and using PSKs.</t>
        <t>Implementations MUST support PSKs of at least 32 octets in length, and SHOULD support PSKs of 64 octets.  Implementations MUST require that PSKs be at least 16 octets in length.  That is, short PSKs MUST NOT be permitted to be used.</t>
        <t>Administrators SHOULD use PSKs of at least 24 octets, generated using a source of cryptographically secure random numbers.  Implementers needing a secure random number generator should see <xref target="RFC8937"/> for for further guidance.  PSKs are not passwords, and administrators should not try to manually create PSKs.</t>
        <t>Passwords are generally intended to be remembered and entered by people on a regular basis.  In contrast, PSKs are intended to be entered once, and then automatically saved in a system configuration.  As such, due to the limited entropy of passwords, they are not acceptable for use with TLS-PSK, and would only be acceptable for use with a password-authenticated key exchange (PAKE) TLS method.</t>
        <t>We also incorporate by reference the requirements of Section 10.2 of <xref target="RFC7360"/> when using PSKs.</t>
        <t>In order to guide Implementers, we give an example script below which generates random PSKs.  While the script is not portable to all possible systems, the intent here is to document a concise and simple method for creating PSKs which are both secure, and humanly manageable.</t>
        <ul empty="true">
          <li>
            <t>#!/usr/bin/env perl
use MIME::Base32;
use Crypt::URandom();
print join('-', unpack("(A4)*", lc encode_base32(Crypt::URandom::urandom(12)))), "\n";</t>
          </li>
        </ul>
        <t>This script reads 96 bits (12 octets) of random data from a secure source, encodes it in Base32, and then formats it to be more humanly manageable.  The generated keys are of the form "2nw2-4cfi-nicw-3g2i-5vxq".  This form of PSK will be accepted by any implementation which supports at least 24 octets for PSKs.  Larger PSKs can be generated by passing larger values to the "urandom()" function.</t>
        <section anchor="interaction-between-psks-and-shared-secrets">
          <name>Interaction between PSKs and Shared Secrets</name>
          <t>Any shared secret used for RADIUS/UDP or RADIUS/TLS MUST NOT be used for TLS-PSK.</t>
          <t>It is RECOMMENDED that RADIUS clients and server track all used shared secrets and PSKs, and then verify that the following requirements all hold true:</t>
          <ul spacing="normal">
            <li>no shared secret is used for more than one RADIUS client</li>
            <li>no PSK is used for more than one RADIUS client</li>
            <li>no shared secret is used as a PSK</li>
          </ul>
          <t>Note that the shared secret of "radsec" given in <xref target="RFC6614"/> can be used across multiple clients, as that value is mandated by the specification.  The intention here is to recommend best practices for administrators who enter site-local shared secrets.</t>
          <t>There may be use-cases for using one shared secret across multiple RADIUS clients.  There may similarly be use-cases for sharing a PSK across multiple RADIUS clients.   Details of the possible attacks on reused PSKs are given in <xref target="RFC9257"/> Section 4.1.</t>
          <t>There are few, if any, use-cases for using a PSK as a shared secret, or vice-versa.</t>
          <t>Implementations SHOULD NOT provide user interfaces which allow both PSKs and shared secrets to be entered at the same time.  There is too much of a temptation for administrators to enter the same value in both fields, which would violate the limitations given above.  Implementations MUST NOT use a "shared secret" field as a way for administrators to enter PSKs.  The PSK entry fields MUST be labeled as being related to PSKs, and not to shared secrets.</t>
        </section>
      </section>
      <section anchor="psk-identities">
        <name>PSK Identities</name>
        <t>It is RECOMMENDED that systems follow the directions of <xref target="RFC9257"/> Section 6.1.1 for the use of external PSK Identities in TLS.  Note that the PSK identity is sent in the clear, and is therefore visible to attackers.  Where privacy is desired, the PSK identity could be either an opaque token generated cryptographically, or perhaps in the form of a Network Access Identifier (NAI) <xref target="RFC7542"/>, where the "user" portion is an opaque token.  For example, an NAI could be "68092112@example.com".  If the attacker already knows that the client is associated with "example.com", then using that domain name in the PSK identity offers no additional information.  In contrast, the "user" portion needs to be both unique to the client and private, so using an opaque token there is a more secure approach.</t>
        <t>Implementations MUST support PSK Identities of 128 octets, and SHOULD support longer PSK identities.  We note that while TLS provides for PSK identities of up to 2^16-1 octets in length, there are few practical uses for extremely long PSK identities.</t>
        <section anchor="security-of-psk-identities">
          <name>Security of PSK Identities</name>
          <t>We note that the PSK identity is a field created by the connecting client.  Since the client is untrusted until both the identity and PSK have been verified, both of those fields MUST be treated as untrusted.  That is, a well-formed PSK Identity is likely to be in UTF-8 format, due to the requirements of <xref target="RFC4279"/> Section 5.1.  However, implementations MUST support managing PSK identities as a set of undistinguished octets.</t>
          <t>It is not safe to use a raw PSK Identity to look up a corresponding PSK.  The PSK may come from an untrusted source, and may contain invalid or malicious data.  For example, the identity may have incorrect UTF-8 format; or it may contain data which forms an injection attack for SQL, LDAP, REST or shell metacharacters; or it may contain embedded NUL octets which are incompatible with APIs which expect NUL terminated strings.  The identity may also be up to 65535 octets long.</t>
          <t>As such, implementations MUST validate the identity prior to it being used as a lookup key.  When the identity is passed to an external API (e.g. database lookup), implementations MUST either escape any characters in the identity which are invalid for that API, or else reject the identity entirely.  The exact form of any escaping depends on the API, and we cannot document all possible methods here.  However, a few basic validation rules are suggested, as outlined below.  Any identity which is rejected by these validation rules SHOULD cause the server to close the TLS connection.</t>
          <t>The suggested validation rules are as follows:</t>
          <ul spacing="normal">
            <li>Identities longer than a fixed maximum SHOULD be rejected.  The limit is implementation dependent, but SHOULD NOT be less than 128, and SHOULD NOT be more than 1024.</li>
            <li>Identities which are not in UTF-8 format SHOULD be rejected.  This includes any identity with embedded control characters, NUL octets, etc.</li>
            <li>Where the NAI format is expected, identities which are not in NAI format SHOULD be rejected</li>
          </ul>
          <t>It is RECOMMENDED that implementations extend these rules with any additional validation which are found to be useful.  For example, implementations and/or deployments could both generate PSK identities in a particular format for passing to client systems, and then also verify that any received identity matches that format.  For example, a site could generate PSK identities which are composed of characters in the local language.  The site could then reject identities which contain characters from other languages, even if those characters are valid UTF-8.</t>
        </section>
      </section>
      <section anchor="psk-and-psk-identity-sharing">
        <name>PSK and PSK Identity Sharing</name>
        <t>While administrators may desire to share PSKs and/or PSK identities across multiple systems, such usage is NOT RECOMMENDED.  Details of the possible attacks on reused PSKs are given in <xref target="RFC9257"/> Section 4.1.</t>
        <t>Implementations MUST be able to configure a unique PSK and PSK identity for each possible client-server relationship.  This configuration allows administrators desiring security to use unique PSKs for each such relationship.  This configuration also allows administrators to re-use PSKs and PSK Identities where local policies permit.</t>
        <t>Implementations SHOULD warn administrators if the same PSK identity and/or PSK is used for multiple client-server relationships.</t>
      </section>
    </section>
    <section anchor="guidance-for-radius-clients">
      <name>Guidance for RADIUS Clients</name>
      <t>Client implementations MUST allow the use of a pre-shared key (TLS-PSK) for RADIUS/TLS.  The client implementation can then expose a user interface flag which is "TLS yes / no", and then also fields which ask for the PSK identity and PSK itself.</t>
      <t>For TLS 1.3, Implementations MUST "psk_dhe_ke" Pre-Shared Key Exchange Mode in TLS 1.3 as discussed in <xref target="RFC8446"/> Section 4.2.9 and in <xref target="RFC9257"/> Section 6.  Implementations MUST implement the recommended cipher suites in <xref target="RFC9325"/> Section 4.2 for TLS 1.2, and in <xref target="RFC9325"/> Section 4.2 for TLS 1.3.</t>
      <section anchor="psk-identities-1">
        <name>PSK Identities</name>
        <t><xref target="RFC6614"/> is silent on the subject of PSK identities, which is an issue that we correct here.  Guidance is required on the use of PSK identities, as the need to manage identities associated with PSK is a new requirement for NAS management interfaces, and is a new requirement for RADIUS servers.</t>
        <t>RADIUS systems implementing TLS-PSK MUST support identities as per <xref target="RFC4279"/> Section 5.3, and MUST enable configuring TLS-PSK identities in management interfaces as per <xref target="RFC4279"/> Section 5.4.</t>
        <t>Due to the security issues described above, RADIUS shared secrets cannot safely be used as TLS-PSKs. Therefore in order to prevent confusion between shared secrets and TLS-PSKs, management interfaces and APIs need to label PSK fields as "PSK" or "TLS-PSK", rather than as "shared secret".</t>
        <t>RADIUS/TLS clients MUST still permit the configuration of a RADIUS server IP address or host name.  Where <xref target="RFC7585"/> dynamic server lookups are used, that specification only makes provisions for servers to use certificates.  Since there is no way to determine which PSK to use for a connection to a particular server, then TLS-PSK cannot be used with <xref target="RFC7585"/> dynamic lookups.</t>
      </section>
    </section>
    <section anchor="guidance-for-radius-servers">
      <name>Guidance for RADIUS Servers</name>
      <t>The following section(s) describe guidance for RADIUS server implementations and deployments.  We first give an overview of current practices, and then extend and/or replace those practices for TLS-PSK.</t>
      <t>Implementations MUST support the recommended cipher suites in <xref target="RFC9325"/> Section 4.2 for TLS 1.2, and in <xref target="RFC9325"/> Section 4.2 for TLS 1.3.  In order to future-proof these recommendations, we give the following recommendations:</t>
      <ul spacing="normal">
        <li>
          <t>Implementations SHOULD use the "Recommended" cipher suites listed in the IANA "TLS Cipher Suites" registry,
          </t>
          <ul spacing="normal">
            <li>for TLS 1.3, use the use "psk_dhe_ke" PSK key exchange mode,</li>
            <li>for TLS 1.2 and earlier, use ciphersuites which require ephemeral keying.</li>
          </ul>
        </li>
      </ul>
      <section anchor="current-practices">
        <name>Current Practices</name>
        <t>RADIUS identifies clients by source IP address (<xref target="RFC2865"/> and <xref target="RFC6613"/>) or by client certificate (<xref target="RFC6614"/> and <xref target="RFC7585"/>).  Neither of these approaches work for TLS-PSK.  This section describes current practices and mandates behavior for servers which use TLS-PSK.</t>
        <t>A RADIUS/UDP server is typically configured with a set of information per client, which includes at least the source IP address and shared secret.  When the server receives a RADIUS/UDP packet, it looks up the source IP address, finds a client definition, and therefore the shared secret.  The packet is then authenticated (or not) using that shared secret.</t>
        <t>That is, the IP address is treated as the clients identity, and the shared secret is used to prove the clients authenticity and shared trust.  The set of clients forms a logical database "client table", with the IP address as the key.</t>
        <t>A server may be configured with additional site-local policies associated with that client.  For example, a client may be marked up as being a WiFi Access Point, or a VPN concentrator, etc.  Different clients may be permitted to send different kinds of requests, where some may send Accounting-Request packets, and other clients may not send accounting packets.</t>
      </section>
      <section anchor="practices-for-tls-psk">
        <name>Practices for TLS-PSK</name>
        <t>We define practices for TLS-PSK by analogy with the RADIUS/UDP use-case, and by extending the additional policies associated with the client.  The PSK identity replaces the source IP address as the client identifier.  The PSK replaces the shared secret as proof of client authenticity and shared trust.</t>
        <t>In order to securely support dynamic source IP addresses for clients, we also require that servers limit clients based on a network range.  The alternative would be to suggest that RADIUS servers allow any source IP address to connect and try TLS-PSK, which could be a security risk.</t>
        <t>In most situations a RADIUS server does not need to allow connections from the entire Internet.  Where such connections are required, as with <xref target="RFC7585"/> or with a roaming consortium, TLS-PSK MUST NOT be used.  It is significantly easier for an attacker to crack a PSK than to forge a client certificate.</t>
        <t>For example, a RADIUS server could be configured to be accept connections from a source network of 192.0.2.0/24.  The server could therefore discard any TLS connection request which comes from a source IP address outside of that network.  In that case, there is no need to examine the PSK identity or to find the client definition.  Instead, the IP source filtering policy would deny the connection before any TLS communication had been performed.</t>
        <t>RADIUS servers need to be able to limit certain PSK identifiers to certain network ranges or IP addresses.  That is, if a NAS is known to have a dynamic IP address within a particular subnet, the server should limit use of the NASes PSK to that subnet.  This filtering can therefore help to catch configuration errors.</t>
        <t>As some clients may have dynamic IP addresses, it is possible for a one PSK identity to appear at different source IP addresses over time.  In addition, as there may be many clients behind one NAT gateway, there may be multiple RADIUS clients using one public IP address.  RADIUS servers need to support multiple PSK identifiers at one source IP address.</t>
        <t>That is, a server needs to support multiple different clients within one network range, multiple clients behind a NAT, and one client having different IP addresses over time.  All of those use-cases are common and necessary.</t>
        <t>The following section describes these requirements in more detail.</t>
        <section anchor="requirements-for-tls-psk">
          <name>Requirements for TLS-PSK</name>
          <t>A server supporting this specification MUST be configurable with a set of "allowed" network ranges from which clients are permitted to connect.  Any connection from outside of the allowed range(s) MUST be rejected before any PSK identity is checked.</t>
          <t>Once a connection has been made from a permitted source, the server MUST use the PSK identity as the logical identifier for a RADIUS client instead of the IP address as was done with RADIUS/UDP.  The PSK identity is then looked up in the local "client table" which was described above.</t>
          <t>Servers implementing this specification SHOULD also be able to associate an IP range or ranges for each client.  Any connection from outside the allowed range(s) MUST be rejected, even if the PSK identity is known, and before the PSK is verified.</t>
          <t>Note that this lookup is independent from the "allowed" network ranges which are checked when the TLS connection is made.  The two range limitations can overlap completely, or only partially.  In addition, the allowed network range(s) for any two clients may overlap partially, completely, or not at all.  All of these possibilities MUST be supported by the server implementation.  That is, it is possible for multiple clients to have the same allowed source IP address or range.</t>
          <t>Once the source IP has been verified to be allowed for this particular client, the server authenticates the TLS connection via the PSK taken from the client definition.  If the PSK is verified, the server then accepts the connection, and proceeds with RADIUS/TLS as per <xref target="RFC6614"/>.</t>
          <t>This process satisfies all of the requirements of the previous section.</t>
          <t>Finally, if a RADIUS server does not recognize the PSK identity or if the identity is not permitted to use PSK, then the server MAY proceed with a certificate-based handshake.  Since TLS 1.3 <xref target="RFC8446"/> uses PSK for resumption, another use-case is that the PSK identity used for resumption may be rejected, in which case a full handshake is performed.</t>
        </section>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>We make no changes over <xref target="RFC6614"/> and <xref target="RFC7360"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The primary focus of this document is addressing security considerations for RADIUS.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>There are no IANA considerations in this document.</t>
      <t>RFC Editor: This section may be removed before final publication.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to the many reviewers in the RADEXT working group for positive feedback.</t>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
      <ul spacing="normal">
        <li>00 - initial version</li>
        <li>01 - update examples</li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="BCP14" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC2865" target="https://www.rfc-editor.org/info/rfc2865">
          <front>
            <title>Remote Authentication Dial In User Service (RADIUS)</title>
            <author fullname="C. Rigney" initials="C." surname="Rigney"/>
            <author fullname="S. Willens" initials="S." surname="Willens"/>
            <author fullname="A. Rubens" initials="A." surname="Rubens"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <date month="June" year="2000"/>
            <abstract>
              <t>This document describes a protocol for carrying authentication, authorization, and configuration information between a Network Access Server which desires to authenticate its links and a shared Authentication Server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2865"/>
          <seriesInfo name="DOI" value="10.17487/RFC2865"/>
        </reference>
        <reference anchor="RFC4279" target="https://www.rfc-editor.org/info/rfc4279">
          <front>
            <title>Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)</title>
            <author fullname="P. Eronen" initials="P." role="editor" surname="Eronen"/>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document specifies three sets of new ciphersuites for the Transport Layer Security (TLS) protocol to support authentication based on pre-shared keys (PSKs). These pre-shared keys are symmetric keys, shared in advance among the communicating parties. The first set of ciphersuites uses only symmetric key operations for authentication. The second set uses a Diffie-Hellman exchange authenticated with a pre-shared key, and the third set combines public key authentication of the server with pre-shared key authentication of the client. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4279"/>
          <seriesInfo name="DOI" value="10.17487/RFC4279"/>
        </reference>
        <reference anchor="RFC7585" target="https://www.rfc-editor.org/info/rfc7585">
          <front>
            <title>Dynamic Peer Discovery for RADIUS/TLS and RADIUS/DTLS Based on the Network Access Identifier (NAI)</title>
            <author fullname="S. Winter" initials="S." surname="Winter"/>
            <author fullname="M. McCauley" initials="M." surname="McCauley"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document specifies a means to find authoritative RADIUS servers for a given realm. It is used in conjunction with either RADIUS over Transport Layer Security (RADIUS/TLS) or RADIUS over Datagram Transport Layer Security (RADIUS/DTLS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7585"/>
          <seriesInfo name="DOI" value="10.17487/RFC7585"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9258" target="https://www.rfc-editor.org/info/rfc9258">
          <front>
            <title>Importing External Pre-Shared Keys (PSKs) for TLS 1.3</title>
            <author fullname="D. Benjamin" initials="D." surname="Benjamin"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>This document describes an interface for importing external Pre-Shared Keys (PSKs) into TLS 1.3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9258"/>
          <seriesInfo name="DOI" value="10.17487/RFC9258"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC6613" target="https://www.rfc-editor.org/info/rfc6613">
          <front>
            <title>RADIUS over TCP</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <date month="May" year="2012"/>
            <abstract>
              <t>The Remote Authentication Dial-In User Server (RADIUS) protocol has, until now, required the User Datagram Protocol (UDP) as the underlying transport layer. This document defines RADIUS over the Transmission Control Protocol (RADIUS/TCP), in order to address handling issues related to RADIUS over Transport Layer Security (RADIUS/TLS). It permits TCP to be used as a transport protocol for RADIUS only when a transport layer such as TLS or IPsec provides confidentiality and security. This document defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6613"/>
          <seriesInfo name="DOI" value="10.17487/RFC6613"/>
        </reference>
        <reference anchor="RFC6614" target="https://www.rfc-editor.org/info/rfc6614">
          <front>
            <title>Transport Layer Security (TLS) Encryption for RADIUS</title>
            <author fullname="S. Winter" initials="S." surname="Winter"/>
            <author fullname="M. McCauley" initials="M." surname="McCauley"/>
            <author fullname="S. Venaas" initials="S." surname="Venaas"/>
            <author fullname="K. Wierenga" initials="K." surname="Wierenga"/>
            <date month="May" year="2012"/>
            <abstract>
              <t>This document specifies a transport profile for RADIUS using Transport Layer Security (TLS) over TCP as the transport protocol. This enables dynamic trust relationships between RADIUS servers. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6614"/>
          <seriesInfo name="DOI" value="10.17487/RFC6614"/>
        </reference>
        <reference anchor="RFC7360" target="https://www.rfc-editor.org/info/rfc7360">
          <front>
            <title>Datagram Transport Layer Security (DTLS) as a Transport Layer for RADIUS</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <date month="September" year="2014"/>
            <abstract>
              <t>The RADIUS protocol defined in RFC 2865 has limited support for authentication and encryption of RADIUS packets. The protocol transports data in the clear, although some parts of the packets can have obfuscated content. Packets may be replayed verbatim by an attacker, and client-server authentication is based on fixed shared secrets. This document specifies how the Datagram Transport Layer Security (DTLS) protocol may be used as a fix for these problems. It also describes how implementations of this proposal can coexist with current RADIUS systems.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7360"/>
          <seriesInfo name="DOI" value="10.17487/RFC7360"/>
        </reference>
        <reference anchor="RFC8937" target="https://www.rfc-editor.org/info/rfc8937">
          <front>
            <title>Randomness Improvements for Security Protocols</title>
            <author fullname="C. Cremers" initials="C." surname="Cremers"/>
            <author fullname="L. Garratt" initials="L." surname="Garratt"/>
            <author fullname="S. Smyshlyaev" initials="S." surname="Smyshlyaev"/>
            <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
            <author fullname="C. Wood" initials="C." surname="Wood"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>Randomness is a crucial ingredient for Transport Layer Security (TLS) and related security protocols. Weak or predictable "cryptographically secure" pseudorandom number generators (CSPRNGs) can be abused or exploited for malicious purposes. An initial entropy source that seeds a CSPRNG might be weak or broken as well, which can also lead to critical and systemic security problems. This document describes a way for security protocol implementations to augment their CSPRNGs using long-term private keys. This improves randomness from broken or otherwise subverted CSPRNGs.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8937"/>
          <seriesInfo name="DOI" value="10.17487/RFC8937"/>
        </reference>
        <reference anchor="RFC9257" target="https://www.rfc-editor.org/info/rfc9257">
          <front>
            <title>Guidance for External Pre-Shared Key (PSK) Usage in TLS</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="J. Hoyland" initials="J." surname="Hoyland"/>
            <author fullname="M. Sethi" initials="M." surname="Sethi"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>This document provides usage guidance for external Pre-Shared Keys (PSKs) in Transport Layer Security (TLS) 1.3 as defined in RFC 8446. It lists TLS security properties provided by PSKs under certain assumptions, then it demonstrates how violations of these assumptions lead to attacks. Advice for applications to help meet these assumptions is provided. This document also discusses PSK use cases and provisioning processes. Finally, it lists the privacy and security properties that are not provided by TLS 1.3 when external PSKs are used.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9257"/>
          <seriesInfo name="DOI" value="10.17487/RFC9257"/>
        </reference>
        <reference anchor="RFC9325" target="https://www.rfc-editor.org/info/rfc9325">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="November" year="2022"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
              <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="9325"/>
          <seriesInfo name="DOI" value="10.17487/RFC9325"/>
        </reference>
        <reference anchor="RFC7542" target="https://www.rfc-editor.org/info/rfc7542">
          <front>
            <title>The Network Access Identifier</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>In order to provide inter-domain authentication services, it is necessary to have a standardized method that domains can use to identify each other's users. This document defines the syntax for the Network Access Identifier (NAI), the user identifier submitted by the client prior to accessing resources. This document is a revised version of RFC 4282. It addresses issues with international character sets and makes a number of other corrections to RFC 4282.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7542"/>
          <seriesInfo name="DOI" value="10.17487/RFC7542"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAPmc52QAA71c63LjRnb+z6fA0j9W2iI1o8uMZ7RVyWpHM2uV56IdaeJs
1VZcTaAp9goEaDQgDbPld8mz5MlyvnNONxog5XVSSVxlmyKB7tPn8p0rMJ/P
J61rS3uefb64vPpyk5mqyG7f38yvb76fmMWisQ97fyrqvDJruq1ozLKdO9su
540p7Nd23pZ+vvH38+enk4lv6aYfTVlXdGnbdHbiNg1/8u3J8+evn59MTGPN
eXZVtbapbDt5vOP93v7rbfZD3dy76i77U1N3m8n9Y3/V/BK7TnLTnmeuWtYT
3y3WzntXV7fbDW119fb23WSycecZ/fNNlpsq67zNTNOYbXbglpkpy2xr/WFW
N9nK+FW2so2dZFlb5+f4gT76umkbu/TnvERhl6YrW09XhN+3a/kZf05M167q
5nwymRNF9OXFUXZpv6/v6UJh1EVJRISv6oaO+a6xVlhL39i1ceU50UUM+8OS
fiFuus4f0ZWTSVU3a9O6B3tOV/7xzfXxGTHp3ZtXx9+e0Rf06eTVyxfn8vHs
5NvX+vHbF6/Ct6/Ozl7qx9cnL14RneBbsir98PLl8Wn/8SwscvryeVjk9em3
/SLx4+kJ7TJ5sFXHK91BXEGI9LccTJTjD1AUPhNd59pVtzjP+sM+G2rQEV1B
/JzPM7PwbWNy+ut25XxGytetbdXSEg/WZ269KS3+psPUFatpvaEl8Zcps7yu
vCv0b5/RqUkXoFeqy9kjEaI6/oy+yw6UAYe8lP5wGX4BPw6PhK61K4rSTibf
QDObuuhy7AEqbbYh03F15zO/sblbulz3n942pvIbUq7svdnaJruxede4lvSS
tjjM3lZ5s93wSUCqbD/Nsr//Xcn6+Wema3ppWnPXmHX29IKXvKLxmdm5KF2b
l8a5aGnSc1fZIlvVj3T/IU4N61lYGFAha7VxrU1Tk8XUZbLcUZZ9Vz/aB9vM
MjIJsrogLgguq2q+64Ekkt11rjBVbn9ZJrTgUOp6O5niyrQZ2z3dGRabMXf+
B5pxBDne2mbtqrqs77Yixnu7zR7rpiDBffhyczudyf+zj5/48+e3f/5y9fnt
JT7ffHfx/n38MNErbr779OX9Zf+pv/PNpw8f3n68lJvp22zw1WT64eIvUznN
9NP17dWnjxfvpwQudOyUG4SfwCQSkAM6ktq1LKcJcShv3IL+oHsINP7zP47P
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

-->

</rfc>
