authentication, authorization and accounting (aaa) … · terminal access controller access-control...

50
Agententechnologien in betrieblichen Anwendungen und der Telekommunikation A O T Authentication, Authorization and Accounting (AAA) Protocols Agententechnologien in der Telekommunikation Sommersemester 2009 10.06.2009 Babak Shafieian [email protected]

Upload: trannguyet

Post on 01-Aug-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Agententechnologien inbetrieblichen Anwendungenund der Telekommunikation

A O T

Authentication, Authorization and Accounting (AAA) Protocols

Agententechnologien in der Telekommunikation Sommersemester 2009

10.06.2009

Babak [email protected]

A O T TU BerlinAgententechnologien in der Telekommunikation - 2

Overview

A O T TU BerlinAgententechnologien in der Telekommunikation - 3

Motivation (Why AAA?)

Telecommunications services are a global market worth over US$ 1.5 trillion in revenue.

Voice over IP (VoIP)

Messaging/ Presence

Home Entertainment

Multimedia Conference

A O T TU BerlinAgententechnologien in der Telekommunikation - 4

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 TU BerlinAgententechnologien in der Telekommunikation - 5

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 TU BerlinAgententechnologien in der Telekommunikation - 6

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:BillingTrend analysisCapacity planning and resource utilizationAuditing

Accounting

A O T TU BerlinAgententechnologien in der Telekommunikation - 7

History of AAA

1950’s/60’s: Classic LoginGood 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 TU BerlinAgententechnologien in der Telekommunikation - 8

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 TU BerlinAgententechnologien in der Telekommunikation - 9

Overview

A O T TU BerlinAgententechnologien in der Telekommunikation - 10

AAA Architecture

A O T TU BerlinAgententechnologien in der Telekommunikation - 11

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 TU BerlinAgententechnologien in der Telekommunikation - 12

Flow of AAA Communication

A O T TU BerlinAgententechnologien in der Telekommunikation - 13

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 TU BerlinAgententechnologien in der Telekommunikation - 14

For the sake of failover the administrator can define a list of AAA servers.

If the R1-Server responds with the PASS to the authentication request, then the access is granted.If the R1- Server responds with the FAIL to the authentication request, then the access is rejected.If there is no response at all from R1-Server, then the R2-Server is contacted.

AAA Failover

A O T TU BerlinAgententechnologien in der Telekommunikation - 15

There are three types of communication relationships between theAAA components (in RFC 2904 as Single Domain Case Message Sequences):

1) Agent Sequence2) Pull Sequence3) Push Sequence

Authorization Sequences

A O T TU BerlinAgententechnologien in der Telekommunikation - 16

1) The user sends a request to the AAA-Server2) 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.

Agent Sequence

A O T TU BerlinAgententechnologien in der Telekommunikation - 17

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 TU BerlinAgententechnologien in der Telekommunikation - 18

Push Sequence

1) The user is directly authenticated by the AAA-Server2) 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 TU BerlinAgententechnologien in der Telekommunikation - 19

Overview

A O T TU BerlinAgententechnologien in der Telekommunikation - 20

AAA in CDMA

A O T TU BerlinAgententechnologien in der Telekommunikation - 21

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 TU BerlinAgententechnologien in der Telekommunikation - 22

Overview

A O T TU BerlinAgententechnologien in der Telekommunikation - 23

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 TU BerlinAgententechnologien in der Telekommunikation - 24

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 TU BerlinAgententechnologien in der Telekommunikation - 25

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 TU BerlinAgententechnologien in der Telekommunikation - 26

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 TU BerlinAgententechnologien in der Telekommunikation - 27

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 TU BerlinAgententechnologien in der Telekommunikation - 28

Major RADIUS Codes

A O T TU BerlinAgententechnologien in der Telekommunikation - 29

Attribute-Value Pair (AVP)

A O T TU BerlinAgententechnologien in der Telekommunikation - 30

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 TU BerlinAgententechnologien in der Telekommunikation - 31

Overview

A O T TU BerlinAgententechnologien in der Telekommunikation - 32

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.

It does not perform AAA tasks. It encapsulates third-party messages within its own messages, enabling client-server communication using any protocol.

Supports a wide range of authentication methods e.g. TLS, MD5, PSK (Pre-Shared Key), SIM (Subscriber Identity) and AKA (Authentication and Key Agreement).

A O T TU BerlinAgententechnologien in der Telekommunikation - 33

EAP Message Flow

A O T TU BerlinAgententechnologien in der Telekommunikation - 34

EAP Framework

A O T TU BerlinAgententechnologien in der Telekommunikation - 35

Overview

A O T TU BerlinAgententechnologien in der Telekommunikation - 36

Diameter

It is a successor to RADIUS and is backward compatible to it.

It was created to fix all the known RADIUS deficiencies.

