--- 1/draft-ietf-emu-rfc5448bis-06.txt 2020-03-09 14:13:35.365880116 -0700 +++ 2/draft-ietf-emu-rfc5448bis-07.txt 2020-03-09 14:13:35.517883962 -0700 @@ -1,122 +1,123 @@ Network Working Group J. Arkko Internet-Draft V. Lehtovirta Obsoletes: 5448 (if approved) V. Torvinen Updates: 4187 (if approved) Ericsson Intended status: Informational P. Eronen -Expires: May 21, 2020 Independent - November 18, 2019 +Expires: September 10, 2020 Independent + March 9, 2020 Improved Extensible Authentication Protocol Method for 3GPP Mobile Network Authentication and Key Agreement (EAP-AKA') - draft-ietf-emu-rfc5448bis-06 + draft-ietf-emu-rfc5448bis-07 Abstract The 3GPP Mobile Network Authentication and Key Agreement (AKA) is the primary authentication mechanism for devices wishing to access mobile networks. RFC 4187 (EAP-AKA) made the use of this mechanism possible within the Extensible Authentication Protocol (EAP) framework. RFC 5448 (EAP-AKA') was an improved version of EAP-AKA. This memo replaces the specification of EAP-AKA'. EAP-AKA' was defined in RFC 5448 and updated EAP-AKA RFC 4187. As such this document obsoletes RFC 5448 and updates RFC 4187. EAP-AKA' differs from EAP-AKA by providing a key derivation function that binds the keys derived within the method to the name of the access network. The key derivation function has been defined in the 3rd Generation Partnership Project (3GPP). EAP-AKA' allows its use - in EAP in an interoperable manner. EAP-AKA' is also an algorithm - update, as it employs SHA-256 / HMAC-SHA-256 instead of SHA-1 / HMAC- - SHA-1 as in EAP-AKA. + in EAP in an interoperable manner. EAP-AKA' also updates the + algorithm used in hash functions, as it employs SHA-256 / HMAC- + SHA-256 instead of SHA-1 / HMAC-SHA-1 as in EAP-AKA. This version of EAP-AKA' specification specifies the protocol - behaviour for 5G deployments as well. + behaviour for both 4G and 5G deployments, whereas the previous + version only did this for 4G. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on May 21, 2020. + This Internet-Draft will expire on September 10, 2020. Copyright Notice - Copyright (c) 2019 IETF Trust and the persons identified as the + Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 5 - 3. EAP-AKA' . . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 3. EAP-AKA' . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1. AT_KDF_INPUT . . . . . . . . . . . . . . . . . . . . . . 8 - 3.2. AT_KDF . . . . . . . . . . . . . . . . . . . . . . . . . 11 + 3.2. AT_KDF . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3. Key Derivation . . . . . . . . . . . . . . . . . . . . . 13 3.4. Hash Functions . . . . . . . . . . . . . . . . . . . . . 15 3.4.1. PRF' . . . . . . . . . . . . . . . . . . . . . . . . 15 3.4.2. AT_MAC . . . . . . . . . . . . . . . . . . . . . . . 15 3.4.3. AT_CHECKCODE . . . . . . . . . . . . . . . . . . . . 15 3.5. Summary of Attributes for EAP-AKA' . . . . . . . . . . . 16 4. Bidding Down Prevention for EAP-AKA . . . . . . . . . . . . . 18 - 4.1. Summary of Attributes for EAP-AKA . . . . . . . . . . . . 19 + 4.1. Summary of Attributes for EAP-AKA . . . . . . . . . . . . 20 5. Peer Identities . . . . . . . . . . . . . . . . . . . . . . . 20 5.1. Username Types in EAP-AKA' Identities . . . . . . . . . . 20 5.2. Generating Pseudonyms and Fast Re-Authentication Identities . . . . . . . . . . . . . . . . . . . . . . . 21 5.3. Identifier Usage in 5G . . . . . . . . . . . . . . . . . 22 5.3.1. Key Derivation . . . . . . . . . . . . . . . . . . . 23 5.3.2. EAP Identity Response and EAP-AKA' AT_IDENTITY Attribute . . . . . . . . . . . . . . . . . . . . . . 24 - 6. Exported Parameters . . . . . . . . . . . . . . . . . . . . . 25 + 6. Exported Parameters . . . . . . . . . . . . . . . . . . . . . 26 7. Security Considerations . . . . . . . . . . . . . . . . . . . 26 7.1. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 29 - 7.2. Discovered Vulnerabilities . . . . . . . . . . . . . . . 30 + 7.2. Discovered Vulnerabilities . . . . . . . . . . . . . . . 31 7.3. Pervasive Monitoring . . . . . . . . . . . . . . . . . . 33 - 7.4. Security Properties of Binding Network Names . . . . . . 33 - 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 + 7.4. Security Properties of Binding Network Names . . . . . . 34 + 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35 8.1. Type Value . . . . . . . . . . . . . . . . . . . . . . . 35 8.2. Attribute Type Values . . . . . . . . . . . . . . . . . . 35 8.3. Key Derivation Function Namespace . . . . . . . . . . . . 35 - 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 35 - 9.1. Normative References . . . . . . . . . . . . . . . . . . 35 - 9.2. Informative References . . . . . . . . . . . . . . . . . 37 + 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 36 + 9.1. Normative References . . . . . . . . . . . . . . . . . . 36 + 9.2. Informative References . . . . . . . . . . . . . . . . . 38 Appendix A. Changes from RFC 5448 . . . . . . . . . . . . . . . 41 - Appendix B. Changes from RFC 4187 to RFC 5448 . . . . . . . . . 41 - Appendix C. Changes from Previous Version of This Draft . . . . 41 - Appendix D. Importance of Explicit Negotiation . . . . . . . . . 43 - Appendix E. Test Vectors . . . . . . . . . . . . . . . . . . . . 44 - Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 48 - Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 49 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 49 + Appendix B. Changes to RFC 4187 . . . . . . . . . . . . . . . . 41 + Appendix C. Changes from Previous Version of This Draft . . . . 42 + Appendix D. Importance of Explicit Negotiation . . . . . . . . . 44 + Appendix E. Test Vectors . . . . . . . . . . . . . . . . . . . . 45 + Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 49 + Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 50 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 50 1. Introduction The 3GPP Mobile Network Authentication and Key Agreement (AKA) is the primary authentication mechanism for devices wishing to access mobile networks. [RFC4187] (EAP-AKA) made the use of this mechanism possible within the Extensible Authentication Protocol (EAP) framework [RFC3748]. [RFC5448] (EAP-AKA') was an improved version of EAP-AKA. This memo @@ -125,22 +126,22 @@ RFC 5448 and updates RFC 4187. EAP-AKA' is commonly implemented in mobile phones and network equipment. It can be used for authentication to gain network access via Wireless LAN networks and, with 5G, also directly to mobile networks. EAP-AKA' differs from EAP-AKA by providing a different key derivation function. This function binds the keys derived within the method to the name of the access network. This limits the effects of - compromised access network nodes and keys. EAP-AKA' is also an - algorithm update for the used hash functions. + compromised access network nodes and keys. EAP-AKA' also updates the + algorithm used for hash functions. The EAP-AKA' method employs the derived keys CK' and IK' from the 3GPP specification [TS-3GPP.33.402] and updates the used hash function to SHA-256 [FIPS.180-4] and HMAC to HMAC-SHA-256. Otherwise, EAP-AKA' is equivalent to EAP-AKA. Given that a different EAP method type value is used for EAP-AKA and EAP-AKA', a mutually supported method may be negotiated using the standard mechanisms in EAP [RFC3748]. Note that any change of the key derivation must be unambiguous to @@ -150,21 +151,21 @@ a proper error message. See Appendix D for further information. Note also that choices in authentication protocols should be secure against bidding down attacks that attempt to force the participants to use the least secure function. See Section 4 for further information. The changes from RFC 5448 to this specification are as follows: o Update the reference on how the Network Name field is constructed - in the protocol. The update ensures that EAP-AKA' is compatible + in the protocol. This update ensures that EAP-AKA' is compatible with 5G deployments. RFC 5448 referred to the Release 8 version of [TS-3GPP.24.302] and this update points to the first 5G version, Release 15. o Specify how EAP and EAP-AKA' use identifiers in 5G. Additional identifiers are introduced in 5G, and for interoperability, it is necessary that the right identifiers are used as inputs in the key derivation. In addition, for identity privacy it is important that when privacy-friendly identifiers in 5G are used, no trackable, permanent identifiers are passed in EAP-AKA' either. @@ -184,44 +185,44 @@ o Describe the privacy and pervasive monitoring considerations related to EAP-AKA'. Some of the updates are small. For instance, for the first update, the reference update does not change the 3GPP specification number, only the version. But this reference is crucial in correct calculation of the keys resulting from running the EAP-AKA' method, so an update of the RFC with the newest version pointer may be warranted. - Note: This specification refers only to the 5G specifications. - Any further update that affects, for instance, key derivation is - something that EAP-AKA' implementations should take into account. - Upon such updates there will be a need to both update the - specification and the implementations. + Note: Any further updates in 3GPP specifications that affect, for + instance, key derivation is something that EAP-AKA' + implementations need to take into account. Upon such updates + there will be a need to both update this specification and the + implementations. It is an explicit non-goal of this draft to include any other technical modifications, addition of new features or other changes. The EAP-AKA' base protocol is stable and needs to stay that way. If there are any extensions or variants, those need to be proposed as standalone extensions or even as different authentication methods. The rest of this specification is structured as follows. Section 3 defines the EAP-AKA' method. Section 4 adds support to EAP-AKA to prevent bidding down attacks from EAP-AKA'. Section 5 specifies - requirements regarding the use of peer identities, including how how - EAP-AKA' identifiers are used in 5G context. Section 6 specifies - what parameters EAP-AKA' exports out of the method. Section 7 - explains the security differences between EAP-AKA and EAP-AKA'. - Section 8 describes the IANA considerations and Appendix A and - Appendix B explains what updates to RFC 5448 EAP-AKA' and RFC 4187 - EAP-AKA have been made in this specification. Appendix D explains - some of the design rationale for creating EAP-AKA'. Finally, - Appendix E provides test vectors. + requirements regarding the use of peer identities, including how EAP- + AKA' identifiers are used in 5G context. Section 6 specifies what + parameters EAP-AKA' exports out of the method. Section 7 explains + the security differences between EAP-AKA and EAP-AKA'. Section 8 + describes the IANA considerations and Appendix A and Appendix B + explains what updates to RFC 5448 EAP-AKA' and RFC 4187 EAP-AKA have + been made in this specification. Appendix D explains some of the + design rationale for creating EAP-AKA'. Finally, Appendix E provides + test vectors. Editor's Note: The publication of this RFC depends on its normative references to 3GPP Technical Specifications reaching a stable status for Release 15, as indicated by 3GPP. The RFC Editor should check with the 3GPP liaisons that a stable version from Release 15 is available and refer to that version. RFC Editor: Please delete this note upon publication of this specification as an RFC. 2. Requirements Language @@ -362,38 +363,30 @@ Network Name This field contains the network name of the access network for which the authentication is being performed. The name does not include any terminating null characters. Because the length of the entire attribute must be a multiple of 4 bytes, the sender pads the name with 1, 2, or 3 bytes of all zero bits when necessary. Only the server sends the AT_KDF_INPUT attribute. The value is sent - as specified in [TS-3GPP.24.302] for non-3GPP access networks, and as - specified in [TS-3GPP.33.501] for 5G access networks. Per - [TS-3GPP.33.402], the server always verifies the authorization of a - given access network to use a particular name before sending it to - the peer over EAP-AKA'. The value of the AT_KDF_INPUT attribute from - the server MUST be non-empty. If it is empty, the peer behaves as if - AUTN had been incorrect and authentication fails. See Section 3 and - Figure 3 of [RFC4187] for an overview of how authentication failures - are handled. - - Note: Currently, [TS-3GPP.24.302] or [TS-3GPP.33.501] specify - separate values. The former specifies what is called "Access - Network ID" and the latter specifies what is called "Serving - Network Name". However, from an EAP-AKA' perspective both occupy - the same field, and need to be distinguishable from each other. - Currently specified values are distinguishable, but it would be - useful that this be specified explicitly in the 3GPP - specifications. + as specified in [TS-3GPP.24.302] for both non-3GPP access networks + for 5G access networks. Per [TS-3GPP.33.402], the server always + verifies the authorization of a given access network to use a + particular name before sending it to the peer over EAP-AKA'. The + value of the AT_KDF_INPUT attribute from the server MUST be non- + empty, with a greater than zero length in the Actual Network Name + Length field. If AT_KDF_INPUT attribute is empty, the peer behaves + as if AUTN had been incorrect and authentication fails. See + Section 3 and Figure 3 of [RFC4187] for an overview of how + authentication failures are handled. In addition, the peer MAY check the received value against its own understanding of the network name. Upon detecting a discrepancy, the peer either warns the user and continues, or fails the authentication process. More specifically, the peer SHOULD have a configurable policy that it can follow under these circumstances. If the policy indicates that it can continue, the peer SHOULD log a warning message or display it to the user. If the peer chooses to proceed, it MUST use the network name as received in the AT_KDF_INPUT attribute. If the policy indicates that the authentication should fail, the peer @@ -694,22 +687,22 @@ | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Second, the checkcode is a hash value, calculated with SHA-256 [FIPS.180-4], over the data specified in Section 10.13 of [RFC4187]. 3.5. Summary of Attributes for EAP-AKA' - The following table provides a guide to which attributes may be found - in which kinds of messages, and in what quantity. + Table 1 provides a guide to which attributes may be found in which + kinds of messages, and in what quantity. Messages are denoted with numbers in parentheses as follows: (1) EAP-Request/AKA-Identity, (2) EAP-Response/AKA-Identity, (3) EAP-Request/AKA-Challenge, (4) EAP-Response/AKA-Challenge, @@ -776,20 +769,22 @@ AT_RESULT_IND 0 0 0-1 0-1 0 0 0 0-1 0-1 0 0 N AT_MAC 0 0 1 0-1 0-1 0-1 0 1 1 0 0 N AT_COUNTER 0 0 0 0 0-1 0-1 0 1 1 0 0 Y AT_COUNTER_TOO_SMALL 0 0 0 0 0 0 0 0 0-1 0 0 Y AT_NONCE_S 0 0 0 0 0 0 0 1 0 0 0 Y AT_NOTIFICATION 0 0 0 0 1 0 0 0 0 0 0 N AT_CLIENT_ERROR_CODE 0 0 0 0 0 0 1 0 0 0 0 N AT_KDF 0 0 1+ 0+ 0 0 0 0 0 0 1+ N AT_KDF_INPUT 0 0 1 0 0 0 0 0 0 0 0 N + Table 1: The attribute table + 4. Bidding Down Prevention for EAP-AKA As discussed in [RFC3748], negotiation of methods within EAP is insecure. That is, a man-in-the-middle attacker may force the endpoints to use a method that is not the strongest that they both support. This is a problem, as we expect EAP-AKA and EAP-AKA' to be negotiated via EAP. In order to prevent such attacks, this RFC specifies a new mechanism for EAP-AKA that allows the endpoints to securely discover the @@ -910,26 +905,26 @@ 5.2. Generating Pseudonyms and Fast Re-Authentication Identities As specified by [RFC4187] Section 4.1.1.7, pseudonym usernames and fast re-authentication identities are generated by the EAP server, in an implementation-dependent manner. RFC 4187 provides some general requirements on how these identities are transported, how they map to the NAI syntax, how they are distinguished from each other, and so on. - However, to ensure privacy some additional requirements need to be + However, to enhance privacy some additional requirements need to be applied. The pseudonym usernames and fast re-authentication identities MUST be generated in a cryptographically secure way so that that it is - computationally infeasible for at attacker to differentiate two + computationally infeasible for an attacker to differentiate two identities belonging to the same user from two identities belonging to different users. This can be achieved, for instance, by using random or pseudo-random identifiers such as random byte strings or ciphertexts. See also [RFC4086] for guidance on random number generation. Note that the pseudonym and fast re-authentication usernames also MUST NOT include substrings that can be used to relate the username to a particular entity or a particular permanent identity. For instance, the usernames can not include any subscriber-identifying @@ -1166,31 +1161,47 @@ section. Under this assumption, EAP-AKA' is at least as secure as EAP-AKA. If the AT_KDF attribute has value 1, then the security properties of EAP-AKA' are as follows: Protected ciphersuite negotiation EAP-AKA' has no ciphersuite negotiation mechanisms. It does have a negotiation mechanism for selecting the key derivation - functions. This mechanism is secure against bidding down attacks. - The negotiation mechanism allows changing the offered key - derivation function, but the change is visible in the final EAP- - Request/AKA'-Challenge message that the server sends to the peer. - This message is authenticated via the AT_MAC attribute, and - carries both the chosen alternative and the initially offered - list. The peer refuses to accept a change it did not initiate. - As a result, both parties are aware that a change is being made - and what the original offer was. + functions. This mechanism is secure against bidding down attacks + from EAP-AKA' to EAP-AKA. The negotiation mechanism allows + changing the offered key derivation function, but the change is + visible in the final EAP-Request/AKA'-Challenge message that the + server sends to the peer. This message is authenticated via the + AT_MAC attribute, and carries both the chosen alternative and the + initially offered list. The peer refuses to accept a change it + did not initiate. As a result, both parties are aware that a + change is being made and what the original offer was. + + Per assumptions in Section 4, there is no protection against + bidding down attacks from EAP-AKA to EAP-AKA', should EAP-AKA' + somehow be considered less secure some day than EAP-AKA. Such + protection was not provided in RFC 5448 implementations and + consequently neither does this specification provide it. If such + support is needed, it would have to be added as a separate new + feature. + + In general, it is expected that the current negotiation + capabilities in EAP-AKA' are sufficient for some types of + extensions and cryptographic agility, including adding Perfect + Forward Secrecy ([I-D.ietf-emu-aka-pfs]) and perhaps others. But + as with how EAP-AKA' itself came about, some larger changes may + require a new EAP method type. Mutual authentication + Under the SHA-256 assumption, the properties of EAP-AKA' are at least as good as those of EAP-AKA in this respect. Refer to [RFC4187], Section 12 for further details. Integrity protection Under the SHA-256 assumption, the properties of EAP-AKA' are at least as good (most likely better) as those of EAP-AKA in this respect. Refer to [RFC4187], Section 12 for further details. The only difference is that a stronger hash algorithm and keyed MAC, @@ -1295,25 +1307,26 @@ EAP-AKA' uses several different types of identifiers to identify the authenticating peer. It is strongly RECOMMENDED to use the privacy- friendly temporary or hidden identifiers, i.e., the 5G SUCI, pseudonym usernames, and fast re-authentication usernames. The use of permanent identifiers such as the IMSI or SUPI may lead to an ability to track the peer and/or user associated with the peer. The use of permanent identifiers such as the IMSI or SUPI is strongly NOT RECOMMENDED. As discussed in Section 5.3, when authenticating to a 5G network, - only the 5G SUCI identifier should be used. The use of pseudonyms in - this situation is at best limited. In fact, the re-use of the same - pseudonym multiple times will result in a tracking opportunity for - observers that see the pseudonym pass by. To avoid this, the peer - and server need to follow the guidelines given in Section 5.2. + only the 5G SUCI identifier should be used. The use of EAP-AKA' + pseudonyms in this situation is at best limited, because the 5G SUCI + already provides a stronger mechanism. In fact, the re-use of the + same pseudonym multiple times will result in a tracking opportunity + for observers that see the pseudonym pass by. To avoid this, the + peer and server need to follow the guidelines given in Section 5.2. When authenticating to a 5G network, per Section 5.3.1, both the EAP- AKA' peer and server need to employ the permanent identifier, SUPI, as an input to key derivation. However, this use of the SUPI is only internal. As such, the SUPI need not be communicated in EAP messages. Therefore, SUPI MUST NOT be communicated in EAP-AKA' when authenticating to a 5G network. While the use of SUCI in 5G networks generally provides identity privacy, this is not true if the null-scheme encryption is used to @@ -1321,22 +1334,22 @@ scheme turns the use of SUCI equivalent to the use of SUPI or IMSI. The use of the null scheme is NOT RECOMMENDED where identity privacy is important. The use of fast re-authentication identities when authenticating to a 5G network does not have the same problems as the use of pseudonyms, as long as the 5G authentication server generates the fast re- authentication identifiers in a proper manner specified in Section 5.2. - Outside 5G, there is a full choice to use permanent, pseudonym, or - fast re-authentication identifiers: + Outside 5G, the peer can freely choose between the use of permanent, + pseudonym, or fast re-authentication identifiers: o A peer that has not yet performed any EAP-AKA' exchanges does not typically have a pseudonym available. If the peer does not have a pseudonym available, then the privacy mechanism cannot be used, and the permanent identity will have to be sent in the clear. The terminal SHOULD store the pseudonym in non-volatile memory so that it can be maintained across reboots. An active attacker that impersonates the network may use the AT_PERMANENT_ID_REQ attribute ([RFC4187] Section 4.1.2) to learn the subscriber's IMSI. @@ -1440,28 +1453,24 @@ Borgaonkar et al discovered that the AKA resynchronization protocol may also be used to predict the authentication frequency of a subscribers if non-time-based SQN generation scheme is used [Borgaonkar2018]. The attacker can force the re-use of the keystream that is used to protect the SQN in the AKA resynchronization protocol. The attacker then guesses the authentication frequency based on the lowest bits of two XORed SQNs. The researchers' concern was that the authentication frequency would reveal some information about the phone usage behavior, e.g., number of phone calls made or - number of SMS messages sent. However, phone calls and SMS messages - are just some of the many potential triggers for authentication. For - instance, various mobility events and the amount of mobile data sent - or received can also trigger authentication. As a result, while some - amount of information may be derived about the activity level on a - particular phone in some cases, the linkage to specific activities is - not direct. The impact of the attack is also different depending on - whether time or non-time-based SQN generation scheme is used. + number of SMS messages sent. There are a number of possible triggers + for authentication, so such information leak is not direct, but can + be a concern. The impact of the attack is also different depending + on whether time or non-time-based SQN generation scheme is used. Similar attacks are possible outside AKA in the cellular paging protocols where the attacker can simply send application layer data, short messages or make phone calls to the intended victim and observe the air-interface (e.g., [Kune2012] and [Shaik2016]). Hussain et. al. demonstrated a slightly more sophisticated version of the attack that exploits the fact that 4G paging protocol uses the IMSI to calculate the paging timeslot [Hussain2019]. As this attack is outside AKA, it does not impact EAP-AKA'. @@ -1492,23 +1501,23 @@ In particular, it is crucial that manufacturers limit access to the secret information and the cards only to necessary systems and personnel. It is also crucial that secure mechanisms be used to communicate the secrets between the manufacturer and the operator that adopts those cards for their customers. Beyond these operational considerations, there are also technical means to improve resistance to these attacks. One approach is to provide Perfect Forwards Secrecy (PFS). This would prevent any passive attacks merely based on the long-term secrets and observation - of traffic. Such a mechanism can be defined as an backwards- + of traffic. Such a mechanism can be defined as a backwards- compatible extension of EAP-AKA', and is pursued separately from this - specification [I-D.arkko-eap-aka-pfs]. Alternatively, EAP-AKA' + specification [I-D.ietf-emu-aka-pfs]. Alternatively, EAP-AKA' authentication can be run inside a PFS-capable tunneled authentication method. In any case, the use of some PFS-capable mechanism is recommended. 7.4. Security Properties of Binding Network Names The ability of EAP-AKA' to bind the network name into the used keys provides some additional protection against key leakage to inappropriate parties. The keys used in the protocol are specific to a particular network name. If key leakage occurs due to an accident, @@ -1600,67 +1609,66 @@ Value Description Reference --------- ---------------------- ------------------------------- 0 Reserved [RFC Editor: Refer to this RFC] 1 EAP-AKA' with CK'/IK' [RFC Editor: Refer to this RFC] 2-65535 Unassigned 9. References 9.1. Normative References - [Note] Editors, "All 3GPP references should be updated to the - latest Release 15 version before publishing.". - [TS-3GPP.23.003] 3GPP, "3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Numbering, - addressing and identification (Release 15)", 3GPP Draft - Technical Specification 23.003, June 2019. + addressing and identification (Release 15)", + 3GPP Technical Specification 23.003 version 15.8.0, + September 2019. [TS-3GPP.23.501] 3GPP, "3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Security architecture and procedures for 5G - System; (Release 15)", 3GPP Technical Specification - 23.501, June 2019. + System; (Release 15)", 3GPP Technical Specification 23.501 + version 15.8.0, December 2019. [TS-3GPP.24.302] 3GPP, "3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Access to the 3GPP Evolved Packet Core (EPC) via non-3GPP access - networks; Stage 3; (Release 15)", 3GPP Draft Technical - Specification 24.302, June 2019. + networks; Stage 3; (Release 15)", 3GPP Technical + Specification 24.302 version 15.7.0, June 2019. [TS-3GPP.24.501] 3GPP, "3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Access to the 3GPP Evolved Packet Core (EPC) via non-3GPP access networks; Stage 3; (Release 15)", 3GPP Draft Technical - Specification 24.501, June 2019. + Specification 24.501 version 15.6.0, December 2019. [TS-3GPP.33.102] 3GPP, "3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G - Security; Security architecture (Release 15)", 3GPP Draft - Technical Specification 33.102, December 2018. + Security; Security architecture (Release 15)", + 3GPP Technical Specification 33.102 version 15.1.0, + December 2018. [TS-3GPP.33.402] 3GPP, "3GPP System Architecture Evolution (SAE); Security - aspects of non-3GPP accesses (Release 15)", 3GPP Draft - Technical Specification 33.402, June 2018. + aspects of non-3GPP accesses (Release 15)", 3GPP Technical + Specification 33.402 version 15.1.0, June 2018. [TS-3GPP.33.501] 3GPP, "3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Security architecture and procedures for 5G - System (Release 15)", 3GPP Draft Technical Specification - 33.501, June 2019. + System (Release 15)", 3GPP Technical Specification 33.501 + version 15.7.0, December 2019. [FIPS.180-4] National Institute of Standards and Technology, "Secure Hash Standard", FIPS PUB 180-4, August 2015, . [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- Hashing for Message Authentication", RFC 2104, DOI 10.17487/RFC2104, February 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 9.2. Informative References - [NoteAlso] - Editors, "All 3GPP references should be updated to the - latest Release 15 version before publishing.". - [TS-3GPP.35.208] 3GPP, "3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Specification of the MILENAGE Algorithm Set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 4: Design Conformance Test Data (Release 14)", - 3GPP Technical Specification 35.208, October 2018. + 3GPP Technical Specification 35.208 version 15.0.0, + October 2018. [FIPS.180-1] National Institute of Standards and Technology, "Secure Hash Standard", FIPS PUB 180-1, April 1995, . [FIPS.180-2] National Institute of Standards and Technology, "Secure Hash Standard", FIPS PUB 180-2, August 2002, . [RFC7296] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T. Kivinen, "Internet Key Exchange Protocol Version 2 (IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October 2014, . - [I-D.arkko-eap-aka-pfs] + [I-D.ietf-emu-aka-pfs] Arkko, J., Norrman, K., and V. Torvinen, "Perfect-Forward Secrecy for the Extensible Authentication Protocol Method for Authentication and Key Agreement (EAP-AKA' PFS)", - draft-arkko-eap-aka-pfs-04 (work in progress), January + draft-ietf-emu-aka-pfs-02 (work in progress), November 2019. [Heist2015] Scahill, J. and J. Begley, "The great SIM heist", February 2015, in https://firstlook.org/theintercept/2015/02/19/ great-sim-heist/ . [MT2012] Mjolsnes, S. and J-K. Tsay, "A vulnerability in the UMTS and LTE authentication and key agreement protocols", October 2012, in Proceedings of the 6th international @@ -1869,27 +1874,34 @@ The references to [RFC2119], [RFC7542], [RFC7296], [RFC8126], [FIPS.180-1] and [FIPS.180-2] have been updated to their most recent versions and language in this document changed accordingly. Similarly, references to all 3GPP technical specifications have been updated to their 5G (Release 15) versions or otherwise most recent version when there has not been a 5G-related update. Finally, a number of clarifications have been made, including a summary of where attributes may appear. -Appendix B. Changes from RFC 4187 to RFC 5448 +Appendix B. Changes to RFC 4187 + + In addition to specifying EAP-AKA', this document mandates also a + change to another EAP method, EAP-AKA that was defined in RFC 4187. + This change was mandated already in RFC 5448 but repeated here to + ensure that the latest EAP-AKA' specification contains the + instructions about the necessary bidding down feature in EAP-AKA as + well. The changes to RFC 4187 relate only to the bidding down prevention support defined in Section 4. In particular, this document does not - change how the Master Key (MK) is calculated in RFC 4187 (it uses CK - and IK, not CK' and IK'); neither is any processing of the AMF bit - added to RFC 4187. + change how the Master Key (MK) is calculated or any other aspect of + EAP-AKA. The provisions in this specification for EAP-AKA' do not + apply to EAP-AKA, outside Section 4. Appendix C. Changes from Previous Version of This Draft RFC Editor: Please delete this section at the time of publication. The -00 version of the working group draft is merely a republication of an earlier individual draft. The -01 version of the working group draft clarifies updates relationship to RFC 4187, clarifies language relating to obsoleting @@ -1965,20 +1977,58 @@ o Updated and added several references o Switched to use of hexadecimal for EAP Type Values for consistency with other documents. o Made editorial clarifications to a number places in the document. The version -06 included changes to updates of references to newer versions on IANA considerations guidelines, NAIs, and IKEv2. + The version -07 includes the following changes, per AD and last call + review comments: + + o The use of pseudonyms has been clarified in Section 7.1. + + o The document now clarifies that it specifies behaviour both for 4G + and 5G. + + o The implications of collisions between "Access Network ID" (4G) + and "Serving Network Name" (5G) have been explained in + Section 3.1. + + o The ability of the bidding down protection to protect bidding down + only in the direction from EAP-AKA' to EAP-AKA but the other way + around has been noted in Section 7. + + o The implications of the attack described by [Borgaonkar2018] have + been updated. + + o Section 3.1 now specifies more clearly that zero-length network + name is not allowed. + + o Section 3.1 refers to the network name that is today specified in + [TS-3GPP.24.302] for both 4G (non-3GPP access) and 5G. + + o Section 7 now discusses cryptographic agility. + + o The document now is clear that any change to key aspects of 3GPP + specifications, such as key derivation for AKA, would affect this + specification and implementations. + + o References have been updated to the latest Release 15 versions, + that are now stable. + + o Tables have been numbered. + + o Adopted a number of other editorial corrections. + Appendix D. Importance of Explicit Negotiation Choosing between the traditional and revised AKA key derivation functions is easy when their use is unambiguously tied to a particular radio access network, e.g., Long Term Evolution (LTE) as defined by 3GPP or evolved High Rate Packet Data (eHRPD) as defined by 3GPP2. There is no possibility for interoperability problems if this radio access network is always used in conjunction with new protocols that cannot be mixed with the old ones; clients will always know whether they are connecting to the old or new system. @@ -2201,23 +2251,24 @@ Jouni Malinen provided suggested text for Section 6. John Mattsson provided much of the text for Section 7.1. Karl Norrman was the source of much of the information in Section 7.2. Acknowledgments The authors would like to thank Guenther Horn, Joe Salowey, Mats Naslund, Adrian Escott, Brian Rosenberg, Laksminath Dondeti, Ahmad Muhanna, Stefan Rommer, Miguel Garcia, Jan Kall, Ankur Agarwal, Jouni Malinen, John Mattsson, Jesus De Gregorio, Brian Weis, Russ Housley, - Alfred Hoenes, Anand Palanigounder, Michael Richardsson, Marcus Wong, - Kalle Jarvinen, Daniel Migault, and Mohit Sethi for their in-depth - reviews and interesting discussions in this problem space. + Alfred Hoenes, Anand Palanigounder, Michael Richardsson, Roman + Danyliw, Dan Romascanu, Kyle Rose, Marcus Wong, Kalle Jarvinen, + Daniel Migault, and Mohit Sethi for their in-depth reviews and + interesting discussions in this problem space. Authors' Addresses Jari Arkko Ericsson Jorvas 02420 Finland Email: jari.arkko@piuha.net