draft-arkko-eap-aka-kdf-09.txt   draft-arkko-eap-aka-kdf.txt 
Network Working Group J. Arkko Network Working Group J. Arkko
Internet-Draft V. Lehtovirta Internet-Draft V. Lehtovirta
Updates: 4187 (if approved) Ericsson Updates: 4187 (if approved) Ericsson
Intended status: Informational P. Eronen Intended status: Informational P. Eronen
Expires: April 27, 2009 Nokia Expires: May 22, 2009 Nokia
October 24, 2008 November 18, 2008
Improved Extensible Authentication Protocol Method for 3rd Generation Improved Extensible Authentication Protocol Method for 3rd Generation
Authentication and Key Agreement (EAP-AKA') Authentication and Key Agreement (EAP-AKA')
draft-arkko-eap-aka-kdf-09 draft-arkko-eap-aka-kdf-10
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 37 skipping to change at page 1, line 37
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 27, 2009. This Internet-Draft will expire on May 22, 2009.
Abstract Abstract
This specification defines a new EAP method, EAP-AKA', a small This specification defines a new EAP method, EAP-AKA', a small
revision of the EAP-AKA method. The change is a new key derivation revision of the EAP-AKA method. The change is a new key derivation
function that binds the keys derived within the method to the name of function that binds the keys derived within the method to the name of
the access network. The new key derivation mechanism has been the access network. The new key derivation mechanism has been
defined in the 3rd Generation Partnership Project (3GPP). This defined in the 3rd Generation Partnership Project (3GPP). This
specification allows its use in EAP in an interoperable manner. In specification allows its use in EAP in an interoperable manner. In
addition, EAP-AKA' employs SHA-256 instead of SHA-1. addition, EAP-AKA' employs SHA-256 instead of SHA-1.
skipping to change at page 5, line 6 skipping to change at page 5, line 12
messages, along with the definition of attributes AT_RAND, AT_AUTN, messages, along with the definition of attributes AT_RAND, AT_AUTN,
AT_MAC, and AT_RES can be found in [RFC4187]. AT_MAC, and AT_RES can be found in [RFC4187].
Peer Server Peer Server
| EAP-Request/Identity | | EAP-Request/Identity |
|<------------------------------------------------------| |<------------------------------------------------------|
| | | |
| EAP-Response/Identity | | EAP-Response/Identity |
| (Includes user's Network Access Identifier, NAI) | | (Includes user's Network Access Identifier, NAI) |
|------------------------------------------------------>| |------------------------------------------------------>|
| +----------------------------------+ | +-------------------------------------------------+
| | Server determines the network | | | Server determines the network name and ensures |
| | name and ensures that the given | | | that the given access network is authorized to |
| | access network is authorized to | | | use the claimed name. The server then runs the |
| | use the claimed name. The server | | | AKA' algorithms generating RAND and AUTN, |
| | then runs the AKA' algorithms | | | derives session keys from CK' and IK'. RAND and |
| | generating RAND and AUTN, | | | AUTN are sent as AT_RAND and AT_AUTN attributes,|
| | derives session keys from CK' | | | whereas the network name is transported in the |
| | and IK'. RAND and AUTN are sent | | | AT_KDF_INPUT attribute. AT_KDF signals the used |
| | as AT_RAND and AT_AUTN | | | key derivation function. The session keys are |
| | attributes, whereas the network | | | used in creating the AT_MAC attribute. |
| | name is transported in the | | +-------------------------------------------------+
| | AT_KDF_INPUT attribute. AT_KDF |
| | signals the used key derivation |
| | function. The session keys are |
| | used in creating the AT_MAC |
| | attribute. |
| +----------------------------------+
| EAP-Request/AKA'-Challenge | | EAP-Request/AKA'-Challenge |
| (AT_RAND, AT_AUTN, AT_KDF, AT_KDF_INPUT, AT_MAC)| | (AT_RAND, AT_AUTN, AT_KDF, AT_KDF_INPUT, AT_MAC)|
|<------------------------------------------------------| |<------------------------------------------------------|
+--------------------------------------------------+ | +-----------------------------------------------------+ |
| The peer determines what the network name should | | | The peer determines what the network name should be,| |
| be, based on, e.g., what access technology it | | | based on, e.g., what access technology it is using.| |
| is using. The peer also retrieves the network | | | The peer also retrieves the network name sent by | |
| name sent by the network from the AT_KDF_INPUT | | | the network from the AT_KDF_INPUT attribute. The | |
| attribute. The two names are compared for | | | two names are compared for discrepancies, and if | |
| discrepancies, and if necessary, the | | | necessary, the authentication is aborted. Otherwise,| |
| authentication is aborted. Otherwise, the | | | the network name from AT_KDF_INPUT attribute is | |
| network name from AT_KDF_INPUT attribute is used | | | used in running the AKA' algorithms, verifying AUTN | |
| in running the AKA' algorithms, verifying AUTN | |
| from AT_AUTN and MAC from AT_MAC attributes. The | | | from AT_AUTN and MAC from AT_MAC attributes. The | |
| peer then generates RES. The peer also derives | | | peer then generates RES. The peer also derives | |
| session keys from CK'/IK'. The AT_RES and AT_MAC | | | session keys from CK'/IK'. The AT_RES and AT_MAC | |
| attributes are constructed. | | | attributes are constructed. | |
+--------------------------------------------------+ | +-----------------------------------------------------+ |
| EAP-Response/AKA'-Challenge | | EAP-Response/AKA'-Challenge |
| (AT_RES, AT_MAC) | | (AT_RES, AT_MAC) |
|------------------------------------------------------>| |------------------------------------------------------>|
| +--------------------------------+ | +-------------------------------------------------+
| | Server checks the RES and MAC | | | Server checks the RES and MAC values received |
| | values received in AT_RES and | | | in AT_RES and AT_MAC, respectively. Success |
| | AT_MAC, respectively. Success | | | requires both to be found correct. |
| | requires both to be found | | +-------------------------------------------------+
| | correct. |
| +--------------------------------+
| EAP-Success | | EAP-Success |
|<------------------------------------------------------| |<------------------------------------------------------|
Figure 1: EAP-AKA' Authentication Process Figure 1: EAP-AKA' Authentication Process
3.1. AT_KDF_INPUT 3.1. AT_KDF_INPUT
The format of the AT_KDF_INPUT attribute is shown below. The format of the AT_KDF_INPUT attribute is shown below.
0 1 2 3 0 1 2 3
skipping to change at page 12, line 36 skipping to change at page 12, line 32
T2 = HMAC-SHA-256 (K, T1 | S | 0x02) T2 = HMAC-SHA-256 (K, T1 | S | 0x02)
T3 = HMAC-SHA-256 (K, T2 | S | 0x03) T3 = HMAC-SHA-256 (K, T2 | S | 0x03)
T4 = HMAC-SHA-256 (K, T3 | S | 0x04) T4 = HMAC-SHA-256 (K, T3 | S | 0x04)
... ...
PRF' produces as many bits of output as is needed. HMAC-SHA-256 is PRF' produces as many bits of output as is needed. HMAC-SHA-256 is
the application of HMAC [RFC2104] to SHA-256. the application of HMAC [RFC2104] to SHA-256.
3.4.2. AT_MAC 3.4.2. AT_MAC
The AT_MAC attribute is changed as follows. The MAC algorithm is When used within EAP-AKA', the AT_MAC attribute is changed as
HMAC-SHA-256-128, a keyed hash value. The HMAC-SHA-256-128 value is follows. The MAC algorithm is HMAC-SHA-256-128, a keyed hash value.
obtained from the 32-byte HMAC-SHA-256 value by truncating the output The HMAC-SHA-256-128 value is obtained from the 32-byte HMAC-SHA-256
to the first 16 bytes. Hence, the length of the MAC is 16 bytes. value by truncating the output to the first 16 bytes. Hence, the
length of the MAC is 16 bytes.
Otherwise the use of AT_MAC in EAP-AKA' follows Section 10.15 of Otherwise the use of AT_MAC in EAP-AKA' follows Section 10.15 of
[RFC4187]. [RFC4187].
3.4.3. AT_CHECKCODE 3.4.3. AT_CHECKCODE
The AT_CHECKCODE attribute is changed as follows. First, a 32 byte When used within EAP-AKA', the AT_CHECKCODE attribute is changed as
value is needed to accommodate a 256 bit hash output: follows. First, a 32 byte value is needed to accommodate a 256 bit
hash output:
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_CHECKCODE | Length | Reserved | | AT_CHECKCODE | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| Checkcode (0 or 32 bytes) | | Checkcode (0 or 32 bytes) |
| | | |
| | | |
skipping to change at page 19, line 26 skipping to change at page 19, line 26
Value Description Reference Value Description Reference
--------- ---------------------- --------------- --------- ---------------------- ---------------
0 Reserved 0 Reserved
1 EAP-AKA' with CK'/IK' [this document] 1 EAP-AKA' with CK'/IK' [this document]
2-65535 Unassigned 2-65535 Unassigned
7. Acknowledgments 7. Acknowledgments
The authors would like to thank Guenther Horn, Joe Salowey, Mats The authors would like to thank Guenther Horn, Joe Salowey, Mats
Naslund, Adrian Escott, Brian Rosenberg, Laksminath Dondeti, Ahmad Naslund, Adrian Escott, Brian Rosenberg, Laksminath Dondeti, Ahmad
Muhanna, Stefan Rommer, Miguel Garcia, Jan Kall, Ankur Agarwal, Brian Muhanna, Stefan Rommer, Miguel Garcia, Jan Kall, Ankur Agarwal, Jouni
Weis, Russ Housley, and Alfred Hoenes for their in-depth reviews and Malinen, Brian Weis, Russ Housley, and Alfred Hoenes for their in-
interesting discussions in this problem space. depth reviews and interesting discussions in this problem space.
8. References 8. References
8.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-
Hashing for Message Authentication", RFC 2104, Hashing for Message Authentication", RFC 2104,
 End of changes. 10 change blocks. 
49 lines changed or deleted 42 lines changed or added

This html diff was produced by rfcdiff 1.32. The latest version is available from http://www.levkowetz.com/ietf/tools/rfcdiff/