Describes RADIUS DTLS as a client or server protocol that provides centralized security for users attempting to gain management access to a network.
RADIUS DTLS is a client or server protocol that
-
provides centralized security for users attempting to gain management access to a network
-
delivers a complete Authentication, Authorization, and Accounting (AAA) solution, and
-
uses RADIUS-over-DTLS (UDP) for secure communication.
RADIUS DTLS components and configuration
The Remote Authentication Dial-In User Service (RADIUS) is a widely deployed authentication and authorization protocol.
RADIUS DTLS includes these components:
-
RADIUS DTLS Port: Used for authentication and accounting with default DTLS server port 2083
-
Shared Secret: Uses RADIUS/DTLS as the shared secret when DTLS is enabled for a specific server
-
PAC Handling: Downloads PAC from ISE for CTS communication and encrypts CTS attributes with the PAC key
-
Session Management: Depends on DTLS server responses and closes sessions for ideal timeout or invalid responses
-
Load Balancing: Supports multiple DTLS servers and load balancing methods
You can change the RADIUS DTLS port number using DTLS port port_number . For more information, see the Configuring RADIUS DTLS Port Number section.
RADSEC consists of two types: RADIUS-over-TLS (using TCP) and RADIUS-over-DTLS (using UDP). Cisco IOS-XE support RADIUS-over-DTLS (UDP) but does not support RADIUS-over-TLS (TCP), as outlined in RFC 7360.
RADIUS DTLS timeout and retry configuration includes these parameters:
-
Connection Timeout: Default connection timeout is 5 seconds
-
Connection Retries: Default connection retries is 5
-
Idle Timeout: Default idle timeout is 60 seconds
After the encrypted RADIUS packet is sent, you need to start the retransmission timer. If you do not get a response before the retransmission timer expires, the packet is re-encrypted and re-transmitted. You can continue for number of times as per the DTLS retries configuration or till the default value. Once the number of tries exceeds the limit, the server becomes unavailable and responses are sent back to the AAA clients.
As the RADIUS DTLS is UDP based, you need to retry the connection after a specific timeout interval for a specific number of retries. After all retries are exhausted, the DTLS connection performs these actions:
-
Is marked as unsuccessful.
-
Looks up for the next available server for processing the RADIUS requests.
When the idle timer expires and no transactions exists since the last idle timeout, the DTLS session remains closed. After you establish the DTLS session, you can start the idle timer. If you start the idle timer for 30 seconds and one of the RADIUS DTLS packet is sent, then after 30 seconds, the idle timer expires and checks for number of RADIUS DTLS transactions. If the idle timer value exceeds zero, the idle timer resets the transaction counter and restarts the timer.
You can configure RADIUS servers with and without DTLS. It is recommended to create AAA server groups with DTLS enabled servers and non-DTLS servers. However, you will not find any such restriction while configuring AAA server groups.
Suppose you choose a DTLS server, the DTLS server establishes connection and RADIUS request packet is sent to the DTLS server. If the DTLS server does not respond after all RADIUS retries, it would fall over to the next configured server in the same server group. If the next server is a DTLS server, the processing of the RADIUS request packet continues with the next server. If the next server is a non-DTLS server, the processing of RADIUS request packet does not happen in that server group. Then the server group failover occurs and the same sequence continues with the next server group, if the next server group is available.
You need to use either only DTLS or non-DTLS servers in a server group.