Authentication, Authorization and Accounting (AAA) Protocols
Total Page:16
File Type:pdf, Size:1020Kb
Authentication, Authorization and Accounting (AAA) Protocols Agententechnologien in der Telekommunikation Sommersemester 2009 Babak Shafieian [email protected] A O T Agententechnologien in betrieblichen Anwendungen 10.06.2009 und der Telekommunikation Overview A O T Agententechnologien in der Telekommunikation - 2 TU Berlin Motivation (Why AAA?) Ö Telecommunications services are a global market worth over US$ 1.5 trillion in revenue. Home Entertainment Voice over IP (VoIP) Multimedia Conference Messaging/ Presence A O T Agententechnologien in der Telekommunikation - 3 TU Berlin Authentication (Who is [email protected]) Ö Authentication is the process of verifying user’s identity using credentials like username, password or certificates. Ö After the successful match of user’s authentication credentials with the credentials stored in the database of the service provider, the user is granted access to the network, otherwise the access is denied. A O T Agententechnologien in der Telekommunikation - 4 TU Berlin Authorization Ö Is the process of enforcing policies. It determines what types or qualities of network resources or specific services the user is permitted. Ö By using the access policy defined for a specific user, the service provider grants or rejects the access requests from the user. Ö Access policy could be applied on a per user or group basis. A O T Agententechnologien in der Telekommunikation - 5 TU Berlin Accounting Ö Is the process of keeping track of what the user is doing. Ö It includes: Amount of the time spent in the network (duration of session) Number of packets(or bytes) transmitted during a session. The accessed services during a session. Ö It may be used for: Billing Trend analysis Capacity planning and resource utilization Auditing A O T Agententechnologien in der Telekommunikation - 6 TU Berlin History of AAA Ö 1950’s/60’s: Classic Login Good old terminal logins on mainframes Ö 1993: TACACS (RFC 1492) Terminal Access Controller Access-Control System (TACACS) was originally designed to handle the access control in ARPANET. XTACACS is the extended version introduced by Cisco. The current version TACACS+ is an entirely new protocol and not compatible with older versions. Ö 1997: RADIUS (RFC 2058/2138/2865) Ö 1998: Diameter Framework Document (Internet Draft) Ö 2003: Diameter Base Protocol (RFC 3588) Ö 2005: Diameter Mobile IPv4 Application (RFC 4004) A O T Agententechnologien in der Telekommunikation - 7 TU Berlin IRTF AAA Research Group Ö The Authentication, Authorization and Accounting Working Group focused on the development of requirements for Authentication, Authorization and Accounting as applied to network access. Ö Archive available under http://www.aaaarch.org/ Ö Major RFCs: RFC 2903 Generic AAA Architecture RFC 2904 AAA Authorization Framework RFC 2905 AAA Authorization Application Examples RFC 2906 AAA Authorization Requirements A O T Agententechnologien in der Telekommunikation - 8 TU Berlin Overview A O T Agententechnologien in der Telekommunikation - 9 TU Berlin AAA Architecture A O T Agententechnologien in der Telekommunikation - 10 TU Berlin AAA Components Ö End-User: Establishes a connection to the NAS via PPP and sends his credentials to it. Ö AAA Client: Gets the requests from the end-user and communicates via RADIUS protocol with AAA server. If the user could not be authenticated locally via PAP (Password Authentication Protocol) or CHAP (Challenge Handshake Authentication Protocol), the AAA client sends a request to the AAA server. Ö AAA Server: The user data are stored in a database, LDAP directory or a text file. A O T Agententechnologien in der Telekommunikation - 11 TU Berlin Flow of AAA Communication A O T Agententechnologien in der Telekommunikation - 12 TU Berlin Flow of AAA Communication 1) In order to establish a connection with the network, the user sends his credentials to the AAA client. 2) The AAA client sends an Access-Request including user’s data to the AAA server. 3) The AAA server verifies the user’s credentials. In the case of successful authentication it replies with an Access-Accept otherwise with an Access-Reject. 4) The accounting data are sent to the AAA server after the user’s log-in and log-off. Other service related information could be also sent to the AAA server. A O T Agententechnologien in der Telekommunikation - 13 TU Berlin AAA Failover Ö For the sake of failover the administrator can define a list of AAA servers. t If the R1-Server responds with the PASS to the authentication request, then the access is granted. t If the R1- Server responds with the FAIL to the authentication request, then the access is rejected. t If there is no response at all from R1-Server, then the R2-Server is contacted. A O T Agententechnologien in der Telekommunikation - 14 TU Berlin Authorization Sequences Ö There are three types of communication relationships between the AAA components (in RFC 2904 as Single Domain Case Message Sequences): 1) Agent Sequence 2) Pull Sequence 3) Push Sequence A O T Agententechnologien in der Telekommunikation - 15 TU Berlin Agent Sequence 1) The user sends a request to the AAA-Server 2) The AAA-Server authenticates the user and verifies whether the user is authorized for the service and requests the service from the service provider. 3) The service provider accepts the request. 4) The AAA-Server lets the user know that the access to service is granted. A O T Agententechnologien in der Telekommunikation - 16 TU Berlin Pull Sequence 1) The user asks the AAA-Server directly for the service. 2) The service provider authenticates the user and verifies user’s credentials via AAA- Server. 3) The AAA-Server sends back the result. 4) The service provider provides the service. A O T Agententechnologien in der Telekommunikation - 17 TU Berlin Push Sequence 1) The user is directly authenticated by the AAA-Server 2) The AAA-Server issues a signed ticket containing the authorization details. 3) The user presents the ticket to the service provider. 4) The service provider provides the service. A O T Agententechnologien in der Telekommunikation - 18 TU Berlin Overview A O T Agententechnologien in der Telekommunikation - 19 TU Berlin AAA in CDMA A O T Agententechnologien in der Telekommunikation - 20 TU Berlin AAA in CDMA Ö Access Network AAA: Enables authentication and authorization functions at the AN. Ö Broker AAA: Acts as an intermediary to proxy AAA traffic between roaming partner networks. (i.e., home network and serving network) Ö Home AAA: The H-AAA is similar to the HLR in voice. The H-AAA stores user profile information, responds to authentication requests, and collects accounting information. Ö Visited AAA: The V-AAA communicates with the H-AAA. Authentication requests and accounting information are forwarded by the V-AAA to the H-AAA, either directly or through a B-AAA. A O T Agententechnologien in der Telekommunikation - 21 TU Berlin Overview A O T Agententechnologien in der Telekommunikation - 22 TU Berlin RADIUS History Ö 1991: Originally specified by Merit Network to control dial-in access to NSFNET. Ö 1993: First RADIUS server developed by Livingston Enterprises. Ö 1996: IETF formalized Livingston’s work in 1996 by appointing RADIUS WG (Working Group). Ö 1997: First RADIUS RFC (RFC 2058) Ö 2001: RADIUS and IPv6 (RFC 3162) Ö 2008: RADIUS Extension for Digest Authentication (RFC 5090) A O T Agententechnologien in der Telekommunikation - 23 TU Berlin RADIUS Functionality Ö Basics: RADIUS is a client/server protocol that runs in the application layer, using UDP as transport. Ö Client-server-based operations: A RADIUS client resides on a NAS (e.g. WLAN access point, Foreign Agent, GGSN) collects user’s requests and forwards them to the RADIUS server. The RADIUS server may handle them locally or acts as a proxy for another RADIUS server. Ö Network Security: The communication between a RADIUS client and server is authenticated by a shared secret key that is never sent over the network. The passwords are obfuscated using shared secrets along with the MD5 hashing algorithm. A O T Agententechnologien in der Telekommunikation - 24 TU Berlin RADIUS Functionality Ö Authentication Methods: RADIUS supports a wide range of authentication methods like PAP (Password Authentication Protocol), CHAP (Challenge Handshake Authentication Protocol) and EAP (Extended Authentication Protocol). Ö Attribute Value Pairs (AVP): Transports AAA information in a RADIUS message. New attributes could be added. A O T Agententechnologien in der Telekommunikation - 25 TU Berlin RADIUS Packet 1 Ö Code: determines the type of message. Ö Identifier: helps to match requests and replies. Ö Length: indicates the length of the entire RADIUS packet. A O T Agententechnologien in der Telekommunikation - 26 TU Berlin RADIUS Packet 2 Ö Authenticator: is used to authenticate the reply from the RADIUS server, and is used in encrypting passwords. Ö Attributes: contains the AAA information and configuration details regarding the requests/responses. A O T Agententechnologien in der Telekommunikation - 27 TU Berlin Major RADIUS Codes A O T Agententechnologien in der Telekommunikation - 28 TU Berlin Attribute-Value Pair (AVP) A O T Agententechnologien in der Telekommunikation - 29 TU Berlin RADIUS Example – ISP Dial-In 1) User initiates PPP authentication to the NAS. 2) NAS prompts for username and password (if PAP) or challenge (if CHAP). 3) User replies. 4) RADIUS client sends username and encrypted password to the server. 5) RADIUS server responds with Accept, Reject, or Challenge. 6) The RADIUS client acts upon services parameters bundled with response. A O T Agententechnologien in der Telekommunikation - 30 TU Berlin Overview A O T Agententechnologien in der Telekommunikation - 31 TU Berlin Extensible Authentication Protocol (EAP) Ö Is a authentication framework used in wireless networks and PPP connections. Ö IETF Standard (defined in RFC 3748) Ö It runs directly over data link layers such as PPP or IEEE 802.