| draft-ietf-emu-aka-pfs-01.txt | draft-arkko-eap-aka-pfs.txt | |||
|---|---|---|---|---|
| Network Working Group J. Arkko | Network Working Group J. Arkko | |||
| Internet-Draft K. Norrman | Internet-Draft K. Norrman | |||
| Intended status: Informational V. Torvinen | Updates: RFC5448 (if approved) V. Torvinen | |||
| Expires: May 8, 2020 Ericsson | Intended status: Informational Ericsson | |||
| November 5, 2019 | Expires: May 21, 2020 November 18, 2019 | |||
| Perfect-Forward Secrecy for the Extensible Authentication Protocol | Perfect-Forward Secrecy for the Extensible Authentication Protocol | |||
| Method for Authentication and Key Agreement (EAP-AKA' PFS) | Method for Authentication and Key Agreement (EAP-AKA' PFS) | |||
| draft-ietf-emu-aka-pfs-01 | draft-ietf-emu-aka-pfs-02 | |||
| Abstract | Abstract | |||
| 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 smart cards, such as attacking SIM card | involved compromising smart cards, such as attacking SIM card | |||
| manufacturers and operators in an effort to compromise shared secrets | manufacturers and operators in an effort to compromise shared secrets | |||
| stored on these cards. Since the publication of those reports, | stored on these cards. Since the publication of those reports, | |||
| manufacturing and provisioning processes have gained much scrutiny | manufacturing and provisioning processes have gained much scrutiny | |||
| and have improved. However, the danger of resourceful attackers for | and have improved. However, the danger of resourceful attackers for | |||
| these systems is still a concern. | these systems is still a concern. | |||
| This specification is an optional extension to the EAP-AKA' | This specification is an optional extension to the EAP-AKA' | |||
| authentication method which was defined in RFC 5448 (to be superseded | authentication method which was defined in [I-D.ietf-emu-rfc5448bis]. | |||
| by draft-ietf-emu-rfc5448bis). The extension, when negotiated, | The extension, when negotiated, provides Perfect Forward Secrecy for | |||
| provides Perfect Forward Secrecy for the session key generated as a | the session key generated as a part of the authentication run in EAP- | |||
| part of the authentication run in EAP-AKA'. This prevents an | AKA'. This prevents an attacker who has gained access to the long- | |||
| attacker who has gained access to the long-term pre-shared secret in | term pre-shared secret in a SIM card from being able to decrypt any | |||
| a SIM card from being able to decrypt all past communications. In | past communications. In addition, if the attacker stays merely a | |||
| addition, if the attacker stays merely a passive eavesdropper, the | passive eavesdropper, the extension prevents attacks against future | |||
| extension prevents attacks against future sessions. This forces | sessions. This forces attackers to use active attacks instead. | |||
| attackers to use active attacks instead. | ||||
| 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 https://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 8, 2020. | ||||
| This Internet-Draft will expire on May 21, 2020. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | |||
| (https://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 | |||
| skipping to change at page 3, line 42 | skipping to change at page 3, line 40 | |||
| The authors want to provide a public specification of an extension | The authors want to provide a public specification of an extension | |||
| that helps defend against one aspect of pervasive surveillance. This | that helps defend against one aspect of pervasive surveillance. This | |||
| is important, given the large number of users such practices may | 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 | affect. It is also a stated goal of the IETF to ensure that we | |||
| understand the surveillance concerns related to IETF protocols and | understand the surveillance concerns related to IETF protocols and | |||
| take appropriate countermeasures [RFC7258]. This document does that | take appropriate countermeasures [RFC7258]. This document does that | |||
| for EAP-AKA'. | for EAP-AKA'. | |||
| This specification is an optional extension to the EAP-AKA' | This specification is an optional extension to the EAP-AKA' | |||
| authentication method [RFC5448] (to be superseded by | authentication method [I-D.ietf-emu-rfc5448bis]. While optional, the | |||
| [I-D.ietf-emu-rfc5448bis]). The extension, when negotiated, provides | use of this extension is RECOMMENDED. | |||
| Perfect Forward Secrecy for the session key generated as a part of | ||||
| the authentication run in EAP-AKA'. This prevents an attacker who | The extension, when negotiated, provides Perfect Forward Secrecy for | |||
| has gained access to the long-term pre-shared secret in a SIM card | the session key generated as a part of the authentication run in EAP- | |||
| from being able to decrypt all past communications. In addition, if | AKA'. This prevents an attacker who has gained access to the long- | |||
| the attacker stays merely a passive eavesdropper, the extension | term pre-shared secret in a SIM card from being able to decrypt any | |||
| prevents attacks against future sessions. This forces attackers to | past communications. In addition, if the attacker stays merely a | |||
| use active attacks instead. As with other protocols, an active | passive eavesdropper, the extension prevents attacks against future | |||
| attacker with access to the long-term key material will of course be | sessions. This forces attackers to use active attacks instead. This | |||
| able to attack all future communications, but risks detection, | is beneficial, because active attacks demand much more resources to | |||
| particularly if done at scale. | launch, and can generally be detected much easier. 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 AKA authentication via compromising the long-term | Attacks against AKA authentication via compromising the long-term | |||
| secrets in the SIM cards have been an active discussion topic in many | secrets in the SIM cards have been an active discussion topic in many | |||
| contexts. Perfect forward secrecy is on the list of features for the | contexts. Perfect forward secrecy is on the list of features for the | |||
| next release of 3GPP (5G Phase 2), and this document provides a basis | next release of 3GPP (5G Phase 2), and this document provides a basis | |||
| for providing this feature in a particular fashion. | for providing this feature in a particular fashion. | |||
| It should also be noted that 5G network architecture includes the use | It should also be noted that 5G network architecture includes the use | |||
| of the EAP framework for authentication. While any methods can be | of the EAP framework for authentication. While any methods can be | |||
| run, the default authentication method within that context will be | run, the default authentication method within that context will be | |||
| skipping to change at page 5, line 19 | skipping to change at page 5, line 19 | |||
| that supports EAP, without changing any network functions beyond | that supports EAP, without changing any network functions beyond | |||
| the EAP endpoints. | the EAP endpoints. | |||
| o Key generation happens at the endpoints, enabling highest grade | o Key generation happens at the endpoints, enabling highest grade | |||
| key material to be used both by the endpoints and the intermediate | key material to be used both by the endpoints and the intermediate | |||
| systems (such as access points that are given access to specific | systems (such as access points that are given access to specific | |||
| keys). | keys). | |||
| o While EAP-AKA' is just one EAP method, for practical purposes | o While EAP-AKA' is just one EAP method, for practical purposes | |||
| perfect forward secrecy being available for both EAP-TLS [RFC5216] | perfect forward secrecy being available for both EAP-TLS [RFC5216] | |||
| [I-D.mattsson-eap-tls13] and EAP-AKA' ensures that for many | [I-D.ietf-emu-eap-tls13] and EAP-AKA' ensures that for many | |||
| practical systems perfect forward secrecy can be enabled for | practical systems perfect forward secrecy can be enabled for | |||
| either all or significant fraction of users. | either all or significant fraction of users. | |||
| 3. Background | 3. Background | |||
| 3.1. AKA | 3.1. AKA | |||
| AKA is based on challenge-response mechanisms and symmetric | AKA is based on challenge-response mechanisms and symmetric | |||
| cryptography. AKA typically runs in a UMTS Subscriber Identity | cryptography. AKA typically runs in a UMTS Subscriber Identity | |||
| Module (USIM) or a CDMA2000 (Removable) User Identity Module | Module (USIM) or a CDMA2000 (Removable) User Identity Module | |||
| ((R)UIM). In contrast with its earlier GSM counterparts, 3rd | ((R)UIM). In contrast with its earlier GSM counterparts, AKA | |||
| generation AKA provides long key lengths and mutual authentication. | provides long key lengths and mutual authentication. | |||
| AKA works in the following manner: | AKA works in the following manner: | |||
| o The identity module and the home environment have agreed on a | o The identity module and the home environment have agreed on a | |||
| secret key beforehand. | secret key beforehand. | |||
| o The actual authentication process starts by having the home | o The actual authentication process starts by having the home | |||
| environment produce an authentication vector, based on the secret | environment produce an authentication vector, based on the secret | |||
| key and a sequence number. The authentication vector contains a | key and a sequence number. The authentication vector contains a | |||
| random part RAND, an authenticator part AUTN used for | random part RAND, an authenticator part AUTN used for | |||
| skipping to change at page 6, line 15 | skipping to change at page 6, line 15 | |||
| within the correct range), the identity module produces an | within the correct range), the identity module produces an | |||
| authentication result RES and sends it to the serving network. | authentication result RES and sends it to the serving network. | |||
| o The serving network verifies the correct result from the identity | o The serving network verifies the correct result from the identity | |||
| module. If the result is correct, IK and CK can be used to | module. If the result is correct, IK and CK can be used to | |||
| protect further communications between the identity module and the | protect further communications between the identity module and the | |||
| home environment. | home environment. | |||
| 3.2. EAP-AKA' Protocol | 3.2. EAP-AKA' Protocol | |||
| When AKA (and AKA') are embedded into EAP, the authentication on the | When AKA are embedded into EAP, the authentication on the network | |||
| network side is moved to the home environment; the serving network | side is moved to the home environment; the serving network performs | |||
| performs the role of a pass-through authenticator. Figure 1 | the role of a pass-through authenticator. Figure 1 describes the | |||
| describes the basic flow in the EAP-AKA' authentication process. The | basic flow in the EAP-AKA' authentication process. The definition of | |||
| definition of the full protocol behaviour, along with the definition | the full protocol behaviour, along with the definition of attributes | |||
| of attributes AT_RAND, AT_AUTN, AT_MAC, and AT_RES can be found in | AT_RAND, AT_AUTN, AT_MAC, and AT_RES can be found in | |||
| [I-D.ietf-emu-rfc5448bis] and [RFC4187]. | [I-D.ietf-emu-rfc5448bis] and [RFC4187]. | |||
| Peer Server | Peer Server | |||
| | EAP-Request/Identity | | | EAP-Request/Identity | | |||
| |<------------------------------------------------------| | |<------------------------------------------------------| | |||
| | | | | | | |||
| | EAP-Response/Identity | | | EAP-Response/Identity | | |||
| | (Includes user's Network Access Identifier, NAI) | | | (Includes user's Network Access Identifier, NAI) | | |||
| |------------------------------------------------------>| | |------------------------------------------------------>| | |||
| | +-------------------------------------------------+ | | +-------------------------------------------------+ | |||
| skipping to change at page 8, line 7 | skipping to change at page 8, line 7 | |||
| | | in AT_RES and AT_MAC, respectively. Success | | | | in AT_RES and AT_MAC, respectively. Success | | |||
| | | requires both to be found correct. | | | | requires both to be found correct. | | |||
| | +-------------------------------------------------+ | | +-------------------------------------------------+ | |||
| | EAP-Success | | | EAP-Success | | |||
| |<------------------------------------------------------| | |<------------------------------------------------------| | |||
| Figure 1: EAP-AKA' Authentication Process | Figure 1: EAP-AKA' Authentication Process | |||
| 3.3. Attacks Against Long-Term Shared Secrets in Smart Cards | 3.3. Attacks Against Long-Term Shared Secrets in Smart Cards | |||
| Current 3GPP systems use (U)SIM pre-shared key based protocols and | Current 3GPP systems use SIM pre-shared key based protocols and | |||
| Authentication and Key Agreement (AKA) to authenticate subscribers. | Authentication and Key Agreement (AKA) to authenticate subscribers. | |||
| The general security properties and potential vulnerabilities of AKA | The general security properties and potential vulnerabilities of AKA | |||
| and EAP-AKA' are discussed in [I-D.ietf-emu-rfc5448bis]. | and EAP-AKA' are discussed in [I-D.ietf-emu-rfc5448bis]. | |||
| An important vulnerability in that discussion relates to the recent | An important vulnerability in that discussion relates to the recent | |||
| reports of compromised long term pre-shared keys used in AKA | reports of compromised long term pre-shared keys used in AKA | |||
| [Heist2015]. These attacks are not specific to AKA or EAP-AKA', as | [Heist2015]. These attacks are not specific to AKA or EAP-AKA', as | |||
| all security systems fail at least to some extent if key material is | all security systems fail at least to some extent if key material is | |||
| stolen. However, the reports indicate a need to look into solutions | stolen. However, the reports indicate a need to look into solutions | |||
| that can operate at least to an extent under these types of attacks. | that can operate at least to an extent under these types of attacks. | |||
| It is noted in [Heist2015] that some security can be retained even in | It is noted in [Heist2015] that some security can be retained even in | |||
| the face of the attacks by providing Perfect Forward Security (PFS) | the face of the attacks by providing Perfect Forward Secrecy (PFS) | |||
| [DOW1992] for the session key. If AKA would have provided PFS, | [DOW1992] for the session key. If AKA would have provided PFS, | |||
| compromising the pre-shared key would not be sufficient to perform | compromising the pre-shared key would not be sufficient to perform | |||
| passive attacks; the attacker is, in addition, forced to be a Man-In- | passive attacks; the attacker is, in addition, forced to be a Man-In- | |||
| The-Middle (MITM) during the AKA run and subsequent communication | The-Middle (MITM) during the AKA run and subsequent communication | |||
| between the parties. | between the parties. | |||
| 4. Requirements Language | 4. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 5. Protocol Overview | 5. Protocol Overview | |||
| Introducing PFS for EAP-AKA' can be achieved by using an Elliptic | Introducing PFS for EAP-AKA' can be achieved by using an Elliptic | |||
| Curve Diffie-Hellman (ECDH) exchange [RFC7748]. In EAP-AKA' PFS this | Curve Diffie-Hellman (ECDH) exchange [RFC7748]. In EAP-AKA' PFS this | |||
| exchange is run in an ephemeral manner, i.e., using temporary keys as | exchange is run in an ephemeral manner, i.e., both sides generate | |||
| specified in [RFC8031] Section 2. This method is referred to as | temporary keys as specified in [RFC7748]. This method is referred to | |||
| ECDHE, where the last 'E' stands for Ephemeral. | as ECDHE, where the last 'E' stands for Ephemeral. | |||
| The enhancements in the EAP-AKA' PFS protocol are compatible with the | The enhancements in the EAP-AKA' PFS protocol are compatible with the | |||
| signaling flow and other basic structures of both AKA and EAP-AKA'. | signaling flow and other basic structures of both AKA and EAP-AKA'. | |||
| The intent is to implement the enhancement as optional attributes | The intent is to implement the enhancement as optional attributes | |||
| that legacy implementations can ignore. | that legacy implementations can ignore. | |||
| The purpose of the protocol is to achieve mutual authentication | The purpose of the protocol is to achieve mutual authentication | |||
| between the EAP server and peer, and to establish keying material for | between the EAP server and peer, and to establish keying material for | |||
| secure communication between the two. This document specifies the | secure communication between the two. This document specifies the | |||
| calculation of key material, providing new properties that are not | calculation of key material, providing new properties that are not | |||
| skipping to change at page 11, line 38 | skipping to change at page 11, line 38 | |||
| 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]. | |||
| Value | Value | |||
| This value is the sender's ECDHE public value. For Curve25519, | This value is the sender's ECDHE public value. For X25519/ | |||
| the length of this value is 32 bytes, encoded in binary as | Curve25519, the length of this value is 32 bytes, encoded in | |||
| specified [RFC7748] Section 6.1. | binary as specified [RFC7748] Section 6.1. | |||
| 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_PFS | 6.2. AT_KDF_PFS | |||
| The AT_KDF_PFS indicates the used or desired key generation function, | The AT_KDF_PFS indicates the used or desired key generation function, | |||
| if the Perfect Forward Secrecy extension is taken into use. It will | if the Perfect Forward Secrecy extension is taken into use. It will | |||
| also at the same time indicate the used or desired ECDHE group. A | also at the same time indicate the used or desired ECDHE group. A | |||
| new attribute is needed to carry this information, as AT_KDF carries | new attribute is needed to carry this information, as AT_KDF carries | |||
| skipping to change at page 14, line 8 | skipping to change at page 14, line 8 | |||
| occurred in the list of AT_KDF_PFS attributes. If yes, it continues. | occurred in the list of AT_KDF_PFS attributes. If yes, it continues. | |||
| If not, it behaves as if AT_MAC had been incorrect and fails the | If not, it behaves as if AT_MAC had been incorrect and fails the | |||
| authentication. If the peer receives multiple EAP-Request/AKA'- | authentication. If the peer receives multiple EAP-Request/AKA'- | |||
| Challenge messages with differing AT_KDF_PFS attributes without | Challenge messages with differing AT_KDF_PFS attributes without | |||
| having requested negotiation, the peer MUST behave as if AT_MAC had | having requested negotiation, the peer MUST behave as if AT_MAC had | |||
| been incorrect and fail the authentication. | been incorrect and fail the authentication. | |||
| 6.3. New Key Derivation Function | 6.3. New Key Derivation Function | |||
| A new Key Derivation Function type is defined for "EAP-AKA' with | A new Key Derivation Function type is defined for "EAP-AKA' with | |||
| ECDHE and Curve25519", represented by value 1. It represents a | ECDHE and X25519", represented by value 1. It represents a | |||
| particular choice of key derivation function and at the same time | particular choice of key derivation function and at the same time | |||
| selects an ECDHE group to be used. | selects an ECDHE group to be used. | |||
| The Key Derivation Function type value is only used in the AT_KDF_PFS | The Key Derivation Function type value is only used in the AT_KDF_PFS | |||
| attribute, and should not be confused with the different range of key | attribute, and should not be confused with the different range of key | |||
| derivation functions that can be represented in the AT_KDF attribute | derivation functions that can be represented in the AT_KDF attribute | |||
| as defined in [I-D.ietf-emu-rfc5448bis]. | as defined in [I-D.ietf-emu-rfc5448bis]. | |||
| Key derivation in this extension produces exactly the same keys for | Key derivation in this extension produces exactly the same keys for | |||
| internal use within one authentication run as | internal use within one authentication run as | |||
| skipping to change at page 14, line 40 | skipping to change at page 14, line 40 | |||
| MK = PRF'(IK'|CK',"EAP-AKA'"|Identity) | MK = PRF'(IK'|CK',"EAP-AKA'"|Identity) | |||
| MK_ECDHE = PRF'(IK'|CK'|SHARED_SECRET,"EAP-AKA' PFS"|Identity) | MK_ECDHE = PRF'(IK'|CK'|SHARED_SECRET,"EAP-AKA' PFS"|Identity) | |||
| K_encr = MK[0..127] | K_encr = MK[0..127] | |||
| K_aut = MK[128..383] | K_aut = MK[128..383] | |||
| K_re = MK_ECDHE[0..255] | K_re = MK_ECDHE[0..255] | |||
| MSK = MK_ECDHE[256..767] | MSK = MK_ECDHE[256..767] | |||
| EMSK = MK_ECDHE[768..1279] | EMSK = MK_ECDHE[768..1279] | |||
| Where SHARED_SECRET is the shared secret computed via ECDHE, as | Where SHARED_SECRET is the shared secret computed via ECDHE, as | |||
| specified in Section 2 of [RFC8031] and Section 6.1 of [RFC7748]. | specified in Section 6.1 of [RFC7748]. | |||
| Both the peer and the server MAY check for zero-value shared secret | Both the peer and the server MAY check for zero-value shared secret | |||
| as specified in Section 6.1 of [RFC7748]. If such checking is | as specified in Section 6.1 of [RFC7748]. If such checking is | |||
| performed and the SHARED_SECRET has a zero value, both parties MUST | performed and the SHARED_SECRET has a zero value, both parties MUST | |||
| behave as if the current EAP-AKA' authentication process starts again | behave as if the current EAP-AKA' authentication process starts again | |||
| from the beginning. | from the beginning. | |||
| Note: The way that shared secret is tested for zero can, if | Note: The way that shared secret is tested for zero can, if | |||
| performed inappropriately, provide an ability for attackers to | performed inappropriately, provide an ability for attackers to | |||
| listen to CPU power usage side channels. Refer to [RFC7748] for a | listen to CPU power usage side channels. Refer to [RFC7748] for a | |||
| skipping to change at page 15, line 31 | skipping to change at page 15, line 31 | |||
| used as is, without any trailing NUL characters. Similarly, "EAP- | used as is, without any trailing NUL characters. Similarly, "EAP- | |||
| AKA' PFS" is a twelve-characters-long ASCII string, also used as is. | AKA' PFS" is a twelve-characters-long ASCII string, also used as is. | |||
| Identity is the peer identity as specified in Section 7 of [RFC4187]. | Identity is the peer identity as specified in Section 7 of [RFC4187]. | |||
| 6.4. ECDHE Groups | 6.4. ECDHE Groups | |||
| The selection of suitable groups for the elliptic curve computation | The selection of suitable groups for the elliptic curve computation | |||
| is necessary. The choice of a group is made at the same time as | is necessary. The choice of a group is made at the same time as | |||
| deciding to use of particular key derivation function in AT_KDF_PFS. | deciding to use of particular key derivation function in AT_KDF_PFS. | |||
| For "EAP-AKA' with ECDHE and Curve25519" the group is the Curve25519 | For "EAP-AKA' with ECDHE and X25519" the group is the Curve25519 | |||
| group specified in [RFC8031]. | group specified in [RFC7748]. | |||
| 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 [I-D.ietf-emu-rfc5448bis] or | otherwise specified here, the rules from [I-D.ietf-emu-rfc5448bis] or | |||
| skipping to change at page 20, line 37 | skipping to change at page 20, line 37 | |||
| If turning off the extension specified in this protocol is not | If turning off the extension specified in this protocol is not | |||
| allowed by policy, the use of legacy equipment that does not | allowed by policy, the use of legacy equipment that does not | |||
| support this protocol is no longer possible. This may be | support this protocol is no longer possible. This may be | |||
| appropriate when, for instance, support for the extension is | appropriate when, for instance, support for the extension is | |||
| sufficiently widespread, or required in a particular version of | sufficiently widespread, or required in a particular version of | |||
| a mobile network. | a mobile network. | |||
| Key derivation | Key derivation | |||
| This extension provides key material that is based on the Diffie- | This extension provides key material that is based on the Diffie- | |||
| Hellman keys, yet bound to the authentication through the (U)SIM | Hellman keys, yet bound to the authentication through the SIM | |||
| card. This means that subsequent payload communications between | card. This means that subsequent payload communications between | |||
| the parties are protected with keys that are not solely based on | the parties are protected with keys that are not solely based on | |||
| information in the clear (such as the RAND) and information | information in the clear (such as the RAND) and information | |||
| derivable from the long-term shared secrets on the (U)SIM card. | derivable from the long-term shared secrets on the SIM card. As a | |||
| As a result, if anyone successfully recovers shared secret | result, if anyone successfully recovers shared secret information, | |||
| information, they are unable to decrypt communications protected | they are unable to decrypt communications protected by the keys | |||
| by the keys generated through this extension. Note that the | generated through this extension. Note that the recovery of | |||
| recovery of shared secret information could occur either before or | shared secret information could occur either before or after the | |||
| after the time that the protected communications are used. When | time that the protected communications are used. When this | |||
| this extension is used, communications at time t0 can be protected | extension is used, communications at time t0 can be protected if | |||
| if at some later time t1 an adversary learns of long-term shared | at some later time t1 an adversary learns of long-term shared | |||
| secret and has access to a recording of the encrypted | secret and has access to a recording of the encrypted | |||
| communications. | communications. | |||
| Obviously, this extension is still vulnerable to attackers that | Obviously, this extension is still vulnerable to attackers that | |||
| are willing to perform an active attack and who at the time of the | are willing to perform an active attack and who at the time of the | |||
| attack have access to the long-term shared secret. | attack have access to the long-term shared secret. | |||
| This extension does not change the properties related to re- | This extension does not change the properties related to re- | |||
| authentication. No new Diffie-Hellman run is performed during the | authentication. No new Diffie-Hellman run is performed during the | |||
| re-authentication allowed by EAP-AKA'. However, if this extension | re-authentication allowed by EAP-AKA'. However, if this extension | |||
| skipping to change at page 22, line 25 | skipping to change at page 22, line 25 | |||
| This extension of EAP-AKA' shares its attribute space and subtypes | This extension of EAP-AKA' shares its attribute space and subtypes | |||
| with EAP-SIM [RFC4186], EAP-AKA [RFC4186], and EAP-AKA' | with EAP-SIM [RFC4186], EAP-AKA [RFC4186], and EAP-AKA' | |||
| [I-D.ietf-emu-rfc5448bis]. | [I-D.ietf-emu-rfc5448bis]. | |||
| Two new Attribute Type value (TBA1, TBA2) in the skippable range need | Two new Attribute Type value (TBA1, TBA2) in the skippable range need | |||
| to be assigned for AT_PUB_ECDHE (Section 6.1) and AT_KDF_PFS | to be assigned for AT_PUB_ECDHE (Section 6.1) and AT_KDF_PFS | |||
| (Section 6.2 in the EAP-AKA and EAP-SIM Parameters registry under | (Section 6.2 in the EAP-AKA and EAP-SIM Parameters registry under | |||
| Attribute Types. | Attribute Types. | |||
| Also, a new registry should be created to represent Diffie-Hellman | Also, a new registry should be created to represent Diffie-Hellman | |||
| Key Derivation Function types. The "EAP-AKA' with ECDHE and | Key Derivation Function types. The "EAP-AKA' with ECDHE and X25519" | |||
| Curve25519" type (1, see Section 6.3) needs to be assigned, along | type (1, see Section 6.3) needs to be assigned, along with one | |||
| with one reserved value. The initial contents of this namespace are | reserved value. The initial contents of this namespace are therefore | |||
| therefore as below; new values can be created through the | as below; new values can be created through the Specification | |||
| Specification Required policy [RFC8126]. | Required policy [RFC8126]. | |||
| Value Description Reference | Value Description Reference | |||
| -------- --------------------------------- --------------- | -------- --------------------------------- --------------- | |||
| 0 Reserved [TBD BY IANA: THIS RFC] | 0 Reserved [TBD BY IANA: THIS RFC] | |||
| 1 EAP-AKA' with ECDHE and Curve25519 [TBD BY IANA: THIS RFC] | 1 EAP-AKA' with ECDHE and X25519 [TBD BY IANA: THIS RFC] | |||
| 2-65535 Unassigned | 2-65535 Unassigned | |||
| 9. References | 9. References | |||
| 9.1. Normative References | 9.1. Normative References | |||
| [I-D.ietf-emu-rfc5448bis] | ||||
| Arkko, J., Lehtovirta, V., Torvinen, V., and P. Eronen, | ||||
| "Improved Extensible Authentication Protocol Method for | ||||
| 3GPP Mobile Network Authentication and Key Agreement (EAP- | ||||
| AKA')", draft-ietf-emu-rfc5448bis-05 (work in progress), | ||||
| July 2019. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, <https://www.rfc- | |||
| <https://www.rfc-editor.org/info/rfc2119>. | editor.org/info/rfc2119>. | |||
| [RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H. | [RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H. | |||
| Levkowetz, Ed., "Extensible Authentication Protocol | Levkowetz, Ed., "Extensible Authentication Protocol | |||
| (EAP)", RFC 3748, DOI 10.17487/RFC3748, June 2004, | (EAP)", RFC 3748, DOI 10.17487/RFC3748, June 2004, | |||
| <https://www.rfc-editor.org/info/rfc3748>. | <https://www.rfc-editor.org/info/rfc3748>. | |||
| [RFC4187] Arkko, J. and H. Haverinen, "Extensible Authentication | [RFC4187] Arkko, J. and H. Haverinen, "Extensible Authentication | |||
| Protocol Method for 3rd Generation Authentication and Key | Protocol Method for 3rd Generation Authentication and Key | |||
| Agreement (EAP-AKA)", RFC 4187, DOI 10.17487/RFC4187, | Agreement (EAP-AKA)", RFC 4187, DOI 10.17487/RFC4187, | |||
| January 2006, <https://www.rfc-editor.org/info/rfc4187>. | January 2006, <https://www.rfc-editor.org/info/rfc4187>. | |||
| [RFC7748] Langley, A., Hamburg, M., and S. Turner, "Elliptic Curves | [RFC7748] Langley, A., Hamburg, M., and S. Turner, "Elliptic Curves | |||
| for Security", RFC 7748, DOI 10.17487/RFC7748, January | for Security", RFC 7748, DOI 10.17487/RFC7748, January | |||
| 2016, <https://www.rfc-editor.org/info/rfc7748>. | 2016, <https://www.rfc-editor.org/info/rfc7748>. | |||
| [RFC8031] Nir, Y. and S. Josefsson, "Curve25519 and Curve448 for the | ||||
| Internet Key Exchange Protocol Version 2 (IKEv2) Key | ||||
| Agreement", RFC 8031, DOI 10.17487/RFC8031, December 2016, | ||||
| <https://www.rfc-editor.org/info/rfc8031>. | ||||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
| 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 | [I-D.ietf-emu-rfc5448bis] | |||
| Arkko, J., Lehtovirta, V., Torvinen, V., and P. Eronen, | ||||
| [DOW1992] Diffie, W., vanOorschot, P., and M. Wiener, | "Improved Extensible Authentication Protocol Method for | |||
| "Authentication and Authenticated Key Exchanges", June | 3GPP Mobile Network Authentication and Key Agreement (EAP- | |||
| 1992, in Designs, Codes and Cryptography 2 (2): pp. | AKA')", draft-ietf-emu-rfc5448bis-05 (work in progress), | |||
| 107-125. | July 2019. | |||
| [Heist2015] | ||||
| Scahill, J. and J. Begley, "The great SIM heist", February | ||||
| 2015, in https://firstlook.org/theintercept/2015/02/19/ | ||||
| great-sim-heist/ . | ||||
| [I-D.mattsson-eap-tls13] | 9.2. Informative References | |||
| Mattsson, J. and M. Sethi, "Using EAP-TLS with TLS 1.3", | ||||
| draft-mattsson-eap-tls13-02 (work in progress), March | ||||
| 2018. | ||||
| [RFC4186] Haverinen, H., Ed. and J. Salowey, Ed., "Extensible | [RFC4186] Haverinen, H., Ed. and J. Salowey, Ed., "Extensible | |||
| Authentication Protocol Method for Global System for | Authentication Protocol Method for Global System for | |||
| Mobile Communications (GSM) Subscriber Identity Modules | Mobile Communications (GSM) Subscriber Identity Modules | |||
| (EAP-SIM)", RFC 4186, DOI 10.17487/RFC4186, January 2006, | (EAP-SIM)", RFC 4186, DOI 10.17487/RFC4186, January 2006, | |||
| <https://www.rfc-editor.org/info/rfc4186>. | <https://www.rfc-editor.org/info/rfc4186>. | |||
| [RFC5216] Simon, D., Aboba, B., and R. Hurst, "The EAP-TLS | [RFC5216] Simon, D., Aboba, B., and R. Hurst, "The EAP-TLS | |||
| Authentication Protocol", RFC 5216, DOI 10.17487/RFC5216, | Authentication Protocol", RFC 5216, DOI 10.17487/RFC5216, | |||
| March 2008, <https://www.rfc-editor.org/info/rfc5216>. | March 2008, <https://www.rfc-editor.org/info/rfc5216>. | |||
| skipping to change at page 24, line 30 | skipping to change at page 24, line 10 | |||
| [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.ietf-emu-eap-tls13] | ||||
| Mattsson, J. and M. Sethi, "Using EAP-TLS with TLS 1.3", | ||||
| draft-ietf-emu-eap-tls13-07 (work in progress), September | ||||
| 2019. | ||||
| [TrustCom2015] | [TrustCom2015] | |||
| Arkko, J., Norrman, K., Naslund, M., and B. Sahlin, "A | Arkko, J., Norrman, K., Naslund, M., and B. Sahlin, "A | |||
| USIM compatible 5G AKA protocol with perfect forward | USIM compatible 5G AKA protocol with perfect forward | |||
| secrecy", August 2015 in Proceedings of the TrustCom 2015, | secrecy", August 2015 in Proceedings of the TrustCom 2015, | |||
| IEEE. | IEEE. | |||
| [Heist2015] | ||||
| Scahill, J. and J. Begley, "The great SIM heist", February | ||||
| 2015, in https://firstlook.org/theintercept/2015/02/19/ | ||||
| great-sim-heist/ . | ||||
| [DOW1992] Diffie, W., vanOorschot, P., and M. Wiener, | ||||
| "Authentication and Authenticated Key Exchanges", June | ||||
| 1992, in Designs, Codes and Cryptography 2 (2): pp. | ||||
| 107-125. | ||||
| Appendix A. Change Log | Appendix A. Change Log | |||
| The -02 version of the WG draft took into account additional reviews, | ||||
| and changed the document to update RFC 5448 (or rather, its | ||||
| successor, [I-D.ietf-emu-rfc5448bis]), changed the wording of the | ||||
| recommendation with regards to the use of this extension, clarified | ||||
| the references to the definition of X25519 and Curve25519, clarified | ||||
| the distinction to ECDH methods that use partially static keys, and | ||||
| simplified the use of AKA and SIM card terminology. Some editorial | ||||
| changes were also made. | ||||
| The -00 and -01 versions of the WG draft made no major changes, only | ||||
| updates to some references. | ||||
| The -05 version is merely a refresh while the draft was waiting for | The -05 version is merely a refresh while the draft was waiting for | |||
| WG adoption. | WG adoption. | |||
| The -04 version of this draft made only editorial changes. | The -04 version of this draft made only editorial changes. | |||
| The -03 version of this draft changed the naming of various protocol | The -03 version of this draft changed the naming of various protocol | |||
| components, values, and notation to match with the use of ECDH in | components, values, and notation to match with the use of ECDH in | |||
| ephemeral mode. The AT_KDF_PFS negotiation process was clarified in | ephemeral mode. The AT_KDF_PFS negotiation process was clarified in | |||
| that exactly one key is ever sent in AT_KDF_ECDHE. The option of | that exactly one key is ever sent in AT_KDF_ECDHE. The option of | |||
| checking for zero key values IN ECDHE was added. The format of the | checking for zero key values IN ECDHE was added. The format of the | |||
| skipping to change at page 25, line 16 | skipping to change at page 25, line 22 | |||
| Appendix B. Acknowledgments | Appendix B. 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. Naslund, and B. Sahlin. This | were J. Arkko, K. Norrman, M. Naslund, and B. Sahlin. This | |||
| document uses also a lot of material from [RFC4187] by J. Arkko and | document 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 Tero Kivinen, John Mattson, | The authors would also like to thank Tero Kivinen, John Mattsson, | |||
| Mohit Sethi, Vesa Lehtovirta, Joseph Salowey, Kathleen Moriarty, | Mohit Sethi, Vesa Lehtovirta, Joseph Salowey, Kathleen Moriarty, | |||
| Zhang Fu, Bengt Sahlin, Ben Campbell, Prajwol Kumar Nakarmi, Goran | Zhang Fu, Bengt Sahlin, Ben Campbell, Prajwol Kumar Nakarmi, Goran | |||
| Rune, Tim Evans, Helena Vahidi Mazinani, Anand R. Prasad, and many | Rune, Tim Evans, Helena Vahidi Mazinani, Anand R. Prasad, and many | |||
| other people at the GSMA and 3GPP groups for interesting discussions | other people at the GSMA and 3GPP groups for interesting discussions | |||
| in this problem space. | in this problem space. | |||
| Authors' Addresses | Authors' Addresses | |||
| Jari Arkko | Jari Arkko | |||
| Ericsson | Ericsson | |||
| End of changes. 30 change blocks. | ||||
| 94 lines changed or deleted | 104 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/ | ||||