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