| draft-arkko-pppext-eap-aka-08.txt | draft-arkko-pppext-eap-aka-09.txt | |
|---|---|---|
| J. Arkko | J. Arkko | |
| Internet Draft Ericsson | Internet Draft Ericsson | |
| Document: draft-arkko-pppext-eap-aka-08.txt H. Haverinen | Document: draft-arkko-pppext-eap-aka-09.txt H. Haverinen | |
| Expires: June 2003 Nokia | Expires: July 2003 Nokia | |
| January 2003 | February 2003 | |
| EAP AKA Authentication | EAP AKA Authentication | |
| Status of this Memo | Status of this Memo | |
| This document is an Internet-Draft and is subject to all provisions | This document is an Internet-Draft and is subject to all provisions | |
| of Section 10 of RFC2026. | of Section 10 of RFC2026. | |
| Skipping to change at page ?, line 47 from start of file: | ||
| Status of this Memo................................................1 | Status of this Memo................................................1 | |
| Abstract...........................................................1 | Abstract...........................................................1 | |
| 1. Introduction and Motivation.....................................2 | 1. Introduction and Motivation.....................................2 | |
| 2. Terms and Conventions Used in This Document.....................4 | 2. Terms and Conventions Used in This Document.....................4 | |
| 3. Protocol Overview...............................................6 | 3. Protocol Overview...............................................6 | |
| 4. Identity Management............................................10 | 4. Identity Management............................................10 | |
| 4.1. User Identity in EAP-Response/Identity.......................10 | 4.1. User Identity in EAP-Response/Identity.......................10 | |
| Arkko and Haverinen Expires in six months [Page 1] | Arkko and Haverinen Expires in six months [Page 1] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| 4.2. Obtaining Subscriber Identity via EAP AKA Messages...........12 | 4.2. Obtaining Subscriber Identity via EAP AKA Messages...........12 | |
| 4.3. Identity Privacy Support.....................................14 | 4.3. Identity Privacy Support.....................................15 | |
| 5. Re-authentication..............................................19 | 5. Re-authentication..............................................20 | |
| 6. Message Format.................................................25 | 6. Message Format.................................................26 | |
| 7. Message Authentication and Encryption..........................26 | 7. Message Authentication and Encryption..........................27 | |
| 7.1. AT_MAC Attribute.............................................26 | 7.1. AT_MAC Attribute.............................................27 | |
| 7.2. AT_IV, AT_ENCR_DATA and AT_PADDING Attributes................27 | 7.2. AT_IV, AT_ENCR_DATA and AT_PADDING Attributes................28 | |
| 8. Messages.......................................................28 | 8. Messages.......................................................29 | |
| 8.1. EAP-Request/AKA-Challenge....................................28 | 8.1. EAP-Request/AKA-Challenge....................................29 | |
| 8.2. EAP-Response/AKA-Challenge...................................32 | 8.2. EAP-Response/AKA-Challenge...................................33 | |
| 8.3. EAP-Response/AKA-Authentication-Reject.......................33 | 8.3. EAP-Response/AKA-Authentication-Reject.......................34 | |
| 8.4. EAP-Response/AKA-Synchronization-Failure.....................34 | 8.4. EAP-Response/AKA-Synchronization-Failure.....................35 | |
| 8.5. EAP-Request/AKA-Identity.....................................35 | 8.5. EAP-Request/AKA-Identity.....................................36 | |
| 8.6. EAP-Response/AKA-Identity....................................36 | 8.6. EAP-Response/AKA-Identity....................................37 | |
| 8.7. EAP-Request/AKA-Reauthentication.............................37 | 8.7. EAP-Request/AKA-Reauthentication.............................38 | |
| 8.8. EAP-Response/AKA-Reauthentication............................40 | 8.8. EAP-Response/AKA-Reauthentication............................41 | |
| 8.9. EAP/AKA Notifications........................................42 | 8.9. EAP/AKA Notifications........................................43 | |
| 9. Error Cases....................................................45 | 9. Error Cases....................................................46 | |
| 10. Key Derivation................................................45 | 10. Key Derivation................................................46 | |
| 11. IANA and Protocol Numbering Considerations....................47 | 11. IANA and Protocol Numbering Considerations....................48 | |
| 12. Security Considerations.......................................48 | 12. Security Considerations.......................................49 | |
| 12.1. Identity Protection.........................................48 | 12.1. Identity Protection.........................................49 | |
| 12.2. Mutual Authentication.......................................49 | 12.2. Mutual Authentication.......................................50 | |
| 12.3. Key Derivation..............................................49 | 12.3. Key Derivation..............................................50 | |
| 12.4. Brute-Force and Dictionary Attacks..........................49 | 12.4. Brute-Force and Dictionary Attacks..........................50 | |
| 12.5. Integrity Protection, Replay Protection and Confidentiality.49 | 12.5. Integrity Protection, Replay Protection and Confidentiality.50 | |
| 12.6. Negotiation Attacks.........................................50 | 12.6. Negotiation Attacks.........................................51 | |
| 12.7. Fast Reconnect..............................................50 | 12.7. Fast Reconnect..............................................51 | |
| 12.8. Acknowledged Result Indications.............................50 | 12.8. Acknowledged Result Indications.............................51 | |
| 12.9. Man-in-the-middle Attacks...................................50 | 12.9. Man-in-the-middle Attacks...................................51 | |
| 12.10. Generating Random Numbers..................................51 | 12.10. Generating Random Numbers..................................52 | |
| 13. Security Claims...............................................51 | 13. Security Claims...............................................52 | |
| 14. Intellectual Property Right Notices...........................51 | 14. Intellectual Property Right Notices...........................52 | |
| Acknowledgements and Contributions................................51 | Acknowledgements and Contributions................................53 | |
| Authors' Addresses................................................52 | Authors' Addresses................................................53 | |
| Annex A. Pseudo-Random Number Generator...........................54 | Annex A. Pseudo-Random Number Generator...........................54 | |
| 1. Introduction and Motivation | 1. Introduction and Motivation | |
| This document specifies an Extensible Authentication Protocol (EAP) | This document specifies an Extensible Authentication Protocol (EAP) | |
| mechanism for authentication and session key distribution using the | mechanism for authentication and session key distribution using the | |
| UMTS AKA authentication mechanism [1].UMTS is a global third | UMTS AKA authentication mechanism [1].UMTS is a global third | |
| generation mobile network standard. | generation mobile network standard. | |
| AKA is based on challenge-response mechanisms and symmetric | AKA is based on challenge-response mechanisms and symmetric | |
| cryptography. AKA typically runs in a UMTS Subscriber Identity | cryptography. AKA typically runs in a UMTS Subscriber Identity | |
| Module (USIM). Compared to the GSM mechanism, UMTS AKA provides | Module (USIM). Compared to the GSM mechanism, UMTS AKA provides | |
| substantially longer key lengths and mutual authentication. | substantially longer key lengths and mutual authentication. | |
| Arkko and Haverinen Expires in six months [Page 2] | Arkko and Haverinen Expires in six months [Page 2] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| The introduction of AKA inside EAP allows several new applications. | The introduction of AKA inside EAP allows several new applications. | |
| These include the following: | These include the following: | |
| - The use of the AKA also as a secure PPP authentication method in | - The use of the AKA also as a secure PPP authentication method in | |
| devices that already contain an USIM. | devices that already contain an USIM. | |
| - The use of the third generation mobile network authentication | - The use of the third generation mobile network authentication | |
| infrastructure in the context of wireless LANs and IEEE 802.1x | infrastructure in the context of wireless LANs and IEEE 802.1x | |
| technology through EAP over Wireless [2, 3]. | technology through EAP over Wireless [2, 3]. | |
| Skipping to change at page ?, line 158 from start of file: | ||
| values AUTN, RES, IK, CK and AUTS are calculated, see reference [1]. | values AUTN, RES, IK, CK and AUTS are calculated, see reference [1]. | |
| It is also possible that the home environment delegates the actual | It is also possible that the home environment delegates the actual | |
| authentication task to an intermediate node. In this case the | authentication task to an intermediate node. In this case the | |
| authentication vector or parts of it are delivered to the | authentication vector or parts of it are delivered to the | |
| intermediate node, enabling it to perform the comparison between RES | intermediate node, enabling it to perform the comparison between RES | |
| and XRES, and possibly also use CK and IK. Such delivery MUST be | and XRES, and possibly also use CK and IK. Such delivery MUST be | |
| Arkko and Haverinen Expires in six months [Page 3] | Arkko and Haverinen Expires in six months [Page 3] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| done in a secure manner. In EAP AKA, the EAP server node is such an | done in a secure manner. In EAP AKA, the EAP server node is such an | |
| intermediate node. | intermediate node. | |
| In the third generation mobile networks, AKA is used both for radio | In the third generation mobile networks, AKA is used both for radio | |
| network authentication and IP multimedia service authentication | network authentication and IP multimedia service authentication | |
| purposes. Different user identities and formats are used for these; | purposes. Different user identities and formats are used for these; | |
| the radio network uses the International Mobile Subscriber | the radio network uses the International Mobile Subscriber | |
| Identifier (IMSI), whereas the IP multimedia service uses the | Identifier (IMSI), whereas the IP multimedia service uses the | |
| Network Access Identifier (NAI) [4]. | Network Access Identifier (NAI) [4]. | |
| Skipping to change at page ?, line 214 from start of file: | ||
| Extensible Authentication Protocol [5]. | Extensible Authentication Protocol [5]. | |
| EAP server | EAP server | |
| The network element that terminates the EAP protocol. Typically, | The network element that terminates the EAP protocol. Typically, | |
| the EAP server functionality is implemented in a AAA server. | the EAP server functionality is implemented in a AAA server. | |
| Arkko and Haverinen Expires in six months [Page 4] | Arkko and Haverinen Expires in six months [Page 4] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| GSM | GSM | |
| Global System for Mobile communications. | Global System for Mobile communications. | |
| NAI | NAI | |
| Network Access Identifier [4]. | Network Access Identifier [4]. | |
| AUTN | AUTN | |
| Skipping to change at page ?, line 270 from start of file: | ||
| UMTS Subscriber Identity Module. USIM is an application that is | UMTS Subscriber Identity Module. USIM is an application that is | |
| resident e.g. on smart cards distributed by UMTS operators. | resident e.g. on smart cards distributed by UMTS operators. | |
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in | |
| this document are to be interpreted as described in RFC 2119 [6] | this document are to be interpreted as described in RFC 2119 [6] | |
| Arkko and Haverinen Expires in six months [Page 5] | Arkko and Haverinen Expires in six months [Page 5] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| 3. Protocol Overview | 3. Protocol Overview | |
| In this document, the term EAP Server refers to the network element | In this document, the term EAP Server refers to the network element | |
| that terminates the EAP protocol. Usually the EAP server is separate | that terminates the EAP protocol. Usually the EAP server is separate | |
| from the authenticator device, which is the network element closest | from the authenticator device, which is the network element closest | |
| to the client, such as a Network Access Server (NAS) or an IEEE | to the client, such as a Network Access Server (NAS) or an IEEE | |
| 802.1X bridge. Alternatively, the EAP server functionality may be | 802.1X bridge. Alternatively, the EAP server functionality may be | |
| co-located in the authenticator although typically, the EAP server | co-located in the authenticator although typically, the EAP server | |
| Skipping to change at page ?, line 317 from start of file: | ||
| The client runs the AKA algorithm (perhaps inside an USIM) and | The client runs the AKA algorithm (perhaps inside an USIM) and | |
| verifies the AUTN. If this is successful, the client is talking to a | verifies the AUTN. If this is successful, the client is talking to a | |
| legitimate EAP server and proceeds to send the EAP-Response/AKA- | legitimate EAP server and proceeds to send the EAP-Response/AKA- | |
| Challenge. This message contains a result parameter that allows the | Challenge. This message contains a result parameter that allows the | |
| EAP server in turn to authenticate the client, and the AT_MAC | EAP server in turn to authenticate the client, and the AT_MAC | |
| attribute to integrity protect the EAP message. | attribute to integrity protect the EAP message. | |
| Arkko and Haverinen Expires in six months [Page 6] | Arkko and Haverinen Expires in six months [Page 6] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Client Authenticator | Client Authenticator | |
| | | | | | | |
| | EAP-Request/Identity | | | EAP-Request/Identity | | |
| |<------------------------------------------------------| | |<------------------------------------------------------| | |
| | | | | | | |
| | EAP-Response/Identity | | | EAP-Response/Identity | | |
| | (Includes user's NAI) | | | (Includes user's NAI) | | |
| |------------------------------------------------------>| | |------------------------------------------------------>| | |
| | | | | | | |
| Skipping to change at page ?, line 364 from start of file: | ||
| The second message flow shows how the EAP server rejects the Client | The second message flow shows how the EAP server rejects the Client | |
| due to a failed authentication. The same flow is also used in the | due to a failed authentication. The same flow is also used in the | |
| GSM compatible mode, except that the AT_AUTN attribute and AT_MAC | GSM compatible mode, except that the AT_AUTN attribute and AT_MAC | |
| attribute are not used in the messages. | attribute are not used in the messages. | |
| Arkko and Haverinen Expires in six months [Page 7] | Arkko and Haverinen Expires in six months [Page 7] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Client Authenticator | Client Authenticator | |
| | | | | | | |
| | EAP-Request/Identity | | | EAP-Request/Identity | | |
| |<------------------------------------------------------| | |<------------------------------------------------------| | |
| | | | | | | |
| | EAP-Response/Identity | | | EAP-Response/Identity | | |
| | (Includes user's NAI) | | | (Includes user's NAI) | | |
| |------------------------------------------------------>| | |------------------------------------------------------>| | |
| | | | | | | |
| Skipping to change at page ?, line 419 from start of file: | ||
| error statistics as AKA in general produces in UMTS. Please note | error statistics as AKA in general produces in UMTS. Please note | |
| that this behavior is different from other EAP/AKA error cases, such | that this behavior is different from other EAP/AKA error cases, such | |
| as when encountering an incorrect AT_MAC attribute, the client | as when encountering an incorrect AT_MAC attribute, the client | |
| silently discards the EAP/AKA message. | silently discards the EAP/AKA message. | |
| Arkko and Haverinen Expires in six months [Page 8] | Arkko and Haverinen Expires in six months [Page 8] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Client Authenticator | Client Authenticator | |
| | | | | | | |
| | EAP-Request/Identity | | | EAP-Request/Identity | | |
| |<------------------------------------------------------| | |<------------------------------------------------------| | |
| | | | | | | |
| | EAP-Response/Identity | | | EAP-Response/Identity | | |
| | (Includes user's NAI) | | | (Includes user's NAI) | | |
| |------------------------------------------------------>| | |------------------------------------------------------>| | |
| | | | | | | |
| Skipping to change at page ?, line 461 from start of file: | ||
| The AKA uses shared secrets between the Client and the Client's home | The AKA uses shared secrets between the Client and the Client's home | |
| operator together with a sequence number to actually perform an | operator together with a sequence number to actually perform an | |
| authentication. In certain circumstances it is possible for the | authentication. In certain circumstances it is possible for the | |
| sequence numbers to get out of sequence. Here's what happens then: | sequence numbers to get out of sequence. Here's what happens then: | |
| Arkko and Haverinen Expires in six months [Page 9] | Arkko and Haverinen Expires in six months [Page 9] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Client Authenticator | Client Authenticator | |
| | | | | | | |
| | EAP-Request/Identity | | | EAP-Request/Identity | | |
| |<------------------------------------------------------| | |<------------------------------------------------------| | |
| | | | | | | |
| | EAP-Response/Identity | | | EAP-Response/Identity | | |
| | (Includes user's NAI) | | | (Includes user's NAI) | | |
| |------------------------------------------------------>| | |------------------------------------------------------>| | |
| | | | | | | |
| Skipping to change at page ?, line 519 from start of file: | ||
| support. | support. | |
| 4.1. User Identity in EAP-Response/Identity | 4.1. User Identity in EAP-Response/Identity | |
| In the beginning of an EAP authentication, the Authenticator issues | In the beginning of an EAP authentication, the Authenticator issues | |
| the EAP-Request/Identity packet to the client. The client responds | the EAP-Request/Identity packet to the client. The client responds | |
| with EAP-Response/Identity, which contains the user's identity. The | with EAP-Response/Identity, which contains the user's identity. The | |
| formats of these packets are specified in [5]. | formats of these packets are specified in [5]. | |
| Arkko and Haverinen Expires in six months [Page 10] | Arkko and Haverinen Expires in six months [Page 10] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| UMTS subscribers are identified with the International Mobile | UMTS subscribers are identified with the International Mobile | |
| Subscriber Identity (IMSI) [7]. The IMSI is composed of a three | Subscriber Identity (IMSI) [7]. The IMSI is composed of a three | |
| digit Mobile Country Code (MCC), a two or three digit Mobile Network | digit Mobile Country Code (MCC), a two or three digit Mobile Network | |
| Code (MNC) and a not more than 10 digit Mobile Subscriber | Code (MNC) and a not more than 10 digit Mobile Subscriber | |
| Identification Number (MSIN). In other words, the IMSI is a string | Identification Number (MSIN). In other words, the IMSI is a string | |
| of not more than 15 digits. MCC and MNC uniquely identify the | of not more than 15 digits. MCC and MNC uniquely identify the | |
| operator. | operator. | |
| Skipping to change at page ?, line 577 from start of file: | ||
| case, the client implementation MUST NOT append any leading | case, the client implementation MUST NOT append any leading | |
| characters to the username. | characters to the username. | |
| When the optional identity privacy support is used on full | When the optional identity privacy support is used on full | |
| authentication, the client MAY use the pseudonym received upon the | authentication, the client MAY use the pseudonym received upon the | |
| previous full authentication sequence as the username portion of the | previous full authentication sequence as the username portion of the | |
| NAI, as specified in Section 4.3. The client MUST NOT modify the | NAI, as specified in Section 4.3. The client MUST NOT modify the | |
| Arkko and Haverinen Expires in six months [Page 11] | Arkko and Haverinen Expires in six months [Page 11] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| pseudonym received in AT_NEXT_PSEUDONYM. For example, the client | pseudonym received in AT_NEXT_PSEUDONYM. For example, the client | |
| MUST NOT append any leading characters in the pseudonym. | MUST NOT append any leading characters in the pseudonym. | |
| On re-authentication, the client uses the re-authentication identity | On re-authentication, the client uses the re-authentication identity | |
| received upon the previous authentication sequence as the NAI. A new | received upon the previous authentication sequence as the NAI. A new | |
| re-authentication identity may be delivered as part of both full | re-authentication identity may be delivered as part of both full | |
| authentication and re-authentication. The client MUST NOT modify the | authentication and re-authentication. The client MUST NOT modify the | |
| re-authentication identity received in AT_NEXT_REAUTH_ID but the | re-authentication identity received in AT_NEXT_REAUTH_ID but the | |
| client must use the re-authentication identity as it is. For | client must use the re-authentication identity as it is. For | |
| Skipping to change at page ?, line 618 from start of file: | ||
| It may be useful to obtain the identity of the subscriber through | It may be useful to obtain the identity of the subscriber through | |
| means other than EAP Request/Identity. This can eliminate the need | means other than EAP Request/Identity. This can eliminate the need | |
| for an identity request when using EAP method negotiation. If this | for an identity request when using EAP method negotiation. If this | |
| was not possible then it might not be possible to negotiate EAP/AKA | was not possible then it might not be possible to negotiate EAP/AKA | |
| as the second method since not all EAP implementations support | as the second method since not all EAP implementations support | |
| multiple EAP Identity requests.. | multiple EAP Identity requests.. | |
| If the EAP server has not received any identity (permanent identity, | If the EAP server has not received any identity (permanent identity, | |
| pseudonym or re-authentication identity) from the client when | pseudonym or re-authentication identity) from the client when | |
| sending the first EAP/AKA request, then the EAP server may issue the | sending the first EAP/AKA request, then the EAP server SHOULD issue | |
| EAP-Request/AKA-Identity packet and includes the AT_ANY_ID_REQ | the EAP-Request/AKA-Identity packet and includes the AT_ANY_ID_REQ | |
| attribute (specified in Section 8.5). This attribute does not | attribute (specified in Section 8.5). This attribute does not | |
| contain any data. | contain any data. | |
| If the EAP server has received an EAP-Response/Identity packet but | ||
| the contents do not appear to be a valid permanent identity, | ||
| pseudonym or a re-authentication identity, the EAP server SHOULD | ||
| issue an EAP-Request/AKA-Identity packet with the AT_ANY_ID_REQ | ||
| attribute. | ||
| In some environments the intermediate entities or software layers in | ||
| the client may modify the identity string in the EAP- | ||
| Response/Identity packet. For example, some EAP layer | ||
| implementations may cache the identity string from the first | ||
| Arkko and Haverinen Expires in six months [Page 12] | ||
| EAP AKA Authentication February 2003 | ||
| authentication and do not obtain a new identity string from the EAP | ||
| method implementation on subsequent authentication exchanges. | ||
| Because the identity string is used in key derivation, such | ||
| modifications will result in failed authentication unless the EAP | ||
| server uses the AT_ANY_ID_REQ attribute to obtain an unmodified copy | ||
| of the identity string. Therefore, in cases when there is a | ||
| possibility that an intermediate element or software layer may | ||
| modify the EAP-Response/Identity packet, the EAP server SHOULD | ||
| always use the EAP-Request/AKA-Identity packet with the | ||
| AT_ANY_ID_REQ attribute, even if the identity received in EAP- | ||
| Response/Identity was valid. | ||
| The AT_ANY_ID_REQ attribute requests the client to include the | The AT_ANY_ID_REQ attribute requests the client to include the | |
| AT_IDENTITY attribute (specified in Section 8.6) in the EAP- | AT_IDENTITY attribute (specified in Section 8.6) in the EAP- | |
| Response/AKA-Identity packet. The identity format in the AT_IDENTITY | Response/AKA-Identity packet. The identity format in the AT_IDENTITY | |
| attribute is the same as in the Type-Data field of the EAP- | attribute is the same as in the Type-Data field of the EAP- | |
| Response/Identity packet. The AT_IDENTITY attribute contains a | Response/Identity packet. The AT_IDENTITY attribute contains a | |
| permanent identity, a pseudonym identity or a re-authentication | permanent identity, a pseudonym identity or a re-authentication | |
| identity. If the server does not support re-authentication, it uses | identity. If the server does not support re-authentication, it uses | |
| the AT_FULLAUTH_ID_REQ attribute instead of the AT_ANY_ID_REQ | the AT_FULLAUTH_ID_REQ attribute instead of the AT_ANY_ID_REQ | |
| attribute to directly request for a full authentication identity | attribute to directly request for a full authentication identity | |
| (either the permanent identity or a pseudonym identity). If the | (either the permanent identity or a pseudonym identity). If the | |
| Arkko and Haverinen Expires in six months [Page 12] | ||
| EAP AKA Authentication January 2003 | ||
| server uses the AT_FULLAUTH_ID_REQ attribute, the client MUST NOT | server uses the AT_FULLAUTH_ID_REQ attribute, the client MUST NOT | |
| use a re-authentication identity in the AT_IDENTITY attribute. | use a re-authentication identity in the AT_IDENTITY attribute. | |
| The use of pseudonyms for anonymity is specified in Section 4.3. The | The use of pseudonyms for anonymity is specified in Section 4.3. The | |
| use of re-authentication identities is specified in Section 5. | use of re-authentication identities is specified in Section 5. | |
| The full authentication case is illustrated in the figure below. In | The full authentication case is illustrated in the figure below. In | |
| this case, AT_IDENTITY contains either the permanent identity or a | this case, AT_IDENTITY contains either the permanent identity or a | |
| pseudonym identity. The same sequence is also used in case the | pseudonym identity. The same sequence is also used in case the | |
| server uses the AT_FULLAUTH_ID_REQ in EAP-Request/AKA-Identity | server uses the AT_FULLAUTH_ID_REQ in EAP-Request/AKA-Identity | |
| Skipping to change at page ?, line 669 from start of file: | ||
| | | | | | | |
| | | | | | | |
| | EAP-Response/AKA-Identity | | | EAP-Response/AKA-Identity | | |
| | (AT_IDENTITY) | | | (AT_IDENTITY) | | |
| |------------------------------------------------------>| | |------------------------------------------------------>| | |
| | | | | | | |
| If the client wants to perform full authentication, it includes the | If the client wants to perform full authentication, it includes the | |
| permanent identity or a pseudonym identity in the AT_IDENTITY | permanent identity or a pseudonym identity in the AT_IDENTITY | |
| attribute. The client may use these identities in response to either | attribute. The client may use these identities in response to either | |
| Arkko and Haverinen Expires in six months [Page 13] | ||
| EAP AKA Authentication February 2003 | ||
| AT_ANY_ID_REQ or AT_FULLAUTH_ID_REQ. If the server uses the | AT_ANY_ID_REQ or AT_FULLAUTH_ID_REQ. If the server uses the | |
| AT_ANY_ID_REQ and the client wants to perform re-authentication, | AT_ANY_ID_REQ and the client wants to perform re-authentication, | |
| then the client includes a re-authentication identity in the | then the client includes a re-authentication identity in the | |
| AT_IDENTITY attribute. | AT_IDENTITY attribute. | |
| If the client uses its full authentication identity and the | If the client uses its full authentication identity and the | |
| AT_IDENTITY attribute contains a valid permanent identity or a valid | AT_IDENTITY attribute contains a valid permanent identity or a valid | |
| pseudonym identity that the EAP server is able to decode to the | pseudonym identity that the EAP server is able to decode to the | |
| permanent identity, then the full authentication sequence proceeds | permanent identity, then the full authentication sequence proceeds | |
| as usual with the EAP Server issuing the EAP-Request/AKA-Challenge | as usual with the EAP Server issuing the EAP-Request/AKA-Challenge | |
| Skipping to change at page ?, line 692 from start of file: | ||
| re-authentication identity and the server agrees on using re- | re-authentication identity and the server agrees on using re- | |
| authentication, then the server proceeds with the re-authentication | authentication, then the server proceeds with the re-authentication | |
| sequence and issues the EAP-Request/AKA-Reauthentication packet, as | sequence and issues the EAP-Request/AKA-Reauthentication packet, as | |
| specified in Section 5. If the server does not recognize the re- | specified in Section 5. If the server does not recognize the re- | |
| authentication identity, then it issues a second EAP-Request/AKA- | authentication identity, then it issues a second EAP-Request/AKA- | |
| Identity message and includes the AT_FULLAUTH_ID_REQ attribute. In | Identity message and includes the AT_FULLAUTH_ID_REQ attribute. In | |
| this case, a second EAP/AKA-Identity round trip is required. The | this case, a second EAP/AKA-Identity round trip is required. The | |
| messages used on the first roundtrip are ignored. This is | messages used on the first roundtrip are ignored. This is | |
| illustrated below. | illustrated below. | |
| Arkko and Haverinen Expires in six months [Page 13] | ||
| EAP AKA Authentication January 2003 | ||
| Arkko and Haverinen Expires in six months [Page 14] | ||
| EAP AKA Authentication February 2003 | ||
| Client Authenticator | Client Authenticator | |
| | | | | | | |
| | +------------------------------+ | | +------------------------------+ | |
| | | Server does not have any | | | | Server does not have any | | |
| | | Subscriber identity available| | | | Subscriber identity available| | |
| | | When starting EAP/AKA | | | | When starting EAP/AKA | | |
| | +------------------------------+ | | +------------------------------+ | |
| | | | | | | |
| | EAP-Request/AKA-Identity | | | EAP-Request/AKA-Identity | | |
| | (AT_ANY_ID_REQ) | | | (AT_ANY_ID_REQ) | | |
| Skipping to change at page ?, line 750 from start of file: | ||
| EAP/AKA includes optional identity privacy (anonymity) support that | EAP/AKA includes optional identity privacy (anonymity) support that | |
| can be used to hide the cleartext permanent identity and to make the | can be used to hide the cleartext permanent identity and to make the | |
| subscriber's connections unlinkable to eavesdroppers. Identity | subscriber's connections unlinkable to eavesdroppers. Identity | |
| privacy is based on temporary identities, or pseudonyms, which are | privacy is based on temporary identities, or pseudonyms, which are | |
| equivalent to but separate from the Temporary Mobile Subscriber | equivalent to but separate from the Temporary Mobile Subscriber | |
| Identities (TMSI) that are used on cellular networks. Please see | Identities (TMSI) that are used on cellular networks. Please see | |
| Section 12.1 for security considerations concerning identity | Section 12.1 for security considerations concerning identity | |
| privacy. | privacy. | |
| Arkko and Haverinen Expires in six months [Page 14] | ||
| EAP AKA Authentication January 2003 | ||
| Arkko and Haverinen Expires in six months [Page 15] | ||
| EAP AKA Authentication February 2003 | ||
| If identity privacy is not used or if the client does not have any | If identity privacy is not used or if the client does not have any | |
| pseudonyms or re-authentication identities available, the client | pseudonyms or re-authentication identities available, the client | |
| transmits the permanent identity in the EAP-Response/Identity packet | transmits the permanent identity in the EAP-Response/Identity packet | |
| or in the AT_IDENTITY attribute. | or in the AT_IDENTITY attribute. | |
| The EAP-Request/AKA-Challenge message MAY include an encrypted | The EAP-Request/AKA-Challenge message MAY include an encrypted | |
| pseudonym in the value field of the AT_ENCR_DATA attribute. The | pseudonym in the value field of the AT_ENCR_DATA attribute. The | |
| AT_IV and AT_MAC attributes are also used to transport the pseudonym | AT_IV and AT_MAC attributes are also used to transport the pseudonym | |
| to the client, as described in Section 8.1. Because the identity | to the client, as described in Section 8.1. Because the identity | |
| Skipping to change at page ?, line 808 from start of file: | ||
| The client MAY transmit the received pseudonym in the first EAP- | The client MAY transmit the received pseudonym in the first EAP- | |
| Response/Identity packet of the next full authentication with the | Response/Identity packet of the next full authentication with the | |
| EAP server. The client concatenates the received pseudonym with the | EAP server. The client concatenates the received pseudonym with the | |
| "@" character and the NAI realm portion. The client selects the | "@" character and the NAI realm portion. The client selects the | |
| realm name portion similarly as it select the realm name portion | realm name portion similarly as it select the realm name portion | |
| when using the permanent identity. If the EAP server successfully | when using the permanent identity. If the EAP server successfully | |
| decodes the pseudonym received in the EAP-Response/Identity packet | decodes the pseudonym received in the EAP-Response/Identity packet | |
| to a known client permanent identity, the authentication proceeds | to a known client permanent identity, the authentication proceeds | |
| with the EAP-Request/AKA-Challenge message as usual. | with the EAP-Request/AKA-Challenge message as usual. | |
| Arkko and Haverinen Expires in six months [Page 15] | ||
| EAP AKA Authentication January 2003 | ||
| Arkko and Haverinen Expires in six months [Page 16] | ||
| EAP AKA Authentication February 2003 | ||
| Because the client may fail to save a pseudonym sent to in an EAP- | Because the client may fail to save a pseudonym sent to in an EAP- | |
| Request/AKA-Challenge, for example due to malfunction, the EAP | Request/AKA-Challenge, for example due to malfunction, the EAP | |
| server SHOULD maintain at least one old pseudonym in addition to the | server SHOULD maintain at least one old pseudonym in addition to the | |
| most recent pseudonym. | most recent pseudonym. | |
| If the EAP server requests the client to include its identity in the | If the EAP server requests the client to include its identity in the | |
| EAP-Response/AKA-Identity packet, as specified in Section 4.2, the | EAP-Response/AKA-Identity packet, as specified in Section 4.2, the | |
| client MAY transmit the received pseudonym in the AT_IDENTITY | client MAY transmit the received pseudonym in the AT_IDENTITY | |
| attribute. If the EAP server successfully decodes the pseudonym to a | attribute. If the EAP server successfully decodes the pseudonym to a | |
| known identity, then the authentication proceeds with the EAP- | known identity, then the authentication proceeds with the EAP- | |
| Request/AKA-Challenge packet as usual. | Request/AKA-Challenge packet as usual. | |
| If the EAP server fails to decode the pseudonym to a known identity, | If the EAP server fails to decode the pseudonym to a known identity, | |
| then the EAP server requests the permanent identity (non-pseudonym | then the EAP server requests the permanent identity (non-pseudonym | |
| identity) by including the AT_PERMANENT_ID_REQ attribute (Section | identity) by including the AT_PERMANENT_ID_REQ attribute (Section | |
| 8.5) in the EAP-Request/AKA-Challenge message. | 8.5) in the EAP-Request/AKA-Identity message. | |
| The EAP server issues the EAP-Request/AKA-Identity message also in | The EAP server issues the EAP-Request/AKA-Identity message also in | |
| the case when it received the undecodable pseudonym in AT_IDENTITY | the case when it received the undecodable pseudonym in AT_IDENTITY | |
| included in the EAP-Response/AKA-Identity packet. In this case, a | included in the EAP-Response/AKA-Identity packet. In this case, a | |
| second EAP/AKA-Identity round trip is required. | second EAP/AKA-Identity round trip is required. | |
| A received AT_PERMANENT_ID_REQ does not necessarily originate from | A received AT_PERMANENT_ID_REQ does not necessarily originate from | |
| the valid network, but an active attacker may transmit an EAP- | the valid network, but an active attacker may transmit an EAP- | |
| Request/AKA-Identity packet with an AT_PERMANENT_ID_REQ attribute to | Request/AKA-Identity packet with an AT_PERMANENT_ID_REQ attribute to | |
| the client, in an effort to find out the true identity of the user. | the client, in an effort to find out the true identity of the user. | |
| Skipping to change at page ?, line 866 from start of file: | ||
| permanent identity. | permanent identity. | |
| The value field of the AT_PERMANENT_ID_REQ does not contain any data | The value field of the AT_PERMANENT_ID_REQ does not contain any data | |
| but the attribute is included to request the client to include the | but the attribute is included to request the client to include the | |
| AT_IDENTITY attribute (Section 8.6) with the permanent | AT_IDENTITY attribute (Section 8.6) with the permanent | |
| authentication identity in the EAP-Response/AKA-Identity message. In | authentication identity in the EAP-Response/AKA-Identity message. In | |
| this case, the AT_IDENTITY attribute contains the client's permanent | this case, the AT_IDENTITY attribute contains the client's permanent | |
| identity in the clear. | identity in the clear. | |
| Arkko and Haverinen Expires in six months [Page 16] | ||
| EAP AKA Authentication January 2003 | Arkko and Haverinen Expires in six months [Page 17] | |
| EAP AKA Authentication February 2003 | ||
| Please note that the EAP/AKA client and the EAP/AKA server only | Please note that the EAP/AKA client and the EAP/AKA server only | |
| process the AT_IDENTITY attribute. Entities that only pass EAP | process the AT_IDENTITY attribute. Entities that only pass EAP | |
| packets through do not process this attribute. Hence, if the EAP | packets through do not process this attribute. Hence, if the EAP | |
| server is not co-located in the authenticator, then the | server is not co-located in the authenticator, then the | |
| authenticator and other intermediate AAA elements (such as possible | authenticator and other intermediate AAA elements (such as possible | |
| AAA proxy servers) will continue to refer to the client with the | AAA proxy servers) will continue to refer to the client with the | |
| original identity from the EAP-Response/Identity packet regardless | original identity from the EAP-Response/Identity packet regardless | |
| if the decoding fails in the EAP server. | if the decoding fails in the EAP server. | |
| Skipping to change at page ?, line 914 from start of file: | ||
| After the EAP-Response/AKA-Identity message, the authentication | After the EAP-Response/AKA-Identity message, the authentication | |
| sequence proceeds as usual with the EAP Server issuing the EAP- | sequence proceeds as usual with the EAP Server issuing the EAP- | |
| Request/AKA-Challenge message. | Request/AKA-Challenge message. | |
| The figure below illustrates the case when the EAP server fails to | The figure below illustrates the case when the EAP server fails to | |
| decode the pseudonym included in the AT_IDENTITY attribute. | decode the pseudonym included in the AT_IDENTITY attribute. | |
| Arkko and Haverinen Expires in six months [Page 17] | Arkko and Haverinen Expires in six months [Page 18] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Client Authenticator | Client Authenticator | |
| | | | | | | |
| | +------------------------------+ | | +------------------------------+ | |
| | | Server does not have any | | | | Server does not have any | | |
| | | Subscriber identity available| | | | Subscriber identity available| | |
| | | When starting EAP/AKA | | | | When starting EAP/AKA | | |
| | +------------------------------+ | | +------------------------------+ | |
| | | | | | | |
| | EAP-Request/AKA-Identity | | | EAP-Request/AKA-Identity | | |
| Skipping to change at page ?, line 964 from start of file: | ||
| authentication identity with a second EAP-Request/AKA-Identity. The | authentication identity with a second EAP-Request/AKA-Identity. The | |
| client responds with a pseudonym identity in AT_IDENTITY. The server | client responds with a pseudonym identity in AT_IDENTITY. The server | |
| fails to decode the pseudonym and has to issue a third EAP- | fails to decode the pseudonym and has to issue a third EAP- | |
| Request/AKA-Identity, including AT_PERMANENT_ID_REQ. Finally, the | Request/AKA-Identity, including AT_PERMANENT_ID_REQ. Finally, the | |
| server accepts the client's EAP-Response/AKA-Identity with the | server accepts the client's EAP-Response/AKA-Identity with the | |
| AT_IDENTITY attribute and proceeds with full authentication. This is | AT_IDENTITY attribute and proceeds with full authentication. This is | |
| illustrated in the figure below. | illustrated in the figure below. | |
| Arkko and Haverinen Expires in six months [Page 18] | Arkko and Haverinen Expires in six months [Page 19] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Client Authenticator | Client Authenticator | |
| | | | | | | |
| | +------------------------------+ | | +------------------------------+ | |
| | | Server does not have any | | | | Server does not have any | | |
| | | Subscriber identity available| | | | Subscriber identity available| | |
| | | When starting EAP/AKA | | | | When starting EAP/AKA | | |
| | +------------------------------+ | | +------------------------------+ | |
| | | | | | | |
| | EAP-Request/AKA-Identity | | | EAP-Request/AKA-Identity | | |
| Skipping to change at page ?, line 1022 from start of file: | ||
| After the last EAP-Response/AKA-Identity message, the full | After the last EAP-Response/AKA-Identity message, the full | |
| authentication sequence proceeds as usual with the EAP Server | authentication sequence proceeds as usual with the EAP Server | |
| issuing the EAP-Request/AKA-Challenge message. | issuing the EAP-Request/AKA-Challenge message. | |
| 5. Re-authentication | 5. Re-authentication | |
| In some environments, EAP authentication may be performed | In some environments, EAP authentication may be performed | |
| frequently. Because the EAP AKA full authentication procedure makes | frequently. Because the EAP AKA full authentication procedure makes | |
| use of the UMTS AKA algorithms, and it therefore requires fresh | use of the UMTS AKA algorithms, and it therefore requires fresh | |
| Arkko and Haverinen Expires in six months [Page 19] | Arkko and Haverinen Expires in six months [Page 20] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| authentication vectors from the Authentication Centre, the full | authentication vectors from the Authentication Centre, the full | |
| authentication procedure may result in many network operations when | authentication procedure may result in many network operations when | |
| used very frequently. Therefore, EAP AKA includes a more inexpensive | used very frequently. Therefore, EAP AKA includes a more inexpensive | |
| re-authentication procedure that does not make use of the UMTS AKA | re-authentication procedure that does not make use of the UMTS AKA | |
| algorithms and does not need new vectors from the Authentication | algorithms and does not need new vectors from the Authentication | |
| Centre. | Centre. | |
| Re-authentication is optional to implement for both the EAP AKA | Re-authentication is optional to implement for both the EAP AKA | |
| server and client. On each EAP authentication, either one of the | server and client. On each EAP authentication, either one of the | |
| entities may also fall back on full authentication if they do not | entities may also fall back on full authentication if they do not | |
| want to use re-authentication. | want to use re-authentication. | |
| Re-authentication is based on the keys derived on the preceding full | Re-authentication is based on the keys derived on the preceding full | |
| authentication. The same K_aut and K_encr keys as in full | authentication. The same K_aut and K_encr keys as in full | |
| authentication are used to protect EAP AKA packets and attributes, | authentication are used to protect EAP AKA packets and attributes, | |
| and the original XKEY seed value from full authentication is used to | and the original Master Key from full authentication is used to | |
| generate fresh application specific keys, as specified in Section | generate a fresh Master Session Key, as specified in Section 10. | |
| 10. | ||
| On re-authentication, the client protects against replays with an | On re-authentication, the client protects against replays with an | |
| unsigned 16-bit counter, included in the AT_COUNTER attribute. On | unsigned 16-bit counter, included in the AT_COUNTER attribute. On | |
| full authentication, both the server and the client initialize the | full authentication, both the server and the client initialize the | |
| counter to one. The counter value of at least one is used on the | counter to one. The counter value of at least one is used on the | |
| first re-authentication. On subsequent re-authentications, the | first re-authentication. On subsequent re-authentications, the | |
| counter MUST be greater than on any of the previous re- | counter MUST be greater than on any of the previous re- | |
| authentications. For example, on the second re-authentication, | authentications. For example, on the second re-authentication, | |
| counter value is two or greater etc. The AT_COUNTER attribute is | counter value is two or greater etc. The AT_COUNTER attribute is | |
| encrypted. | encrypted. | |
| The server includes an encrypted server nonce (AT_NONCE_S) in the | The server includes an encrypted server nonce (AT_NONCE_S) in the | |
| re-authentication request. The AT_MAC attribute in the client's | re-authentication request. The AT_MAC attribute in the client's | |
| response is calculated over NONCE_S to provide a challenge/response | response is calculated over NONCE_S to provide a challenge/response | |
| authentication scheme. The NONCE_S also contributes to the new | authentication scheme. The NONCE_S also contributes to the new | |
| application specific keys. | Master Session Key. | |
| As discussed in Section 4.3, in some environments the client may | As discussed in Section 4.3, in some environments the client may | |
| assume that the network can reliably store pseudonyms and therefore | assume that the network can reliably store pseudonyms and therefore | |
| the client may fail to respond to the AT_PERMANENT_ID_REQ attribute. | the client may fail to respond to the AT_PERMANENT_ID_REQ attribute. | |
| The network SHOULD store pseudonyms on a reliable database. Because | The network SHOULD store pseudonyms on a reliable database. Because | |
| one of the objectives of the re-authentication procedure is to | one of the objectives of the re-authentication procedure is to | |
| reduce load on the network, the re-authentication procedure does not | reduce load on the network, the re-authentication procedure does not | |
| require the EAP server to contact a reliable database. Therefore, | require the EAP server to contact a reliable database. Therefore, | |
| the re-authentication procedure makes use of separate re- | the re-authentication procedure makes use of separate re- | |
| authentication user identities. Pseudonyms and the permanent | authentication user identities. Pseudonyms and the permanent | |
| identity are reserved for full authentication only. The network does | identity are reserved for full authentication only. The network does | |
| not need to store re-authentication identities as carefully as | not need to store re-authentication identities as carefully as | |
| pseudonyms. If a re-authentication identity is lost and the network | pseudonyms. If a re-authentication identity is lost and the network | |
| does not recognize it, the EAP server can fall back on full | does not recognize it, the EAP server can fall back on full | |
| authentication. | authentication. | |
| If the EAP server supports re-authentication, it MAY include the | If the EAP server supports re-authentication, it MAY include the | |
| skippable AT_NEXT_REAUTH_ID attribute in the encrypted data of EAP- | skippable AT_NEXT_REAUTH_ID attribute in the encrypted data of EAP- | |
| Request/AKA-Challenge message. This attribute contains a new re- | Request/AKA-Challenge message. This attribute contains a new re- | |
| authentication identity for the next re-authentication. The client | authentication identity for the next re-authentication. The client | |
| MAY ignore this attribute, in which case it will use full | ||
| Arkko and Haverinen Expires in six months [Page 20] | Arkko and Haverinen Expires in six months [Page 21] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| MAY ignore this attribute, in which case it will use full | ||
| authentication next time. If the client wants to use re- | authentication next time. If the client wants to use re- | |
| authentication, it uses this re-authentication identity on next | authentication, it uses this re-authentication identity on next | |
| authentication. Even if the client has a re-authentication identity, | authentication. Even if the client has a re-authentication identity, | |
| the client MAY discard the re-authentication identity and use a | the client MAY discard the re-authentication identity and use a | |
| pseudonym or the permanent identity instead, in which case full | pseudonym or the permanent identity instead, in which case full | |
| authentication will be performed. | authentication will be performed. | |
| The re-authentication identity received in AT_NEXT_REAUTH_ID | The re-authentication identity received in AT_NEXT_REAUTH_ID | |
| contains both the username portion and the realm portion of the | contains both the username portion and the realm portion of the | |
| Network Access Identifier. The EAP Server can choose an appropriate | Network Access Identifier. The EAP Server can choose an appropriate | |
| Skipping to change at page ?, line 1128 from start of file: | ||
| AT_FULLAUTH_ID_REQ or AT_PERMANENT_ID_REQ attributes if it does not | AT_FULLAUTH_ID_REQ or AT_PERMANENT_ID_REQ attributes if it does not | |
| know the client's identity.) | know the client's identity.) | |
| Both the client and the server SHOULD have an upper limit for the | Both the client and the server SHOULD have an upper limit for the | |
| number of subsequent re-authentications allowed before a full | number of subsequent re-authentications allowed before a full | |
| authentication needs to be performed. Because a 16-bit counter is | authentication needs to be performed. Because a 16-bit counter is | |
| used in re-authentication, the theoretical maximum number of re- | used in re-authentication, the theoretical maximum number of re- | |
| authentications is reached when the counter value reaches 0xFFFF. | authentications is reached when the counter value reaches 0xFFFF. | |
| In order to use re-authentication, the client and the server need to | In order to use re-authentication, the client and the server need to | |
| store the following values: original XKEY, K_aut, K_encr, latest | store the following values: original Master Key, K_aut, K_encr, | |
| counter value and the next re-authentication identity. | latest counter value and the next re-authentication identity. | |
| The following figure illustrates the re-authentication procedure. | The following figure illustrates the re-authentication procedure. | |
| Encrypted attributes are denoted with '*'. The client uses its re- | Encrypted attributes are denoted with '*'. The client uses its re- | |
| authentication identity in the EAP-Response/Identity packet. As | authentication identity in the EAP-Response/Identity packet. As | |
| discussed above, an alternative way to communicate the re- | discussed above, an alternative way to communicate the re- | |
| authentication identity to the server is for the client to use the | authentication identity to the server is for the client to use the | |
| AT_IDENTITY attribute in the EAP-Response/AKA-Identity message. This | AT_IDENTITY attribute in the EAP-Response/AKA-Identity message. This | |
| latter case is not illustrated in the figure below, and it is only | ||
| Arkko and Haverinen Expires in six months [Page 21] | Arkko and Haverinen Expires in six months [Page 22] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| latter case is not illustrated in the figure below, and it is only | ||
| possible when the server requests the client to send its identity by | possible when the server requests the client to send its identity by | |
| including the AT_ANY_ID_REQ attribute in the EAP-Request/AKA- | including the AT_ANY_ID_REQ attribute in the EAP-Request/AKA- | |
| Identity packet. | Identity packet. | |
| If the server recognizes the re-authentication identity and agrees | If the server recognizes the re-authentication identity and agrees | |
| on using re-authentication, then the server sends the EAP- | on using re-authentication, then the server sends the EAP- | |
| Request/AKA-Reauthentication packet to the client. This packet MUST | Request/AKA-Reauthentication packet to the client. This packet MUST | |
| include the encrypted AT_COUNTER attribute, with a fresh counter | include the encrypted AT_COUNTER attribute, with a fresh counter | |
| value, the encrypted AT_NONCE_S attribute that contains a random | value, the encrypted AT_NONCE_S attribute that contains a random | |
| number chosen by the server, the AT_ENCR_DATA and the AT_IV | number chosen by the server, the AT_ENCR_DATA and the AT_IV | |
| Skipping to change at page ?, line 1178 from start of file: | ||
| same counter value and the AT_MAC attribute. | same counter value and the AT_MAC attribute. | |
| The server verifies the AT_MAC attribute and also verifies that the | The server verifies the AT_MAC attribute and also verifies that the | |
| counter value is the same that it used in the EAP-Request/AKA- | counter value is the same that it used in the EAP-Request/AKA- | |
| Reauthentication packet. If these checks are successful, the re- | Reauthentication packet. If these checks are successful, the re- | |
| authentication has succeeded and the server sends the EAP-Success | authentication has succeeded and the server sends the EAP-Success | |
| packet to the client. | packet to the client. | |
| Arkko and Haverinen Expires in six months [Page 22] | Arkko and Haverinen Expires in six months [Page 23] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Client Authenticator | Client Authenticator | |
| | | | | | | |
| | EAP-Request/Identity | | | EAP-Request/Identity | | |
| |<------------------------------------------------------| | |<------------------------------------------------------| | |
| | | | | | | |
| | EAP-Response/Identity | | | EAP-Response/Identity | | |
| | (Includes a re-authentication identity) | | | (Includes a re-authentication identity) | | |
| |------------------------------------------------------>| | |------------------------------------------------------>| | |
| | | | | | | |
| Skipping to change at page ?, line 1232 from start of file: | ||
| If the client does not accept the counter value of EAP-Request/AKA- | If the client does not accept the counter value of EAP-Request/AKA- | |
| Reauthentication, it indicates the counter synchronization problem | Reauthentication, it indicates the counter synchronization problem | |
| by including the encrypted AT_COUNTER_TOO_SMALL in EAP-Response/AKA- | by including the encrypted AT_COUNTER_TOO_SMALL in EAP-Response/AKA- | |
| Reauthentication. The server responds with EAP-Request/AKA-Challenge | Reauthentication. The server responds with EAP-Request/AKA-Challenge | |
| to initiate a normal full authentication procedure. This is | to initiate a normal full authentication procedure. This is | |
| illustrated in the following figure. Encrypted attributes are | illustrated in the following figure. Encrypted attributes are | |
| denoted with '*'. | denoted with '*'. | |
| Arkko and Haverinen Expires in six months [Page 23] | Arkko and Haverinen Expires in six months [Page 24] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Client Authenticator | Client Authenticator | |
| | | | | | | |
| | EAP-Request/Identity | | | EAP-Request/Identity | | |
| |<------------------------------------------------------| | |<------------------------------------------------------| | |
| | | | | | | |
| | EAP-Response/Identity | | | EAP-Response/Identity | | |
| | (Includes a re-authentication identity) | | | (Includes a re-authentication identity) | | |
| |------------------------------------------------------>| | |------------------------------------------------------>| | |
| | | | | | | |
| Skipping to change at page ?, line 1290 from start of file: | ||
| verifies that AT_COUNTER contains the same as in the EAP- | verifies that AT_COUNTER contains the same as in the EAP- | |
| Request/AKA-Reauthentication packet. If not, the server silently | Request/AKA-Reauthentication packet. If not, the server silently | |
| discards the EAP-Response/AKA-Reauthentication packet. If all checks | discards the EAP-Response/AKA-Reauthentication packet. If all checks | |
| on the packet are successful, the server transmits a EAP- | on the packet are successful, the server transmits a EAP- | |
| Request/AKA-Challenge packet and the full authentication procedure | Request/AKA-Challenge packet and the full authentication procedure | |
| is performed as usual. Since the server already knows the subscriber | is performed as usual. Since the server already knows the subscriber | |
| identity, it MUST NOT use the EAP-Request/AKA-Identity packet to | identity, it MUST NOT use the EAP-Request/AKA-Identity packet to | |
| request the identity. | request the identity. | |
| Arkko and Haverinen Expires in six months [Page 24] | Arkko and Haverinen Expires in six months [Page 25] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| 6. Message Format | 6. Message Format | |
| The Type-Data of the EAP AKA packets begins with a 1-octet Subtype | The Type-Data of the EAP AKA packets begins with a 1-octet Subtype | |
| field, which is followed by a 2-octet reserved field. The rest of | field, which is followed by a 2-octet reserved field. The rest of | |
| the Type-Data consists of attributes that are encoded in Type, | the Type-Data consists of attributes that are encoded in Type, | |
| Length, Value format. The figure below shows the generic format of | Length, Value format. The figure below shows the generic format of | |
| an attribute. | an attribute. | |
| 0 1 2 3 | 0 1 2 3 | |
| Skipping to change at page ?, line 1348 from start of file: | ||
| EAP/AKA packets do not include a version field. However, should | EAP/AKA packets do not include a version field. However, should | |
| there be a reason to revise this protocol in the future, new non- | there be a reason to revise this protocol in the future, new non- | |
| skippable or skippable attributes could be specified in order to | skippable or skippable attributes could be specified in order to | |
| implement revised EAP/AKA versions in a backward-compatible manner. | implement revised EAP/AKA versions in a backward-compatible manner. | |
| Unless otherwise specified, the order of the attributes in an EAP | Unless otherwise specified, the order of the attributes in an EAP | |
| AKA message is insignificant, and an EAP AKA implementation should | AKA message is insignificant, and an EAP AKA implementation should | |
| not assume a certain order to be used. | not assume a certain order to be used. | |
| Arkko and Haverinen Expires in six months [Page 25] | Arkko and Haverinen Expires in six months [Page 26] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Attributes can be encapsulated within other attributes. In other | Attributes can be encapsulated within other attributes. In other | |
| words, the value field of an attribute type can be specified to | words, the value field of an attribute type can be specified to | |
| contain other attributes. | contain other attributes. | |
| 7. Message Authentication and Encryption | 7. Message Authentication and Encryption | |
| This section specifies EAP/AKA attributes for attribute encryption | This section specifies EAP/AKA attributes for attribute encryption | |
| and EAP/AKA message authentication. | and EAP/AKA message authentication. | |
| Skipping to change at page ?, line 1406 from start of file: | ||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | | | | | | |
| | MAC | | | MAC | | |
| | | | | | | |
| | | | | | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| The MAC algorithm is HMAC-SHA1-128 [9] keyed hash value. (The | The MAC algorithm is HMAC-SHA1-128 [9] keyed hash value. (The | |
| HMAC-SHA1-128 value is obtained from the 20-byte HMAC-SHA1 value | HMAC-SHA1-128 value is obtained from the 20-byte HMAC-SHA1 value | |
| Arkko and Haverinen Expires in six months [Page 26] | Arkko and Haverinen Expires in six months [Page 27] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| by truncating the output to 16 bytes. Hence, the length of the | by truncating the output to 16 bytes. Hence, the length of the | |
| MAC is 16 bytes.) The message authentication key (K_aut) used in | MAC is 16 bytes.) The message authentication key (K_aut) used in | |
| the calculation of the MAC is derived from the AKA integrity key | the calculation of the MAC is derived from the AKA integrity key | |
| (IK) and cipher key (CK), as specified in Section 10. | (IK) and cipher key (CK), as specified in Section 10. | |
| 7.2. AT_IV, AT_ENCR_DATA and AT_PADDING Attributes | 7.2. AT_IV, AT_ENCR_DATA and AT_PADDING Attributes | |
| AT_IV and AT_ENCR_DATA attributes can be optionally used to transmit | AT_IV and AT_ENCR_DATA attributes can be optionally used to transmit | |
| encrypted information between the EAP/AKA client and server. | encrypted information between the EAP/AKA client and server. | |
| Skipping to change at page ?, line 1464 from start of file: | ||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | AT_ENCR_DATA | Length | Reserved | | | AT_ENCR_DATA | Length | Reserved | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | | | | | | |
| . Encrypted Data . | . Encrypted Data . | |
| . . | . . | |
| | | | | | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| Arkko and Haverinen Expires in six months [Page 27] | Arkko and Haverinen Expires in six months [Page 28] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| The encryption key (K_encr) is derived is derived from the AKA | The encryption key (K_encr) is derived is derived from the AKA | |
| integrity key (IK) and cipher key (CK), as specified in Section10. | integrity key (IK) and cipher key (CK), as specified in Section10. | |
| The plaintext consists of nested EAP/AKA attributes. | The plaintext consists of nested EAP/AKA attributes. | |
| The encryption algorithm requires the length of the plaintext to be | The encryption algorithm requires the length of the plaintext to be | |
| a multiple of 16 bytes. The sender may need to include the | a multiple of 16 bytes. The sender may need to include the | |
| AT_PADDING attribute as the last attribute within AT_ENCR_DATA. The | AT_PADDING attribute as the last attribute within AT_ENCR_DATA. The | |
| AT_PADDING attribute is not included if the total length of other | AT_PADDING attribute is not included if the total length of other | |
| Skipping to change at page ?, line 1504 from start of file: | ||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| 8. Messages | 8. Messages | |
| 8.1. EAP-Request/AKA-Challenge | 8.1. EAP-Request/AKA-Challenge | |
| The format of the EAP-Request/AKA-Challenge packet is shown below. | The format of the EAP-Request/AKA-Challenge packet is shown below. | |
| Arkko and Haverinen Expires in six months [Page 28] | Arkko and Haverinen Expires in six months [Page 29] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| 0 1 2 3 | 0 1 2 3 | |
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | Code | Identifier | Length | | | Code | Identifier | Length | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | Type | Subtype | Reserved | | | Type | Subtype | Reserved | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | AT_RAND | Length = 5 | Reserved | | | AT_RAND | Length = 5 | Reserved | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| Skipping to change at page ?, line 1561 from start of file: | ||
| Code | Code | |
| 1 for Request | 1 for Request | |
| Identifier | Identifier | |
| See [5] | See [5] | |
| Arkko and Haverinen Expires in six months [Page 29] | Arkko and Haverinen Expires in six months [Page 30] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Length | Length | |
| The length of the EAP Request packet. | The length of the EAP Request packet. | |
| Type | Type | |
| 23 | 23 | |
| Subtype | Subtype | |
| Skipping to change at page ?, line 1618 from start of file: | ||
| In the EAP-Request/AKA-Challege message, the AT_IV, AT_ENCR_DATA and | In the EAP-Request/AKA-Challege message, the AT_IV, AT_ENCR_DATA and | |
| AT_MAC attributes are used for Identity privacy and for | AT_MAC attributes are used for Identity privacy and for | |
| communicating the next re-authentication identity. The plaintext of | communicating the next re-authentication identity. The plaintext of | |
| the AT_ENCR_DATA value field consists of nested attributes, which | the AT_ENCR_DATA value field consists of nested attributes, which | |
| are shown below. Later versions of this protocol MAY specify | are shown below. Later versions of this protocol MAY specify | |
| additional attributes to be included within the encrypted data. | additional attributes to be included within the encrypted data. | |
| Arkko and Haverinen Expires in six months [Page 30] | Arkko and Haverinen Expires in six months [Page 31] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| 0 1 2 3 | 0 1 2 3 | |
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | AT_NEXT_PS... | Length | Actual Pseudonym Length | | | AT_NEXT_PS... | Length | Actual Pseudonym Length | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | | | | | | |
| . Next Pseudonym . | . Next Pseudonym . | |
| . . | . . | |
| | | | | | | |
| Skipping to change at page ?, line 1676 from start of file: | ||
| identity does not include any terminating null characters. | identity does not include any terminating null characters. | |
| Because the length of the attribute must be a multiple of 4 | Because the length of the attribute must be a multiple of 4 | |
| bytes, the sender pads the re-authentication identity with zero | bytes, the sender pads the re-authentication identity with zero | |
| bytes when necessary. | bytes when necessary. | |
| AT_PADDING | AT_PADDING | |
| AT_PADDING is optional to include. See Section 7.2. | AT_PADDING is optional to include. See Section 7.2. | |
| Arkko and Haverinen Expires in six months [Page 31] | Arkko and Haverinen Expires in six months [Page 32] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| 8.2. EAP-Response/AKA-Challenge | 8.2. EAP-Response/AKA-Challenge | |
| The format of the EAP-Response/AKA-Challenge packet is shown below. | The format of the EAP-Response/AKA-Challenge packet is shown below. | |
| Later versions of this protocol MAY make use of the AT_ENCR_DATA and | Later versions of this protocol MAY make use of the AT_ENCR_DATA and | |
| AT_IV attributes in this message to include encrypted (skippable) | AT_IV attributes in this message to include encrypted (skippable) | |
| attributes. AT_MAC, AT_ENCR_DATA and AT_IV attributes are not shown | attributes. AT_MAC, AT_ENCR_DATA and AT_IV attributes are not shown | |
| in the figure below. If present, they are processed as in EAP- | in the figure below. If present, they are processed as in EAP- | |
| Request/AKA-Challenge packet. The EAP server MUST process EAP- | Request/AKA-Challenge packet. The EAP server MUST process EAP- | |
| Skipping to change at page ?, line 1732 from start of file: | ||
| Length | Length | |
| The length of the EAP Response packet. | The length of the EAP Response packet. | |
| Type | Type | |
| 23 | 23 | |
| Arkko and Haverinen Expires in six months [Page 32] | Arkko and Haverinen Expires in six months [Page 33] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Subtype | Subtype | |
| 1 for AKA-Challenge | 1 for AKA-Challenge | |
| Reserved | Reserved | |
| Set to zero when sending, ignored on reception. | Set to zero when sending, ignored on reception. | |
| AT_RES | AT_RES | |
| Skipping to change at page ?, line 1790 from start of file: | ||
| See [5] | See [5] | |
| Length | Length | |
| The length of the EAP Response packet. | The length of the EAP Response packet. | |
| Type | Type | |
| 23 | 23 | |
| Arkko and Haverinen Expires in six months [Page 33] | Arkko and Haverinen Expires in six months [Page 34] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Subtype | Subtype | |
| 2 for AKA-Authentication-Reject | 2 for AKA-Authentication-Reject | |
| Reserved | Reserved | |
| Set to zero on sending, ignored on reception. | Set to zero on sending, ignored on reception. | |
| Skipping to change at page ?, line 1844 from start of file: | ||
| Type | Type | |
| 23 | 23 | |
| Subtype | Subtype | |
| 4 for AKA-Synchronization-Failure | 4 for AKA-Synchronization-Failure | |
| Arkko and Haverinen Expires in six months [Page 34] | Arkko and Haverinen Expires in six months [Page 35] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| AT_AUTS | AT_AUTS | |
| This attribute MUST be included in EAP-Response/AKA- | This attribute MUST be included in EAP-Response/AKA- | |
| Synchronization-Failure. The value field of this attribute | Synchronization-Failure. The value field of this attribute | |
| contains the AKA AUTS parameter, 112 bits (14 bytes). | contains the AKA AUTS parameter, 112 bits (14 bytes). | |
| 8.5. EAP-Request/AKA-Identity | 8.5. EAP-Request/AKA-Identity | |
| The format of the EAP-Request/AKA-Identity packet is shown below. | The format of the EAP-Request/AKA-Identity packet is shown below. | |
| Skipping to change at page ?, line 1902 from start of file: | ||
| Reserved | Reserved | |
| Set to zero on sending, ignored on reception. | Set to zero on sending, ignored on reception. | |
| AT_PERMANENT_ID_REQ | AT_PERMANENT_ID_REQ | |
| The AT_PERMANENT_ID_REQ attribute is optional to include and it | The AT_PERMANENT_ID_REQ attribute is optional to include and it | |
| is included in the cases defined in Section 4.3. It MUST NOT be | is included in the cases defined in Section 4.3. It MUST NOT be | |
| Arkko and Haverinen Expires in six months [Page 35] | Arkko and Haverinen Expires in six months [Page 36] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| included if AT_ANY_ID_REQ or AT_FULLAUTH_ID_REQ is included. The | included if AT_ANY_ID_REQ or AT_FULLAUTH_ID_REQ is included. The | |
| value field only contains two reserved bytes, which are set to | value field only contains two reserved bytes, which are set to | |
| zero on sending and ignored on reception. | zero on sending and ignored on reception. | |
| AT_FULLAUTH_ID_REQ | AT_FULLAUTH_ID_REQ | |
| The AT_FULLAUTH_ID_REQ attribute is optional to include and it is | The AT_FULLAUTH_ID_REQ attribute is optional to include and it is | |
| included in the cases defined in Section 4.2. It MUST NOT be | included in the cases defined in Section 4.2. It MUST NOT be | |
| included if AT_ANY_ID_REQ or AT_PERMANENT_ID_REQ is included. The | included if AT_ANY_ID_REQ or AT_PERMANENT_ID_REQ is included. The | |
| Skipping to change at page ?, line 1959 from start of file: | ||
| Identifier | Identifier | |
| See [5] | See [5] | |
| Length | Length | |
| The length of the EAP Response packet. | The length of the EAP Response packet. | |
| Arkko and Haverinen Expires in six months [Page 36] | Arkko and Haverinen Expires in six months [Page 37] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Type | Type | |
| 23 | 23 | |
| Subtype | Subtype | |
| 5 for AKA-Identity | 5 for AKA-Identity | |
| Reserved | Reserved | |
| Skipping to change at page ?, line 1998 from start of file: | ||
| when necessary. | when necessary. | |
| 8.7. EAP-Request/AKA-Reauthentication | 8.7. EAP-Request/AKA-Reauthentication | |
| The format of the EAP-Request/AKA-Reauthentication packet is shown | The format of the EAP-Request/AKA-Reauthentication packet is shown | |
| below. | below. | |
| Arkko and Haverinen Expires in six months [Page 37] | Arkko and Haverinen Expires in six months [Page 38] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| 0 1 2 3 | 0 1 2 3 | |
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | Code | Identifier | Length | | | Code | Identifier | Length | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | Type | Subtype | Reserved | | | Type | Subtype | Reserved | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | AT_IV | Length = 5 | Reserved | | | AT_IV | Length = 5 | Reserved | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| Skipping to change at page ?, line 2056 from start of file: | ||
| Subtype | Subtype | |
| 13 | 13 | |
| Reserved | Reserved | |
| Set to zero when sending, ignored on reception. | Set to zero when sending, ignored on reception. | |
| Arkko and Haverinen Expires in six months [Page 38] | Arkko and Haverinen Expires in six months [Page 39] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| AT_IV | AT_IV | |
| The AT_IV attribute is MUST be included. See Section 7.2. | The AT_IV attribute is MUST be included. See Section 7.2. | |
| AT_ENCR_DATA | AT_ENCR_DATA | |
| The AT_ENCR_DATA attribute MUST be included. See Section 7.2. The | The AT_ENCR_DATA attribute MUST be included. See Section 7.2. The | |
| plaintext consists of nested attributes as described below. | plaintext consists of nested attributes as described below. | |
| Skipping to change at page ?, line 2114 from start of file: | ||
| The AT_COUNTER attribute MUST be included. The value field | The AT_COUNTER attribute MUST be included. The value field | |
| consists of a 16-bit unsigned integer counter value, represented | consists of a 16-bit unsigned integer counter value, represented | |
| in network byte order. | in network byte order. | |
| AT_NONCE_S | AT_NONCE_S | |
| The AT_NONCE_S attribute MUST be included. The value field | The AT_NONCE_S attribute MUST be included. The value field | |
| contains two reserved bytes followed by a random number generated | contains two reserved bytes followed by a random number generated | |
| Arkko and Haverinen Expires in six months [Page 39] | Arkko and Haverinen Expires in six months [Page 40] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| by the server (16 bytes) freshly for this EAP/AKA re- | by the server (16 bytes) freshly for this EAP/AKA re- | |
| authentication. The random number is used as challenge for the | authentication. The random number is used as challenge for the | |
| client and also a seed value for the new keying material. The | client and also a seed value for the new keying material. The | |
| reserved bytes are set to zero upon sending and ignored upon | reserved bytes are set to zero upon sending and ignored upon | |
| reception. | reception. | |
| AT_NEXT_REAUTH_ID | AT_NEXT_REAUTH_ID | |
| The AT_NEXT_REAUTH_ID attribute is optional to include. The | The AT_NEXT_REAUTH_ID attribute is optional to include. The | |
| Skipping to change at page ?, line 2172 from start of file: | ||
| | MAC | | | MAC | | |
| | | | | | | |
| | | | | | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| Code | Code | |
| 2 for Response | 2 for Response | |
| Arkko and Haverinen Expires in six months [Page 40] | Arkko and Haverinen Expires in six months [Page 41] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Identifier | Identifier | |
| See [5]. | See [5]. | |
| Length | Length | |
| The length of the EAP packet. | The length of the EAP packet. | |
| Type | Type | |
| Skipping to change at page ?, line 2212 from start of file: | ||
| plaintext consists of nested attributes as described below. | plaintext consists of nested attributes as described below. | |
| AT_MAC | AT_MAC | |
| For EAP-Response/AKA-Reauthentication, the MAC code is calculated | For EAP-Response/AKA-Reauthentication, the MAC code is calculated | |
| over the following data: | over the following data: | |
| EAP packet| NONCE_S | EAP packet| NONCE_S | |
| The EAP packet is represented as specified in Section 7.1. It is | The EAP packet is represented as specified in Section 7.1. It is | |
| followed by the 16-byte NONCE_S value from the client's | followed by the 16-byte NONCE_S value from the server's | |
| AT_NONCE_S attribute. | AT_NONCE_S attribute. | |
| The AT_IV and AT_ENCR_DATA attributes are used for communicating | The AT_IV and AT_ENCR_DATA attributes are used for communicating | |
| encrypted attributes. The plaintext of the AT_ENCR_DATA value field | encrypted attributes. The plaintext of the AT_ENCR_DATA value field | |
| consists of nested attributes, which are shown below. | consists of nested attributes, which are shown below. | |
| Arkko and Haverinen Expires in six months [Page 41] | Arkko and Haverinen Expires in six months [Page 42] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| 0 1 2 3 | 0 1 2 3 | |
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | AT_COUNTER | Length = 1 | Counter | | | AT_COUNTER | Length = 1 | Counter | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | AT_COUNTER...| Length = 1 | Reserved | | | AT_COUNTER...| Length = 1 | Reserved | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | AT_PADDING | Length | Padding... | | | AT_PADDING | Length | Padding... | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |
| Skipping to change at page ?, line 2257 from start of file: | ||
| AT_PADDING | AT_PADDING | |
| The AT_PADDING attribute is optional to include. See section 7.2 | The AT_PADDING attribute is optional to include. See section 7.2 | |
| 8.9. EAP/AKA Notifications | 8.9. EAP/AKA Notifications | |
| The EAP-Request/Notification, specified in [5], can be used to | The EAP-Request/Notification, specified in [5], can be used to | |
| convey a displayable message from the authenticator to the client. | convey a displayable message from the authenticator to the client. | |
| Because these messages are textual messages, it may be hard for the | Because these messages are textual messages, it may be hard for the | |
| client to present them in the userÆs preferred language. Therefore, | client to present them in the user's preferred language. Therefore, | |
| EAP/AKA uses a separate EAP/AKA message subtype to transmit | EAP/AKA uses a separate EAP/AKA message subtype to transmit | |
| localizable notification codes instead of the EAP- | localizable notification codes instead of the EAP- | |
| Request/Notification packet. | Request/Notification packet. | |
| The EAP server MAY issue an EAP-Request/AKA-Notification packet to | The EAP server MAY issue an EAP-Request/AKA-Notification packet to | |
| the client. The client MAY delay the processing of EAP-Request/AKA- | the client. The client MAY delay the processing of EAP-Request/AKA- | |
| Notification and wait for other EAP/AKA requests. If a valid EAP/AKA | Notification and wait for other EAP/AKA requests. If a valid EAP/AKA | |
| request of another subtype is received, the client MAY silently | request of another subtype is received, the client MAY silently | |
| ignore the EAP-Request/AKA-Notification and process the other | ignore the EAP-Request/AKA-Notification and process the other | |
| EAP/AKA request instead. If the client decides to process the EAP- | EAP/AKA request instead. If the client decides to process the EAP- | |
| Skipping to change at page ?, line 2279 from start of file: | ||
| message to the user and the client MUST respond to the EAP server | message to the user and the client MUST respond to the EAP server | |
| with an EAP-Response/AKA-Notification packet, even if the client did | with an EAP-Response/AKA-Notification packet, even if the client did | |
| not recognize the notification code. The processing of EAP- | not recognize the notification code. The processing of EAP- | |
| Request/AKA-Notification MUST NOT result in any change in the client | Request/AKA-Notification MUST NOT result in any change in the client | |
| state. For example, the client MUST NOT assume that the receipt of | state. For example, the client MUST NOT assume that the receipt of | |
| an EAP-Request/AKA-Notification indicates failed authentication. | an EAP-Request/AKA-Notification indicates failed authentication. | |
| Arkko and Haverinen Expires in six months [Page 42] | Arkko and Haverinen Expires in six months [Page 43] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| On full authentication, AT_MAC MUST be included in EAP/AKA | On full authentication, AT_MAC MUST be included in EAP/AKA | |
| Notification packets if a new K_aut key is available and MUST NOT be | Notification packets if a new K_aut key is available and MUST NOT be | |
| included if K_aut has not been derived yet. In other words, AT_MAC | included if K_aut has not been derived yet. In other words, AT_MAC | |
| MUST be included on full authentication if and only if the EAP/AKA- | MUST be included on full authentication if and only if the EAP/AKA- | |
| Challenge roundtrip has been performed. On re-authentication, | Challenge roundtrip has been performed. On re-authentication, | |
| EAP/AKA-Notification packets MUST be protected with AT_MAC because | EAP/AKA-Notification packets MUST be protected with AT_MAC because | |
| K_aut is always available. | K_aut is always available. | |
| Some of the notification codes are authorization related and hence | Some of the notification codes are authorization related and hence | |
| Skipping to change at page ?, line 2336 from start of file: | ||
| Length | Length | |
| The length of the EAP packet. | The length of the EAP packet. | |
| Type | Type | |
| 23 | 23 | |
| Arkko and Haverinen Expires in six months [Page 43] | Arkko and Haverinen Expires in six months [Page 44] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Subtype | Subtype | |
| 12 | 12 | |
| Reserved | Reserved | |
| Set to zero when sending, ignored on reception. | Set to zero when sending, ignored on reception. | |
| AT_NOTIFICATION | AT_NOTIFICATION | |
| The AT_NOTIFICATION attribute MUST be included. The value field | The AT_NOTIFICATION attribute MUST be included. The value field | |
| of this attribute contains a two-byte notification code. The | of this attribute contains a two-byte notification code. The | |
| following code values have been reserved. The descriptions below | following code values have been reserved. The descriptions below | |
| illustrate the semantics of the notifications. The client | illustrate the semantics of the notifications. The client | |
| implementation MAY use different wordings when presenting the | implementation MAY use different wordings when presenting the | |
| notifications to the user. The "requested service" depends on the | notifications to the user. The "requested service" depends on the | |
| environment where EAP/AKA is applied. | environment where EAP/AKA is applied. | |
| 1026 û User has been temporarily denied access to the requested | 1026 - User has been temporarily denied access to the requested | |
| service | service | |
| 1031 - User has not subscribed to the requested service | 1031 - User has not subscribed to the requested service | |
| AT_MAC | AT_MAC | |
| AT_MAC is included in cases described above. No message-specific | AT_MAC is included in cases described above. No message-specific | |
| data is included in the MAC calculation. See Section 7.1. | data is included in the MAC calculation. See Section 7.1. | |
| Skipping to change at page ?, line 2394 from start of file: | ||
| | MAC | | | MAC | | |
| | | | | | | |
| | | | | | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| Code | Code | |
| 2 for Response | 2 for Response | |
| Arkko and Haverinen Expires in six months [Page 44] | Arkko and Haverinen Expires in six months [Page 45] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Identifier | Identifier | |
| See [5]. | See [5]. | |
| Length | Length | |
| The length of the EAP packet. | The length of the EAP packet. | |
| Type | Type | |
| Skipping to change at page ?, line 2446 from start of file: | ||
| subtype, the EAP/AKA client MUST silently discard the EAP request. | subtype, the EAP/AKA client MUST silently discard the EAP request. | |
| As normally in EAP, the EAP server sends the EAP-Failure packet to | As normally in EAP, the EAP server sends the EAP-Failure packet to | |
| the client when the authentication procedure fails on the EAP | the client when the authentication procedure fails on the EAP | |
| Server. In EAP/AKA, this may occur for example if the EAP server is | Server. In EAP/AKA, this may occur for example if the EAP server is | |
| not able to obtain authentication vectors for the subscriber or the | not able to obtain authentication vectors for the subscriber or the | |
| authentication exchange times out. | authentication exchange times out. | |
| 10. Key Derivation | 10. Key Derivation | |
| This section specifies how EAP AKA keying material is derived from | This section specifies how EAP AKA keying material is derived. | |
| the IK and CK keys. | ||
| EAP AKA requires two keys for its own purposes, a message | On EAP AKA full authentication, a Master Key (MK) is derived from | |
| authentication key K_aut and an encryption key K_encr, to be used | the underlying UMTS AKA values (IK and CK keys) and the Identity as | |
| follows. | ||
| Arkko and Haverinen Expires in six months [Page 45] | Arkko and Haverinen Expires in six months [Page 46] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| MK = SHA1(Identity|IK|CK) | ||
| In the formula above, the "|" character denotes concatenation. | ||
| Identity denotes the user identity string without any terminating | ||
| null characters. It is the identity from the AT_IDENTITY attribute | ||
| from the last EAP-Response/AKA-Identity packet, or, if AT_IDENTITY | ||
| was not used, the identity from the EAP-Response/Identity packet. | ||
| The Master Key is fed into a Pseudo-Random number Function (PRF) | ||
| which generates separate Transient EAP Keys (TEKs) for protecting | ||
| EAP AKA packets and a Master Session Key (MSK) for other purposes, | ||
| such as protecting traffic between the client and the authenticator. | ||
| Initialization Vector (IV) values are also generated. On re- | ||
| authentication, the same TEKs will be used for protecting EAP | ||
| packets, but a new MSK and new IVs will be derived from the original | ||
| MK and new values exchanged in the re-authentication. | ||
| EAP AKA requires two TEKs for its own purposes, a message | ||
| authentication key K_aut and an encryption key K_encr, to be used | ||
| with the AT_MAC and AT_ENCR_DATA attributes. The same K_aut and | with the AT_MAC and AT_ENCR_DATA attributes. The same K_aut and | |
| K_encr keys are used in full authentication and subsequent re- | K_encr keys are used in full authentication and subsequent re- | |
| authentications. In addition, it is possible to derive additional | authentications. | |
| application specific key material, such as a master key to be used | ||
| with IEEE 802.11i. | ||
| Key derivation is based on the pseudo-random number generator | Key derivation is based on the pseudo-random number generator | |
| specified in NIST Federal Information Processing Standards | specified in NIST Federal Information Processing Standards | |
| Publication 186-2 [13]. The pseudo-random number generator is | Publication 186-2 [13]. The pseudo-random number generator is | |
| specified in the change notice 1 (2001 October 5)of [13] (Algorithm | specified in the change notice 1 (2001 October 5)of [13] (Algorithm | |
| 1). As specified in the change notice (page 74), when Algorithm 1 is | 1). As specified in the change notice (page 74), when Algorithm 1 is | |
| used as a general-purpose random number generator, the "mod q" term | used as a general-purpose random number generator, the "mod q" term | |
| in step 3.2 is omitted. The function G used in the algorithm is | in step 3.2 is omitted. The function G used in the algorithm is | |
| constructed via Secure Hash Standard as specified in Appendix 3.3 of | constructed via Secure Hash Standard as specified in Appendix 3.3 of | |
| the standard. For convenience, the pseudo-random number algorithm | the standard. For convenience, the pseudo-random number algorithm | |
| with the correct modification is cited in Annex A. | with the correct modification is cited in Annex A. | |
| 160-bit XKEY and XVAL values are used, so b = 160. The initial | 160-bit XKEY and XVAL values are used, so b = 160. On full | |
| secret seed value XKEY is computed from the AKA integrity key IK and | authentication, the Master Key is used as the initial secret seed | |
| cipher key CK with the following formula: | value XKEY | |
| XKEY = SHA1(Identity|IK|CK) | ||
| In the formula above, the "|" character denotes concatenation. | ||
| Identity denotes the user identity string without any terminating | ||
| null characters. It is the identity from the AT_IDENTITY attribute | ||
| from the last EAP-Response/AKA-Identity packet, or, if AT_IDENTITY | ||
| was not used, the identity from the EAP-Response/Identity packet. | ||
| The optional user input values (XSEED_j) in Step 3.1 are set to | The optional user input values (XSEED_j) in Step 3.1 are set to | |
| zero. | zero. | |
| The resulting 320-bit random numbers x_0, x_1, ..., x_m-1 are | The resulting 320-bit random numbers x_0, x_1, ..., x_m-1 are | |
| concatenated and partitioned into suitable-sized chunks and used as | concatenated and partitioned into suitable-sized chunks and used as | |
| keys in the following order: K_encr (128 bits), K_aut (128 bits), | keys in the following order: K_encr (128 bits), K_aut (128 bits), | |
| EAP application specific keys. The EAP application specific material | Master Session Key (128 bytes), Initialization Vectors (64 bytes). | |
| immediately follows K_aut. | ||
| On re-authentication, the same pseudo-random number generator can be | On re-authentication, the same pseudo-random number generator can be | |
| used to generate new application specific keys. The seed value XKEYÆ | used to generate a new Master Session Key and new Initializatin | |
| is calculated as follows: | Vectors. The seed value XKEY' is calculated as follows: | |
| XKEY' = SHA1(Identity|counter|NONCE_S|MK) | ||
| XKEYÆ = SHA1(Identity|counter|NONCE_S|original XKEY) | Arkko and Haverinen Expires in six months [Page 47] | |
| EAP AKA Authentication February 2003 | ||
| In the formula above, the Identity denotes the re-authentication | In the formula above, the Identity denotes the re-authentication | |
| user identity, without any terminating null characters, from the | user identity, without any terminating null characters, from the | |
| AT_IDENTITY attribute of the EAP-Response/AKA-Identity packet, or, | AT_IDENTITY attribute of the EAP-Response/AKA-Identity packet, or, | |
| if EAP-Response/AKA-Identity was not used on re-authentication, the | if EAP-Response/AKA-Identity was not used on re-authentication, the | |
| identity string from the EAP-Response/Identity packet. The counter | identity string from the EAP-Response/Identity packet. The counter | |
| denotes the counter value from AT_COUNTER attribute used in the EAP- | denotes the counter value from AT_COUNTER attribute used in the EAP- | |
| Response/AKA-Reauthentication packet. The counter is used in network | Response/AKA-Reauthentication packet. The counter is used in network | |
| byte order. NONCE_S denotes the 16-byte NONCE_S value from the | byte order. NONCE_S denotes the 16-byte NONCE_S value from the | |
| AT_NONCE_S attribute used in the EAP-Request/AKA-Reauthentication | AT_NONCE_S attribute used in the EAP-Request/AKA-Reauthentication | |
| packet. The original XKEY is the XKEY value from the preceding full | packet. The MK is the Master Key from the preceding full | |
| Arkko and Haverinen Expires in six months [Page 46] | ||
| EAP AKA Authentication January 2003 | ||
| authentication. The pseudo-random number generator is run with the | authentication. The pseudo-random number generator is run with the | |
| new seed value XKEYÆ, and the resulting 320-bit random numbers x_0, | new seed value XKEY', and the resulting 320-bit random numbers x_0, | |
| x_1, ..., x_m-1 are concatenated and partitioned into suitable-sized | x_1, ..., x_m-1 are concatenated and partitioned into suitable-sized | |
| chunks and used as new application specific keys. | chunks and used as the new Master Session Key and new Initialization | |
| Vectors. For example, the Master Session Key and the Initialization | ||
| For example, the EAP application specific material can be used for | Vectors can be used for packet security between the client and the | |
| packet security between the client and the authenticator. EAP AKA | authenticator. | |
| always generates 192 bytes of application specific keying material. | ||
| The keying material consists of six 32-byte chunks. The six 32-byte | In the absence of a general EAP keying specification, EAP AKA | |
| chunks may be truncated to correct length and used as keys and | generates the same amount of MSK and IV material as EAP TLS [14]. A | |
| initialization vectors in the following order: | 128-byte Master Session Key and two 32-byte Initialization Vectors | |
| are derived. If EAP TLS compatible keying material is needed, then | ||
| First 32 bytes: uplink or bi-directional encryption key | the generated keying and IV material can be divided into six 32-byte | |
| Second 32 bytes: downlink encryption key | chunks and used in the same order as specified in Section 3.5 of | |
| Third 32 bytes: uplink or bi-directional message integrity | [14]. | |
| protection key | ||
| Fourth 32 bytes: downlink message integrity protection key | The first 32 bytes of the MSK can be used as the Pairwise Master Key | |
| Fifth 32 bytes: uplink initialization vector | (PMK) for IEEE 802.11i. | |
| Sixth 32 bytes: downlink initialization vector | ||
| When the RADIUS attributes specified in [15] are used to transport | ||
| "Uplink" refers to data sent from the client to the authenticator, | keying material, then the first 32 bytes of the MSK correspond to | |
| and "downlink" to the data sent from the authenticator to the | MS-MPPE-RECV-KEY and the second 32 bytes to MS-MPPE-SEND-KEY. In | |
| client. | this case, only 64 bytes of keying material are used. | |
| If only one master session key is needed, then the first 32 bytes | ||
| (uplink encryption key) are used as the master session key. | ||
| When the RADIUS attributes specified in [14] are used to transport | ||
| keying material, then the first 32 bytes correspond to MS-MPPE-RECV- | ||
| KEY and the second 32 bytes to MS-MPPE-SEND-KEY. In this case, only | ||
| 64 bytes of keying material are used. | ||
| 11. IANA and Protocol Numbering Considerations | 11. IANA and Protocol Numbering Considerations | |
| The realm name "owlan.org" has been reserved for NAI realm names | The realm name "owlan.org" has been reserved for NAI realm names | |
| generated from the IMSI. | generated from the IMSI. | |
| IANA has assigned the number 23 for EAP AKA authentication. | IANA has assigned the number 23 for EAP AKA authentication. | |
| Skipping to change at page ?, line 2565 from start of file: | ||
| specified: | specified: | |
| AKA-Challenge...................................1 | AKA-Challenge...................................1 | |
| AKA-Authentication-Reject.......................2 | AKA-Authentication-Reject.......................2 | |
| AKA-Synchronization-Failure.....................4 | AKA-Synchronization-Failure.....................4 | |
| AKA-Identity....................................5 | AKA-Identity....................................5 | |
| AKA-Notification...............................12 | AKA-Notification...............................12 | |
| AKA-Reauthentication...........................13 | AKA-Reauthentication...........................13 | |
| Arkko and Haverinen Expires in six months [Page 47] | Arkko and Haverinen Expires in six months [Page 48] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| The Subtype-specific data is composed of attributes, which have | The Subtype-specific data is composed of attributes, which have | |
| attribute type numbers. The following attribute types are specified: | attribute type numbers. The following attribute types are specified: | |
| AT_RAND.........................................1 | AT_RAND.........................................1 | |
| AT_AUTN.........................................2 | AT_AUTN.........................................2 | |
| AT_RES..........................................3 | AT_RES..........................................3 | |
| AT_AUTS.........................................4 | AT_AUTS.........................................4 | |
| AT_PADDING......................................6 | AT_PADDING......................................6 | |
| Skipping to change at page ?, line 2593 from start of file: | ||
| AT_COUNTER_TOO_SMALL...........................20 | AT_COUNTER_TOO_SMALL...........................20 | |
| AT_NONCE_S.....................................21 | AT_NONCE_S.....................................21 | |
| AT_IV.........................................129 | AT_IV.........................................129 | |
| AT_ENCR_DATA..................................130 | AT_ENCR_DATA..................................130 | |
| AT_NEXT_PSEUDONYM.............................132 | AT_NEXT_PSEUDONYM.............................132 | |
| AT_NEXT_REAUTH_ID.............................133 | AT_NEXT_REAUTH_ID.............................133 | |
| All requests for value assignment from the various number spaces | All requests for value assignment from the various number spaces | |
| described in this document require proper documentation, according | described in this document require proper documentation, according | |
| to the "Specification Required" policy described in [15]. Requests | to the "Specification Required" policy described in [16]. Requests | |
| must be specified in sufficient detail so that interoperability | must be specified in sufficient detail so that interoperability | |
| between independent implementations is possible. Possible forms of | between independent implementations is possible. Possible forms of | |
| documentation include, but are not limited to, RFCs, the products of | documentation include, but are not limited to, RFCs, the products of | |
| another standards body (e.g. 3GPP), or permanently and readily | another standards body (e.g. 3GPP), or permanently and readily | |
| available vendor design notes. | available vendor design notes. | |
| 12. Security Considerations | 12. Security Considerations | |
| The revised EAP base protocol [16] highlights several attacks that | ||
| The revised EAP base protocol [17] highlights several attacks that | ||
| are possible against the EAP protocol. This section discusses the | are possible against the EAP protocol. This section discusses the | |
| claimed security properties of EAP AKA as well as vulnerabilities | claimed security properties of EAP AKA as well as vulnerabilities | |
| and security recommendations. | and security recommendations. | |
| 12.1. Identity Protection | 12.1. Identity Protection | |
| EAP/AKA includes optional Identity privacy support that protects the | EAP/AKA includes optional Identity privacy support that protects the | |
| privacy of the subscriber identity against passive eavesdropping. | privacy of the subscriber identity against passive eavesdropping. | |
| The mechanism cannot be used on the first connection with a given | The mechanism cannot be used on the first connection with a given | |
| server, when the IMSI will have to be sent in the clear. The | server, when the IMSI will have to be sent in the clear. The | |
| terminal SHOULD store the pseudonym in a non-volatile memory so that | terminal SHOULD store the pseudonym in a non-volatile memory so that | |
| it can be maintained across reboots. An active attacker that | it can be maintained across reboots. An active attacker that | |
| impersonates the network may use the AT_PERMANENT_ID_REQ attribute | impersonates the network may use the AT_PERMANENT_ID_REQ attribute | |
| (Section 4.3) to learn the subscriber's IMSI. However, as discussed | (Section 4.3) to learn the subscriber's IMSI. However, as discussed | |
| in Section 4.3, the terminal can refuse to send the cleartext IMSI | in Section 4.3, the terminal can refuse to send the cleartext IMSI | |
| if it believes that the network should be able to recognize the | if it believes that the network should be able to recognize the | |
| pseudonym. | pseudonym. | |
| If the client and server cannot guarantee that the pseudonym will be | ||
| maintained reliably and Identity privacy is required then additional | ||
| Arkko and Haverinen Expires in six months [Page 48] | ||
| EAP AKA Authentication January 2003 | ||
| Arkko and Haverinen Expires in six months [Page 49] | ||
| EAP AKA Authentication February 2003 | ||
| If the client and server cannot guarantee that the pseudonym will be | ||
| maintained reliably and Identity privacy is required then additional | ||
| protection from an external security mechanism such as Protected | protection from an external security mechanism such as Protected | |
| Extensible Authentication Protocol (PEAP) [17] may be used. The | Extensible Authentication Protocol (PEAP) [18] may be used. The | |
| benefits and the security considerations of using an external | benefits and the security considerations of using an external | |
| security mechanism with EAP/AKA are beyond the scope of this | security mechanism with EAP/AKA are beyond the scope of this | |
| document. | document. | |
| 12.2. Mutual Authentication | 12.2. Mutual Authentication | |
| EAP/AKA provides mutual authentication via the UMTS AKA mechanisms. | EAP/AKA provides mutual authentication via the UMTS AKA mechanisms. | |
| 12.3. Key Derivation | 12.3. Key Derivation | |
| EAP/AKA supports key derivation with 128-bit effective key strength. | EAP/AKA supports key derivation with 128-bit effective key strength. | |
| The key hierarchy is specified in Section 10. | The key hierarchy is specified in Section 10. | |
| The keys used to protect EAP AKA packets (K_encr, K_aut) and the | The Transient EAP Keys used to protect EAP AKA packets (K_encr, | |
| application specific keys are cryptographically separate. An | K_aut) and the Master Session Keys are cryptographically separate. | |
| attacker cannot derive any non-trivial information from K_encr or | An attacker cannot derive any non-trivial information from K_encr or | |
| K_aut based on the application specific keys or vice versa. An | K_aut based on the Master Session Key or vice versa. An attacker | |
| attacker also cannot calculate the pre-shared secret from the UMTS | also cannot calculate the pre-shared secret from the UMTS AKA IK, | |
| AKA IK, UMTS AKA CK, EAP AKA K_encr, EAP AKA K_aut or from the | UMTS AKA CK, EAP AKA K_encr, EAP AKA K_aut or from the Master | |
| application specific keys. | Session Key. | |
| 12.4. Brute-Force and Dictionary Attacks | 12.4. Brute-Force and Dictionary Attacks | |
| The effective strength of EAP/AKA values is 128 bits, and there are | The effective strength of EAP/AKA values is 128 bits, and there are | |
| no known computationally feasible brute-force attacks. Because UMTS | no known computationally feasible brute-force attacks. Because UMTS | |
| AKA is not a password protocol (the pre-shared secret must not be a | AKA is not a password protocol (the pre-shared secret must not be a | |
| weak password), EAP/AKA is not vulnerable to dictionary attacks. | weak password), EAP/AKA is not vulnerable to dictionary attacks. | |
| 12.5. Integrity Protection, Replay Protection and Confidentiality | 12.5. Integrity Protection, Replay Protection and Confidentiality | |
| Skipping to change at page ?, line 2678 from start of file: | ||
| to provide replay protection. | to provide replay protection. | |
| The contents of the EAP-Response/Identity packet are implicitly | The contents of the EAP-Response/Identity packet are implicitly | |
| integrity protected by including them in key derivation. | integrity protected by including them in key derivation. | |
| Because EAP/AKA is not a tunneling method, EAP Notification, EAP | Because EAP/AKA is not a tunneling method, EAP Notification, EAP | |
| Success or EAP Failure packets are not confidential, integrity | Success or EAP Failure packets are not confidential, integrity | |
| protected or replay protected. On physically insecure networks, this | protected or replay protected. On physically insecure networks, this | |
| may enable an attacker to mount denial of service attacks by sending | may enable an attacker to mount denial of service attacks by sending | |
| false EAP Notification, EAP Success or EAP Failure packets. However, | false EAP Notification, EAP Success or EAP Failure packets. However, | |
| the attacker cannot force the peers to believe successful | the attacker cannot force the peers to believe successful | |
| authentication has occurred when mutual authentication failed or has | ||
| not happened yet. | ||
| Arkko and Haverinen Expires in six months [Page 49] | Arkko and Haverinen Expires in six months [Page 50] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| authentication has occurred when mutual authentication failed or has | ||
| not happened yet. | ||
| An eavesdropper will see the EAP Notification, EAP Success and EAP | An eavesdropper will see the EAP Notification, EAP Success and EAP | |
| Failure packets sent in the clear. With EAP AKA, confidential | Failure packets sent in the clear. With EAP AKA, confidential | |
| information MUST NOT be transmitted in EAP Notification packets. | information MUST NOT be transmitted in EAP Notification packets. | |
| 12.6. Negotiation Attacks | 12.6. Negotiation Attacks | |
| EAP/AKA does not protect the EAP-Response/Nak packet. Because | EAP/AKA does not protect the EAP-Response/Nak packet. Because | |
| EAP/AKA does not protect the EAP method negotiation, EAP method | EAP/AKA does not protect the EAP method negotiation, EAP method | |
| downgrading attacks may be possible, especially if the user uses the | downgrading attacks may be possible, especially if the user uses the | |
| same identity with EAP/AKA and other EAP methods. | same identity with EAP/AKA and other EAP methods. | |
| As described in Section 6, EAP/AKA allows the protocol to be | ||
| extended by defining new attribute types. When defining such | ||
| attributes, it should be noted that any extra attributes included in | ||
| EAP-Request/AKA-Identity or EAP-Response/AKA-Identity packets are | ||
| not included in the MACs later on, and thus some other precautions | ||
| must be taken to avoid modifications to them. | ||
| EAP/AKA does not support ciphersuite negotiation or EAP/AKA protocol | EAP/AKA does not support ciphersuite negotiation or EAP/AKA protocol | |
| version negotiation. | version negotiation. | |
| 12.7. Fast Reconnect | 12.7. Fast Reconnect | |
| EAP/AKA includes an optional re-authentication ("fast reconnect") | EAP/AKA includes an optional re-authentication ("fast reconnect") | |
| procedure, as recommended in [16] for EAP types that are intended | procedure, as recommended in [17] for EAP types that are intended | |
| for physically insecure networks. | for physically insecure networks. | |
| 12.8. Acknowledged Result Indications | 12.8. Acknowledged Result Indications | |
| EAP/AKA does not provide acknowledged or integrity protected Success | EAP/AKA does not provide acknowledged or integrity protected Success | |
| or Failure indications. | or Failure indications. | |
| If an EAP Success or an EAP Failure packet is lost when using | If an EAP Success or an EAP Failure packet is lost when using | |
| EAP/AKA over an unreliable medium, and if the protocol over which | EAP/AKA over an unreliable medium, and if the protocol over which | |
| EAP/AKA is transported does not address the possible loss of Success | EAP/AKA is transported does not address the possible loss of Success | |
| Skipping to change at page ?, line 2727 from start of file: | ||
| On physically insecure networks, an attacker may mount denial of | On physically insecure networks, an attacker may mount denial of | |
| service attacks by sending false EAP Success or EAP Failure | service attacks by sending false EAP Success or EAP Failure | |
| indications. However, the attacker cannot force the client or the | indications. However, the attacker cannot force the client or the | |
| authenticator to believe successful authentication has occurred when | authenticator to believe successful authentication has occurred when | |
| mutual authentication failed or has not happened yet. | mutual authentication failed or has not happened yet. | |
| 12.9. Man-in-the-middle Attacks | 12.9. Man-in-the-middle Attacks | |
| In order to avoid man-in-the-middle attacks and session hijacking, | In order to avoid man-in-the-middle attacks and session hijacking, | |
| user data SHOULD be integrity protected on physically insecure | user data SHOULD be integrity protected on physically insecure | |
| networks. The EAP/AKA application specific keys or keys derived from | networks. The EAP/AKA Master Session Key or keys derived from it MAY | |
| them MAY be used as the integrity protection keys, or, if an | be used as the integrity protection keys, or, if an external | |
| external security mechanism such as PEAP is used, then the link | ||
| integrity protection keys MAY be derived by the external security | Arkko and Haverinen Expires in six months [Page 51] | |
| mechanism. | ||
| EAP AKA Authentication February 2003 | ||
| security mechanism such as PEAP is used, then the link integrity | ||
| protection keys MAY be derived by the external security mechanism. | ||
| There are man-in-the-middle attacks associated with the use of any | There are man-in-the-middle attacks associated with the use of any | |
| EAP method within a tunneled protocol such as PEAP, or within a | EAP method within a tunneled protocol such as PEAP, or within a | |
| sequence of EAP methods followed by each other. This specification | sequence of EAP methods followed by each other. This specification | |
| does not address these attacks. If EAP/AKA is used with a tunneling | does not address these attacks. If EAP/AKA is used with a tunneling | |
| protocol or as part of a sequence of methods, there should be | protocol or as part of a sequence of methods, there should be | |
| Arkko and Haverinen Expires in six months [Page 50] | ||
| EAP AKA Authentication January 2003 | ||
| cryptographic binding provided between the protocols and EAP/AKA to | cryptographic binding provided between the protocols and EAP/AKA to | |
| prevent man-in-the-middle attacks through rogue authenticators being | prevent man-in-the-middle attacks through rogue authenticators being | |
| able to setup one-way authenticated tunnels. EAP/AKA application- | able to setup one-way authenticated tunnels. EAP/AKA Master Session | |
| specific keys MAY be used to provide the cryptographic binding. | Key MAY be used to provide the cryptographic binding. However the | |
| However the mechanism how the binding is provided depends on the | mechanism how the binding is provided depends on the tunneling or | |
| tunneling or sequencing protocol, and it is beyond the scope of this | sequencing protocol, and it is beyond the scope of this document. | |
| document. | ||
| 12.10. Generating Random Numbers | 12.10. Generating Random Numbers | |
| An EAP/AKA implementation SHOULD use a good source of randomness to | An EAP/AKA implementation SHOULD use a good source of randomness to | |
| generate the random numbers required in the protocol. Please see | generate the random numbers required in the protocol. Please see | |
| [18] for more information on generating random numbers for security | [19] for more information on generating random numbers for security | |
| applications. | applications. | |
| 13. Security Claims | 13. Security Claims | |
| This section provides the security claims required by [16]. | This section provides the security claims required by [17]. | |
| [a] Intended use. EAP AKA is intended for use over both physically | [a] Intended use. EAP AKA is intended for use over both physically | |
| insecure networks and physically or otherwise secure networks. | insecure networks and physically or otherwise secure networks. | |
| Applicable media include but are not limited to PPP, IEEE 802 wired | Applicable media include but are not limited to PPP, IEEE 802 wired | |
| networks and IEEE 802.11. | networks and IEEE 802.11. | |
| [b] Mechanism. EAP AKA is based on the UMTS AKA mechanism, which is | [b] Mechanism. EAP AKA is based on the UMTS AKA mechanism, which is | |
| an authentication and key agreement mechanism based on a symmetric | an authentication and key agreement mechanism based on a symmetric | |
| 128-bit pre-shared secret. | 128-bit pre-shared secret. | |
| Skipping to change at page ?, line 2788 from start of file: | ||
| [f] Indication of vulnerabilities. Vulnerabilities are discussed in | [f] Indication of vulnerabilities. Vulnerabilities are discussed in | |
| Section 12. | Section 12. | |
| 14. Intellectual Property Right Notices | 14. Intellectual Property Right Notices | |
| On IPR related issues, Nokia and Ericsson refer to the their | On IPR related issues, Nokia and Ericsson refer to the their | |
| respective statements on patent licensing. Please see | respective statements on patent licensing. Please see | |
| http://www.ietf.org/ietf/IPR/NOKIA and | http://www.ietf.org/ietf/IPR/NOKIA and | |
| http://www.ietf.org/ietf/IPR/ERICSSON-General | http://www.ietf.org/ietf/IPR/ERICSSON-General | |
| Arkko and Haverinen Expires in six months [Page 52] | ||
| EAP AKA Authentication February 2003 | ||
| Acknowledgements and Contributions | Acknowledgements and Contributions | |
| The authors wish to thank Rolf Blom of Ericsson, Bernard Aboba of | The authors wish to thank Rolf Blom of Ericsson, Bernard Aboba of | |
| Microsoft, Arne Norefors of Ericsson, N.Asokan of Nokia, Valtteri | Microsoft, Arne Norefors of Ericsson, N.Asokan of Nokia, Valtteri | |
| Niemi of Nokia, Kaisa Nyberg of Nokia, Jukka-Pekka Honkanen of | Niemi of Nokia, Kaisa Nyberg of Nokia, Jukka-Pekka Honkanen of | |
| Nokia, Olivier Paridaens of Alcatel and Ilkka Uusitalo of Ericsson | Nokia, Pasi Eronen of Nokia, Olivier Paridaens of Alcatel and Ilkka | |
| for interesting discussions in this problem space. | Uusitalo of Ericsson for interesting discussions in this problem | |
| space. | ||
| Arkko and Haverinen Expires in six months [Page 51] | ||
| EAP AKA Authentication January 2003 | ||
| The attribute format is based on the extension format of Mobile IPv4 | The attribute format is based on the extension format of Mobile IPv4 | |
| [19]. | [20]. | |
| Authors' Addresses | Authors' Addresses | |
| Jari Arkko | Jari Arkko | |
| Ericsson | Ericsson | |
| 02420 Jorvas Phone: +358 40 5079256 | 02420 Jorvas Phone: +358 40 5079256 | |
| Finland Email: jari.arkko@ericsson.com | Finland Email: jari.arkko@ericsson.com | |
| Henry Haverinen | Henry Haverinen | |
| Nokia Mobile Phones | Nokia Mobile Phones | |
| P.O. Box 88 | P.O. Box 88 | |
| 33721 Tampere Phone: +358 50 594 4899 | 33721 Tampere Phone: +358 50 594 4899 | |
| Finland E-mail: henry.haverinen@nokia.com | Finland E-mail: henry.haverinen@nokia.com | |
| Arkko and Haverinen Expires in six months [Page 52] | ||
| EAP AKA Authentication January 2003 | ||
| Arkko and Haverinen Expires in six months [Page 53] | Arkko and Haverinen Expires in six months [Page 53] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| Annex A. Pseudo-Random Number Generator | Annex A. Pseudo-Random Number Generator | |
| The "|" character denotes concatenation, and "^" denotes involution. | The "|" character denotes concatenation, and "^" denotes involution. | |
| Step 1: Choose a new, secret value for the seed-key, XKEY | Step 1: Choose a new, secret value for the seed-key, XKEY | |
| Step 2: In hexadecimal notation let | Step 2: In hexadecimal notation let | |
| t = 67452301 EFCDAB89 98BADCFE 10325476 C3D2E1F0 | t = 67452301 EFCDAB89 98BADCFE 10325476 C3D2E1F0 | |
| This is the initial value for H0|H1|H2|H3|H4 | This is the initial value for H0|H1|H2|H3|H4 | |
| in the FIPS SHS [12] | in the FIPS SHS [12] | |
| Step 3: For j = 0 to m û 1 do | Step 3: For j = 0 to m - 1 do | |
| 3.1 XSEED_j = optional user input | 3.1 XSEED_j = optional user input | |
| 3.2 For i = 0 to 1 do | 3.2 For i = 0 to 1 do | |
| a. XVAL = (XKEY + XSEED_j) mod 2^b | a. XVAL = (XKEY + XSEED_j) mod 2^b | |
| b. w_i = G(t, XVAL) | b. w_i = G(t, XVAL) | |
| c. XKEY = (1 + XKEY + w_i) mod 2^b | c. XKEY = (1 + XKEY + w_i) mod 2^b | |
| 3.3 x_j = w_0|w_1 | 3.3 x_j = w_0|w_1 | |
| Arkko and Haverinen Expires in six months [Page 54] | Arkko and Haverinen Expires in six months [Page 54] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| References | References | |
| [1] 3GPP Technical Specification 3GPP TS 33.102 V3.6.0: "Technical | [1] 3GPP Technical Specification 3GPP TS 33.102 V5.1.0: "Technical | |
| Specification Group Services and System Aspects; 3G Security; | Specification Group Services and System Aspects; 3G Security; | |
| Security Architecture (Release 1999)", 3rd Generation | Security Architecture (Release 5)", 3rd Generation Partnership | |
| Partnership Project, November 2000. (NORMATIVE) | Project, December 2002. (NORMATIVE) | |
| [2] IEEE P802.1X/D11, "Standards for Local Area and Metropolitan | [2] IEEE P802.1X/D11, "Standards for Local Area and Metropolitan | |
| Area Networks: Standard for Port Based Network Access | Area Networks: Standard for Port Based Network Access | |
| Control", March 2001. (INFORMATIVE) | Control", March 2001. (INFORMATIVE) | |
| [3] IEEE Draft 802.11eS/D1, "Draft Supplement to STANDARD FOR | [3] IEEE Draft 802.11eS/D1, "Draft Supplement to STANDARD FOR | |
| Telecommunications and Information Exchange between Systems - | Telecommunications and Information Exchange between Systems - | |
| LAN/MAN Specific Requirements - Part 11: Wireless Medium | LAN/MAN Specific Requirements - Part 11: Wireless Medium | |
| Access Control (MAC) and physical layer (PHY) specifications: | Access Control (MAC) and physical layer (PHY) specifications: | |
| Specification for Enhanced Security", March 2001. | Specification for Enhanced Security", March 2001. | |
| Skipping to change at page ?, line 2879 from start of file: | ||
| [4] Aboba, B. and M. Beadles, "The Network Access Identifier", RFC | [4] Aboba, B. and M. Beadles, "The Network Access Identifier", RFC | |
| 2486, January 1999. (NORMATIVE) | 2486, January 1999. (NORMATIVE) | |
| [5] L. Blunk, J. Vollbrecht, "PPP Extensible Authentication | [5] L. Blunk, J. Vollbrecht, "PPP Extensible Authentication | |
| Protocol (EAP)", RFC 2284, March 1998. (NORMATIVE) | Protocol (EAP)", RFC 2284, March 1998. (NORMATIVE) | |
| [6] S. Bradner, "Key words for use in RFCs to indicate Requirement | [6] S. Bradner, "Key words for use in RFCs to indicate Requirement | |
| Levels", RFC 2119, March 1997. (NORMATIVE) | Levels", RFC 2119, March 1997. (NORMATIVE) | |
| [7] GSM Technical Specification GSM 03.03 (ETS 300 523): "Digital | [7] 3GPP Technical Specification 3GPP TS 23.003 V5.5.1: "3rd | |
| cellular telecommunication system (Phase 2); Numbering, | Generation Parnership Project; Technical Specification Group | |
| addressing and identification", European Telecommunications | Core Network; Numbering, addressing and identification | |
| Standards Institute, April 1997. (NORMATIVE) | (Release 5)", 3rd Generation Parnership Project, January 2003 | |
| (NORMATIVE) | ||
| [8] Draft 3GPP Technical Specification 3GPP TS 23.234 V 1.2.0: | [8] Draft 3GPP Technical Specification 3GPP TS 23.234 V 1.4.0: | |
| "Technical Specification Group Services and System Aspects; | "Technical Specification Group Services and System Aspects; | |
| 3GPP system to Wireless Local Area Network (WLAN) | 3GPP system to Wireless Local Area Network (WLAN) | |
| Interworking; System Description", 3rd Generation Partnership | Interworking; System Description", 3rd Generation Partnership | |
| Project, work in progress, November 2002. (INFORMATIVE) | Project, work in progress, January 2003. (INFORMATIVE) | |
| [9] H. Krawczyk, M. Bellare, R. Canetti, "HMAC: Keyed-Hashing for | [9] H. Krawczyk, M. Bellare, R. Canetti, "HMAC: Keyed-Hashing for | |
| Message Authentication", RFC2104, February 1997. (NORMATIVE) | Message Authentication", RFC2104, February 1997. (NORMATIVE) | |
| [10] Federal Information Processing Standard (FIPS) draft standard, | [10] Federal Information Processing Standard (FIPS) draft standard, | |
| "Advanced Encryption Standard (AES)", | "Advanced Encryption Standard (AES)", | |
| http://csrc.nist.gov/publications/drafts/dfips-AES.pdf, | http://csrc.nist.gov/publications/drafts/dfips-AES.pdf, | |
| September 2001. (NORMATIVE) | September 2001. (NORMATIVE) | |
| [11] US National Bureau of Standards, "DES Modes of Operation", | [11] US National Bureau of Standards, "DES Modes of Operation", | |
| Federal Information Processing Standard (FIPS) Publication 81, | Federal Information Processing Standard (FIPS) Publication 81, | |
| December 1980. (NORMATIVE) | December 1980. (NORMATIVE) | |
| Arkko and Haverinen Expires in six months [Page 55] | Arkko and Haverinen Expires in six months [Page 55] | |
| EAP AKA Authentication January 2003 | ||
| EAP AKA Authentication February 2003 | ||
| [12] 3GPP Technical Specification 3GPP TS 33.105 V3.5.0: "Technical | ||
| [12] 3GPP Technical Specification 3GPP TS 33.105 4.1.0: "Technical | ||
| Specification Group Services and System Aspects; 3G Security; | Specification Group Services and System Aspects; 3G Security; | |
| Cryptographic Algorithm Requirements (Release 1999)", | Cryptographic Algorithm Requirements (Release 4)", 3rd | |
| 3rdGeneration Partnership Project, October 2000 (NORMATIVE) | Generation Partnership Project, June 2001 (NORMATIVE) | |
| [13] Federal Information Processing Standards (FIPS) Publication | [13] Federal Information Processing Standards (FIPS) Publication | |
| 186-2 (with change notice), "Digital Signature Standard | 186-2 (with change notice), "Digital Signature Standard | |
| (DSS)", National Institute of Standards and Technology, | (DSS)", National Institute of Standards and Technology, | |
| January 27, 2000, (NORMATIVE) | January 27, 2000, (NORMATIVE) | |
| Available on-line at: | Available on-line at: | |
| http://csrc.nist.gov/publications/fips/fips186-2/ | http://csrc.nist.gov/publications/fips/fips186-2/ | |
| fips186-2-change1.pdf | fips186-2-change1.pdf | |
| [14] G. Zorn, "Microsoft Vendor-specific RADIUS Attributes", RFC | [14] B. Aboba, D. Simon, "PPP EAP TLS Authentication Protocol", RFC | |
| 2716, October 1999 (INFORMATIVE) | ||
| [15] G. Zorn, "Microsoft Vendor-specific RADIUS Attributes", RFC | ||
| 2548, March 1999 (INFORMATIVE) | 2548, March 1999 (INFORMATIVE) | |
| [15] T. Narten, H. Alvestrand, "Guidelines for Writing an IANA | [16] T. Narten, H. Alvestrand, "Guidelines for Writing an IANA | |
| Considerations Section in RFCs", RFC 2434, October 1998. | Considerations Section in RFCs", RFC 2434, October 1998. | |
| (NORMATIVE) | (NORMATIVE) | |
| [16] L. Blunk, J. Vollbrecht, B. Aboba, "Extensible Authentication | [17] L. Blunk, J. Vollbrecht, B. Aboba, "Extensible Authentication | |
| Protocol (EAP)", draft-ietf-pppext-rfc2284bis-07.txt, work-in- | Protocol (EAP)", draft-ietf-pppext-rfc2284bis-07.txt, work-in- | |
| progress, October 2002. (NORMATIVE) | progress, October 2002. (NORMATIVE) | |
| [17] H. Andersson, S. Josefsson, G. Zorn, D. Simon, A. Palekar, | [18] H. Andersson, S. Josefsson, G. Zorn, D. Simon, A. Palekar, | |
| "Protected EAP Protocol (PEAP)", draft-josefsson-pppext-eap- | "Protected EAP Protocol (PEAP)", draft-josefsson-pppext-eap- | |
| tls-eap-05.txt, work-in-progress, September 2002. | tls-eap-05.txt, work-in-progress, September 2002. | |
| (IMFORMATIVE) | (IMFORMATIVE) | |
| [18] D. Eastlake, 3rd, S. Crocker, J. Schiller, "Randomness | [19] D. Eastlake, 3rd, S. Crocker, J. Schiller, "Randomness | |
| Recommendations for Security", RFC 1750 (Informational), | Recommendations for Security", RFC 1750 (Informational), | |
| December 1994. (INFORMATIVE) | December 1994. (INFORMATIVE) | |
| [19] C. Perkins (editor), "IP Mobility Support", RFC 2002, October | [20] C. Perkins (editor), "IP Mobility Support", RFC 3344, August | |
| 1996. (INFORMATIVE) | 2002. (INFORMATIVE) | |
| Arkko and Haverinen Expires in six months [Page 56] | Arkko and Haverinen Expires in six months [Page 56] |