draft-ietf-emu-aka-pfs-11.txt | draft-ietf-emu-aka-pfs-latest.txt | |||
---|---|---|---|---|
Network Working Group J. Arkko | Network Working Group J. Arkko | |||
Internet-Draft K. Norrman | Internet-Draft K. Norrman | |||
Updates: 5448, 9048 (if approved) J. Preuß Mattsson | Updates: 5448, 9048 (if approved) J. Preuß Mattsson | |||
Intended status: Informational Ericsson | Intended status: Standards Track Ericsson | |||
Expires: 11 January 2024 10 July 2023 | Expires: 22 August 2024 19 February 2024 | |||
Forward Secrecy for the Extensible Authentication Protocol Method for | Forward Secrecy for the Extensible Authentication Protocol Method for | |||
Authentication and Key Agreement (EAP-AKA' FS) | Authentication and Key Agreement (EAP-AKA' FS) | |||
draft-ietf-emu-aka-pfs-11 | draft-ietf-emu-aka-pfs-latest | |||
Abstract | Abstract | |||
Many different attacks have been reported as part of revelations | ||||
associated with pervasive surveillance. Some of the reported attacks | ||||
involved compromising the smart card supply chain, such as attacking | ||||
Universal Subscriber Identity Module (USIM) card manufacturers and | ||||
operators in an effort to compromise long-term keys stored on these | ||||
cards. Since the publication of those reports, manufacturing and | ||||
provisioning processes have received much scrutiny and have improved. | ||||
However, resourceful attackers are always a cause for concern. | ||||
Always assuming a breach, such as long-term key compromise, and | ||||
minimizing the impact of breach are essential zero trust principles. | ||||
This document updates RFC 9048, the improved Extensible | This document updates RFC 9048, the improved Extensible | |||
Authentication Protocol Method for 3GPP Mobile Network Authentication | Authentication Protocol Method for 3GPP Mobile Network Authentication | |||
and Key Agreement (EAP-AKA'), with an optional extension providing | and Key Agreement (EAP-AKA'), with an optional extension providing | |||
ephemeral key exchange. Similarly, this document also updates the | ephemeral key exchange. Similarly, this document also updates the | |||
earlier version of the EAP-AKA' specification in RFC 5448. The | earlier version of the EAP-AKA' specification in RFC 5448. The | |||
extension EAP-AKA' Forward Secrecy (EAP-AKA' FS), when negotiated, | extension EAP-AKA' Forward Secrecy (EAP-AKA' FS), when negotiated, | |||
provides forward secrecy for the session keys generated as a part of | provides forward secrecy for the session keys generated as a part of | |||
the authentication run in EAP-AKA'. This prevents an attacker who | the authentication run in EAP-AKA'. This prevents an attacker who | |||
has gained access to the long-term key from obtaining session keys | has gained access to the long-term key from obtaining session keys | |||
established in the past, assuming these have been properly deleted. | established in the past, assuming these have been properly deleted. | |||
skipping to change at page 2, line 10 | skipping to change at page 1, line 44 | |||
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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 11 January 2024. | This Internet-Draft will expire on 22 August 2024. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2024 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
and restrictions with respect to this document. Code Components | and restrictions with respect to this document. Code Components | |||
extracted from this document must include Revised BSD License text as | extracted from this document must include Revised BSD License text as | |||
described in Section 4.e of the Trust Legal Provisions and are | described in Section 4.e of the Trust Legal Provisions and are | |||
provided without warranty as described in the Revised BSD License. | provided without warranty as described in the Revised BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 | 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Protocol Design and Deployment Objectives . . . . . . . . . . 5 | 3. Protocol Design and Deployment Objectives . . . . . . . . . . 4 | |||
4. Background . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 4. Background . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
4.1. AKA . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 4.1. AKA . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
4.2. EAP-AKA' Protocol . . . . . . . . . . . . . . . . . . . . 7 | 4.2. EAP-AKA' Protocol . . . . . . . . . . . . . . . . . . . . 6 | |||
4.3. Attacks Against Long-Term Keys in Smart Cards . . . . . . 8 | 4.3. Attacks Against Long-Term Keys in Smart Cards . . . . . . 8 | |||
5. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 9 | 5. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 8 | |||
6. Extensions to EAP-AKA' . . . . . . . . . . . . . . . . . . . 11 | 6. Extensions to EAP-AKA' . . . . . . . . . . . . . . . . . . . 11 | |||
6.1. AT_PUB_ECDHE . . . . . . . . . . . . . . . . . . . . . . 11 | 6.1. AT_PUB_ECDHE . . . . . . . . . . . . . . . . . . . . . . 11 | |||
6.2. AT_KDF_FS . . . . . . . . . . . . . . . . . . . . . . . . 12 | 6.2. AT_KDF_FS . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
6.3. Forward Secrecy Key Derivation Functions . . . . . . . . 14 | 6.3. Forward Secrecy Key Derivation Functions . . . . . . . . 14 | |||
6.4. ECDHE Groups . . . . . . . . . . . . . . . . . . . . . . 16 | 6.4. ECDHE Groups . . . . . . . . . . . . . . . . . . . . . . 16 | |||
6.5. Message Processing . . . . . . . . . . . . . . . . . . . 16 | 6.5. Message Processing . . . . . . . . . . . . . . . . . . . 16 | |||
6.5.1. EAP-Request/AKA'-Identity . . . . . . . . . . . . . . 17 | 6.5.1. EAP-Request/AKA'-Identity . . . . . . . . . . . . . . 16 | |||
6.5.2. EAP-Response/AKA'-Identity . . . . . . . . . . . . . 17 | 6.5.2. EAP-Response/AKA'-Identity . . . . . . . . . . . . . 16 | |||
6.5.3. EAP-Request/AKA'-Challenge . . . . . . . . . . . . . 17 | 6.5.3. EAP-Request/AKA'-Challenge . . . . . . . . . . . . . 17 | |||
6.5.4. EAP-Response/AKA'-Challenge . . . . . . . . . . . . . 18 | 6.5.4. EAP-Response/AKA'-Challenge . . . . . . . . . . . . . 17 | |||
6.5.5. EAP-Request/AKA'-Reauthentication . . . . . . . . . . 18 | 6.5.5. EAP-Request/AKA'-Reauthentication . . . . . . . . . . 18 | |||
6.5.6. EAP-Response/AKA'-Reauthentication . . . . . . . . . 18 | 6.5.6. EAP-Response/AKA'-Reauthentication . . . . . . . . . 18 | |||
6.5.7. EAP-Response/AKA'-Synchronization-Failure . . . . . . 19 | 6.5.7. EAP-Response/AKA'-Synchronization-Failure . . . . . . 18 | |||
6.5.8. EAP-Response/AKA'-Authentication-Reject . . . . . . . 19 | 6.5.8. EAP-Response/AKA'-Authentication-Reject . . . . . . . 18 | |||
6.5.9. EAP-Response/AKA'-Client-Error . . . . . . . . . . . 19 | 6.5.9. EAP-Response/AKA'-Client-Error . . . . . . . . . . . 18 | |||
6.5.10. EAP-Request/AKA'-Notification . . . . . . . . . . . . 19 | 6.5.10. EAP-Request/AKA'-Notification . . . . . . . . . . . . 19 | |||
6.5.11. EAP-Response/AKA'-Notification . . . . . . . . . . . 19 | 6.5.11. EAP-Response/AKA'-Notification . . . . . . . . . . . 19 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | |||
7.1. Deployment Considerations . . . . . . . . . . . . . . . . 21 | 7.1. Deployment Considerations . . . . . . . . . . . . . . . . 21 | |||
7.2. Security Properties . . . . . . . . . . . . . . . . . . . 21 | 7.2. Security Properties . . . . . . . . . . . . . . . . . . . 21 | |||
7.3. Denial-of-Service . . . . . . . . . . . . . . . . . . . . 23 | 7.3. Denial-of-Service . . . . . . . . . . . . . . . . . . . . 23 | |||
7.4. Identity Privacy . . . . . . . . . . . . . . . . . . . . 24 | 7.4. Identity Privacy . . . . . . . . . . . . . . . . . . . . 24 | |||
7.5. Unprotected Data and Privacy . . . . . . . . . . . . . . 24 | 7.5. Unprotected Data and Privacy . . . . . . . . . . . . . . 24 | |||
7.6. Forward Secrecy within AT_ENCR . . . . . . . . . . . . . 24 | 7.6. Forward Secrecy within AT_ENCR . . . . . . . . . . . . . 24 | |||
7.7. Post-Quantum Considerations . . . . . . . . . . . . . . . 25 | 7.7. Post-Quantum Considerations . . . . . . . . . . . . . . . 25 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 27 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 27 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 26 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 28 | 9.2. Informative References . . . . . . . . . . . . . . . . . 28 | |||
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 29 | Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 29 | |||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 33 | Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
1. Introduction | 1. Introduction | |||
Many different attacks have been reported as part of revelations | Many different attacks have been reported as part of revelations | |||
associated with pervasive surveillance. Some of the reported attacks | associated with pervasive surveillance. Some of the reported attacks | |||
involved compromising the Universal Subscriber Identity Module (USIM) | involved compromising the Universal Subscriber Identity Module (USIM) | |||
card supply chain. Attacks revealing the AKA long-term key may occur | card supply chain. Attacks revealing the AKA long-term key may occur | |||
skipping to change at page 3, line 34 | skipping to change at page 3, line 22 | |||
associated with pervasive surveillance. Some of the reported attacks | associated with pervasive surveillance. Some of the reported attacks | |||
involved compromising the Universal Subscriber Identity Module (USIM) | involved compromising the Universal Subscriber Identity Module (USIM) | |||
card supply chain. Attacks revealing the AKA long-term key may occur | card supply chain. Attacks revealing the AKA long-term key may occur | |||
for instance, during the manufacturing process of USIM cards, during | for instance, during the manufacturing process of USIM cards, during | |||
the transfer of the cards and associated information to the operator, | the transfer of the cards and associated information to the operator, | |||
and when a system is running. Since the publication of reports about | and when a system is running. Since the publication of reports about | |||
such attacks [Heist2015], manufacturing and provisioning processes | such attacks [Heist2015], manufacturing and provisioning processes | |||
have gained much scrutiny and have improved. | have gained much scrutiny and have improved. | |||
However, the danger of resourceful attackers attempting to gain | However, the danger of resourceful attackers attempting to gain | |||
information about long-term keys is still a concern because many | information about long-term keys is still a concern because these | |||
people use the service and these keys are high-value targets. Note | keys are high-value targets. Note that the attacks are largely | |||
that the attacks are largely independent of the used authentication | independent of the used authentication technology; the issue is not | |||
technology; the issue is not vulnerabilities in algorithms or | vulnerabilities in algorithms or protocols, but rather the | |||
protocols, but rather the possibility of someone gaining unauthorized | possibility of someone gaining unauthorized access to key material. | |||
access to key material. Furthermore, an explicit goal of the IETF is | Furthermore, an explicit goal of the IETF is to ensure that we | |||
to ensure that we understand the surveillance concerns related to | understand the surveillance concerns related to IETF protocols and | |||
IETF protocols and take appropriate countermeasures [RFC7258]. | take appropriate countermeasures [RFC7258]. | |||
While strong protection of manufacturing and other processes is | While strong protection of manufacturing and other processes is | |||
essential in mitigating the risks, there is one question that we as | essential in mitigating surveillance and other risks associated with | |||
protocol designers can ask. Is there something that we can do to | AKA long-term keys, there are also protocol mechanisms that can help. | |||
limit the consequences of attacks, should they occur? | ||||
This document specifies an extension that helps defend against one | ||||
aspect of pervasive surveillance. This is important, given the large | ||||
number of users such practices may affect. It is also a stated goal | ||||
of the IETF to ensure that we understand the surveillance concerns | ||||
related to IETF protocols and take appropriate countermeasures | ||||
[RFC7258]. This document does that for the improved Extensible | ||||
Authentication Protocol Method for 3GPP Mobile Network Authentication | ||||
and Key Agreement (EAP-AKA'). | ||||
This document updates [RFC9048], the 3GPP Mobile Network | This document updates [RFC9048], the Improved 3GPP Mobile Network | |||
Authentication and Key Agreement (EAP-AKA') method, with an optional | Authentication and Key Agreement (EAP-AKA') method, with an optional | |||
extension providing ephemeral key exchange minimizing the impact of | extension providing ephemeral key exchange minimizing the impact of | |||
long-term key compromise and strengthens the identity privacy | long-term key compromise and strengthens the identity privacy | |||
requirements. While optional, the use of this extension is strongly | requirements. This is important, given the large number of users of | |||
recommended. | AKA in mobile networks. | |||
The extension, when negotiated, provides Forward Secrecy (FS) for the | ||||
session key generated as a part of the authentication run in EAP- | ||||
AKA'. This prevents an attacker who has gained access to the long- | ||||
term key in a USIM card from getting access to past session keys. In | ||||
addition to FS, the included Diffie-Hellman exchange, forces | ||||
attackers to be active if they want access to future session keys | ||||
even if they have access to the long-term key. This is beneficial, | ||||
because active attacks demand much more resources to launch, and are | ||||
easier to detect. As with other protocols, an active attacker with | ||||
access to the long-term key material will of course be able to attack | ||||
all future communications, but risks detection, particularly if done | ||||
at scale. | ||||
Attacks against Authentication and Key Agreement (AKA) authentication | The extension, when negotiated, provides Forward Secrecy (FS) | |||
via compromising the long-term keys have been an active discussion | [DOW1992] for the session key generated as a part of the | |||
topic in many contexts. Forward secrecy [DOW1992] is on the list of | authentication run in EAP-AKA'. This prevents an attacker who has | |||
features for the next release of 3GPP (5G Phase 2), and this document | gained access to the long-term key in a USIM card from getting access | |||
provides a basis for providing this feature. | to past session keys. In addition to FS, the included Diffie-Hellman | |||
exchange, forces attackers to be active if they want access to future | ||||
session keys even if they have access to the long-term key. This is | ||||
beneficial, because active attacks demand much more resources to | ||||
launch, and are easier to detect. As with other protocols, an active | ||||
attacker with access to the long-term key material will of course be | ||||
able to attack all future communications, but risks detection, | ||||
particularly if done at scale. | ||||
It should also be noted that 5G network architecture [TS.33.501] | It should also be noted that 5G network architecture [TS.33.501] | |||
includes the use of the EAP framework for authentication. While any | includes the use of the EAP framework for authentication. While any | |||
methods can be run, the default authentication method within that | methods can be run, the default authentication method within that | |||
context will be EAP-AKA'. As a result, improvements in EAP-AKA' | context will be EAP-AKA'. As a result, improvements in EAP-AKA' | |||
security have a potential to improve security for many users. | security have a potential to improve security for many users. | |||
2. Requirements Language | 2. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
skipping to change at page 6, line 26 | skipping to change at page 5, line 49 | |||
4.1. AKA | 4.1. AKA | |||
We use the term Authentication and Key Agreement (AKA) for the main | We use the term Authentication and Key Agreement (AKA) for the main | |||
authentication and key agreement protocol used by 3GPP mobile | authentication and key agreement protocol used by 3GPP mobile | |||
networks from the third generation (3G) and onward. Later | networks from the third generation (3G) and onward. Later | |||
generations adds new features to AKA, but the core remains the same. | generations adds new features to AKA, but the core remains the same. | |||
It is based on challenge-response mechanisms and symmetric | It is based on challenge-response mechanisms and symmetric | |||
cryptography. In contrast to its earlier GSM counterparts, AKA | cryptography. In contrast to its earlier GSM counterparts, AKA | |||
provides long key lengths and mutual authentication. The phone | provides long key lengths and mutual authentication. The phone | |||
typically executes AKA in a USIM. USIM is technically just an | typically executes AKA in a USIM. USIM is technically just an | |||
application that can reside on a removable UICC, an embedded UICC, or | application that can reside on a removable UICC (Universal Integrated | |||
integrated in a Trusted Execution Environment (TEE). In this | Circuit Card), an embedded UICC, or integrated in a Trusted Execution | |||
document we use the term "USIM card" to refer to any Subscriber | Environment (TEE). In this document we use the term "USIM card" to | |||
Identity Module capable of running AKA. | refer to any Subscriber Identity Module capable of running AKA. | |||
The goal of AKA is to mutually authenticate the USIM and the so- | The goal of AKA is to mutually authenticate the USIM and the so- | |||
called home environment, which is the authentication server in the | called home environment, which is the authentication server in the | |||
subscribers home operator's network. | subscribers home operator's network. | |||
AKA works in the following manner: | AKA works in the following manner: | |||
* The USIM and the home environment have agreed on a long-term | * The USIM and the home environment have agreed on a long-term | |||
symmetric key beforehand. | symmetric key beforehand. | |||
skipping to change at page 11, line 51 | skipping to change at page 11, line 27 | |||
| AT_PUB_ECDHE | Length | Value | | | AT_PUB_ECDHE | Length | Value | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The fields are as follows: | The fields are as follows: | |||
AT_PUB_ECDHE | AT_PUB_ECDHE | |||
This is set to TBA1 BY IANA. | This is set to TBA1 BY IANA. | |||
Length | Length | |||
The length of the attribute, set as other attributes in EAP-AKA | The length of the attribute, set as other attributes in EAP-AKA | |||
[RFC4187]. | [RFC4187]. The length is expressed in multiples of 4 bytes. The | |||
length includes the attribute type field, the Length field itself, | ||||
and the Value field (along with any padding). | ||||
Value | Value | |||
This value is the sender's ECDHE public key. The value depends on | This value is the sender's ECDHE public key. The value depends on | |||
AT_KDF_FS and is calculated as follows: | AT_KDF_FS and is calculated as follows: | |||
* For X25519, the length of this value is 32 bytes, encoded as | * For X25519, the length of this value is 32 bytes, encoded as | |||
specified in [RFC7748] Section 5. | specified in [RFC7748] Section 5. | |||
* For P-256, the length of this value is 33 bytes, encoded using | * For P-256, the length of this value is 33 bytes, encoded using | |||
the compressed form specified in Section 2.3.3 of [SEC1]. | the compressed form specified in Section 2.3.3 of [SEC1]. | |||
Because the length of the attribute must be a multiple of 4 bytes, | ||||
the sender pads the Value field with zero bytes when necessary. | ||||
To retain the security of the keys, the sender SHALL generate a | To retain the security of the keys, the sender SHALL generate a | |||
fresh value for each run of the protocol. | fresh value for each run of the protocol. | |||
6.2. AT_KDF_FS | 6.2. AT_KDF_FS | |||
The AT_KDF_FS indicates the used or desired forward secrecy key | The AT_KDF_FS indicates the used or desired forward secrecy key | |||
generation function, if the Forward Secrecy (FS) extension is used. | generation function, if the Forward Secrecy (FS) extension is used. | |||
It will also indicate the used or desired ECDHE group. A new | It will also indicate the used or desired ECDHE group. A new | |||
attribute is needed to carry this information, as AT_KDF carries the | attribute is needed to carry this information, as AT_KDF carries the | |||
basic KDF value which is still used together with the forward secrecy | basic KDF value which is still used together with the forward secrecy | |||
skipping to change at page 16, line 39 | skipping to change at page 16, line 20 | |||
For "EAP-AKA' with ECDHE and X25519" the group is the Curve25519 | For "EAP-AKA' with ECDHE and X25519" the group is the Curve25519 | |||
group specified in [RFC7748]. The support for this group is | group specified in [RFC7748]. The support for this group is | |||
REQUIRED. | REQUIRED. | |||
For "EAP-AKA' with ECDHE and P-256" the group is the NIST P-256 group | For "EAP-AKA' with ECDHE and P-256" the group is the NIST P-256 group | |||
(SEC group secp256r1), specified in Section 3.2.1.3 of [SP-800-186] | (SEC group secp256r1), specified in Section 3.2.1.3 of [SP-800-186] | |||
or alternatively Section 2.4.2 of [SEC2]. The support for this group | or alternatively Section 2.4.2 of [SEC2]. The support for this group | |||
is REQUIRED. | is REQUIRED. | |||
The term "support" here means that the group MUST be implemented and | The term "support" here means that the group MUST be implemented. | |||
MUST be possible to use during a protocol run. | ||||
6.5. Message Processing | 6.5. Message Processing | |||
This section specifies the changes related to message processing when | This section specifies the changes related to message processing when | |||
this extension is used in EAP-AKA'. It specifies when a message may | this extension is used in EAP-AKA'. It specifies when a message may | |||
be transmitted or accepted, which attributes are allowed in a | be transmitted or accepted, which attributes are allowed in a | |||
message, which attributes are required in a message, and other | message, which attributes are required in a message, and other | |||
message-specific details, where those details are different for this | message-specific details, where those details are different for this | |||
extension than the base EAP-AKA' or EAP-AKA protocol. Unless | extension than the base EAP-AKA' or EAP-AKA protocol. Unless | |||
otherwise specified here, the rules from [RFC9048] or [RFC4187] | otherwise specified here, the rules from [RFC9048] or [RFC4187] | |||
skipping to change at page 19, line 37 | skipping to change at page 19, line 19 | |||
6.5.11. EAP-Response/AKA'-Notification | 6.5.11. EAP-Response/AKA'-Notification | |||
No changes. | No changes. | |||
7. Security Considerations | 7. Security Considerations | |||
This section deals only with the changes to security considerations | This section deals only with the changes to security considerations | |||
as they differ from EAP-AKA', or as new information has been gathered | as they differ from EAP-AKA', or as new information has been gathered | |||
since the publication of [RFC9048]. | since the publication of [RFC9048]. | |||
As discussed earlier (see Section 1 and Section 4.3, forward secrecy | As discussed in Section 1, forward secrecy is an important | |||
is an important countermeasure against well-resourced adversaries | countermeasure against adversaries who gain access to the long-term | |||
that who may get access to the long-term keys, see Section 1. Many | keys. The long-term keys can be best protected with good processes, | |||
of the attacks against these keys can be best dealt with improved | e.g., restricting access to the key material within a factory or | |||
processes, e.g., limiting the access to the key material within the | among personnel, etc. Even so, not all attacks can be entirely ruled | |||
factory or personnel, etc. But not all attacks can be entirely ruled | out. For instance, well-resourced adversaries may be able to coerce | |||
out for well-resourced adversaries, irrespective of what the | insiders to collaborate, despite any technical protection measures. | |||
technical algorithms and protection measures are. And the likelihood | The zero trust principles suggest that we assume that breaches are | |||
of practically feasible attacks has increased. To assume that a | inevitable or have potentially already occurred, and that we need to | |||
breach is inevitable or has likely already occurred [NSA-ZT], and to | minimize the impact of these breaches [NSA-ZT] [NIST-ZT]. One type | |||
minimize impact when breaches occur [NIST-ZT] are essential zero | of breach is key compromise or key exfiltration. | |||
trust principles. One type of breach is key compromise or key | ||||
exfiltration. | ||||
If a mechanism without ephemeral key exchange such as (5G-AKA, EAP- | If a mechanism without ephemeral key exchange such as (5G-AKA, EAP- | |||
AKA') is used the effects of key compromise are devastating. There | AKA') is used the effects of key compromise are devastating. There | |||
are serious consequences of not properly providing forward secrecy | are serious consequences of not properly providing forward secrecy | |||
for the key establishment. For both control and user plane, and both | for the key establishment. For both control and user plane, and both | |||
directions: | directions: | |||
1. An attacker can decrypt 5G communication that they previously | 1. An attacker can decrypt 5G communication that they previously | |||
recorded. | recorded. | |||
2. A passive attacker can eavesdrop (decrypt) all future 5G | 2. A passive attacker can eavesdrop (decrypt) all future 5G | |||
communication. | communication. | |||
3. An active attacker can impersonate the UE or the Network and | 3. An active attacker can impersonate the UE or the Network and | |||
inject messages in an ongoing 5G connection between the real UE | inject messages in an ongoing 5G connection between the real UE | |||
and the real network. | and the real network. | |||
Best practice security today is to mandate forward secrecy (as is | Best practice security today is to mandate forward secrecy (as is | |||
done in WPA3, EAP-TLS 1.3, EAP-TTLS 1.3, IKEv2, SSH, QUIC, WireGuard, | done in WPA3, EAP-TLS 1.3, EAP-TTLS 1.3, IKEv2, SSH, QUIC, WireGuard, | |||
Signal, etc.). It is RECOMMENDED that EAP-AKA methods without | Signal, etc.). It is recommended that in deployments, EAP-AKA | |||
forward secrecy be phased out in the long term. | methods without forward secrecy be phased out in the long term. | |||
This extension provide assistance against passive attacks from | This extension provide assistance against passive attacks from | |||
attackers that have comprimised the key material on USIM cards. | attackers that have compromised the key material on USIM cards. | |||
Passive attacks are attractive for attackers performing large scale | Passive attacks are attractive for attackers performing large scale | |||
pervasive monitoring as they require much less resources and are much | pervasive monitoring as they require much less resources and are much | |||
harder to detect. The extension also provides protection against | harder to detect. The extension also provides protection against | |||
active attacks as they are forced to be a Man-In-The-Middle (MITM) | active attacks as the attacker is forced to be on path during the AKA | |||
during the AKA run and subsequent communication between the parties. | run and subsequent communication between the parties. Without | |||
Without forward secrecy an active attacker that has compromised the | forward secrecy an active attacker that has compromised the long-term | |||
long-term key can inject messages in an connection between the real | key can inject messages in an connection between the real Peer and | |||
Peer and the real server without being a man-in-the-middle. This | the real server without being on path. This extension is most useful | |||
extension is most useful when used in a context where the MSK/EMSK | when used in a context where the MSK/EMSK are used in protocols not | |||
are used in protocols not providing forward secrecy. For instance, | providing forward secrecy. For instance, if used with IKEv2 | |||
if used with IKEv2 [RFC7296], the session keys produced by IKEv2 have | [RFC7296], the session keys produced by IKEv2 have this property, so | |||
this property, so better characteristics of the MSK and EMSK is not | better characteristics of the MSK and EMSK is not that useful. | |||
that useful. However, typical link layer usage of EAP does not | However, typical link layer usage of EAP does not involve running | |||
involve running another, forward secure, key exchange. Therefore, | another, forward secure, key exchange. Therefore, using EAP to | |||
using EAP to authenticate access to a network is one situation where | authenticate access to a network is one situation where the extension | |||
the extension defined in this document can be helpful. | defined in this document can be helpful. | |||
This extension generates keying material using the ECDHE exchange in | This extension generates keying material using the ECDHE exchange in | |||
order to gain the FS property. This means that once an EAP-AKA' | order to gain the FS property. This means that once an EAP-AKA' | |||
authentication run ends, the session that it was used to protect is | authentication run ends, the session that it was used to protect is | |||
closed, and the corresponding keys are forgotten, even someone who | closed, and the corresponding keys are destroyed, even someone who | |||
has recorded all of the data from the authentication run and session | has recorded all of the data from the authentication run and session | |||
and gets access to all of the AKA long-term keys cannot reconstruct | and gets access to all of the AKA long-term keys cannot reconstruct | |||
the keys used to protect the session or any previous session, without | the keys used to protect the session or any previous session, without | |||
doing a brute force search of the session key space. | doing a brute force search of the session key space. | |||
Even if a compromise of the long-term keys has occurred, FS is still | Even if a compromise of the long-term keys has occurred, FS is still | |||
provided for all future sessions, as long as the attacker does not | provided for all future sessions, as long as the attacker does not | |||
become an active attacker. | become an active attacker. | |||
The extension does not provide protection against active attackers | The extension does not provide protection against active attackers | |||
with access to the long-term key that mount a MITM attack on future | with access to the long-term key that mount an on-path attack on | |||
EAP-AKA' runs will be able to eavesdrop on the traffic protected by | future EAP-AKA' runs will be able to eavesdrop on the traffic | |||
the resulting session key(s). Still, past sessions where FS was in | protected by the resulting session key(s). Still, past sessions | |||
use remain protected. | where FS was in use remain protected. | |||
Using EAP-AKA' FS once provides forward secrecy. Forward secrecy | Using EAP-AKA' FS once provides forward secrecy. Forward secrecy | |||
limits the effect of key leakage in one direction (compromise of a | limits the effect of key leakage in one direction (compromise of a | |||
key at time T2 does not compromise some key at time T1 where T1 < | key at time T2 does not compromise some key at time T1 where T1 < | |||
T2). Protection in the other direction (compromise at time T1 does | T2). Protection in the other direction (compromise at time T1 does | |||
not compromise keys at time T2) can be achieved by rerunning ECDHE | not compromise keys at time T2) can be achieved by rerunning ECDHE | |||
frequently. If a long-term authentication key has been compromised, | frequently. If a long-term authentication key has been compromised, | |||
rerunning EAP-AKA' FS gives protection against passive attackers. | rerunning EAP-AKA' FS gives protection against passive attackers. | |||
Using the terms in [RFC7624], forward secrecy without rerunning ECDHE | Using the terms in [RFC7624], forward secrecy without rerunning ECDHE | |||
does not stop an attacker from doing static key exfiltration. | does not stop an attacker from doing static key exfiltration. | |||
Frequently rerunning EC(DHE) forces an attacker to do dynamic key | Frequently rerunning EC(DHE) forces an attacker to do dynamic key | |||
exfiltration (or content exfiltration). | exfiltration (or content exfiltration). | |||
7.1. Deployment Considerations | 7.1. Deployment Considerations | |||
Achieving FS requires that when a connection is closed, each endpoint | Achieving FS requires that when a connection is closed, each endpoint | |||
MUST forget not only the ephemeral keys used by the connection but | MUST destroy not only the ephemeral keys used by the connection but | |||
also any information that could be used to recompute those keys. | also any information that could be used to recompute those keys. | |||
Similarly, other parts of the system matter. For instance, when the | Similarly, other parts of the system matter. For instance, when the | |||
keys generated by EAP are transported to a pass-through | keys generated by EAP are transported to a pass-through | |||
authenticator, such transport must also provide forward secure | authenticator, such transport must also provide forward secure | |||
encryption with respect to the long-term keys used to establish its | encryption with respect to the long-term keys used to establish its | |||
security. Otherwise, an adversary may attack the transport | security. Otherwise, an adversary may attack the transport | |||
connection used to carry keys from EAP, and use this method to gain | connection used to carry keys from EAP, and use this method to gain | |||
access to current and past keys from EAP, which in turn would lead to | access to current and past keys from EAP, which in turn would lead to | |||
the compromise of anything protected by those EAP keys. | the compromise of anything protected by those EAP keys. | |||
skipping to change at page 22, line 33 | skipping to change at page 22, line 21 | |||
AT_KDF_FS and AT_PUB_ECDHE attributes in the EAP-Request/AKA'- | AT_KDF_FS and AT_PUB_ECDHE attributes in the EAP-Request/AKA'- | |||
Challenge message. These attributes are protected by AT_MAC, | Challenge message. These attributes are protected by AT_MAC, | |||
so attempts to change or omit them by an adversary will be | so attempts to change or omit them by an adversary will be | |||
detected. | detected. | |||
Except of course, if the adversary holds the long-term key and | Except of course, if the adversary holds the long-term key and | |||
is willing to engage in an active attack. Such an attack can, | is willing to engage in an active attack. Such an attack can, | |||
for instance, forge the negotiation process so that no FS will | for instance, forge the negotiation process so that no FS will | |||
be provided. However, as noted above, an attacker with these | be provided. However, as noted above, an attacker with these | |||
capabilities will in any case be able to impersonate any party | capabilities will in any case be able to impersonate any party | |||
in the protocol and perform MITM attacks. That is not a | in the protocol and perform on-path attacks. That is not a | |||
situation that can be improved by a technical solution. | situation that can be improved by a technical solution. | |||
However, as discussed in the introduction, even an attacker | However, as discussed in the introduction, even an attacker | |||
with access to the long-term keys is required to be a MITM on | with access to the long-term keys is required to be on path on | |||
each AKA run and subsequent communication, which makes mass | each AKA run and subsequent communication, which makes mass | |||
surveillance more laborious. | surveillance more laborious. | |||
The security properties of the extension also depend on a | The security properties of the extension also depend on a | |||
policy choice. As discussed in Section 6.5.4, both the peer | policy choice. As discussed in Section 6.5.4, both the peer | |||
and the server make a policy decision of what to do when it was | and the server make a policy decision of what to do when it was | |||
willing to perform the extension specified in this protocol, | willing to perform the extension specified in this protocol, | |||
but the other side does not wish to use the extension. | but the other side does not wish to use the extension. | |||
Allowing this has the benefit of allowing backwards | Allowing this has the benefit of allowing backwards | |||
compatibility to equipment that did not yet support the | compatibility to equipment that did not yet support the | |||
skipping to change at page 26, line 20 | skipping to change at page 26, line 10 | |||
the use of a KEM might require other changes such as including the | the use of a KEM might require other changes such as including the | |||
ephemeral public key of the server in the key derivation to retain | ephemeral public key of the server in the key derivation to retain | |||
the property that both parties contribute randomness to the session | the property that both parties contribute randomness to the session | |||
key. | key. | |||
8. IANA Considerations | 8. IANA Considerations | |||
This extension of EAP-AKA' shares its attribute space and subtypes | This extension of EAP-AKA' shares its attribute space and subtypes | |||
with Extensible Authentication Protocol Method for Global System for | with Extensible Authentication Protocol Method for Global System for | |||
Mobile Communications (GSM) Subscriber Identity Modules (EAP-SIM) | Mobile Communications (GSM) Subscriber Identity Modules (EAP-SIM) | |||
[RFC4186], EAP-AKA [RFC4186], and EAP-AKA' [RFC9048]. | [RFC4186], EAP-AKA [RFC4187], and EAP-AKA' [RFC9048]. | |||
Two new values (TBA1, TBA2) in the skippable range need to be | Two new values (TBA1, TBA2) in the skippable range need to be | |||
assigned for AT_PUB_ECDHE (Section 6.1) and AT_KDF_FS (Section 6.2) | assigned for AT_PUB_ECDHE (Section 6.1) and AT_KDF_FS (Section 6.2) | |||
in the "Attribute Types" registry under the "EAP-AKA and EAP-SIM | in the "Attribute Types" registry under the "EAP-AKA and EAP-SIM | |||
Parameters" group. | Parameters" group. | |||
Also, IANA is requested to create a new registry "EAP-AKA' AT_KDF_FS | Also, IANA is requested to create a new registry "EAP-AKA' AT_KDF_FS | |||
Key Derivation Function Values" to represent FS Key Derivation | Key Derivation Function Values" to represent FS Key Derivation | |||
Function types. The "EAP-AKA' with ECDHE and X25519" and "EAP-AKA' | Function types. The "EAP-AKA' with ECDHE and X25519" and "EAP-AKA' | |||
with ECDHE and P-256" types (1 and 2, see Section 6.3) need to be | with ECDHE and P-256" types (1 and 2, see Section 6.3) need to be | |||
assigned, along with one reserved value. The initial contents of | assigned, along with one reserved value. The initial contents of | |||
this registry is illustrated in Table 1; new values can be created | this registry is illustrated in Table 1; new values can be created | |||
through the Specification Required policy [RFC8126]. | through the Specification Required policy [RFC8126]. Expert | |||
reviewers should ensure that the referenced specification is clearly | ||||
identified and stable, and that the proposed addition is reasonable | ||||
for the given category of allocation. | ||||
+=========+==================+=========================+ | +=========+==================+=========================+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+=========+==================+=========================+ | +=========+==================+=========================+ | |||
| 0 | Reserved | [TBD BY IANA: THIS RFC] | | | 0 | Reserved | [TBD BY IANA: THIS RFC] | | |||
+---------+------------------+-------------------------+ | +---------+------------------+-------------------------+ | |||
| 1 | EAP-AKA' with | [TBD BY IANA: THIS RFC] | | | 1 | EAP-AKA' with | [TBD BY IANA: THIS RFC] | | |||
| | ECDHE and X25519 | | | | | ECDHE and X25519 | | | |||
+---------+------------------+-------------------------+ | +---------+------------------+-------------------------+ | |||
| 2 | EAP-AKA' with | [TBD BY IANA: THIS RFC] | | | 2 | EAP-AKA' with | [TBD BY IANA: THIS RFC] | | |||
skipping to change at page 29, line 46 | skipping to change at page 29, line 41 | |||
[NSA-ZT] National Security Agency, "Embracing a Zero Trust Security | [NSA-ZT] National Security Agency, "Embracing a Zero Trust Security | |||
Model", February 2021, <https://media.defense.gov/2021/ | Model", February 2021, <https://media.defense.gov/2021/ | |||
Feb/25/2002588479/-1/-1/0/ | Feb/25/2002588479/-1/-1/0/ | |||
CSI_EMBRACING_ZT_SECURITY_MODEL_UOO115131-21.PDF>. | CSI_EMBRACING_ZT_SECURITY_MODEL_UOO115131-21.PDF>. | |||
Appendix A. Change Log | Appendix A. Change Log | |||
RFC Editor: Please remove this appendix. | RFC Editor: Please remove this appendix. | |||
The -12 version of the WG draft has the following changes, most due | ||||
to IESG review comments in January 2023: | ||||
* Update the draft track to Standards Track. | ||||
* Clarified the calculation of the Length field in the AT_ECDHE | ||||
attribute, along with padding requirements. | ||||
* Avoided the use of keywords in operational recommendations, e.g., | ||||
about deployment. | ||||
* Changed the definition of what "supported" means to focus on | ||||
feature being implemented, but not require that it is usable | ||||
during a protocol run, because configuration, new security | ||||
information, etc. might imply that a particular feature is | ||||
implemented but disabled for policy reasons. | ||||
* Changed the MITM terminology to be on-path attacks. | ||||
* Corrected a reference typo in the IANA considerations section. | ||||
* Shortened the abstract and introduction to the key aspects and | ||||
removed duplication. | ||||
* Several editorial changes. | ||||
The -11 version of the WG draft has the following changes: | The -11 version of the WG draft has the following changes: | |||
* Addressed IETF Last Call comments from directorates, Security AD, | * Addressed IETF Last Call comments from directorates, Security AD, | |||
Meiling Cheng, and a detailed review from the author Karl. In | Meiling Cheng, and a detailed review from the author Karl. In | |||
particular: | particular: | |||
* Replaced the reference to the deprecated FIPS 186-4 with SP | * Replaced the reference to the deprecated FIPS 186-4 with SP | |||
800-186. | 800-186. | |||
* Changed HSS to Authentication Database (AD) as HSS is a 4G term. | * Changed HSS (Home Subscriber Server) to Authentication Database | |||
(AD) as HSS is a 4G term. | ||||
* Explained difference between EAP-AKA and EAP-AKA' | * Explained difference between EAP-AKA and EAP-AKA' | |||
* Explained that the emphemeral key exhange provide more that | * Explained that the emphemeral key exhange provide more that | |||
forward secrecy and how this is important to mitigate pervasive | forward secrecy and how this is important to mitigate pervasive | |||
monitoring. | monitoring. | |||
* Included links for the zero trust principles. | * Included links for the zero trust principles. | |||
* Explained why K_encr and K_auth not being protected by the ECDHE | * Explained why K_encr and K_auth not being protected by the ECDHE | |||
skipping to change at page 33, line 19 | skipping to change at page 33, line 39 | |||
Acknowledgments | Acknowledgments | |||
The authors would like to note that the technical solution in this | The authors would like to note that the technical solution in this | |||
document came out of the TrustCom paper [TrustCom2015], whose authors | document came out of the TrustCom paper [TrustCom2015], whose authors | |||
were J. Arkko, K. Norrman, M. Näslund, and B. Sahlin. This document | were J. Arkko, K. Norrman, M. Näslund, and B. Sahlin. This document | |||
uses also a lot of material from [RFC4187] by J. Arkko and | uses also a lot of material from [RFC4187] by J. Arkko and | |||
H. Haverinen as well as [RFC5448] by J. Arkko, V. Lehtovirta, and | H. Haverinen as well as [RFC5448] by J. Arkko, V. Lehtovirta, and | |||
P. Eronen. | P. Eronen. | |||
The authors would also like to thank Ben Campbell, Meiling Chen, | The authors would also like to thank Ben Campbell, Meiling Chen, | |||
Linda Dunbar, Tim Evans, Zhang Fu, Russ Housley, Tero Kivinen, Eliot | Roman Danyliw, Linda Dunbar, Tim Evans, Zhang Fu, Russ Housley, Tero | |||
Lear, Vesa Lehtovirta, Kathleen Moriarty, Prajwol Kumar Nakarmi, | Kivinen, Murray Kucherawy, Warren Kumari, Eliot Lear, Vesa | |||
Anand R. Prasad, Michael Richardson, Göran Rune, Bengt Sahlin, Joseph | Lehtovirta, Kathleen Moriarty, Prajwol Kumar Nakarmi, Francesca | |||
Salowey, Mohit Sethi, Rene Struik, Vesa Torvinen, Sean Turner, Helena | Palombini, Anand R. Prasad, Michael Richardson, Göran Rune, Bengt | |||
Vahidi Mazinani, Paul Wouters, Bo Wu, and many other people at the | Sahlin, Joseph Salowey, Mohit Sethi, Orie Steele, Rene Struik, Vesa | |||
IETF, GSMA and 3GPP groups for interesting discussions in this | Torvinen, Sean Turner, Helena Vahidi Mazinani, Robert Wilton, Paul | |||
problem space. | Wouters, Bo Wu, Peter Yee, and many other people at the IETF, GSMA | |||
and 3GPP groups for interesting discussions in this problem space. | ||||
Authors' Addresses | Authors' Addresses | |||
Jari Arkko | Jari Arkko | |||
Ericsson | Ericsson | |||
FI-02420 Jorvas | FI-02420 Jorvas | |||
Finland | Finland | |||
Email: jari.arkko@piuha.net | Email: jari.arkko@piuha.net | |||
Karl Norrman | Karl Norrman | |||
Ericsson | Ericsson | |||
SE-16483 Stockholm | SE-16483 Stockholm | |||
Sweden | Sweden | |||
End of changes. 37 change blocks. | ||||
127 lines changed or deleted | 130 lines changed or added | |||
This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |