Difference between RADIUS & TACACS+ Protocol
|Protocol and Port(s) Used||UDP: 1812 & 1813 -or- UDP: 1645 & 1646||TCP: 49|
|Encryption||Encrypts only the Password Field||Encrypts the entire payload|
|Authentication & Authorization||Combines Authentication and Authorization||Separates Authentication & Authorization|
|Primary Use||Network Access||Device Administration|
RADIUS does not support these protocols:
- AppleTalk Remote Access (ARA) protocol.
- NetBIOS Frame Protocol Control protocol.
- Novell Asynchronous Services Interface (NASI).
- X.25 PAD connection.
TACACS+ offers multiprotocol support.
Authentication and Authorization
RADIUS combines authentication and authorization. The access-accept packets sent by the RADIUS server to the client contain authorization information. This makes it difficult to decouple authentication and authorization.
TACACS+ uses the AAA architecture, which separates AAA. This allows separate authentication solutions that can still use TACACS+ for authorization and accounting. For example, with TACACS+, it is possible to use Kerberos authentication and TACACS+ authorization and accounting. After a NAS authenticates on a Kerberos server, it requests authorization information from a TACACS+ server without having to re-authenticate. The NAS informs the TACACS+ server that it has successfully authenticated on a Kerberos server, and the server then provides authorization information.
During a session, if additional authorization checking is needed, the access server checks with a TACACS+ server to determine if the user is granted permission to use a particular command. This provides greater control over the commands that can be executed on the access server while decoupling from the authentication mechanism.
TACACS+ Traffic Example
This example assumes login authentication, exec authorization, command authorization, start-stop exec accounting, and command accounting is implemented with TACACS+ when a user Telnets to a router, performs a command, and exits the router:
RADIUS Traffic Example
This example assumes login authentication, exec authorization, and start-stop exec accounting is implemented with RADIUS when a user Telnets to a router, performs a command, and exits the router (other management services are not available):
RADIUS encrypts only the password in the access-request packet, from the client to the server. The remainder of the packet is unencrypted. Other information, such as username, authorized services, and accounting, can be captured by a third party.
TACACS+ encrypts the entire body of the packet but leaves a standard TACACS+ header. Within the header is a field that indicates whether the body is encrypted or not. For debugging purposes, it is useful to have the body of the packets unencrypted. However, during normal operation, the body of the packet is fully encrypted for more secure communications.