The Diameter Base Protocol is defined by RFC 3588 (2003)

It can be extended to use it with new applications.

A O T TU BerlinAgententechnologien in der Telekommunikation - 37

New Functionalities

Reliable message transport via TCP or SCTP.

Server is able to initiate messages.

Vendor specific AVPs could be integrated.

Accounting information could be sent to the servers other than Authentication/Authorization Server.

Hop-by-hop and end-to-end security with IPsec or TLS.

Larger address space for attribute-value pairs (AVPs).

A O T TU BerlinAgententechnologien in der Telekommunikation - 38

Different services specified at each

layer interface

RADIUS vs. Diameter

Characteristic RADIUS Diameter

Strict limitation of attribute data

Only 1 byte reserved for the length of a data field (max. 255) in its attribute header

Reserves 2 bytes for its length of a data field (max. 16535)

Inefficient retransmission algorithm

Only 1 byte as identifier field to identify retransmissions. This limits the number of requests that can be pending (max. 255)

Reserved 4 bytes for this purpose (max. 2^32)

No failover server support

Server has no way of indicating that it is going down or is currently running.

Supports keep-alive messages and messages that indicate that a server is going down for a time period.

Hop-by-hop security Supports only hop-by-hop security; every hop can easily modify information that cannot be traced to its origin .

Supports end-to-end security, which guarantees that information cannot be modified without notice.

A O T TU BerlinAgententechnologien in der Telekommunikation - 39

...

Packet Format

A O T TU BerlinAgententechnologien in der Telekommunikation - 40

Source Destination

Diameter Design

Diameter is defined as a Base Protocol which could be extended to the set of applications.

A O T TU BerlinAgententechnologien in der Telekommunikation - 41

Mobile IPv4 Application: It allows a Diameter server to authenticate, authorize and collect accounting information for Mobile IPv4 services rendered to a mobile node.

Network Access Server Application (NASREQ): It is used for Authentication, Authorization, and Accounting (AAA) services in the Network Access Server (NAS) environment.

EAP Application: It defines the Command-Codes and AVPs necessary to carry EAP packets between a Network Access Server (NAS) and a back-end authentication server.

SIP Application: It provides a Diameter client co-located with a SIP server, with the ability to request the authentication of users and authorization of SIP resources usage from a Diameter server.

Diameter Applications

A O T TU BerlinAgententechnologien in der Telekommunikation - 42

Diameter Client: Performs the access control. E.g. Network Access Server (NAS) or Foreign Agent (FA).

Diameter Server: Handles authentication, authorization and accounting requests for a particular realm.

Relay Agent: Forwards the Diameter messages based on their information. Is able to modify routing information in the messages.

Proxy Agent: Forwards the Diameter messages. Is able to modify information in the messages.

Redirect Agent: Provides routing functionality. Acts as a centralized configuration repository for other Diameter nodes.

Translation Agent: Translates between different AAA protocols.

Diameter Nodes

A O T TU BerlinAgententechnologien in der Telekommunikation - 43

Message Flows

A O T TU BerlinAgententechnologien in der Telekommunikation - 44

Commands

Capabilities-Exchange-Request (CER): Is sent to exchange local capabilities.

Capabilities-Exchange-Answer (CEA): Is sent in response to a CER message.

Device-Watchdog-Request (DWR): Is sent to a peer when no traffic has been exchanged between two peers.

Device-Watchdog-Answer (DWA): Is sent as a response to the DWR message.

Disconnect-Peer-Request (DPR): Is sent to a peer to inform its intentions to shutdown the transport connection.

Disconnect-Peer-Answer (DPA): Is sent as a response to the DPR message.

A O T TU BerlinAgententechnologien in der Telekommunikation - 45

Major RFCs

RFC 3588: Diameter Base Protocol.

RFC 3589: Diameter Command Codes for Third Generation Partnership Project.

RFC 4004: Diameter Mobile IPv4 Application.

RFC 4005: Diameter Network Access Server Application.

RFC 4072: Diameter Extensible Authentication Protocol (EAP) Application.

RFC 4740: Diameter Session Initiation Protocol (SIP) Application.

RFC 5431: Diameter ITU-T Rw Policy Enforcement Interface Application.

RFC 5447: Diameter Mobile IPv6: Support for Network Access Server to Diameter Server Interaction.

A O T TU BerlinAgententechnologien in der Telekommunikation - 46

Overview

A O T TU BerlinAgententechnologien in der Telekommunikation - 47

Real Life Scenario - eMobility

A O T TU BerlinAgententechnologien in der Telekommunikation - 48

Real Life Scenario - eMobility

A O T TU BerlinAgententechnologien in der Telekommunikation - 49

Real Life Scenario - eMobility

A O T TU BerlinAgententechnologien in der Telekommunikation - 50

????????