<?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-dekok-radext-tls-psk-01" 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-dekok-radext-tls-psk-01"/>
    <author initials="A." surname="DeKok" fullname="Alan DeKok">
      <organization>FreeRADIUS</organization>
      <address>
        <email>aland@freeradius.org</email>
      </address>
    </author>
    <date year="2023" month="July" day="06"/>
    <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-dekok-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 docoument 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>
      <t>TBD</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-identies">
      <name>General Discussion of PSKs and PSK Identies.</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 identies.</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 deriviation 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>If an implementation supports both TLS 1.2 and TLS 1.3, it MUST require that TLS 1.3 be negotiated in RADIUS/TLS and RADIUS/DTLS.  This requirement prevents reuse of a PSK with multiple TLS versions, which prevents the attacks discussed in <xref target="RFC8446"/> Section E.7.</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.  Implementors 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>
        <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>
            <li>no PSK is used as a shared secret</li>
          </ul>
          <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>Implementaions MUST NOT provide user interfaces which allow both PSKs and shared secrets to be entered at the same time.  Only one or the other must be present.  Implementations MUST NOT use a "shared secret" field as a way for administrators to enter PSKs.  The PSK entry fields MUST be labelled 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 identies 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 constrast, 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 identies 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>
      <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 support configuring 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 identies 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>TLS uses 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.  Client implementations therefore MUST allow the use of a pre-shared key (TLS-PSK).  The client implementation can then expose a flag "TLS yes / no", and then fields which ask for the PSK identity and PSK itself.</t>
      <t>Implementations MUST use ECDH cipher suites.  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>RADIUS shared secrets cannot safely be used as TLS-PSKs. 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 "shared secret</t>
        <t>Where dynamic server lookups <xref target="RFC7585"/> are not used, RADIUS clients MUST still permit the configuration of a RADIUS server IP address.</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.</t>
      <section anchor="identifying-and-filtering-clients">
        <name>Identifying and filtering clients</name>
        <t>RADIUS/UDP and RADIUS/TCP identify clients by source IP address.  This practice is no longer needed when TLS transport is used, as the client can instead be identified via TLS information such as PSK identity, client certificate, etc.</t>
        <t>When a RADIUS server implements TLS-PSK, it MUST use the PSK identity as the logical identifier for a RADIUS client instead of the IP address as was done with RADIUS/UDP.  That is, instead of associating a source IP address with a shared secret, the RADIUS server instead associates a PSK identity with a pre-shared key.  In effect, the PSK identity replaces the source IP address of the connection as the client identifier.</t>
        <t>For example, when a RADIUS server receives a RADIUS/UDP packet, it normally looks up the source IP address, finds a client definition, and that client definition contains a shared secret.  The packet is then authenticated (or not) using that shared secret.</t>
        <t>When TLS-PSK is used, the RADIUS server instead receives a TLS connection request which contains a PSK identity.  That identity is then used to find a client definition, and that client definition contains a PSK.  The TLS connection is then authenticated (or not) using that PSK.</t>
        <t>Each RADIUS client MUST be configured with a unique PSK, which implies a unique PSK identifier for each RADIUS client. To enforce the use of unique PSKs, RADIUS servers accepting TLS-PSK MUST require that a PSK identifier and PSK can be associated with each RADIUS client.</t>
        <t>RADIUS servers MUST be able to look up PSK identity in a subsystem which then returns the actual PSK.</t>
        <t>RADIUS servers MUST support IP address and network filtering of the source IP address for all TLS connections.  In many situations a RADIUS server does not need to allow connections from the entire Internet.  As such, it can increase security to limit permitted connections to a small list of networks.</t>
        <t>For example, a RADIUS server be configured to be accept connections from a source network of 192.0.2/24.  The RADIUS 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 SHOULD be able to limit certain PSK identifiers to certain network ranges or IP addresses.  This filtering can catch configuration errors.  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.</t>
        <t>For example, as with the example above, the RADIUS server be configured to be accept connections from a source network of 192.0.2/24.  The RADIUS server may be configured to with a PSK idrnity "system1", and then also configured to associate that PSK identity with the source IP address 192.0.2.16.  In that case, if the server receives a connection request from the source IP address 192.0.2.16 with PSK identity other than "system1", then the connection could be rejected.  Similarly, if the server receives a connection request from the source IP address other than 192.0.2.16 but which uses the PSK identity "system1", then the connection could also be rejected.</t>
        <t>The use of PSK identities as client identifiers does not prevent RADIUS servers from performing source IP filtering of incoming packets or connections.  Instead, the use of PSK identities as client identifiers means that source IP addresses are no longer required to be associated with RADIUS clients.</t>
        <t>Note that 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 MUST support multiple PSKs at one source IP address, and MUST support a unique PSK identity for each unique client which is deployed in such a scenario.</t>
        <t>In those use-cases, the RADIUS server should either not use source IP address filtering, or should apply source IP filtering rules which permit those use-cases.  This filtering must therefore be flexible to allow all of the above behaviors, and be configurable by administrators to match their needs.</t>
        <t>RADIUS servers SHOULD tie PSK identities to a particular permitted IP address or permitted network, as doing so will lower the risk if a PSK is leaked.  RADIUS servers MUST permit multiple clients to share one permitted IP address or network.</t>
      </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>TBD.</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:
