rfc9509.original | rfc9509.txt | |||
---|---|---|---|---|
LAMPS WG T. Reddy | Internet Engineering Task Force (IETF) T. Reddy.K | |||
Internet-Draft J. Ekman | Request for Comments: 9509 J. Ekman | |||
Intended status: Standards Track Nokia | Category: Standards Track Nokia | |||
Expires: 25 March 2024 D. Migault | ISSN: 2070-1721 D. Migault | |||
Ericsson | Ericsson | |||
22 September 2023 | March 2024 | |||
X.509 Certificate Extended Key Usage (EKU) for 5G Network Functions | X.509 Certificate Extended Key Usage (EKU) for 5G Network Functions | |||
draft-ietf-lamps-nf-eku-05 | ||||
Abstract | Abstract | |||
RFC 5280 specifies several extended key purpose identifiers | RFC 5280 specifies several extended key purpose identifiers | |||
(KeyPurposeIds) for X.509 certificates. This document defines | (KeyPurposeIds) for X.509 certificates. This document defines | |||
encrypting JSON objects in HTTP messages, JSON Web Token (JWT) and | encrypting JSON objects in HTTP messages, using JSON Web Tokens | |||
signing the OAuth 2.0 access tokens KeyPurposeIds for inclusion in | (JWTs), and signing the OAuth 2.0 access tokens KeyPurposeIds for | |||
the Extended Key Usage (EKU) extension of X.509 v3 public key | inclusion in the Extended Key Usage (EKU) extension of X.509 v3 | |||
certificates used by Network Functions (NFs) for the 5G System. | public key certificates used by Network Functions (NFs) for the 5G | |||
System. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 25 March 2024. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9509. | ||||
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 | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Terminology | |||
3. Extended Key Purpose for Network Functions . . . . . . . . . 4 | 3. Extended Key Purpose for Network Functions | |||
4. Including the Extended Key Purpose in Certificates . . . . . 5 | 4. Including the Extended Key Purpose in Certificates | |||
5. Implications for a Certification Authority . . . . . . . . . 6 | 5. Implications for a Certification Authority | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 6. Security Considerations | |||
7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 6 | 7. Privacy Considerations | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 8. IANA Considerations | |||
9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 7 | 9. References | |||
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 | 9.1. Normative References | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 9.2. Informative References | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 8 | Appendix A. ASN.1 Module | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 8 | Acknowledgments | |||
Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 10 | Contributor | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
The Operators of 5G ("fifth generation") systems as defined by 3GPP | The operators of 5G ("fifth generation") systems as defined by 3GPP | |||
make use of an internal PKI to generate X.509 PKI certificates for | make use of an internal PKI to generate X.509 PKI certificates for | |||
the Network Functions (NFs) (Section 6 of [TS23.501]) in a 5G system. | the Network Functions (NFs) (Section 6 of [TS23.501]) in a 5G System. | |||
The certificates are used for the following purposes: | The certificates are used for the following purposes: | |||
* Client and Server certificates for NFs in 5GC Service Based | * Client and Server certificates for NFs in 5G Core (5GC) Service | |||
Architecture (see Section 6.1.3c of [TS33.310]) | Based Architecture (SBA) (see Section 6.1.3c of [TS33.310] and | |||
Section 6.7.2 of [TS29.500]) | ||||
* Client Credentials Assertion (CCA) uses JSON Web Tokens (JWT) | * Client Credentials Assertion (CCA) uses JSON Web Tokens (JWTs) | |||
[RFC7519] and is secured with digital signatures based on JSON Web | [RFC7519] and is secured with digital signatures based on the JSON | |||
Signature (JWS) [RFC7515] (see Section 13.3.8.2 of [TS33.501]). | Web Signature (JWS) [RFC7515] (see Section 13.3.8.2 of [TS33.501], | |||
and Section 6.7.5 of [TS29.500]). | ||||
* Certificates for encrypting JSON objects in HTTP messages between | * Certificates for encrypting JSON objects in HTTP messages between | |||
Security Edge Protection Proxies (SEPPs) using JSON Web Encryption | Security Edge Protection Proxies (SEPPs) using JSON Web Encryption | |||
(JWE) [RFC7516] (Section 13.2.4.4 of [TS33.501]) and Section 6.3.2 | (JWE) [RFC7516] (see Section 13.2.4.4 of [TS33.501], Section 6.3.2 | |||
of [TS33.210]). | of [TS33.210], Section 6.7.4 of [TS29.500], and Section 5.3.2.1 of | |||
[TS29.573]). | ||||
* Certificates for signing the OAuth 2.0 access tokens for service | * Certificates for signing the OAuth 2.0 access tokens for service | |||
authorization to grant temporary access to resources provided by | authorization to grant temporary access to resources provided by | |||
NF producers using JWS (see Section 13.4.1 of [TS33.501]). | NF producers using JWS (see Section 13.4.1 of [TS33.501] and | |||
Section 6.7.3 of [TS29.500]). | ||||
[RFC5280] specifies several key usage extensions, defined via | [RFC5280] specifies several key usage extensions, defined via | |||
KeyPurposeIds, for X.509 certificates. Key usage extensions added to | KeyPurposeIds, for X.509 certificates. Key usage extensions added to | |||
a certificate are meant to express intent as to the purpose of the | a certificate are meant to express intent as to the purpose of the | |||
named usage, for humans and for complying libraries. In addition, | named usage, for humans and for complying libraries. In addition, | |||
the IANA registry "SMI Security for PKIX Extended Key Purpose" | the IANA registry "SMI Security for PKIX Extended Key Purpose" | |||
[RFC7299] contains additional KeyPurposeIds.The use of the | [RFC7299] contains additional KeyPurposeIds. The use of the | |||
anyExtendedKeyUsage KeyPurposeId, as defined in Section 4.2.1.12 of | anyExtendedKeyUsage KeyPurposeId, as defined in Section 4.2.1.12 of | |||
[RFC5280], is generally considered a poor practice. This is | [RFC5280], is generally considered a poor practice. This is | |||
especially true for publicly trusted certificates, whether they are | especially true for publicly trusted certificates, whether they are | |||
multi-purpose or single-purpose, within the context of 5G systems and | multi-purpose or single-purpose, within the context of 5G Systems and | |||
the 5G Core Service Based Architecture. | the 5GC Service Based Architecture. | |||
If the purpose of the issued certificates is not restricted, i.e., | If the purpose of the issued certificates is not restricted, i.e., | |||
the type of operations for which a public key contained in the | the type of operations for which a public key contained in the | |||
certificate can be used are not specified, those certificates could | certificate can be used are not specified, those certificates could | |||
be used for another purpose than intended, increasing the risk of | be used for another purpose than intended, increasing the risk of | |||
cross-protocol attacks. Failure to ensure proper segregation of | cross-protocol attacks. Failure to ensure proper segregation of | |||
duties means that a NF which generates the public/private keys and | duties means that a NF that generates the public/private keys and | |||
applies for a certificate to the operator CA, could obtain a | applies for a certificate to the operator certification authority | |||
certificate which can be misused for tasks that this NF is not | could obtain a certificate that can be misused for tasks that this NF | |||
entitled to perform. For example, a NF service consumer could | is not entitled to perform. For example, a NF service consumer could | |||
potentially impersonate NF service producers using its certificate. | potentially impersonate NF service producers using its certificate. | |||
Additionally, in cases where the certificate's purpose is intended | Additionally, in cases where the certificate's purpose is intended | |||
for use by the NF service consumer as a client certificate, it's | for use by the NF service consumer as a client certificate, it's | |||
essential to ensure that the NF with this client certificate and the | essential to ensure that the NF with this client certificate and the | |||
corresponding private key is not allowed to sign the Client | corresponding private key are not allowed to sign the Client | |||
Credentials Assertion (CCA). When a NF service producer receives the | Credentials Assertion (CCA). When a NF service producer receives the | |||
signed CCA from the NF service consumer, the NF should only accept | signed CCA from the NF service consumer, the NF should only accept | |||
the token if the CCA is signed with a certificate that has been | the token if the CCA is signed with a certificate that has been | |||
explicitly issued for this purpose. | explicitly issued for this purpose. | |||
The KeyPurposeId id-kp-serverAuth (Section 4.2.1.12 of [RFC5280]) can | The KeyPurposeId id-kp-serverAuth (Section 4.2.1.12 of [RFC5280]) can | |||
be used to identify that the certificate is for a server (e.g., NF | be used to identify that the certificate is for a server (e.g., NF | |||
service producer), and the KeyPurposeId id-kp-clientAuth | service producer), and the KeyPurposeId id-kp-clientAuth | |||
(Section 4.2.1.12 of [RFC5280]) can be used to identify that the | (Section 4.2.1.12 of [RFC5280]) can be used to identify that the | |||
certificate is for a client (e.g., NF service consumer). However, | certificate is for a client (e.g., NF service consumer). However, | |||
there are currently no KeyPurposeIds for the other usages of | there are currently no KeyPurposeIds for the other usages of | |||
certificates in 5G System. This document addresses the above problem | certificates in a 5G System. This document addresses the above | |||
by defining the Extended Key Usage (EKU) extension of X.509 public | problem by defining the EKU extension of X.509 public key | |||
key certificates for signing the JWT Claims set using JWS, encrypting | certificates for signing the JWT Claims Set using JWS, encrypting | |||
JSON objects in HTTP messages using JWE, and signing the OAuth 2.0 | JSON objects in HTTP messages using JWE, and signing the OAuth 2.0 | |||
access tokens using JWS. | access tokens using JWS. | |||
Vendor-defined KeyPurposeIds used within a PKI governed by the vendor | Vendor-defined KeyPurposeIds used within a PKI governed by the vendor | |||
or a group of vendors typically do not pose interoperability | or a group of vendors typically do not pose interoperability | |||
concerns, as non-critical extensions can be safely ignored if | concerns, as non-critical extensions can be safely ignored if | |||
unrecognized. However, using or misusing KeyPurposeIds outside of | unrecognized. However, using or misusing KeyPurposeIds outside of | |||
their intended vendor-controlled environment can lead to | their intended vendor-controlled environment can lead to | |||
interoperability issues. Therefore, it is advisable not to rely on | interoperability issues. Therefore, it is advisable not to rely on | |||
vendor-defined KeyPurposeIds. Instead, the specification defines | vendor-defined KeyPurposeIds. Instead, the specification defines | |||
skipping to change at page 4, line 23 ¶ | skipping to change at line 156 ¶ | |||
implementations. | implementations. | |||
Although the specification focuses on a 5G use case, the standard | Although the specification focuses on a 5G use case, the standard | |||
KeyPurposeIds defined in this document can be used in other | KeyPurposeIds defined in this document can be used in other | |||
deployments. | deployments. | |||
2. Terminology | 2. Terminology | |||
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 | |||
14 [RFC2119][RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
3. Extended Key Purpose for Network Functions | 3. Extended Key Purpose for Network Functions | |||
This specification defines the KeyPurposeIds id-kp-jwt, id-kp- | This specification defines the KeyPurposeIds id-kp-jwt, id-kp- | |||
httpContentEncrypt, id-kp-oauthAccessTokenSigning and uses these for | httpContentEncrypt, and id-kp-oauthAccessTokenSigning and uses these, | |||
respectively signing the JWT Claims set of CCA using JWS, encrypting | respectively, for: signing the JWT Claims Set of CCA using JWS, | |||
JSON objects in HTTP messages between Security Edge Protection | encrypting JSON objects in HTTP messages between Security Edge | |||
Proxies (SEPPs) using JWE and signing the OAuth 2.0 access tokens for | Protection Proxies (SEPPs) using JWE, and signing the OAuth 2.0 | |||
service authorization to grant temporary access to resources provided | access tokens for service authorization to grant temporary access to | |||
by NF producers using JWS. As described in [RFC5280], "[i]f the | resources provided by NF producers using JWS. As described in | |||
[Extended Key Usage] extension is present, then the certificate MUST | [RFC5280], "[i]f the [Extended Key Usage] extension is present, then | |||
only be used for one of the purposes indicated." [RFC5280] also | the certificate MUST only be used for one of the purposes indicated." | |||
notes that "[i]f multiple [key] purposes are indicated the | [RFC5280] also notes that "[i]f multiple [key] purposes are indicated | |||
application need not recognize all purposes indicated, as long as the | the application need not recognize all purposes indicated, as long as | |||
intended purpose is present." | the intended purpose is present." | |||
Network functions that verify the signature of a CCA represented as a | ||||
Network Functions that verify the signature of a CCA represented as a | ||||
JWT, decrypt JSON objects in HTTP messages between Security Edge | JWT, decrypt JSON objects in HTTP messages between Security Edge | |||
Protection Proxies (SEPPs) using JWE, or verify the signature of an | Protection Proxies (SEPPs) using JWE, or verify the signature of an | |||
OAuth 2.0 access tokens for service authorization to grant temporary | OAuth 2.0 access tokens for service authorization to grant temporary | |||
access to resources provided by NF producers using JWS SHOULD require | access to resources provided by NF producers using JWS SHOULD require | |||
the specification of corresponding KeyPurposeIds by the Extended Key | that corresponding KeyPurposeIds be specified by the EKU extension. | |||
Usage (EKU) extension. If the certificate requester knows the | If the certificate requester knows the certificate users are mandated | |||
certificate users are mandated to use these KeyPurposeIds, it MUST | to use these KeyPurposeIds, it MUST enforce their inclusion. | |||
enforce their inclusion. Additionally, such certificate requester | Additionally, such a certificate requester MUST ensure that the | |||
MUST ensure that the KeyUsage extension be set to digitalSignature or | KeyUsage extension be set to digitalSignature or nonRepudiation (also | |||
nonRepudiation (also designated as contentCommitment) for signature | designated as contentCommitment) for signature calculation and/or to | |||
calculation and/or to keyEncipherment for secret key encryption. | keyEncipherment for secret key encryption. | |||
4. Including the Extended Key Purpose in Certificates | 4. Including the Extended Key Purpose in Certificates | |||
[RFC5280] specifies the Extended Key Usage (EKU) X.509 certificate | [RFC5280] specifies the EKU X.509 certificate extension for use on | |||
extension for use on end entity certificates. The extension | end entity certificates. The extension indicates one or more | |||
indicates one or more purposes for which the certified public key is | purposes for which the certified public key is valid. The EKU | |||
valid. The EKU extension can be used in conjunction with the key | extension can be used in conjunction with the key usage extension, | |||
usage extension, which indicates the set of basic cryptographic | which indicates the set of basic cryptographic operations for which | |||
operations for which the certified key may be used. The EKU | the certified key may be used. The EKU extension syntax is repeated | |||
extension syntax is repeated here for convenience: | here for convenience: | |||
ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId | ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId | |||
KeyPurposeId ::= OBJECT IDENTIFIER | KeyPurposeId ::= OBJECT IDENTIFIER | |||
As described in [RFC5280], the EKU extension may, at the option of | As described in [RFC5280], the EKU extension may, at the option of | |||
the certificate issuer, be either critical or non-critical. The | the certificate issuer, be either critical or non-critical. The | |||
inclusion of KeyPurposeId id-kp-jwt, id-kp-httpContentEncrypt, and | inclusion of KeyPurposeIds id-kp-jwt, id-kp-httpContentEncrypt, and | |||
id-kp-oauthAccessTokenSigning in a certificate indicates that the | id-kp-oauthAccessTokenSigning in a certificate indicates that the | |||
public key encoded in the certificate has been certified for use in | public key encoded in the certificate has been certified for use in | |||
the following: | the following: | |||
1. Validating the JWS Signature in JWT. The distinction between JWS | 1. Validating the JWS Signature in JWT. The distinction between JWS | |||
and JWE is determined by the KU that is set to digitalSignature | and JWE is determined by the Key Usage (KU) that is set to | |||
or nonRepudiation for JWS and keyEncipherment for JWE. | digitalSignature or nonRepudiation for JWS and keyEncipherment | |||
for JWE. | ||||
2. Encrypting JSON objects in HTTP messages (for example, encrypting | 2. Encrypting JSON objects in HTTP messages (for example, encrypting | |||
the CEK with the recipient's public key using the RSAES-OAEP | the content-encryption key (CEK) with the recipient's public key | |||
algorithm to produce the JWE Encrypted Key). KU is set to | using the RSAES-OAEP algorithm to produce the JWE Encrypted Key). | |||
keyEncipherment. | KU is set to keyEncipherment. | |||
3. Signing OAuth 2.0 access tokens. In this case, KU is set to | 3. Signing OAuth 2.0 access tokens. In this case, KU is set to | |||
digitalSignature or nonRepudiation. | digitalSignature or nonRepudiation. | |||
id-kp OBJECT IDENTIFIER ::= { | id-kp OBJECT IDENTIFIER ::= { | |||
iso(1) identified-organization(3) dod(6) internet(1) | iso(1) identified-organization(3) dod(6) internet(1) | |||
security(5) mechanisms(5) pkix(7) kp(3) } | security(5) mechanisms(5) pkix(7) kp(3) } | |||
id-kp-jwt OBJECT IDENTIFIER ::= { id-kp TBD1 } | id-kp-jwt OBJECT IDENTIFIER ::= { id-kp 37 } | |||
id-kp-httpContentEncrypt OBJECT IDENTIFIER ::= { id-kp TBD2 } | id-kp-httpContentEncrypt OBJECT IDENTIFIER ::= { id-kp 38 } | |||
id-kp-oauthAccessTokenSigning OBJECT IDENTIFIER ::= { id-kp TBD3 } | id-kp-oauthAccessTokenSigning OBJECT IDENTIFIER ::= { id-kp 39 } | |||
5. Implications for a Certification Authority | 5. Implications for a Certification Authority | |||
The procedures and practices employed by a certification authority | The procedures and practices employed by a certification authority | |||
MUST ensure that the correct values for the EKU extension as well as | MUST ensure that the correct values for the EKU extension as well as | |||
the KU extension are inserted in each certificate that is issued. | the KU extension are inserted in each certificate that is issued. | |||
The inclusion of the id-kp-jwt, id-kp-httpContentEncrypt and id-kp- | The inclusion of the id-kp-jwt, id-kp-httpContentEncrypt, and id-kp- | |||
oauthAccessTokenSigning KeyPurposeIds does not preclude the inclusion | oauthAccessTokenSigning KeyPurposeIds does not preclude the inclusion | |||
of other KeyPurposeIds. | of other KeyPurposeIds. | |||
6. Security Considerations | 6. Security Considerations | |||
The Security Considerations of [RFC5280] are applicable to this | The Security Considerations of [RFC5280] are applicable to this | |||
document. This extended key purpose does not introduce new security | document. This extended key purpose does not introduce new security | |||
risks but instead reduces existing security risks by providing means | risks but instead reduces existing security risks by providing the | |||
to identify if the certificate is generated to sign the JWT Claims | means to identify if the certificate is generated to sign the JWT | |||
Set, signing the OAuth 2.0 access tokens using JWS or to encrypt the | Claims Set, signing the OAuth 2.0 access tokens using JWS, or | |||
CEK in JWE for encrypting JSON objects in HTTP messages. | encrypting the CEK in JWE for encrypting JSON objects in HTTP | |||
messages. | ||||
To reduce the risk of specific cross-protocol attacks, the relying | To reduce the risk of specific cross-protocol attacks, the relying | |||
party or the relying party software may additionally prohibit use of | party or the relying party software may additionally prohibit use of | |||
specific combinations of KeyPurposeIds. The procedure for allowing | specific combinations of KeyPurposeIds. The procedure for allowing | |||
or disallowing combinations of KeyPurposeIds using Excluded | or disallowing combinations of KeyPurposeIds using Excluded | |||
KeyPurposeId and Permitted KeyPurposeId, as carried out by a relying | KeyPurposeId and Permitted KeyPurposeId, as carried out by a relying | |||
party, is defined in Section 4 of [RFC9336]. Examples of Excluded | party, is defined in Section 4 of [RFC9336]. Examples of Excluded | |||
KeyPurposeId include the presence of the anyExtendedKeyUsage | KeyPurposeIds include the presence of the anyExtendedKeyUsage | |||
KeyPurposeId or the complete absence of the EKU extension in a | KeyPurposeId or the complete absence of the EKU extension in a | |||
certificate. Examples of Permitted KeyPurposeId include the presence | certificate. Examples of Permitted KeyPurposeIds include the | |||
of id-kp-jwt, id-kp-httpContentEncrypt or id-kp- | presence of id-kp-jwt, id-kp-httpContentEncrypt, or id-kp- | |||
oauthAccessTokenSigning KeyPurposeId. | oauthAccessTokenSigning KeyPurposeIds. | |||
7. Privacy Considerations | 7. Privacy Considerations | |||
In some security protocols, such as TLS 1.2 [RFC5246], certificates | In some security protocols, such as TLS 1.2 [RFC5246], certificates | |||
are exchanged in the clear. In other security protocols, such as TLS | are exchanged in the clear. In other security protocols, such as TLS | |||
1.3 [RFC8446], the certificates are encrypted. The inclusion of the | 1.3 [RFC8446], the certificates are encrypted. The inclusion of the | |||
EKU extension can help an observer determine the purpose of the | EKU extension can help an observer determine the purpose of the | |||
certificate. In addition, If the certificate is issued by a public | certificate. In addition, if the certificate is issued by a public | |||
certification authority, the inclusion of EKU extension can help an | certification authority, the inclusion of an EKU extension can help | |||
attacker to monitor the Certificate Transparency logs [RFC9162] to | an attacker to monitor the Certificate Transparency logs [RFC9162] to | |||
identify the purpose of the certificate. | identify the purpose of the certificate. | |||
8. IANA Considerations | 8. IANA Considerations | |||
IANA is requested to register the following OIDs in the "SMI Security | IANA has registered the following OIDs in the "SMI Security for PKIX | |||
for PKIX Extended Key Purpose" registry (1.3.6.1.5.5.7.3). These | Extended Key Purpose" registry (1.3.6.1.5.5.7.3). These OIDs are | |||
OIDs are defined in Section 4. | defined in Section 4. | |||
+=========+===============================+============+ | +=========+===============================+============+ | |||
| Decimal | Description | References | | | Decimal | Description | References | | |||
+=========+===============================+============+ | +=========+===============================+============+ | |||
| TBD1 | id-kp-jwt | This-RFC | | | 37 | id-kp-jwt | RFC 9509 | | |||
+---------+-------------------------------+------------+ | +---------+-------------------------------+------------+ | |||
| TBD2 | id-kp-httpContentEncrypt | This-RFC | | | 38 | id-kp-httpContentEncrypt | RFC 9509 | | |||
+---------+-------------------------------+------------+ | +---------+-------------------------------+------------+ | |||
| TBD3 | id-kp-oauthAccessTokenSigning | This-RFC | | | 39 | id-kp-oauthAccessTokenSigning | RFC 9509 | | |||
+---------+-------------------------------+------------+ | +---------+-------------------------------+------------+ | |||
Figure 1: Table 1 | Table 1 | |||
IANA is also requested to register the following ASN.1[X.680] module | ||||
OID in the "SMI Security for PKIX Module Identifier" registry | ||||
(1.3.6.1.5.5.7.0). This OID is defined in Appendix A. | ||||
+=========+==========================+============+ | ||||
| Decimal | Description | References | | ||||
+=========+==========================+============+ | ||||
| TBD4 | id-mod-nf-eku | This-RFC | | ||||
+---------+--------------------------+------------+ | ||||
Figure 2: Table 2 | ||||
9. Contributors | ||||
The following individuals have contributed to this document: | ||||
German Peinado | ||||
Nokia | ||||
Email: german.peinado@nokia.com | ||||
10. Acknowledgments | IANA has registered the following ASN.1[X.680] module OID in the "SMI | |||
Security for PKIX Module Identifier" registry (1.3.6.1.5.5.7.0). | ||||
This OID is defined in Appendix A. | ||||
We would like to thank Corey Bonnell, Ilari Liusvaara, Carl Wallace | +=========+===============+============+ | |||
and Russ Housley for their useful feedback. Thanks to Yoav Nir for | | Decimal | Description | References | | |||
the secdir review, Elwyn Davies for the genart review and Benson | +=========+===============+============+ | |||
Muite for the intdir review. | | 108 | id-mod-nf-eku | RFC 9509 | | |||
+---------+---------------+------------+ | ||||
Thanks to Paul Wouters, Lars Eggert, and Éric Vyncke for the IESG | Table 2 | |||
review. | ||||
11. References | 9. References | |||
11.1. Normative References | 9.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | |||
Housley, R., and W. Polk, "Internet X.509 Public Key | Housley, R., and W. Polk, "Internet X.509 Public Key | |||
Infrastructure Certificate and Certificate Revocation List | Infrastructure Certificate and Certificate Revocation List | |||
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, | (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, | |||
skipping to change at page 8, line 39 ¶ | skipping to change at line 333 ¶ | |||
<https://www.rfc-editor.org/info/rfc7516>. | <https://www.rfc-editor.org/info/rfc7516>. | |||
[RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token | [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token | |||
(JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, | (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, | |||
<https://www.rfc-editor.org/info/rfc7519>. | <https://www.rfc-editor.org/info/rfc7519>. | |||
[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>. | |||
[X.680] "ITU-T, "Information technology - Abstract Syntax Notation | [X.680] ITU-T, "Information technology - Abstract Syntax Notation | |||
One (ASN.1): Specification of basic notation", ITU-T | One (ASN.1): Specification of basic notation", ITU-T | |||
Recommendation X.680, February 2021.", | Recommendation X.680, February 2021, | |||
<https://www.itu.int/rec/T-REC-X.680>. | <https://www.itu.int/rec/T-REC-X.680>. | |||
[X.690] "ITU-T, "Information technology - ASN.1 encoding rules: | [X.690] ITU-T, "Information technology - ASN.1 encoding rules: | |||
Specification of Basic Encoding Rules (BER), Canonical | Specification of Basic Encoding Rules (BER), Canonical | |||
Encoding Rules (CER) and Distinguished Encoding Rules | Encoding Rules (CER) and Distinguished Encoding Rules | |||
(DER)", ITU-T Recommendation X.690, February 2021,", | (DER)", ITU-T Recommendation X.690, February 2021, | |||
<https://www.itu.int/rec/T-REC-X.690>. | <https://www.itu.int/rec/T-REC-X.690>. | |||
11.2. Informative References | 9.2. Informative References | |||
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | |||
(TLS) Protocol Version 1.2", RFC 5246, | (TLS) Protocol Version 1.2", RFC 5246, | |||
DOI 10.17487/RFC5246, August 2008, | DOI 10.17487/RFC5246, August 2008, | |||
<https://www.rfc-editor.org/info/rfc5246>. | <https://www.rfc-editor.org/info/rfc5246>. | |||
[RFC7299] Housley, R., "Object Identifier Registry for the PKIX | [RFC7299] Housley, R., "Object Identifier Registry for the PKIX | |||
Working Group", RFC 7299, DOI 10.17487/RFC7299, July 2014, | Working Group", RFC 7299, DOI 10.17487/RFC7299, July 2014, | |||
<https://www.rfc-editor.org/info/rfc7299>. | <https://www.rfc-editor.org/info/rfc7299>. | |||
skipping to change at page 9, line 27 ¶ | skipping to change at line 368 ¶ | |||
[RFC9162] Laurie, B., Messeri, E., and R. Stradling, "Certificate | [RFC9162] Laurie, B., Messeri, E., and R. Stradling, "Certificate | |||
Transparency Version 2.0", RFC 9162, DOI 10.17487/RFC9162, | Transparency Version 2.0", RFC 9162, DOI 10.17487/RFC9162, | |||
December 2021, <https://www.rfc-editor.org/info/rfc9162>. | December 2021, <https://www.rfc-editor.org/info/rfc9162>. | |||
[RFC9336] Ito, T., Okubo, T., and S. Turner, "X.509 Certificate | [RFC9336] Ito, T., Okubo, T., and S. Turner, "X.509 Certificate | |||
General-Purpose Extended Key Usage (EKU) for Document | General-Purpose Extended Key Usage (EKU) for Document | |||
Signing", RFC 9336, DOI 10.17487/RFC9336, December 2022, | Signing", RFC 9336, DOI 10.17487/RFC9336, December 2022, | |||
<https://www.rfc-editor.org/info/rfc9336>. | <https://www.rfc-editor.org/info/rfc9336>. | |||
[TS23.501] "3rd Generation Partnership Project; Technical | [TS23.501] 3GPP, "System architecture for the 5G System (5GS)", | |||
Specification Group Services and System Aspects; System | Release 18.4.0, 3GPP TS 23.501, December 2023, | |||
architecture for the 5G System (5GS); Stage 2 (Release | ||||
18), 3GPP TS 23.501 V18.0.0 Dec 2022,", | ||||
<https://www.3gpp.org/ftp/Specs/ | <https://www.3gpp.org/ftp/Specs/ | |||
archive/23_series/23.501/23501-i00.zip>. | archive/23_series/23.501/23501-i40.zip>. | |||
[TS33.210] "3rd Generation Partnership Project; Technical | [TS29.500] 3GPP, "5G System; Technical Realization of Service Based | |||
Specification Group Services and System Aspects;Network | Architecture; Stage 3", Release 18.4.0, 3GPP TS 29.500, | |||
Domain Security (NDS); IP network layer security (Release | December 2023, <https://www.3gpp.org/ftp/Specs/ | |||
17), 3GPP TS 33.210 V17.1.0 Sept 2022,", | archive/29_series/29.500/29500-i40.zip>. | |||
[TS29.573] 3GPP, "5G System; Public Land Mobile Network (PLMN) | ||||
Interconnection; Stage 3", Release 18.5.0, 3GPP TS 29.573, | ||||
December 2023, <https://www.3gpp.org/ftp/Specs/ | ||||
archive/29_series/29.573/29573-i50.zip>. | ||||
[TS33.210] 3GPP, "Network Domain Security (NDS); IP network layer | ||||
security", Release 17.1.0, 3GPP TS 33.210, September 2022, | ||||
<https://www.3gpp.org/ftp/Specs/ | <https://www.3gpp.org/ftp/Specs/ | |||
archive/33_series/33.210/33210-h10.zip>. | archive/33_series/33.210/33210-h10.zip>. | |||
[TS33.310] "3rd Generation Partnership Project; Technical | [TS33.310] 3GPP, "Network Domain Security (NDS); Authentication | |||
Specification Group Services and System Aspects; Network | Framework (AF)", Release 18.2.0, 3GPP TS 33.310, December | |||
Domain Security (NDS); Authentication Framework (AF) | 2023, <https://www.3gpp.org/ftp/Specs/ | |||
(Release 17), 3GPP 33.310 V17.4.0, Sept 2022,", | archive/33_series/33.310/33310-i20.zip>. | |||
<https://www.3gpp.org/ftp/Specs/ | ||||
archive/33_series/33.310/33310-h40.zip>. | ||||
[TS33.501] "3rd Generation Partnership Project; Technical | [TS33.501] 3GPP, "Security architecture and procedures for 5G | |||
Specification Group Services and System Aspects; Security | system", Release 18.4.0, 3GPP TS 33.501, December 2023, | |||
architecture and procedures for 5G system (Release 17), , | ||||
3GPP TS:33.501 V17.7.0, Sept 2022,", | ||||
<https://www.3gpp.org/ftp/Specs/ | <https://www.3gpp.org/ftp/Specs/ | |||
archive/33_series/33.501/33501-h70.zip>. | archive/33_series/33.501/33501-i40.zip>. | |||
Appendix A. ASN.1 Module | Appendix A. ASN.1 Module | |||
The following module adheres to ASN.1 specifications [X.680] and | The following module adheres to ASN.1 specifications [X.680] and | |||
[X.690]. | [X.690]. | |||
<CODE BEGINS> | <CODE BEGINS> | |||
NF-EKU | NF-EKU | |||
{ iso(1) identified-organization(3) dod(6) internet(1) | { iso(1) identified-organization(3) dod(6) internet(1) | |||
security(5) mechanisms(5) pkix(7) id-mod(0) | security(5) mechanisms(5) pkix(7) id-mod(0) | |||
id-mod-nf-eku (TBD4) } | id-mod-nf-eku (108) } | |||
DEFINITIONS IMPLICIT TAGS ::= | DEFINITIONS IMPLICIT TAGS ::= | |||
BEGIN | BEGIN | |||
-- OID Arc | -- OID Arc | |||
id-kp OBJECT IDENTIFIER ::= | id-kp OBJECT IDENTIFIER ::= | |||
{ iso(1) identified-organization(3) dod(6) internet(1) | { iso(1) identified-organization(3) dod(6) internet(1) | |||
security(5) mechanisms(5) pkix(7) kp(3) } | security(5) mechanisms(5) pkix(7) kp(3) } | |||
-- Extended Key Usage Values | -- Extended Key Usage Values | |||
id-kp-jwt OBJECT IDENTIFIER ::= { id-kp TBD1 } | id-kp-jwt OBJECT IDENTIFIER ::= { id-kp 37 } | |||
id-kp-httpContentEncrypt OBJECT IDENTIFIER ::= { id-kp TBD2 } | id-kp-httpContentEncrypt OBJECT IDENTIFIER ::= { id-kp 38 } | |||
id-kp-oauthAccessTokenSigning OBJECT IDENTIFIER ::= { id-kp TBD3 } | id-kp-oauthAccessTokenSigning OBJECT IDENTIFIER ::= { id-kp 39 } | |||
END | END | |||
<CODE ENDS> | <CODE ENDS> | |||
Acknowledgments | ||||
We would like to thank Corey Bonnell, Ilari Liusvaara, Carl Wallace, | ||||
and Russ Housley for their useful feedback. Thanks to Yoav Nir for | ||||
the secdir review, Elwyn Davies for the genart review, and Benson | ||||
Muite for the intdir review. | ||||
Thanks to Paul Wouters, Lars Eggert, and Éric Vyncke for the IESG | ||||
review. | ||||
Contributor | ||||
The following individual has contributed to this document: | ||||
German Peinado | ||||
Nokia | ||||
Email: german.peinado@nokia.com | ||||
Authors' Addresses | Authors' Addresses | |||
Tirumaleswar Reddy | Tirumaleswar Reddy.K | |||
Nokia | Nokia | |||
India | India | |||
Email: kondtir@gmail.com | Email: kondtir@gmail.com | |||
Jani Ekman | Jani Ekman | |||
Nokia | Nokia | |||
Finland | Finland | |||
Email: jani.ekman@nokia.com | Email: jani.ekman@nokia.com | |||
Daniel Migault | Daniel Migault | |||
Ericsson | Ericsson | |||
Canada | Canada | |||
Email: daniel.migault@ericsson.com | Email: daniel.migault@ericsson.com | |||
End of changes. 60 change blocks. | ||||
182 lines changed or deleted | 189 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |