| EAP-Success |
|<------------------------------------------------------|
Figure 1: EAP-AKA full authentication procedure
Figure 2 shows how the EAP server rejects the Peer due to a failed
authentication.
Peer Authenticator
| EAP-Request/Identity |
|<------------------------------------------------------|
| |
| EAP-Response/Identity |
| (Includes user’s NAI) |
|------------------------------------------------------>|
| +------------------------------+
| | Server runs AKA algorithms, |
| | generates RAND and AUTN. |
| +------------------------------+
| EAP-Request/AKA-Challenge |
| (AT_RAND, AT_AUTN, AT_MAC) |
|<------------------------------------------------------|
+-------------------------------------+ |
| Peer runs AKA algorithms, | |
| possibly verifies AUTN, and sends an| |
| invalid response | |
+-------------------------------------+ |
| EAP-Response/AKA-Challenge |
| (AT_RES, AT_MAC) |
|------------------------------------------------------>|
| +------------------------------------------+
| | Server checks the given RES and the MAC, |
| | and finds one of them incorrect. |
| +------------------------------------------+
| EAP-Request/AKA-Notification |
|<------------------------------------------------------|
| EAP-Response/AKA-Notification |
|------------------------------------------------------>|
| EAP-Failure |
|<------------------------------------------------------|
Figure 2: Peer authentication fails
Figure 3 shows the peer rejecting the AUTN of the EAP server.
The peer sends an explicit error message (EAP-Response/
AKA-Authentication-Reject) to the EAP server, as usual in AKA when
AUTN is incorrect. This allows the EAP server to produce the same
error statistics that AKA generally produces in UMTS or CDMA2000.
Peer Authenticator
| EAP-Request/Identity |
|<------------------------------------------------------|
| EAP-Response/Identity |
| (Includes user’s NAI) |
|------------------------------------------------------>|
| +------------------------------+
| | Server runs AKA algorithms, |
| | generates RAND and a bad AUTN|
| +------------------------------+
| EAP-Request/AKA-Challenge |
| (AT_RAND, AT_AUTN, AT_MAC) |
|<------------------------------------------------------|
+-------------------------------------+ |
| Peer runs AKA algorithms | |
| and discovers AUTN that can not be | |
| verified | |
+-------------------------------------+ |
| EAP-Response/AKA-Authentication-Reject |
|------------------------------------------------------>|
| EAP-Failure |
|<------------------------------------------------------|
Figure 3: Network authentication fails
The AKA uses shared secrets between the Peer and the Peer’s home
operator, together with a sequence number, to actually perform an
authentication. In certain circumstances, shown in Figure 4, it is
possible for the sequence numbers to get out of sequence.
Peer Authenticator
| EAP-Request/Identity |
|<------------------------------------------------------|
| EAP-Response/Identity |
| (Includes user’s NAI) |
|------------------------------------------------------>|
| +------------------------------+
| | Server runs AKA algorithms, |
| | generates RAND and AUTN. |
| +------------------------------+
| EAP-Request/AKA-Challenge |
| (AT_RAND, AT_AUTN, AT_MAC) |
|<------------------------------------------------------|
+-------------------------------------+ |
| Peer runs AKA algorithms | |
| and discovers AUTN that contains an | |
| inappropriate sequence number | |
+-------------------------------------+ |
| EAP-Response/AKA-Synchronization-Failure |
| (AT_AUTS) |
|------------------------------------------------------>|
| +---------------------------+
| | Perform resynchronization |
| | Using AUTS and |
| | the sent RAND |
| +---------------------------+
| |
Figure 4: Sequence number synchronization
After the resynchronization process has taken place in the server and
AAA side, the process continues by the server side sending a new
EAP-Request/AKA-Challenge message.
In addition to the full authentication scenarios described above,
EAP-AKA includes a fast re-authentication procedure, which is
specified in Section 5. Fast re-authentication is based on keys
derived on full authentication. If the peer has maintained state
information for re-authentication and wants to use fast
re-authentication, then the peer indicates this by using a specific
fast re-authentication identity instead of the permanent identity or
a pseudonym identity.
4. Operation
4.1. Identity Management
4.1.1. Format, Generation, and Usage of Peer Identities
4.1.1.1. General
In the beginning of EAP authentication, the Authenticator or the EAP
server usually issues the EAP-Request/Identity packet to the peer.
The peer responds with EAP-Response/Identity, which contains the
user’s identity. The formats of these packets are specified in
[RFC3748].
Subscribers of mobile networks are identified with the International
Mobile Subscriber Identity (IMSI) [TS23.003]. The IMSI is a string
of not more than 15 digits. It is composed of a Mobile Country Code
(MCC) of 3 digits, a Mobile Network Code (MNC) of 2 or 3 digits, and
a Mobile Subscriber Identification Number (MSIN) of not more than 10
digits. MCC and MNC uniquely identify the GSM operator and help
identify the AuC from which the authentication vectors need to be
retrieved for this subscriber.
Internet AAA protocols identify users with the Network Access
Identifier (NAI) [RFC4282]. When used in a roaming environment, the
NAI is composed of a username and a realm, separated with "@"
(username@realm). The username portion identifies the subscriber
within the realm.
This section specifies the peer identity format used in EAP-AKA. In
this document, the term identity or peer identity refers to the whole
identity string that is used to identify the peer. The peer identity
may include a realm portion. "Username" refers to the portion of the
peer identity that identifies the user, i.e., the username does not
include the realm portion.
4.1.1.2. Identity Privacy Support
EAP-AKA includes optional identity privacy (anonymity) support that
can be used to hide the cleartext permanent identity and thereby make
the subscriber’s EAP exchanges untraceable to eavesdroppers. Because
the permanent identity never changes, revealing it would help
observers to track the user. The permanent identity is usually based
on the IMSI, which may further help the tracking, because the same
identifier may be used in other contexts as well. Identity privacy
is based on temporary identities, or pseudonyms, which are equivalent
to but separate from the Temporary Mobile Subscriber Identities
(TMSI) that are used on cellular networks. Please see Section 12.1
for security considerations regarding identity privacy.
4.1.1.3. Username Types in EAP-AKA Identities
There are three types of usernames in EAP-AKA peer identities:
(1) Permanent usernames. For example,
0123456789098765@myoperator.com might be a valid permanent identity.
In this example, 0123456789098765 is the permanent username.
(2) Pseudonym usernames. For example, 2s7ah6n9q@myoperator.com might
be a valid pseudonym identity. In this example, 2s7ah6n9q is the
pseudonym username.
(3) Fast re-authentication usernames. For example,
43953754@myoperator.com might be a valid fast re-authentication
identity. In this case, 43953754 is the fast re-authentication
username. Unlike permanent usernames and pseudonym usernames, fast
re-authentication usernames are one-time identifiers, which are not
re-used across EAP exchanges.
The first two types of identities are used only on full
authentication, and the last type only on fast re-authentication.
When the optional identity privacy support is not used, the
non-pseudonym permanent identity is used on full authentication. The
fast re-authentication exchange is specified in Section 5.
4.1.1.4. Username Decoration
In some environments, the peer may need to decorate the identity by
prepending or appending the username with a string, in order to
indicate supplementary AAA routing information in addition to the NAI
realm. (The usage of an NAI realm portion is not considered to be
decoration.) Username decoration is out of the scope of this
document. However, it should be noted that username decoration might
prevent the server from recognizing a valid username. Hence,
although the peer MAY use username decoration in the identities that
the peer includes in EAP-Response/Identity, and although the EAP
server MAY accept a decorated peer username in this message, the peer
or the EAP server MUST NOT decorate any other peer identities that
are used in various EAP-AKA attributes. Only the identity used in
EAP-Response/Identity may be decorated.
4.1.1.5. NAI Realm Portion
The peer MAY include a realm portion in the peer identity, as per the
NAI format. The use of a realm portion is not mandatory.
If a realm is used, the realm MAY be chosen by the subscriber’s home
operator and it MAY be a configurable parameter in the EAP-AKA peer
implementation. In this case, the peer is typically configured with
the NAI realm of the home operator. Operators MAY reserve a specific
realm name for EAP-AKA users. This convention makes it easy to
recognize that the NAI identifies an AKA subscriber. Such a reserved
NAI realm may be useful as a hint of the first authentication method
to use during method negotiation. When the peer is using a pseudonym
username instead of the permanent username, the peer selects the
realm name portion similarly to how it selects the realm portion when
using the permanent username.
If no configured realm name is available, the peer MAY derive the
realm name from the MCC and MNC portions of the IMSI. A RECOMMENDED
way to derive the realm from the IMSI, using the realm
3gppnetwork.org, will be specified in [TS23.003].
Some old implementations derive the realm name from the IMSI by
concatenating "mnc", the MNC digits of IMSI, ".mcc", the MCC digits
of IMSI, and ".owlan.org". For example, if the IMSI is
123456789098765, and the MNC is three digits long, then the derived
realm name is "mnc456.mcc123.owlan.org". As there are no DNS servers
running at owlan.org, these realm names can only be used with
manually configured AAA routing. New implementations SHOULD use the
mechanism specified in [TS23.003] instead of owlan.org.
The IMSI is a string of digits without any explicit structure, so the
peer may not be able to determine the length of the MNC portion. If
the peer is not able to determine whether the MNC is two or three
digits long, the peer MAY use a 3-digit MNC. If the correct length
of the MNC is two, then the MNC used in the realm name includes the
first digit of MSIN. Hence, when configuring AAA networks for
operators that have 2-digit MNC’s, the network SHOULD also be
prepared for realm names with incorrect 3-digit MNC’s.
4.1.1.6. Format of the Permanent Username
The non-pseudonym permanent username SHOULD be derived from the IMSI.
In this case, the permanent username MUST be of the format "0" |
IMSI, where the character "|" denotes concatenation. In other words,
the first character of the username is the digit zero (ASCII value 30
hexadecimal), followed by the IMSI. The IMSI is an ASCII string that
consists of not more than 15 decimal digits (ASCII values between 30
and 39 hexadecimal), one character per IMSI digit, in the order as
specified in [TS23.003]. For example, a permanent username derived
from the IMSI 295023820005424 would be encoded as the ASCII string
"0295023820005424" (byte values in hexadecimal notation: 30 32 39 35
30 32 33 38 32 30 30 30 35 34 32 34)
The EAP server MAY use the leading "0" as a hint to try EAP-AKA as
the first authentication method during method negotiation, rather
than using, for example, EAP-SIM. The EAP-AKA server MAY propose
EAP-AKA even if the leading character was not "0".
Alternatively, an implementation MAY choose a permanent username that
is not based on the IMSI. In this case the selection of the
username, its format, and its processing is out of the scope of this
document. In this case, the peer implementation MUST NOT prepend any
leading characters to the username.
4.1.1.7. Generating Pseudonyms and Fast Re-Authentication Identities by
the Server
Pseudonym usernames and fast re-authentication identities are
generated by the EAP server. The EAP server produces pseudonym
usernames and fast re-authentication identities in an
implementation-dependent manner. Only the EAP server needs to be
able to map the pseudonym username to the permanent identity, or to
recognize a fast re-authentication identity.
EAP-AKA includes no provisions to ensure that the same EAP server
that generated a pseudonym username will be used on the
authentication exchange when the pseudonym username is used. It is
recommended that the EAP servers implement some centralized mechanism
to allow all EAP servers of the home operator to map pseudonyms
generated by other severs to the permanent identity. If no such
mechanism is available, then the EAP server, failing to understand a
pseudonym issued by another server, can request the peer to send the
permanent identity.
When issuing a fast re-authentication identity, the EAP server may
include a realm name in the identity that will cause the fast
re-authentication request to be forwarded to the same EAP server.
When generating fast re-authentication identities, the server SHOULD
choose a fresh, new fast re-authentication identity that is different
from the previous ones that were used after the same full
authentication exchange. A full authentication exchange and the
associated fast re-authentication exchanges are referred to here as
the same "full authentication context". The fast re-authentication
identity SHOULD include a random component. The random component
works as a full authentication context identifier. A context-
specific fast re-authentication identity can help the server to
detect whether its fast re-authentication state information matches
the peer’s fast re-authentication state information (in other words,
whether the state information is from the same full authentication
exchange). The random component also makes the fast re-
authentication identities unpredictable, so an attacker cannot
initiate a fast re-authentication exchange to get the server’s
EAP-Request/AKA-Reauthentication packet.
Transmitting pseudonyms and fast re-authentication identities from
the server to the peer is discussed in Section 4.1.1.8. The
pseudonym is transmitted as a username, without an NAI realm, and the
fast re-authentication identity is transmitted as a complete NAI,
including a realm portion if a realm is required. The realm is
included in the fast re-authentication identity in order to allow the
server to include a server-specific realm.
Regardless of construction method, the pseudonym username MUST
conform to the grammar specified for the username portion of an NAI.
Also, the fast re-authentication identity MUST conform to the NAI
grammar. The EAP servers that the subscribers of an operator can use
MUST ensure that the pseudonym usernames and the username portions
used in fast re-authentication identities that they generate are
unique.
In any case, it is necessary that permanent usernames, pseudonym
usernames, and fast re-authentication usernames are separate and
recognizable from each other. It is also desirable that EAP-SIM and
EAP-AKA usernames be recognizable from each other as an aid to the
server when deciding which method to offer.
In general, it is the task of the EAP server and the policies of its
administrator to ensure sufficient separation of the usernames.
Pseudonym usernames and fast re-authentication usernames are both
produced and used by the EAP server. The EAP server MUST compose
pseudonym usernames and fast re-authentication usernames so that it
can recognize if an NAI username is an EAP-AKA pseudonym username or
an EAP-AKA fast re-authentication username. For instance, when the
usernames have been derived from the IMSI, the server could use
different leading characters in the pseudonym usernames and fast
re-authentication usernames (e.g., the pseudonym could begin with a
leading "2" character). When mapping a fast re-authentication
identity to a permanent identity, the server SHOULD only examine the
username portion of the fast re-authentication identity and ignore
the realm portion of the identity.
Because the peer may fail to save a pseudonym username that was sent
in an EAP-Request/AKA-Challenge (for example, due to malfunction),
the EAP server SHOULD maintain, at least, the most recently used
pseudonym username in addition to the most recently issued pseudonym
username. If the authentication exchange is not completed
successfully, then the server SHOULD NOT overwrite the pseudonym
username that was issued during the most recent successful
authentication exchange.
4.1.1.8. Transmitting Pseudonyms and Fast Re-Authentication Identities
to the Peer
The server transmits pseudonym usernames and fast re-authentication
identities to the peer in cipher, using the AT_ENCR_DATA attribute.
The EAP-Request/AKA-Challenge message MAY include an encrypted
pseudonym username and/or an encrypted fast re-authentication
identity in the value field of the AT_ENCR_DATA attribute. Because
identity privacy support and fast re-authentication are optional to
implement, the peer MAY ignore the AT_ENCR_DATA attribute and always