RADIUS (Remote Authentication Dial in User Service) : What Is Aaa?
RADIUS (Remote Authentication Dial in User Service) : What Is Aaa?
RADIUS (Remote Authentication Dial in User Service) : What Is Aaa?
This below explanation starts with an overview of Radius followed by its features, operations,
packet format, and attributes. Subsequently provides a few examples of Radius request and
response, and terminates with a brief introduction to Diameter, a planned replacement of
Radius.
What is AAA?
What is NAS?
Authentication:
Examples of credentials include passwords, one-time tokens, digital certificates, and phone numbers
(calling/called).
AUTHORIZATION:
Refers to the granting of specific types of service (including "no service") to the users based on their
authentication.
May be based on restrictions, for example, time-of-day restrictions, or physical location restrictions, or
restrictions against multiple logins by the same user.
Examples of services include, IP address filtering, address assignment, route assignment, encryption,
QoS/differential services, bandwidth control/traffic management, etc.
ACCOUNTING:
Refers to the tracking of the consumption of network resources by users.
Typical information that is gathered in accounting include the identity of the user, the nature of the
service delivered, when the service began, and when it ended.
May be used for management, planning, billing, etc.
AAA PROTOCOLS
Radius is an AAA protocol for applications such as Network Access or IP Mobility. Besides
Radius, we have the following protocols in AAA:
TACACS+ :
TACACS+ provides access control for routers, network access servers, and other networked
computing devices via one or more centralized servers. It uses TCP and provides separate
authentication, authorization, and accounting services. It works on port 49.
Examples include:
Internet Access Verification using User ID and Password.
RADIUS - Overview
RADIUS is a protocol for carrying information related to authentication, authorization,
and configuration between a Network Access Server that desires to authenticate its
links and a shared Authentication Server.
It notifies when a session starts and stop. This data is used for Billing or Statistics purposes.
CLIENT/SERVER MODEL
NAS works as a client for the Radius server.
Radius server is responsible for getting user connection requests, authenticating the user, and then
returning all the configuration information necessary for the client to deliver service to the user.
NETWORK SECURITY
Transactions between a client and a server are authenticated through the use of a shared key. This
key is never sent over the network.
EXTENSIBLE PROTOCOL
Radius is extensible; most vendors of Radius hardware and software implement their own
dialects.
Access-Accept keeps all the required attributes to provide service to the user.
1 Access-Request
2 Access-Accept
3 Access-Reject
4 Accounting-Request
5 Accounting-Response
11 Access-Challenge
12 Status-Server (experimental)
13 Status-Client (experimental)
255 Reserved
Codes 4 and 5 are related to Radius Accounting Functionality. Codes 12 and 13 are
reserved for possible use.
Identifier: This is again 1 Octet long and aids in matching responses with requests.
Length: This is 2 Octets long and specifies the length of the packet including code,
identifier, length, and authenticator. (Min packet is 20 Octets and max is 4096 Octets).
Authenticator: This is 16 Octets long and filled up in case of some requests and
responses.
List of Attributes: There is a list of 63+ attributes and a Radius attribute will also have
a defined format which is described in next chapter
Type: 1 Octet long, identifies various types of attributes. It is an attribute code listed below.
1 User-Name
2 User-Password
3 CHAP-Password
4 NAS-IP-Address
5 NAS-Port
6 Service-Type
7 Framed-Protocol
8 Framed-IP-Address
9 Framed-IP-Netmask
10 Framed-Routing
11 Filter-Id
12 Framed-MTU
13 Framed-Compression
14 Login-IP-Host
15 Login-Service
16 Login-TCP-Port
17 (unassigned)
18 Reply-Message
19 Callback-Number
20 Callback-Id
21 (unassigned)
22 Framed-Route
23 Framed-IPX-Network
24 State
25 Class
26 Vendor-Specific
27 Session-Timeout
28 Idle-Timeout
29 Termination-Action
30 Called-Station-Id
31 Calling-Station-Id
32 NAS-Identifier
33 Proxy-State
34 Login-LAT-Service
35 Login-LAT-Node 3
36 Login-LAT-Group
37 Framed-AppleTalk-Link
38 Framed-AppleTalk-Network
39 Framed-AppleTalk-Zone
60 CHAP-Challenge
61 NAS-Port-Type
62 Port-Limit
63 Login-LAT-Port
The NAS at 192.168.1.16 sends an Access-Request UDP packet to the RADIUS Server for a user
named Nemo logging in on port 3 with password "arctangent".
The User-Password is 16 octets padded at end with nulls, XORed with D5 (Shared Secret|Request
Authenticator).
01 00 00 38 0f 40 3f 94 73 97 80 57 bd 83 d5 cb 98 f4 22 7a 01 06 6e 65 6d 6f 02 12 0d be 70 8d 93
d4 13 ce 31 96 e4 3f 78 2a 0a ee 04 06 c0 a8 01 10 05 06 00 00 00 03
1 Identifier = 0
2 Length = 56
16 Request Authenticator
Attribute List
6 User-Name = "Nemo"
18 User-Password
6 NAS-IP-Address = 192.168.1.16
6 NAS-Port = 3
The Radius server authenticates Nemo and sends an Access-Accept UDP packet to the NAS telling it
to telnet Nemo to host 192.168.1.3
The Response Authenticator is a 16-octet MD5 checksum of the code (2), id (0), Length (38), the
Request Authenticator from above, the attributes in this reply, and the shared secret.
02 00 00 26 86 fe 22 0e 76 24 ba 2a 10 05 f6 bf 9b 55 e0 b2 06 06 00 00 00 01 0f 06 00 00 00 00 0e
06 c0 a8 01 03
2 Length = 38
16 Response Authenticator
Attribute List:
What is DIAMETER
Diameter is a planned replacement of RADIUS. It is an AAA protocol for applications such as
network access and IP mobility. Listed below are a few points that you need to know about
Diameter:
It uses AVPs.