Achieving Nomadicity: Accessing the Internet Anytime, Anywhere
Rather than focusing on keeping sessions alive, nomadicity is about being able to use the Internet and its services, regardless of location and time. The biggest challenge in gaining ubiquitous access is to be able to use networks and services that are not controlled by the operator that the user has a subscription with. This chapter explains the key concepts that make it possible for users and devices to gain access to IP networks and IP-based applications that are offered by others than their own operator. Nomadic or roaming use of the Internet refers to a usage pattern in which network connectivity is not available (or used) on a permanent basis, but rather intermittently and opportunistically. In other words, no session persistency at the transport layer is assumed. Therefore, this chapter does not cover Layer 2 or Layer 3 mobility, which are part of subsequent chapters. In particular, this chapter will not discuss roaming within the network of a cellular operator because that is based on Layer 2 roaming.
The basis of all Internet communications is, obviously, getting access to the Internet in the first place. In a local environment, getting access might be as simple as plugging an unshielded twisted-pair (UTP) cable into a wall outlet. As organizations grow bigger, in particular when wireless technologies are deployed or when users need to access the network from outside their own organization, security based on the ability to enter a particular building is no longer sufficient. There is a need to control access to the local network and the Internet in a scalable and efficient way.
A similar reasoning holds for application access. Users need to be able to access their networked applications, regardless of where they are. An increasingly popular phenomenon is that of offering applications "in the cloud," meaning that the application is hosted or offered by a third party somewhere on the Internet.
These are examples of the need for authentication, authorization, and accounting (AAA) mechanisms to control which persons or devices can gain access to the network and what they are allowed to do on that network. This chapter explains those mechanisms as well as the associated opportunities and challenges that come with that ability, in particular in a roaming situation.
Authentication and Authorization
A central concept for access to networks and applications is that of the digital identity—the digital representation of users or devices. The digital identity is usually associated with a unique identifier (such as a number or a name).
Authentication establishes the link between actual persons or devices and their digital representation. In other words, by successfully authenticating yourself, you prove to the network or the application that you are who you claim to be. After successful authentication, the network or the application then decides, based on policies that the operator or owner of the application has defined, what resources you get access to—the authorization.
As you can imagine, operators that often have millions of subscribers need to have sophisticated systems to keep track of all these subscribers and to provide adequate mechanisms for provisioning and deprovisioning, billing, authentication, and other services that are available to the subscribers. The servers that perform these tasks are generally referred to as AAA servers (pronounced triple A servers). As you will see in the sections that follow, in different domains, different types of electronic identifiers are used, which results in interoperability challenges. For example, the identifier that is used to gain access to a Long Term Evolution (LTE) network cannot be used just like that to gain access to a Wi-Fi network.
Authentication and Authorization in LTE
There are many types of cellular networks in use today. Standardization takes place in the Third Generation Partnership Project (3GPP)1 and 3GPP22 (focusing mainly on the North American market). Instead of describing all the generations (1G, 2G, 2.5G, 3G, and 4G) and all the standards in those generations (CDMA, CDMA2000, EV-DO, HSDPA, GSM, UMTS, and many more) that all come with slightly different authentication methods and various roaming capabilities, this section provides a description of the LTE system for two main reasons:
- LTE is the technology that gains support from most mobile operators as the technology of choice for their future networks.
- LTE is the cellular technology that provides the most comprehensive system for roaming with other cellular but also noncellular network technologies.
Strictly speaking, LTE is only the radio access network technology. The core network architecture goes by the name System Architecture Evolution (SAE) and defines the Evolved Packet Core (EPC), the fixed part of a mobile operator network. But what is commonly referred to as LTE encompasses both the radio and the fixed network. This chapter will follow that convention.
Figure 3-1 shows the various components in an LTE network; these are defined in the list that follows. Chapter 4, "Data Link Layer Mobility," describes the EPC and its associated mobility protocol in more detail.
Figure 3-1 LTE Architecture
- The user equipment (UE) is the mobile device.
- The eNodeB is the access point to which the terminal connects through the wireless network and that is connected to the EPC.
- The Mobile Management Entity (MME) is the central control component in the EPC, and it is responsible for authenticating the user (by interfacing with the HSS—see the later bullet), assigning temporary identifiers to the terminals, roaming authorization, and lawful intercept.
- The Serving Gateway (Serving GW) routes packets to and from other 3GPP networks (General Packet Radio Service [GPRS], Universal Mobile Telecommunications System [UMTS]) and is a transient mobility anchor for the UE in those networks.
- The Packet Data Network Gateway (PDN GW) performs the routing to and from non-3GPP networks (like Wi-Fi, Code Division Multiple Access [CDMA] 1X, Evolution-Data-Optimized [EVDO], and WiMAX) and is the permanent mobility anchor for the UE roaming with those networks—in other words, the IP point of attachment.
- The Home Subscriber Server (HSS) contains the database with all subscriber data and is used to perform authentication and authorization as well as to provide user location.
The 3GPP specifications3 define a number of identifiers to be used in cellular networks, the most important of which are those that identify, respectively, a user, a user subscription, and a device.
The International Mobile Subscriber Identity (IMSI) identifies users. The IMSI conforms to the ITU E.212 numbering standard and is usually 15 digits long (but can be shorter) and consists of a country code, a network operator code, and a mobile subscriber identity. The IMSI is stored in the SIM card and is used as the index key for subscriber data in the HSS, a database containing the data of all subscribers and the services they are entitled to. For privacy reasons, the IMSI is sent as little as possible over the network. Instead, after successful authentication, a temporary identifier, the Temporary Mobile Subscriber Identity (TMSI), is used.
An identifier called the Mobile Subscriber ISDN Number (MSISDN) is the phone number that corresponds with the SIM card in a mobile phone of a user. An MSISDN conforms to the ITU E.164 numbering standard and contains 15 digits that identify the country code, the network operator, and the subscriber.
Finally, the International Mobile Equipment Identity (IMEI) identifies the mobile device itself (not the SIM card inside).
Using the Authentication and Key Agreement (AKA) protocol defined in RFC 33104, a user authenticates to 3G and 4G networks and vice versa. The AKA procedure is a challenge-response mechanism based on a shared key that is stored on the SIM card of the terminal and in the Authentication Center (AuC) that is part of the HSS (in LTE) or HLR (in 3G). This shared key is used as input to algorithms to calculate other keys that are used for integrity (IK) and confidentiality (CK) protection of the data and for calculating the response to the challenge sent in the AKA.
Figure 3-2 and the list that follows show how the AKA procedure works in LTE. (Incidentally, UMTS networks also use the AKA.)
Figure 3-2 AKA Authentication
- A shared secret (Ki) is defined beforehand and stored in both the SIM card and the Authentication Center (part of the HSS).
- The terminal sends an Attach Request to the MME containing the IMSI or TMSI of the user.
- The MME requests authentication information from the HSS.
- The Authentication Center function in the HSS takes a random challenge (RAND), uses the shared key Ki that is associated with the IMSI to calculate the expected response (XRES) to that challenge, as well as CK and IK, and sends an authentication vector (AV) containing RAND, XRES, CK, and IK as well as the authentication token (AUTN) used by the SIM for authenticating the network to the UE.
- The MME then sends an authentication request to the terminal containing the RAND and AUTN. The SIM authenticates the network by verifying the AUTN and calculates the CK and IK, as well as the response (RES) to the challenge RAND using the same algorithms the HSS used.
- The RES is sent to the MME and compared with the XRES. If the RES and XRES match, the terminal gets access.
Authentication and Authorization in Wi-Fi Networks
As described in the sections that follow, authentication for Wi-Fi networks typically comes in two flavors—captive portals and IEEE 802.1X.
With the captive portal approach, the device gets access to the local wireless IP network only. Whenever the user requests a web page outside the local network, the captive portal captures that request (hence the name) and instead shows a login page in which the user enters his or her username and password or credit card details. The user credentials are verified in some kind of user database, and upon successful verification, the user then gets access to the Internet. User identifiers take the form of a username.
802.1X and EAP
The IEEE 802.1X standard defines a framework for access control to a local-area network by encapsulating Extensible Authentication Protocol (EAP) messages. Wireless security standards such as WPA (Wi-Fi Protected Access) and WPA2 use 802.1X and EAP.
Figure 3-3 illustrates an 802.1X authentication. 802.1X defines three entities:
- The supplicant is a piece of code that runs on the user device.
- The authenticator is the device that gives the device network access; in Wi-Fi, this is the access point.
- The authentication server (typically a RADIUS server) verifies the user credentials in some sort of user database and informs the authenticator of the outcome.
Figure 3-3 802.1X Authentication Example of Student Gaining Access to the Campus Cetwork (Courtesy of SURFnet)
The user identifier usually takes the form of a Network Access Identifier5 (NAI), an identifier of the form username@realm, where the realm stands for the administrative domain to which the user belongs.
User credentials are transported to the authentication server by using the EAP6, a generic framework for forwarding encapsulated authentication data. EAP allows many types of credentials to be used, including username/password combinations, X.509 certificates, and others.
Figure 3-4 shows the EAP architecture. Between the supplicant and the authenticator, the EAP messages are encapsulated in Ethernet frames (EAP over LAN). Between the authenticator and the authentication server, EAP is usually encapsulated in RADIUS (or alternatively Diameter).
Figure 3-4 EAP Message Communication
EAP methods define how authentication data should be encapsulated into EAP messages. Many different EAP methods exist. A number of EAP methods support confidentiality of user credentials in transit between the supplicant and authentication server. This means that neither the authenticator nor other network elements in the path between supplicant and authentication server can eavesdrop on the user credentials. In Wi-Fi networks, EAP-TTLS,7 PEAP,8 and EAP-FAST9 are mainly used. All of these protect the user credentials against eavesdropping and allow mutual authentication of supplicant and authentication server. For roaming between cellular networks and Wi-Fi networks, EAP-AKA can be used, as discussed in the section "Non-3GPP Access," later in this chapter.
Authentication and Authorization for Internet Applications
Authentication for network access is relatively difficult because there is no IP connectivity yet, so special protocols like 802.1X need to be used to transport user credentials to the authentication server. But as you saw in Chapter 2, "page 13," after you have IP connectivity, the sky is the limit. Therefore, it is hard to say anything in general about authentication for networked applications. Many different protocols exist, such as Kerberos, NT LAN Manager (NTLM), HTTP Basic Authentication, and so on. Also, every possible authentication method, ranging from username/password combinations and one-time passwords to smartcard authentication, exists and is in use. For web-based applications, the most common one is still username/password over (hopefully) a Secure Socket Layer (SSL) connection.