<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.6.2 (Ruby 2.7.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-rieckers-radext-rfc6614bis-00" category="std" consensus="true" submissionType="IETF" obsoletes="6614" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="RADIUS over TLS">Transport Layer Security (TLS) Encryption for RADIUS</title>

    <author initials="J.-F." surname="Rieckers" fullname="Jan-Frederik Rieckers" role="editor">
      <organization abbrev="DFN">Deutsches Forschungsnetz | German National Research and Education Network</organization>
      <address>
        <postal>
          <street>Alexanderplatz 1</street>
          <city>Berlin</city>
          <code>10178</code>
          <country>Germany</country>
        </postal>
        <email>rieckers@dfn.de</email>
        <uri>www.dfn.de</uri>
      </address>
    </author>

    <date year="2022" month="October" day="24"/>

    <area>Operations and Management</area>
    <workgroup>RADIUS EXTensions</workgroup>
    <keyword>RADIUS</keyword> <keyword>TLS</keyword>

    <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.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rieckers-radext-rfc6614bis/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        RADIUS EXTensions Working Group mailing list (<eref target="mailto:radext@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/radext/"/>.
      </t>
    </note>


  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>The RADIUS protocol <xref target="RFC2865"/> is a widely deployed authentication and authorization protocol.
The supplementary RADIUS Accounting specification <xref target="RFC2866"/> provides accounting mechanisms, thus delivering a full Authentication, Authorization, and Accounting (AAA) solution.
However, RADIUS is experiencing several shortcomings, such as its dependency on the unreliable transport protocol UDP and the lack of security for large parts of its packet payload.
RADIUS security is based on the MD5 algorithm, which has been proven to be insecure.</t>

<t>The main focus of RADIUS over TLS is to provide a means to secure the communication between RADIUS/TCP peers using TLS.
The most important use of this specification lies in roaming environments where RADIUS packets need to be transferred through different administrative domains and untrusted, potentially hostile networks.
An example for a worldwide roaming environment that uses RADIUS over TLS to secure communication is "eduroam", see <xref target="eduroam"/>.</t>

<t>There are multiple known attacks on the MD5 algorithm that is used in RADIUS to provide integrity protection and a limited confidentiality protection (see <xref target="MD5-attacks"/>).
RADIUS over TLS wraps the entire RADIUS packet payload into a TLS stream and thus mitigates the risk of attacks on MD5.</t>

<t>Because of the static trust establishment between RADIUS peers (IP address and shared secret), the only scalable way of creating a massive deployment of RADIUS servers under the control of different administrative entities is to introduce some form of a proxy chain to route the access requests to their home server.
This creates a lot of overhead in terms of possible points of failure, longer transmission times, as well as middleboxes through which authentication traffic flows.
These middleboxes may learn privacy-relevant data while forwarding requests.
The new features in RADIUS over TLS obsolete the use of IP addresses and shared MD5 secrets to identify other peers and thus allow the use of more contemporary trust models, e.g., checking a certificate by inspecting the issuer and other certificate properties.</t>

<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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="terminology"><name>Terminology</name>

<dl>
  <dt>RADIUS/TLS node:</dt>
  <dd>
    <t>a RADIUS-over-TLS client or server</t>
  </dd>
  <dt>RADIUS/TLS Client:</dt>
  <dd>
    <t>a RADIUS-over-TLS instance that initiates a new connection.</t>
  </dd>
  <dt>RADIUS/TLS Server:</dt>
  <dd>
    <t>a RADIUS-over-TLS instance that listens on a RADIUS-over-TLS port and accepts new connections</t>
  </dd>
  <dt>RADIUS/UDP:</dt>
  <dd>
    <t>a classic RADIUS transport over UDP as defined in <xref target="RFC2865"/></t>
  </dd>
</dl>

</section>
<section anchor="document-status"><name>Document Status</name>

<t>This document is an Experimental RFC.</t>

<t>It is one out of several approaches to address known cryptographic
   weaknesses of the RADIUS protocol (see also <xref target="compatibility"/>).
   The
   specification does not fulfill all recommendations on a AAA transport
   profile as per <xref target="RFC3539"/>; in particular, by being based on TCP as a
   transport layer, it does not prevent head-of-line blocking issues.</t>

<t>If this specification is indeed selected for advancement to Standards
   Track, certificate verification options (<xref target="connection_setup"/>, point 2) need
   to be refined.</t>

<t>Another experimental characteristic of this specification is the
   question of key management between RADIUS/TLS peers.  RADIUS/UDP only
   allowed for manual key management, i.e., distribution of a shared
   secret between a client and a server.  RADIUS/TLS allows manual
   distribution of long-term proofs of peer identity as well (by using
   TLS-PSK ciphersuites, or identifying clients by a certificate
   fingerprint), but as a new feature enables use of X.509 certificates
   in a PKIX infrastructure.  It remains to be seen if one of these
   methods will prevail or if both will find their place in real-life
   deployments.  The authors can imagine pre-shared keys (PSK) to be
   popular in small-scale deployments (Small Office, Home Office (SOHO)
   or isolated enterprise deployments) where scalability is not an issue
   and the deployment of a Certification Authority (CA) is considered
   too much of a hassle; however, the authors can also imagine large
   roaming consortia to make use of PKIX.  Readers of this specification
   are encouraged to read the discussion of key management issues within
   <xref target="RFC6421"/> as well as <xref target="RFC4107"/>.</t>

<t>It has yet to be decided whether this approach is to be chosen for
   Standards Track.  One key aspect to judge whether the approach is
   usable on a large scale is by observing the uptake, usability, and
   operational behavior of the protocol in large-scale, real-life
   deployments.</t>

<t>An example for a worldwide roaming environment that uses RADIUS over
   TLS to secure communication is "eduroam", see <xref target="eduroam"/>.</t>

</section>
</section>
<section anchor="normative-transport-layer-security-for-radiustcp"><name>Normative: Transport Layer Security for RADIUS/TCP</name>

<section anchor="tcp-port-and-packet-types"><name>TCP port and Packet Types</name>

<t>The default destination port number for RADIUS over TLS is TCP/2083.
There are no separate ports for authentication, accounting, and dynamic authorization changes.
The source port is arbitrary.
See <xref target="datagram_considerations"/> for considerations regarding the separation of authentication, accounting, and dynamic authorization traffic.</t>

</section>
<section anchor="tls-negotiation"><name>TLS Negotiation</name>

<t>RADIUS/TLS has no notion of negotiating TLS in an established connection.
Servers and clients need to be preconfigured to use RADIUS/TLS for a given endpoint.</t>

</section>
<section anchor="connection_setup"><name>Connection Setup</name>

<t>RADIUS/TLS nodes</t>

<t><list style="numbers">
  <t>establish TCP connections as per <xref target="RFC6613"/>.  Failure to connect
  leads to continuous retries, with exponentially growing intervals
  between every try.  If multiple servers are defined, the node <bcp14>MAY</bcp14>
  attempt to establish a connection to these other servers in
  parallel, in order to implement quick failover.</t>
  <t>after completing the TCP handshake, immediately negotiate TLS
  sessions according to <xref target="RFC5246"/> or its predecessor TLS 1.1.  The
  following restrictions apply:
  <list style="symbols">
      <t>Support for TLS v1.1 <xref target="RFC4346"/> or later (e.g., TLS 1.2
  <xref target="RFC5246"/>) is <bcp14>REQUIRED</bcp14>.  To prevent known attacks on TLS
  versions prior to 1.1, implementations <bcp14>MUST NOT</bcp14> negotiate TLS
  versions prior to 1.1.</t>
      <t>Support for certificate-based mutual authentication is
  <bcp14>REQUIRED</bcp14>.</t>
      <t>Negotiation of mutual authentication is <bcp14>REQUIRED</bcp14>.</t>
      <t>Negotiation of a ciphersuite providing for confidentiality as
  well as integrity protection is <bcp14>REQUIRED</bcp14>.  Failure to comply
  with this requirement can lead to severe security problems,
  like user passwords being recoverable by third parties.  See
  <xref target="security_considerations"/> for details.</t>
      <t>Support for and negotiation of compression is <bcp14>OPTIONAL</bcp14>.</t>
      <t>Support for TLS-PSK mutual authentication <xref target="RFC4279"/> is
  <bcp14>OPTIONAL</bcp14>.</t>
      <t>RADIUS/TLS implementations <bcp14>MUST</bcp14>, at a minimum, support
  negotiation of the TLS_RSA_WITH_3DES_EDE_CBC_SHA, and <bcp14>SHOULD</bcp14>
  support TLS_RSA_WITH_RC4_128_SHA and
  TLS_RSA_WITH_AES_128_CBC_SHA as well (see <xref target="ciphersuite_considerations"/>.</t>
      <t>In addition, RADIUS/TLS implementations <bcp14>MUST</bcp14> support
  negotiation of the mandatory-to-implement ciphersuites
  required by the versions of TLS that they support.</t>
    </list></t>
  <t>Peer authentication can be performed in any of the following
  three operation models:
  <list style="symbols">
      <t>TLS with X.509 certificates using PKIX trust models (this
  model is mandatory to implement):
      <list style="symbols">
          <t>Implementations <bcp14>MUST</bcp14> allow the configuration of a list of
 trusted Certification Authorities for incoming connections.</t>
          <t>Certificate validation <bcp14>MUST</bcp14> include the verification rules
 as per <xref target="RFC5280"/>.</t>
          <t>Implementations <bcp14>SHOULD</bcp14> indicate their trusted Certification
 Authorities (CAs).  For TLS 1.2, this is done using
 <xref target="RFC5246"/>, Section 7.4.4, "certificate_authorities" (server
 side) and <xref target="RFC6066"/>, Section 6 "Trusted CA Indication"
 (client side).  See also <xref target="cert_considerations"/>.</t>
          <t>Peer validation always includes a check on whether the
 locally configured expected DNS name or IP address of the
 server that is contacted matches its presented certificate.
 DNS names and IP addresses can be contained in the Common
 Name (CN) or subjectAltName entries.  For verification,
 only one of these entries is to be considered.  The
 following precedence applies: for DNS name validation,
 subjectAltName:DNS has precedence over CN; for IP address
 validation, subjectAltName:iPAddr has precedence over CN.
 Implementors of this specification are advised to read
 <xref target="RFC6125"/>, Section 6, for more details on DNS name
 validation.</t>
          <t>Implementations <bcp14>MAY</bcp14> allow the configuration of a set of
 additional properties of the certificate to check for a
 peer's authorization to communicate (e.g., a set of allowed
 values in subjectAltName:URI or a set of allowed X509v3
 Certificate Policies).</t>
          <t>When the configured trust base changes (e.g., removal of a
 CA from the list of trusted CAs; issuance of a new CRL for
 a given CA), implementations <bcp14>MAY</bcp14> renegotiate the TLS
 session to reassess the connecting peer's continued
 authorization.</t>
        </list></t>
      <t>TLS with X.509 certificates using certificate fingerprints
  (this model is optional to implement): Implementations <bcp14>SHOULD</bcp14>
  allow the configuration of a list of trusted certificates,
  identified via fingerprint of the DER encoded certificate
  octets.  Implementations <bcp14>MUST</bcp14> support SHA-1 as the hash
  algorithm for the fingerprint.  To prevent attacks based on
  hash collisions, support for a more contemporary hash function
  such as SHA-256 is <bcp14>RECOMMENDED</bcp14>.</t>
      <t>TLS using TLS-PSK (this model is optional to implement).</t>
    </list></t>
  <t>start exchanging RADIUS datagrams (note <xref target="datagram_considerations"/> (1)).  The
  shared secret to compute the (obsolete) MD5 integrity checks and
  attribute encryption <bcp14>MUST</bcp14> be "radsec" (see <xref target="datagram_considerations"/> (2)).</t>
</list></t>

</section>
<section anchor="connecting_client_id"><name>Connecting Client Identity</name>

<t>In RADIUS/UDP, clients are uniquely identified by their IP address.
Since the shared secret is associated with the origin IP address, if more than one RADIUS client is associated with the same IP address, then those clients also must utilize the same shared secret, a practice that is inherently insecure, as noted in <xref target="RFC5247"/>.</t>

<t>RADIUS/TLS supports multiple operation modes.</t>

<t>In TLS-PSK operation, a client is uniquely identified by its TLS identifier.</t>

<t>In TLS-X.509 mode using fingerprints, a client is uniquely identified by the fingerprint of the presented client certificate.</t>

<t>In TLS-X.509 mode using PKIX trust models, a client is uniquely identified by the tuple (serial number of presented client certificate;Issuer).</t>

<t>Note well: having identified a connecting entity does not mean the server necessarily wants to communicate with that client.
For example, if the Issuer is not in a trusted set of Issuers, the server may decline to perform RADIUS transactions with this client.</t>

<t>There are numerous trust models in PKIX environments, and it is beyond the scope of this document to define how a particular deployment determines whether a client is trustworthy.
Implementations that want to support a wide variety of trust models should expose as many details of the presented certificate to the administrator as possible so that the trust model can be implemented by the administrator.
As a suggestion, at least the following parameters of the X.509 client certificate should be exposed:</t>

<t><list style="symbols">
  <t>Originating IP address</t>
  <t>Certificate Fingerprint</t>
  <t>Issuer</t>
  <t>Subject</t>
  <t>all X509v3 Extended Key Usage</t>
  <t>all X509v3 Subject Alternative Name</t>
  <t>all X509v3 Certificate Policies</t>
</list></t>

<t>In TLS-PSK operation, at least the following parameters of the TLS connection should be exposed:</t>

<t><list style="symbols">
  <t>Originating IP address</t>
  <t>TLS Identifier</t>
</list></t>

</section>
<section anchor="radius_datagrams"><name>RADIUS Datagrams</name>

<t>Authentication, Authorization, and Accounting packets are sent according to the following rules:</t>

<t>RADIUS/TLS clients transmit the same packet types on the connection they initiated as a RADIUS/UDP client would (see <xref target="datagram_considerations"/> (3) and (4)). 
For example, they send</t>

<t><list style="symbols">
  <t>Access-Request</t>
  <t>Accounting-Request</t>
  <t>Status-Server</t>
  <t>Disconnect-ACK</t>
  <t>Disconnect-NAK</t>
  <t>...</t>
</list></t>

<t>and they receive</t>

<t><list style="symbols">
  <t>Access-Accept</t>
  <t>Accounting-Response</t>
  <t>Disconnect-Request</t>
  <t>...</t>
</list></t>

<t>RADIUS/TLS servers transmit the same packet types on connections they have accepted as a RADIUS/UDP server would.
For example, they send</t>

<t><list style="symbols">
  <t>Access-Challenge</t>
  <t>Access-Accept</t>
  <t>Access-Reject</t>
  <t>Accounting-Response</t>
  <t>Disconnect-Request</t>
  <t>...</t>
</list></t>

<t>and they receive</t>

<t><list style="symbols">
  <t>Access-Request</t>
  <t>Accounting-Request</t>
  <t>Status-Server</t>
  <t>Disconnect-ACK</t>
  <t>...</t>
</list></t>

<t>Due to the use of one single TCP port for all packet types, it is required that a RADIUS/TLS server signal which types of packets are supported on a server to a connecting peer.
See also <xref target="datagram_considerations"/> for a discussion of signaling.</t>

<t><list style="symbols">
  <t>When an unwanted packet of type 'CoA-Request' or 'Disconnect-Request' is received, a RADIUS/TLS server needs to respond with a 'CoA-NAK' or 'Disconnect-NAK', respectively.
The NAK <bcp14>SHOULD</bcp14> contain an attribute Error-Cause with the value 406 ("Unsupported Extension"); see <xref target="RFC5176"/> for details.</t>
  <t>When an unwanted packet of type 'Accounting-Request' is received, the RADIUS/TLS server <bcp14>SHOULD</bcp14> reply with an Accounting-Response containing an Error-Cause attribute with value 406 "Unsupported Extension" as defined in <xref target="RFC5176"/>.
A RADIUS/TLS accounting client receiving such an Accounting-Response <bcp14>SHOULD</bcp14> log the error and stop sending Accounting-Request packets.</t>
</list></t>

</section>
</section>
<section anchor="design_decisions"><name>Informative: Design decisions</name>

<t>This section explains the design decisions that led to the rules defined in the previous section.</t>

<section anchor="dynamic_peer_discovery"><name>Implications of Dynamic Peer Discovery</name>

<t>One mechanism to discover RADIUS-over-TLS peers dynamically via DNS is specified in <xref target="RFC7585"/>.
While this mechanism is still under development and therefore is not a normative dependency of RADIUS/TLS, the use of dynamic discovery has potential future implications that are important to understand.</t>

<t>Readers of this document who are considering the deployment of DNS-based dynamic discovery are thus encouraged to read <xref target="RFC7585"/> and follow its future development.</t>

</section>
<section anchor="cert_considerations"><name>X.509 Certificate Considerations</name>

<dl>
  <dt>(1)</dt>
  <dd>
    <t>If a RADIUS/TLS client is in possession of multiple certificates from different CAs (i.e., is part of multiple roaming consortia) and dynamic discovery is used, the discovery mechanism possibly does not yield sufficient information to identify the consortium uniquely (e.g., DNS discovery).
Subsequently, the client may not know by itself which client certificate to use for the TLS handshake.
Then, it is necessary for the server to signal to which consortium it belongs and which certificates it expects.
If there is no risk of confusing multiple roaming consortia, providing this information in the handshake is not crucial.</t>
  </dd>
  <dt>(2)</dt>
  <dd>
    <t>If a RADIUS/TLS server is in possession of multiple certificates from different CAs (i.e., is part of multiple roaming consortia), it will need to select one of its certificates to present to the RADIUS/TLS client.
If the client sends the Trusted CA Indication, this hint can make the server select the appropriate certificate and prevent a handshake failure.
Omitting this indication makes it impossible to deterministically select the right certificate in this case.
If there is no risk of confusing multiple roaming consortia, providing this indication in the handshake is not crucial.</t>
  </dd>
</dl>

</section>
<section anchor="ciphersuite_considerations"><name>Ciphersuites and Compression Negotiation Considerations</name>

<t>Not all TLS ciphersuites in <xref target="RFC5246"/> are supported by available TLS
   tool kits, and licenses may be required in some cases.  The existing
   implementations of RADIUS/TLS use OpenSSL as a cryptographic backend,
   which supports all of the ciphersuites listed in the rules in the
   normative section.</t>

<t>The TLS ciphersuite TLS_RSA_WITH_3DES_EDE_CBC_SHA is mandatory to
   implement according to <xref target="RFC4346"/>; thus, it has to be supported by
   RADIUS/TLS nodes.</t>

<t>The two other ciphersuites in the normative section are widely
   implemented in TLS tool kits and are considered good practice to
   implement.</t>

</section>
<section anchor="datagram_considerations"><name>RADIUS Datagram Considerations</name>

<dl>
  <dt>(1)</dt>
  <dd>
    <t>After the TLS session is established, RADIUS packet payloads are
exchanged over the encrypted TLS tunnel.  In RADIUS/UDP, the
packet size can be determined by evaluating the size of the
datagram that arrived.  Due to the stream nature of TCP and TLS,
this does not hold true for RADIUS/TLS packet exchange.
Instead, packet boundaries of RADIUS packets that arrive in the
stream are calculated by evaluating the packet's Length field.
Special care needs to be taken on the packet sender side that
the value of the Length field is indeed correct before sending
it over the TLS tunnel, because incorrect packet lengths can no
longer be detected by a differing datagram boundary.  See
Section 2.6.4 of <xref target="RFC6613"/> for more details.</t>
  </dd>
  <dt>(2)</dt>
  <dd>
    <t>Within RADIUS/UDP <xref target="RFC2865"/>, a shared secret is used for hiding
attributes such as User-Password, as well as in computation of
the Response Authenticator.  In RADIUS accounting <xref target="RFC2866"/>, the
shared secret is used in computation of both the Request
Authenticator and the Response Authenticator.  Since TLS
provides integrity protection and encryption sufficient to
substitute for RADIUS application-layer security, it is not
necessary to configure a RADIUS shared secret.  The use of a
fixed string for the obsolete shared secret eliminates possible
node misconfigurations.</t>
  </dd>
  <dt>(3)</dt>
  <dd>
    <t>RADIUS/UDP <xref target="RFC2865"/> uses different UDP ports for
authentication, accounting, and dynamic authorization changes.
RADIUS/TLS allocates a single port for all RADIUS packet types.
Nevertheless, in RADIUS/TLS, the notion of a client that sends
authentication requests and processes replies associated with
its users' sessions and the notion of a server that receives
requests, processes them, and sends the appropriate replies is
to be preserved.  The normative rules about acceptable packet
types for clients and servers mirror the packet flow behavior
from RADIUS/UDP.</t>
  </dd>
  <dt>(4)</dt>
  <dd>
    <t>RADIUS/UDP <xref target="RFC2865"/> uses negative ICMP responses to a newly
allocated UDP port to signal that a peer RADIUS server does not
support the reception and processing of the packet types in
<xref target="RFC5176"/>.  These packet types are listed as to be received in
RADIUS/TLS implementations.  Note well: it is not required for
an implementation to actually process these packet types; it is
only required that the NAK be sent as defined above.</t>
  </dd>
  <dt>(5)</dt>
  <dd>
    <t>RADIUS/UDP <xref target="RFC2865"/> uses negative ICMP responses to a newly
allocated UDP port to signal that a peer RADIUS server does not
support the reception and processing of RADIUS Accounting
packets.  There is no RADIUS datagram to signal an Accounting
NAK.  Clients may be misconfigured for sending Accounting
packets to a RADIUS/TLS server that does not wish to process
their Accounting packet.  To prevent a regression of
detectability of this situation, the Accounting-Response +
Error-Cause signaling was introduced.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="compatibility"><name>Compatibility with Other RADIUS Transports</name>

<t>The IETF defines multiple alternative transports to the classic UDP transport model as defined in <xref target="RFC2865"/>, namely RADIUS over TCP <xref target="RFC6613"/> and the present document on RADIUS over TLS.  The IETF also
proposed RADIUS over Datagram Transport Layer Security (DTLS)
<xref target="RFC7360"/>.</t>

<t>RADIUS/TLS does not specify any inherent backward compatibility to RADIUS/UDP or cross compatibility to the other transports, i.e., an implementation that utilizes RADIUS/TLS only will not be able to receive or send RADIUS packet payloads over other transports.
An implementation wishing to be backward or cross compatible (i.e., wishes to serve clients using other transports than RADIUS/TLS) will need to implement these other transports along with the RADIUS/TLS transport and be prepared to send and receive on all implemented transports, which is called a "multi-stack implementation".</t>

<t>If a given IP device is able to receive RADIUS payloads on multiple transports, this may or may not be the same instance of software, and it may or may not serve the same purposes.
It is not safe to assume that both ports are interchangeable.
In particular, it cannot be assumed that state is maintained for the packet payloads between the transports.
Two such instances <bcp14>MUST</bcp14> be considered separate RADIUS server entities.</t>

</section>
<section anchor="diameter_comp"><name>Diameter Compatibility</name>

<t>Since RADIUS/TLS is only a new transport profile for RADIUS, the
compatibility of RADIUS/TLS - Diameter <xref target="RFC3588"/> and RADIUS/UDP
<xref target="RFC2865"/> - Diameter <xref target="RFC3588"/> is identical.  The considerations
regarding payload size in <xref target="RFC6613"/> apply.</t>

</section>
<section anchor="security_considerations"><name>Security Considerations</name>

<t>The computational resources to establish a TLS tunnel are significantly higher than simply sending mostly unencrypted UDP datagrams.
Therefore, clients connecting to a RADIUS/TLS node will more easily create high load conditions and a malicious client might create a Denial-of-Service attack more easily.</t>

<t>Some TLS ciphersuites only provide integrity validation of their payload, and provide no encryption.
This specification forbids the use of such ciphersuites.
Since the RADIUS payload's shared secret is fixed to the well-known term "radsec" (see <xref target="connection_setup"/> (4)), failure to comply with this requirement will expose the entire datagram payload in plaintext, including User-Password, to intermediate IP nodes.</t>

<t>By virtue of being based on TCP, there are several generic attack vectors to slow down or prevent the TCP connection from being established; see <xref target="RFC4953"/> for details.
If a TCP connection is not up when a packet is to be processed, it gets re-established, so such attacks in general lead only to a minor performance degradation (the time it takes to re-establish the connection).
There is one notable exception where an attacker might create a bidding-down attack though.
If peer communication between two devices is configured for both RADIUS/TLS (i.e., TLS security over TCP as a transport, shared secret fixed to "radsec") and RADIUS/UDP (i.e., shared secret security with a secret manually configured by the administrator), and the RADIUS/UDP transport is the failover option if the TLS session cannot be established, a bidding-down attack can occur if an adversary can maliciously close the TCP connection or prevent it from being established.
Situations where clients are configured in such a way are likely to occur during a migration phase from RADIUS/UDP to RADIUS/TLS.
By preventing the TLS session setup, the attacker can reduce the security of the packet payload from the selected TLS ciphersuite packet encryption to the classic MD5 per-attribute encryption.
The situation should be avoided by disabling the weaker RADIUS/UDP transport as soon as the new RADIUS/TLS connection is established and tested.
Disabling can happen at either the RADIUS client or server side:</t>

<t><list style="symbols">
  <t>Client side: de-configure the failover setup, leaving RADIUS/TLS
  as the only communication option</t>
  <t>Server side: de-configure the RADIUS/UDP client from the list of
 valid RADIUS clients</t>
</list></t>

<t>RADIUS/TLS provides authentication and encryption between RADIUS peers.
In the presence of proxies, the intermediate proxies can still inspect the individual RADIUS packets, i.e., "end-to-end" encryption is not provided.
Where intermediate proxies are untrusted, it is desirable to use other RADIUS mechanisms to prevent RADIUS packet payload from inspection by such proxies.
One common method to protect passwords is the use of the Extensible Authentication Protocol (EAP) and EAP methods that utilize TLS.</t>

<t>When using certificate fingerprints to identify RADIUS/TLS peers, any two certificates that produce the same hash value (i.e., that have a hash collision) will be considered the same client.
Therefore, it is important to make sure that the hash function used is cryptographically uncompromised so that an attacker is very unlikely to be able to produce a hash collision with a certificate of his choice.
While this specification mandates support for SHA-1, a later revision will likely demand support for more contemporary hash functions because as of issuance of this document, there are already attacks on SHA-1.</t>

</section>
<section anchor="IANA_considerations"><name>IANA Considerations</name>

<t>No new RADIUS attributes or packet codes are defined.  IANA has
   updated the already assigned TCP port number 2083 to reflect the
   following:
* Reference: <xref target="RFC6614"/>
* Assignment Notes: The TCP port 2083 was already previously
  assigned by IANA for "RadSec", an early implementation of RADIUS/
  TLS, prior to issuance of this RFC.  This early implementation can
  be configured to be compatible to RADIUS/TLS as specified by the
  IETF.  See RFC 6614, Appendix A for details.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>RADIUS/TLS was first implemented as "RADSec" by Open Systems
 Consultants, Currumbin Waters, Australia, for their "Radiator" RADIUS
 server product (see <xref target="radsec-whitepaper"/>).</t>

<t>Funding and input for the development of this document was provided
 by the European Commission co-funded project "GEANT2" [TODO: outdated reference] and
 further feedback was provided by the TERENA Task Force on Mobility
 and Network Middleware [TODO: outdated reference].</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<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'><organization/></author>
<author fullname='S. Willens' initials='S.' surname='Willens'><organization/></author>
<author fullname='A. Rubens' initials='A.' surname='Rubens'><organization/></author>
<author fullname='W. Simpson' initials='W.' surname='Simpson'><organization/></author>
<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='RFC2866' target='https://www.rfc-editor.org/info/rfc2866'>
<front>
<title>RADIUS Accounting</title>
<author fullname='C. Rigney' initials='C.' surname='Rigney'><organization/></author>
<date month='June' year='2000'/>
<abstract><t>This document describes a protocol for carrying accounting information between a Network Access Server and a shared Accounting Server.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='2866'/>
<seriesInfo name='DOI' value='10.17487/RFC2866'/>
</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'><organization/></author>
<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'><organization/></author>
<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='RFC6613' target='https://www.rfc-editor.org/info/rfc6613'>
<front>
<title>RADIUS over TCP</title>
<author fullname='A. DeKok' initials='A.' surname='DeKok'><organization/></author>
<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='RFC5246' target='https://www.rfc-editor.org/info/rfc5246'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
<author fullname='T. Dierks' initials='T.' surname='Dierks'><organization/></author>
<author fullname='E. Rescorla' initials='E.' surname='Rescorla'><organization/></author>
<date month='August' year='2008'/>
<abstract><t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol.  The TLS protocol provides communications security over the Internet.  The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5246'/>
<seriesInfo name='DOI' value='10.17487/RFC5246'/>
</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'><organization/></author>
<author fullname='H. Tschofenig' initials='H.' role='editor' surname='Tschofenig'><organization/></author>
<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='RFC5280' target='https://www.rfc-editor.org/info/rfc5280'>
<front>
<title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
<author fullname='D. Cooper' initials='D.' surname='Cooper'><organization/></author>
<author fullname='S. Santesson' initials='S.' surname='Santesson'><organization/></author>
<author fullname='S. Farrell' initials='S.' surname='Farrell'><organization/></author>
<author fullname='S. Boeyen' initials='S.' surname='Boeyen'><organization/></author>
<author fullname='R. Housley' initials='R.' surname='Housley'><organization/></author>
<author fullname='W. Polk' initials='W.' surname='Polk'><organization/></author>
<date month='May' year='2008'/>
<abstract><t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5280'/>
<seriesInfo name='DOI' value='10.17487/RFC5280'/>
</reference>



<reference anchor='RFC6066' target='https://www.rfc-editor.org/info/rfc6066'>
<front>
<title>Transport Layer Security (TLS) Extensions: Extension Definitions</title>
<author fullname='D. Eastlake 3rd' initials='D.' surname='Eastlake 3rd'><organization/></author>
<date month='January' year='2011'/>
<abstract><t>This document provides specifications for existing TLS extensions.  It is a companion document for RFC 5246, &quot;The Transport Layer Security (TLS) Protocol Version 1.2&quot;.  The extensions specified are server_name, max_fragment_length, client_certificate_url, trusted_ca_keys, truncated_hmac, and status_request.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6066'/>
<seriesInfo name='DOI' value='10.17487/RFC6066'/>
</reference>



<reference anchor='RFC5247' target='https://www.rfc-editor.org/info/rfc5247'>
<front>
<title>Extensible Authentication Protocol (EAP) Key Management Framework</title>
<author fullname='B. Aboba' initials='B.' surname='Aboba'><organization/></author>
<author fullname='D. Simon' initials='D.' surname='Simon'><organization/></author>
<author fullname='P. Eronen' initials='P.' surname='Eronen'><organization/></author>
<date month='August' year='2008'/>
<abstract><t>The Extensible Authentication Protocol (EAP), defined in RFC 3748, enables extensible network access authentication.  This document specifies the EAP key hierarchy and provides a framework for the transport and usage of keying material and parameters generated by EAP authentication algorithms, known as &quot;methods&quot;.  It also provides a detailed system-level security analysis, describing the conditions under which the key management guidelines described in RFC 4962 can be satisfied.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5247'/>
<seriesInfo name='DOI' value='10.17487/RFC5247'/>
</reference>




    </references>

    <references title='Informative References'>

<reference anchor="eduroam" >
  <front>
    <title>eduroam Hompage</title>
    <author >
      <organization>Trans-European Research and Education Networking Association</organization>
    </author>
    <date year="2007"/>
  </front>
  <format type="TXT" target="https://www.eduroam.org/"/>
</reference>


<reference anchor='MD5-attacks' target='http://dx.doi.org/10.1007/11799313_17'>
  <front>
    <title>A Study of the MD5 Attacks: Insights and Improvements</title>
    <author fullname='John Black' surname='Black'/>
    <author fullname='Martin Cochran' surname='Cochran'/>
    <author fullname='Trevor Highland' surname='Highland'/>
    <author>
      <organization>Springer Berlin Heidelberg</organization>
    </author>
    <date year='2006'/>
  </front>
  <refcontent>Fast Software Encryption, pp. 262-277</refcontent>
  <seriesInfo name='DOI' value='10.1007/11799313_17'/>
</reference>


<reference anchor="radsec-whitepaper" >
  <front>
    <title>RadSec - a secure, reliable RADIUS Protocol</title>
    <author >
      <organization>Open Systems Consultants</organization>
    </author>
    <date year="2005" month="May"/>
  </front>
  <format type="TXT" target="http://www.open.com.au/radiator/radsec-whitepaper.pdf"/>
</reference>




<reference anchor='RFC3539' target='https://www.rfc-editor.org/info/rfc3539'>
<front>
<title>Authentication, Authorization and Accounting (AAA) Transport Profile</title>
<author fullname='B. Aboba' initials='B.' surname='Aboba'><organization/></author>
<author fullname='J. Wood' initials='J.' surname='Wood'><organization/></author>
<date month='June' year='2003'/>
<abstract><t>This document discusses transport issues that arise within protocols for Authentication, Authorization and Accounting (AAA).  It also provides recommendations on the use of transport by AAA protocols.  This includes usage of standards-track RFCs as well as experimental proposals. [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='3539'/>
<seriesInfo name='DOI' value='10.17487/RFC3539'/>
</reference>



<reference anchor='RFC6421' target='https://www.rfc-editor.org/info/rfc6421'>
<front>
<title>Crypto-Agility Requirements for Remote Authentication Dial-In User Service (RADIUS)</title>
<author fullname='D. Nelson' initials='D.' role='editor' surname='Nelson'><organization/></author>
<date month='November' year='2011'/>
<abstract><t>This memo describes the requirements for a crypto-agility solution for Remote Authentication Dial-In User Service (RADIUS).  This  document is not an Internet Standards Track specification; it is published for informational purposes.</t></abstract>
</front>
<seriesInfo name='RFC' value='6421'/>
<seriesInfo name='DOI' value='10.17487/RFC6421'/>
</reference>



<reference anchor='RFC4107' target='https://www.rfc-editor.org/info/rfc4107'>
<front>
<title>Guidelines for Cryptographic Key Management</title>
<author fullname='S. Bellovin' initials='S.' surname='Bellovin'><organization/></author>
<author fullname='R. Housley' initials='R.' surname='Housley'><organization/></author>
<date month='June' year='2005'/>
<abstract><t>The question often arises of whether a given security system requires some form of automated key management, or whether manual keying is sufficient.  This memo provides guidelines for making such decisions. When symmetric cryptographic mechanisms are used in a protocol, the presumption is that automated key management is generally but not always needed.  If manual keying is proposed, the burden of proving that automated key management is not required falls to the proposer.  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='107'/>
<seriesInfo name='RFC' value='4107'/>
<seriesInfo name='DOI' value='10.17487/RFC4107'/>
</reference>



<reference anchor='RFC4346' target='https://www.rfc-editor.org/info/rfc4346'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.1</title>
<author fullname='T. Dierks' initials='T.' surname='Dierks'><organization/></author>
<author fullname='E. Rescorla' initials='E.' surname='Rescorla'><organization/></author>
<date month='April' year='2006'/>
<abstract><t>This document specifies Version 1.1 of the Transport Layer Security (TLS) protocol.  The TLS protocol provides communications security over the Internet.  The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.</t></abstract>
</front>
<seriesInfo name='RFC' value='4346'/>
<seriesInfo name='DOI' value='10.17487/RFC4346'/>
</reference>



<reference anchor='RFC6125' target='https://www.rfc-editor.org/info/rfc6125'>
<front>
<title>Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)</title>
<author fullname='P. Saint-Andre' initials='P.' surname='Saint-Andre'><organization/></author>
<author fullname='J. Hodges' initials='J.' surname='Hodges'><organization/></author>
<date month='March' year='2011'/>
<abstract><t>Many application technologies enable secure communication between two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX) certificates in the context of Transport Layer Security (TLS). This document specifies procedures for representing and verifying the identity of application services in such interactions.   [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6125'/>
<seriesInfo name='DOI' value='10.17487/RFC6125'/>
</reference>



<reference anchor='RFC5176' target='https://www.rfc-editor.org/info/rfc5176'>
<front>
<title>Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)</title>
<author fullname='M. Chiba' initials='M.' surname='Chiba'><organization/></author>
<author fullname='G. Dommety' initials='G.' surname='Dommety'><organization/></author>
<author fullname='M. Eklund' initials='M.' surname='Eklund'><organization/></author>
<author fullname='D. Mitton' initials='D.' surname='Mitton'><organization/></author>
<author fullname='B. Aboba' initials='B.' surname='Aboba'><organization/></author>
<date month='January' year='2008'/>
<abstract><t>This document describes a currently deployed extension to the Remote Authentication Dial In User Service (RADIUS) protocol, allowing dynamic changes to a user session, as implemented by network access server products.  This includes support for disconnecting users and changing authorizations applicable to a user session. This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='5176'/>
<seriesInfo name='DOI' value='10.17487/RFC5176'/>
</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'><organization/></author>
<author fullname='M. McCauley' initials='M.' surname='McCauley'><organization/></author>
<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='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'><organization/></author>
<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='RFC3588' target='https://www.rfc-editor.org/info/rfc3588'>
<front>
<title>Diameter Base Protocol</title>
<author fullname='P. Calhoun' initials='P.' surname='Calhoun'><organization/></author>
<author fullname='J. Loughney' initials='J.' surname='Loughney'><organization/></author>
<author fullname='E. Guttman' initials='E.' surname='Guttman'><organization/></author>
<author fullname='G. Zorn' initials='G.' surname='Zorn'><organization/></author>
<author fullname='J. Arkko' initials='J.' surname='Arkko'><organization/></author>
<date month='September' year='2003'/>
<abstract><t>The Diameter base protocol is intended to provide an Authentication, Authorization and Accounting (AAA) framework for applications such as network access or IP mobility.  Diameter is also intended to work in both local Authentication, Authorization &amp; Accounting and roaming situations.  This document specifies the message format, transport, error reporting, accounting and security services to be used by all Diameter applications.  The Diameter base application needs to be supported by all Diameter implementations.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='3588'/>
<seriesInfo name='DOI' value='10.17487/RFC3588'/>
</reference>



<reference anchor='RFC4953' target='https://www.rfc-editor.org/info/rfc4953'>
<front>
<title>Defending TCP Against Spoofing Attacks</title>
<author fullname='J. Touch' initials='J.' surname='Touch'><organization/></author>
<date month='July' year='2007'/>
<abstract><t>Recent analysis of potential attacks on core Internet infrastructure indicates an increased vulnerability of TCP connections to spurious resets (RSTs), sent with forged IP source addresses (spoofing).  TCP has always been susceptible to such RST spoofing attacks, which were indirectly protected by checking that the RST sequence number was inside the current receive window, as well as via the obfuscation of TCP endpoint and port numbers.  For pairs of well-known endpoints often over predictable port pairs, such as BGP or between web servers and well-known large-scale caches, increases in the path bandwidth-delay product of a connection have sufficiently increased the receive window space that off-path third parties can brute-force generate a viable RST sequence number.  The susceptibility to attack increases with the square of the bandwidth, and thus presents a significant vulnerability for recent high-speed networks.  This document addresses this vulnerability, discussing proposed solutions at the transport level and their inherent challenges, as well as existing network level solutions and the feasibility of their deployment.  This document focuses on vulnerabilities due to spoofed TCP segments, and includes a discussion of related ICMP spoofing attacks on TCP connections.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='4953'/>
<seriesInfo name='DOI' value='10.17487/RFC4953'/>
</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'><organization/></author>
<author fullname='M. McCauley' initials='M.' surname='McCauley'><organization/></author>
<author fullname='S. Venaas' initials='S.' surname='Venaas'><organization/></author>
<author fullname='K. Wierenga' initials='K.' surname='Wierenga'><organization/></author>
<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>




    </references>


<section anchor="implementation-overview-radsec"><name>Implementation Overview: Radsec</name>

<t>Radiator implements the RadSec protocol for proxying requests with
the &lt;Authby RADSEC&gt; and &lt;ServerRADSEC&gt; clauses in the Radiator
configuration file.</t>

<t>The &lt;AuthBy RADSEC&gt; clause defines a RadSec client, and causes
Radiator to send RADIUS requests to the configured RadSec server
using the RadSec protocol.</t>

<t>The &lt;ServerRADSEC&gt; clause defines a RadSec server, and causes
Radiator to listen on the configured port and address(es) for
connections from &lt;Authby RADSEC&gt; clients.  When an &lt;Authby RADSEC&gt;
client connects to a &lt;ServerRADSEC&gt; server, the client sends RADIUS
requests through the stream to the server.  The server then handles
the request in the same way as if the request had been received from
a conventional UDP RADIUS client.</t>

<t>Radiator is compliant to RADIUS/TLS if the following options are
used:</t>

<t>&lt;AuthBy RADSEC&gt;</t>

<t><list style="symbols">
  <t>Protocol tcp</t>
  <t>UseTLS</t>
  <t>TLS_CertificateFile</t>
  <t>Secret radsec</t>
</list></t>

<t>&lt;ServerRADSEC&gt;</t>

<t><list style="symbols">
  <t>Protocol tcp</t>
  <t>UseTLS</t>
  <t>TLS_RequireClientCert</t>
  <t>Secret radsec</t>
</list></t>

<t>As of Radiator 3.15, the default shared secret for RadSec connections
is configurable and defaults to "mysecret" (without quotes).  For
compliance with this document, this setting needs to be configured
for the shared secret "radsec".  The implementation uses TCP
keepalive socket options, but does not send Status-Server packets.
Once established, TLS connections are kept open throughout the server
instance lifetime.</t>

</section>
<section anchor="implementation-overview-radsecproxy"><name>Implementation Overview: radsecproxy</name>

<t>The RADIUS proxy named radsecproxy was written in order to allow use
of RadSec in current RADIUS deployments.  This is a generic proxy
that supports any number and combination of clients and servers,
supporting RADIUS over UDP and RadSec.  The main idea is that it can
be used on the same host as a non-RadSec client or server to ensure
RadSec is used on the wire; however, as a generic proxy, it can be
used in other circumstances as well.</t>

<t>The configuration file consists of client and server clauses, where
there is one such clause for each client or server.  In such a
clause, one specifies either "type tls" or "type udp" for TLS or UDP
transport.  Versions prior to 1.6 used "mysecret" as a default shared
secret for RADIUS/TLS; version 1.6 and onwards uses "radsec".  For
backwards compatibility with older versions, the secret can be
changed (which makes the configuration not compliant with this
specification).</t>

<t>In order to use TLS for clients and/or servers, one must also specify
where to locate CA certificates, as well as certificate and key for
the client or server.  This is done in a TLS clause.  There may be
one or several TLS clauses.  A client or server clause may reference
a particular TLS clause, or just use a default one.  One use for
multiple TLS clauses may be to present one certificate to clients and
another to servers.</t>

<t>If any RadSec (TLS) clients are configured, the proxy will, at
startup, listen on port 2083, as assigned by IANA for the OSC RadSec
implementation.  An alternative port may be specified.  When a client
connects, the client certificate will be verified, including checking
that the configured Fully Qualified Domain Name (FQDN) or IP address
matches what is in the certificate.  Requests coming from a RadSec
client are treated exactly like requests from UDP clients.</t>

<t>At startup, the proxy will try to establish a TLS connection to each
(if any) of the configured RadSec (TLS) servers.  If it fails to
connect to a server, it will retry regularly.  There is some back-off
where it will retry quickly at first, and with longer intervals
later.  If a connection to a server goes down, it will also start
retrying regularly.  When setting up the TLS connection, the server
certificate will be verified, including checking that the configured
FQDN or IP address matches what is in the certificate.  Requests are
sent to a RadSec server, just like they would be to a UDP server.</t>

<t>The proxy supports Status-Server messages.  They are only sent to a
server if enabled for that particular server.  Status-Server requests
are always responded to.</t>

<t>This RadSec implementation has been successfully tested together with
Radiator.  It is a freely available, open-source implementation.  For
source code and documentation, see [TODO outdated reference].</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAH+hVmMAA9V963IbV5Lm/3qKs/QPk14AEnW16Y7ZgUmqzbUsqUVq7Ynp
CUURdUBUq1CFrgsptFfvss+yT7b5Zea5FUDJnt7YiHXMRQSqziVPXr68nMR0
Os36sq/siTm4avO62zRtb17mW9uaS7sY2rLfmsOrl5dH5rxetNtNXza1WTat
eTs/u3h3eZDl19etvaXX5QPT3NKr9MJBtsh7e9O02xPT9UWWNdddU9nedifm
2bPjJ1lWNIs6X9PMRZsv+2lb2sUH23bTNi/sR/p7ucBz12U3ffgw64brddl1
NHu/3dA7F+dXLzKa9nGWtzan6V9vbJtjdZ3J68L8nNf5jV3buj/I7pr2w03b
DJuwyvNfr2yN0bqD7IPd0hPFSWbMVLfF/6RNZLe2Hiy++cz7xsiSDn6hecr6
xvwZz+LzdV5W9Lls6F9L2y9nTXtzkGX50K+aVmYUGvz3vJ6+aG1h2/KDeauk
oO+NoTdOzJkd+m6xsp150bT0j6G+6Wrb/8P8T/Nn267z2rzizeeVeWs7m7eL
FZPhvBgW/IV5ZXvQgYfs+tba/sTMK/uRnrLtpspprGP+ctEUtJ7jh8fPv5W/
iQVOzA+2rcpaHxjqHscqM2/5Qyt7dYf4r8WynhWWv3IccvbiFf9NTHVi7u7u
ZtEzbQMWtEXZN22WZWVNLLamhd8y8W0xtE2+PpHhPO08dZhzp+f00MYSKT5P
AZzQvOuaRckf8zhOBHQi82Oz3hD7HPCXBfHxiXn08OFz/lNW5ua/+vXqxKz6
ftOdPHiATekQOOgH9MzPZ0+ned/niw/E92evL2bHD+l/Hj5/cHz8/LvvHh8/
fn+MYYlFOruY3q3K3m5yYuV790p8XpvLbdfbdWdOiQGHqs/rvkv28TYvSHqJ
uXLTQYrtxLS2KvPryiqHmzdt0zeLphrt8en04dPPbVN3SYSuZ4tmPcuHB7R2
ImXTPtjZxGxTLLNsOqV1XBPP5Ys+y65WZWdI9AfIpuk2dlEuS+Lr3PRe/2za
ZlnSUoOeMUOHc/uCihLdc/rG5J3pVzYdkXc7k/ltDVLQOrYkfeWCHhy6HiQS
DbIqN525JnaxRGtdQGdbGr2byX7WZVFUNsu+MhckCw3xGPMSje4J7KY0v/32
X96+OH307bOnnz6ZEju9KwtbbU1hN1WztQUfM1GjVEYF28rJl/+QT+LlW9MN
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
37UTtRrw2B/v+D/UmTBbOn0AAA==

-->

</rfc>