H4sIAIQEp2QAA81b3XIbx3K+x1NMoBsxBUIiRVMSLxLTJGWzLEuKSZeTcjmp
we4AnMPFDryzSxpx6V3yLHmyfN09Mzu7AG2f5JyquMo2gN3p6f/+umd4eHg4
aW1bmTP1/fnl9Q83Stelun1/c/jp5tuJXiwa87D3UemKWq+xrGz0sj0szb27
P2x0aX5tD9vKH278/eHLo8nEt1j1H7pyNd5tm85M7KbhT749fvny7cvjiW6M
PlPXdWua2rSTxxVvePWvt+pH19zbeqW+bly3mdw/9m8dXtK2k0K3Z8rWSzfx
3WJtvbeuvt1usNX11e27yWRjzxT+eaYKXavOG6WbRm/Vc7tUuqrU1vgD5Rp1
p/2dujONmSjVuuKMHuCjd03bmKU/YxKlWequaj3eiM+3a3lMXye6a+9cczaZ
HIIj/Hg+V5fmW3ePF0VT5xWYiD+5BmK+a4wR3eIXs9a2OgNfUNiXSzyBNm3n
53hzMqlds9atfTBnePOri09HJ1DSu4s3R69P8AM+Hb85/eJMPp4cv34bPr7+
4k389c3JyWn4+Pb4izfgk/SWUcWD09OjV/3Hk0jk1enLSOTtq9c9kfTx1TF2
mTyYumNKKzJXNCK+i2DiHF9a0y5ZJrxn27tucaZ6YV8MPWiON6DPw0OlF75t
dIFvt3fWK3hftzZ1CxIPxiu73lSGvkMYV7Ofug1I0jddqcLV3pbhu1eQGr5A
fhWcWT2CkeDkL/Cbeh4UcMCkwoPL+IT0cTAXvta2LCszmTwjz2xc2RW0B3Fp
1AaxY13nld+Ywi5tEfaf3ja69hs4l3qvt6ZRN6boGtvCL7HFgbqqi2a7YUmI
Vdl+qtRPgaufmauputStXjV6rZ6md8kEtVd656Wc9E9Bqp/JyW1tSnXnHrH6
gESm0FkYip5SKLWJ0qZxCBdXZcTmSn3jHs2DaWYK8YCQi7Yiq6na8aoHmEOt
OlvqujC/bxAQjCZ3YvOwHoF4p1vFUY+lkdqMtfO/8Is5WfHWNGtbu8qttmLE
e7NVj64pYbbvfri5nc7k/+rDR/78/dW//HD9/dUlfb755vz9+/RhEt64+ebj
D+8v+0/9youP33139eFSFuNXNfhpMv3u/N+mIs3046fb648fzt9PkVogdh4B
yJ6UkWAhS7kRTteyoSbQUNHYBb5gDVLGf//X0Yn67bd/oGRxdPT28+fwhXII
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
vlgcUJOXv3RcoHxM/gd9WPVuLzwAAA==

-->

</rfc>
