rfc9809.original | rfc9809.txt | |||
---|---|---|---|---|
LAMPS Working Group H. Brockhaus | Internet Engineering Task Force (IETF) H. Brockhaus | |||
Internet-Draft Siemens | Request for Comments: 9809 Siemens | |||
Intended status: Standards Track D. Goltzsche | Category: Standards Track D. Goltzsche | |||
Expires: 11 October 2025 Siemens Mobility | ISSN: 2070-1721 Siemens Mobility | |||
9 April 2025 | June 2025 | |||
X.509 Extended Key Usage (EKU) for configuration, updates and safety- | X.509 Extended Key Usage (EKU) for Configuration, Updates, and Safety | |||
communication | Communication | |||
draft-ietf-lamps-automation-keyusages-08 | ||||
Abstract | Abstract | |||
RFC 5280 defines the Extended Key Usage (EKU) extension and several | RFC 5280 defines the Extended Key Usage (EKU) extension and specifies | |||
extended key purposes (KeyPurposeIds) for use with that extension in | several extended key purpose identifiers (KeyPurposeIds) for use with | |||
X.509 certificates. This document defines KeyPurposeIds for general- | that extension in X.509 certificates. This document defines | |||
purpose and trust anchor configuration files, for software and | KeyPurposeIds for general-purpose and trust anchor configuration | |||
firmware update packages, and for safety-critical communication to be | files, for software and firmware update packages, and for safety- | |||
included in the EKU extension of X.509 v3 public key certificates. | critical communication to be included in the EKU extension of X.509 | |||
v3 public key certificates. | ||||
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 11 October 2025. | 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/rfc9809. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2025 IETF Trust and the persons identified as the | Copyright (c) 2025 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. Conventions and Definitions . . . . . . . . . . . . . . . . . 4 | 2. Conventions and Definitions | |||
3. Extended Key Purpose for configuration files, update packages | 3. Extended Key Purpose for Configuration Files, Update Packages, | |||
and safety-communication . . . . . . . . . . . . . . . . 4 | and Safety Communication | |||
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 . . . . . . . . . . . . . . . . . . . 7 | 6. Security Considerations | |||
7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 7 | 7. Privacy Considerations | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 8. IANA Considerations | |||
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 | 9. References | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 9.1. Normative References | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 9.2. Informative References | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 9 | Appendix A. ASN.1 Module | |||
Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 11 | Appendix B. Use Cases | |||
Appendix B. Use Cases . . . . . . . . . . . . . . . . . . . . . 12 | Acknowledgments | |||
Appendix C. History of Changes . . . . . . . . . . . . . . . . . 13 | Contributors | |||
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | Authors' Addresses | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | ||||
1. Introduction | 1. Introduction | |||
Key purposes (KeyPurposeIds) added to the certificate's extended key | Key purpose identifiers (KeyPurposeIds) added to the certificate's | |||
usage extension as defined in [RFC5280] are meant to express intent | EKU extension [RFC5280] are meant to express intent as to the purpose | |||
as to the purpose of the named usage, for humans and for complying | of the named usage, for humans and complying libraries. A full list | |||
libraries. A full list of KeyPurposeIds is maintained in the IANA | of KeyPurposeIds is maintained in the IANA registry "SMI Security for | |||
registry "SMI Security for PKIX Extended Key Purpose" | PKIX Extended Key Purpose" [SMI-PKIX-PURPOSE]. The use of the | |||
[SMI-PKIX-PURPOSE]. The use of the anyExtendedKeyUsage KeyPurposeId, | anyExtendedKeyUsage KeyPurposeId, as defined in Section 4.2.1.12 of | |||
as defined in Section 4.2.1.12 of [RFC5280], is generally considered | [RFC5280], is generally considered a poor practice. | |||
a poor practice. | ||||
This document defines KeyPurposeIds for certificates that are used | This document defines KeyPurposeIds for certificates that are used | |||
for the following purposes, among others: | for the following purposes, among others: | |||
* Validating signatures of general-purpose software configuration | * Validating signatures of general-purpose software configuration | |||
files. | files. | |||
* Validating signatures of trust anchor configuration files. | * Validating signatures of trust anchor configuration files. | |||
* Validating signatures of software and firmware update packages. | * Validating signatures of software and firmware update packages. | |||
skipping to change at page 3, line 21 ¶ | skipping to change at line 104 ¶ | |||
type of operations for which a public key contained in the | type of operations for which a public key contained in the | |||
certificate can be used in unintended ways, the risk of cross- | certificate can be used in unintended ways, the risk of cross- | |||
application attacks is increased. Failure to ensure adequate | application attacks is increased. Failure to ensure adequate | |||
segregation of duties means that an application or system that | segregation of duties means that an application or system that | |||
generates the public/private keys and applies for a certificate to | generates the public/private keys and applies for a certificate to | |||
the operator Certification Authority (CA) could obtain a certificate | the operator Certification Authority (CA) could obtain a certificate | |||
that can be misused for tasks that this application or system is not | that can be misused for tasks that this application or system is not | |||
entitled to perform. For example, management of trust anchors is a | entitled to perform. For example, management of trust anchors is a | |||
particularly critical task. A device could potentially accept a | particularly critical task. A device could potentially accept a | |||
trust anchor configuration file signed by a service that uses a | trust anchor configuration file signed by a service that uses a | |||
certificate with no Extended Key Usage (EKU) or with the KeyPurposeId | certificate with no EKU or with the KeyPurposeIds id-kp-codeSigning | |||
id-kp-codeSigning (Section 4.2.1.12 of [RFC5280]) or id-kp- | (Section 4.2.1.12 of [RFC5280]) or id-kp-documentSigning [RFC9336]. | |||
documentSigning [RFC9336]. A device should only accept trust anchor | A device should only accept trust anchor configuration files if the | |||
configuration files if the file is verified with a certificate that | file is verified with a certificate that has been explicitly issued | |||
has been explicitly issued for this purpose. | 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 TLS WWW server, and | be used to identify that the certificate is for a TLS WWW server, and | |||
the KeyPurposeId id-kp-clientAuth (Section 4.2.1.12 of [RFC5280]) can | the KeyPurposeId id-kp-clientAuth (Section 4.2.1.12 of [RFC5280]) can | |||
be used to identify that the certificate is for a TLS WWW client. | be used to identify that the certificate is for a TLS WWW client. | |||
However, there are currently no KeyPurposeIds for usage with X.509 | However, there are currently no KeyPurposeIds for usage with X.509 | |||
certificates for safety-critical communication. | certificates for safety-critical communication. | |||
This document addresses the above problems by defining keyPurposeIds | This document addresses the above problems by defining KeyPurposeIds | |||
for the EKU extension of X.509 public key certificates. These | for the EKU extension of X.509 public key certificates. These | |||
certificates are either used for signing files (general-purpose | certificates are used either for signing files (general-purpose | |||
configuration and trust anchor configuration files, software and | configuration files, trust anchor configuration files, and software | |||
firmware update packages) or are used for safety-critical | and firmware update packages) or for safety-critical communication. | |||
communication. | ||||
Vendor-defined KeyPurposeIds used within a PKI governed by vendors | Vendor-defined KeyPurposeIds used within a PKI governed by vendors | |||
typically do not pose interoperability concerns, as non-critical | typically do not pose interoperability concerns, as non-critical | |||
extensions can be safely ignored if unrecognized. However, using | extensions can be safely ignored if unrecognized. However, using | |||
KeyPurposeIds outside of their intended vendor-controlled environment | KeyPurposeIds outside of their intended vendor-controlled environment | |||
or in ExtendedKeyUsage extensions that have been marked critical can | or in ExtendedKeyUsage extensions that have been marked critical can | |||
lead to interoperability issues. Therefore, it is advisable not to | lead to interoperability issues. Therefore, it is advisable not to | |||
rely on vendor-defined KeyPurposeIds. Instead, this specification | rely on vendor-defined KeyPurposeIds. Instead, this specification | |||
defines standard KeyPurposeIds to ensure interoperability across | defines standard KeyPurposeIds to ensure interoperability across | |||
various vendors and industries. | various vendors and industries. | |||
The definitions of theses KeyPurposeIds are intentionally broad to | The definitions of these KeyPurposeIds are intentionally broad to | |||
allow their use in different deployments even though they were | allow their use in different deployments even though they were | |||
initially motivated by industrial automation and rail automation, see | initially motivated by industrial automation and rail automation (see | |||
Appendix B. The details for each deployment needs to be described in | Appendix B). The details for each deployment need to be described in | |||
the relevant technical standards and certificate policies. | the relevant technical standards and certificate policies. | |||
2. Conventions and Definitions | 2. Conventions and Definitions | |||
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 | "OPTIONAL" in this document are to be interpreted as described in | |||
BCP 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. | |||
This document uses terms defined in [RFC5280]. X.509 certificate | This document uses terms defined in [RFC5280]. X.509 certificate | |||
extensions are defined using ASN.1 [X.680] and [X.690]. | extensions are defined using ASN.1 [X.680] [X.690]. | |||
The term 'safety-critical communication' refers to communication that | The term "safety-critical communication" refers to communication that | |||
could, under certain conditions, lead to a state in which human life, | could, under certain conditions, lead to a state in which human life, | |||
health, property, or the environment is endangered. For the | health, property, or the environment is endangered. For the | |||
definition of 'safety' see [NIST_Glossary] and [ISO.IEC.IEEE_12207]. | definition of "safety", see [NIST_Glossary] and [ISO.IEC.IEEE_12207]. | |||
3. Extended Key Purpose for configuration files, update packages and | 3. Extended Key Purpose for Configuration Files, Update Packages, and | |||
safety-communication | Safety Communication | |||
This specification defines the KeyPurposeIds id-kp-configSigning, id- | This specification defines the KeyPurposeIds id-kp-configSigning, id- | |||
kp-trustAnchorConfigSigning, id-kp-updatePackageSigning, and id-kp- | kp-trustAnchorConfigSigning, id-kp-updatePackageSigning, and id-kp- | |||
safetyCommunication. These KeyPurposeIds are used, respectively, | safetyCommunication. These KeyPurposeIds are used, respectively, for | |||
for: signing general-purpose configuration files or trust anchor | signing general-purpose configuration files, signing trust anchor | |||
configuration files, signing software or firmware update packages, or | configuration files, signing software or firmware update packages, | |||
authenticating communication peers for safety-critical communication. | and authenticating communication peers for safety-critical | |||
As described in Section 4.2.1.12 of [RFC5280], "[i]f the [extended | communication. As described in Section 4.2.1.12 of [RFC5280], "[i]f | |||
key usage] extension is present, then the certificate MUST only be | the [extended key usage] extension is present, then the certificate | |||
used for one of the purposes indicated" and "[i]f multiple [key] | MUST only be used for one of the purposes indicated", and "[i]f | |||
purposes are indicated the application need not recognize all | multiple [key] purposes are indicated the application need not | |||
purposes indicated, as long as the intended purpose is present". | recognize all purposes indicated, as long as the intended purpose is | |||
present". | ||||
None of the KeyPurposeIds specified in this document are | None of the KeyPurposeIds specified in this document are | |||
intrinsically mutually exclusive. Instead, the acceptable | intrinsically mutually exclusive. Instead, the acceptable | |||
combinations of those KeyPurposeIds with others specified in this | combinations of those KeyPurposeIds with others specified in this | |||
document and with other KeyPurposeIds specified elsewhere are left to | document and with other KeyPurposeIds specified elsewhere are left to | |||
the technical standards of the respective application and the | the technical standards of the respective application and the | |||
certificate policy of the respective PKI. For example, a technical | certificate policy of the respective PKI. For example, a technical | |||
standard may specify: 'Different keys and certificates must be used | standard may specify the following: "Different keys and certificates | |||
for safety communication and for trust anchor updates, and a relying | must be used for safety communication and for trust anchor updates, | |||
party must ignore the KeyPurposeId id-kp-trustAnchorConfigSigning if | and a relying party must ignore the KeyPurposeId id-kp- | |||
id-kp-safetyCommunication is one of the specified key purposes in a | trustAnchorConfigSigning if id-kp-safetyCommunication is one of the | |||
certificate.' The certificate policy for example may specify: 'The | specified key purposes in a certificate." For example, the | |||
id-kp-safetyCommunication KeyPuposeId should not be included in an | certificate policy may specify the following: "The id-kp- | |||
issued certificate together with the KeyPurposeId id-kp- | safetyCommunication KeyPuposeId should not be included in an issued | |||
trustAnchorConfigSigning.' Technical standards and certificate | certificate together with the KeyPurposeId id-kp- | |||
trustAnchorConfigSigning." Technical standards and certificate | ||||
policies of different applications may specify other rules. Further | policies of different applications may specify other rules. Further | |||
considerations on prohibiting combinations of KeyPurposeIds is | considerations on prohibiting combinations of KeyPurposeIds is | |||
described in Section 6. | described in Section 6. | |||
Systems or applications that verify the signature of a general- | Systems or applications that verify the signature of a general- | |||
purpose configuration file or trust anchor configuration file, the | purpose configuration file or trust anchor configuration file, the | |||
signature of a software or firmware update package, or the | signature of a software or firmware update package, or the | |||
authentication of a communication peer for safety-critical | authentication of a communication peer for safety-critical | |||
communication SHOULD require that corresponding KeyPurposeIds be | communication SHOULD require that corresponding KeyPurposeIds be | |||
specified by the EKU extension. If the certificate requester knows | specified by the EKU extension. If the certificate requester knows | |||
the certificate users are mandated to use these KeyPurposeIds, it | the certificate users are mandated to use these KeyPurposeIds, it | |||
MUST enforce their inclusion. Additionally, such a certificate | MUST enforce their inclusion. Additionally, such a certificate | |||
requester MUST ensure that the KeyUsage extension be set to | requester MUST ensure that the KeyUsage extension be set to | |||
digitalSignature for signature verification, to keyEncipherment for | digitalSignature for signature verification, to keyEncipherment for | |||
public key encryption, and keyAgreement for key agreement. | public key encryption, and keyAgreement for key agreement. | |||
4. Including the Extended Key Purpose in Certificates | 4. Including the Extended Key Purpose in Certificates | |||
[RFC5280] specifies the EKU X.509 certificate extension for use on | [RFC5280] specifies the EKU X.509 certificate extension for use on | |||
end entity certificates. The extension indicates one or more | end-entity certificates. The extension indicates one or more | |||
purposes for which the certified public key is valid. The EKU | purposes for which the certified public key is valid. The EKU | |||
extension can be used in conjunction with the Key Usage (KU) | extension can be used in conjunction with the Key Usage (KU) | |||
extension, which indicates the set of basic cryptographic operations | extension, which indicates the set of basic cryptographic operations | |||
for which the certified key may be used. The EKU extension syntax is | for which the certified key may be used. The EKU extension syntax is | |||
repeated here for convenience: | repeated here for convenience: | |||
ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId | ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId | |||
KeyPurposeId ::= OBJECT IDENTIFIER | KeyPurposeId ::= OBJECT IDENTIFIER | |||
skipping to change at page 6, line 41 ¶ | skipping to change at line 268 ¶ | |||
security(5) mechanisms(5) pkix(7) 3 } | security(5) mechanisms(5) pkix(7) 3 } | |||
id-kp-configSigning OBJECT IDENTIFIER ::= { id-kp 41 } | id-kp-configSigning OBJECT IDENTIFIER ::= { id-kp 41 } | |||
id-kp-trustAnchorConfigSigning OBJECT IDENTIFIER ::= { id-kp 42 } | id-kp-trustAnchorConfigSigning OBJECT IDENTIFIER ::= { id-kp 42 } | |||
id-kp-updatePackageSigning OBJECT IDENTIFIER ::= { id-kp 43 } | id-kp-updatePackageSigning OBJECT IDENTIFIER ::= { id-kp 43 } | |||
id-kp-safetyCommunication OBJECT IDENTIFIER ::= { id-kp 44 } | id-kp-safetyCommunication OBJECT IDENTIFIER ::= { id-kp 44 } | |||
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 and the KU | |||
the KU extension are inserted in each certificate that is issued. | extension are inserted in each certificate that is issued. The | |||
The inclusion of the id-kp-configSigning, id-kp- | inclusion of the id-kp-configSigning, id-kp-trustAnchorConfigSigning, | |||
trustAnchorConfigSigning, id-kp-updatePackageSigning, and id-kp- | id-kp-updatePackageSigning, and id-kp-safetyCommunication | |||
safetyCommunication KeyPurposeIds does not preclude the inclusion of | KeyPurposeIds does not preclude the inclusion of other KeyPurposeIds. | |||
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. These extended key usage key purposes do not introduce new | document. These EKU key purposes do not introduce new security risks | |||
security risks but instead reduce existing security risks by | but instead reduce existing security risks by providing the means to | |||
providing the means to identify if a certificate is generated to | identify if a certificate is generated to verify the signature of a | |||
verify the signature of a general-purpose or trust anchor | general-purpose or trust anchor configuration file, the signature of | |||
configuration file, the signature of a software or firmware update | a software or firmware update package, or the authentication of a | |||
package, or the authentication of a communication peer for safety- | communication peer for safety-critical communication. | |||
critical communication. | ||||
To reduce the risk of specific cross-protocol attacks, the relying | To reduce the risk of specific cross-protocol attacks, the relying | |||
party may additionally prohibit use of specific combinations of | party may additionally prohibit use of specific combinations of | |||
KeyPurposeIds. The procedure for allowing or disallowing | KeyPurposeIds. The procedure for allowing or disallowing | |||
combinations of KeyPurposeIds using excluded KeyPurposeId and | combinations of KeyPurposeIds using excluded KeyPurposeId and | |||
permitted KeyPurposeId, as carried out by a relying party, is defined | permitted KeyPurposeId, as carried out by a relying party, is defined | |||
in Section 4 of [RFC9336]. The technical standards and certificate | in Section 4 of [RFC9336]. The technical standards and certificate | |||
policies of the application should explicitly enumerate requirements | policies of the application should explicitly enumerate requirements | |||
for excluded or permitted KeyPurposeIds or their combinations. It is | for excluded or permitted KeyPurposeIds or their combinations. It is | |||
out of scope of this document to enumerate those, but an example of | out of scope of this document to enumerate those, but an example of | |||
excluded KeyPurposeIds can be the presence of the anyExtendedKeyUsage | excluded KeyPurposeIds can be the presence of the anyExtendedKeyUsage | |||
KeyPurposeId. Examples of allowed KeyPurposeIds combinations can be | KeyPurposeId. Examples of allowed KeyPurposeIds combinations can be | |||
the presence of id-kp-safetyCommunication together with id-kp- | the presence of id-kp-safetyCommunication together with id-kp- | |||
clientAuth or id-kp-serverAuth. | clientAuth or id-kp-serverAuth. | |||
7. Privacy Considerations | 7. Privacy Considerations | |||
In some protocols, e.g., TLS 1.2 [RFC5246], certificates are | In some protocols (e.g., TLS 1.2 [RFC5246]), certificates are | |||
exchanged in the clear. In other protocols, e.g., TLS 1.3 [RFC8446], | exchanged in the clear. In other protocols (e.g., TLS 1.3 | |||
the certificates are encrypted. The inclusion of the EKU extension | [RFC8446]), certificates are encrypted. The inclusion of the EKU | |||
can help an observer determine the purpose of the certificate. In | extension can help an observer determine the purpose of the | |||
addition, if the certificate is issued by a public certification | certificate. In addition, if the certificate is issued by a public | |||
authority, the inclusion of an EKU extension can help an attacker to | certification authority, the inclusion of an EKU extension can help | |||
monitor the Certificate Transparency logs [RFC9162] to identify the | an attacker to monitor the Certificate Transparency logs [RFC9162] to | |||
purpose of the certificate which may reveal private information of | identify the purpose of the certificate, which may reveal private | |||
the certificate subject. | information of the certificate subject. | |||
8. IANA Considerations | 8. IANA Considerations | |||
IANA is requested to register the following ASN.1 [X.680] module OID | IANA has registered the following ASN.1 [X.680] module OID in the | |||
in the "SMI Security for PKIX Module Identifier" registry | "SMI Security for PKIX Module Identifier" registry [SMI-PKIX-MOD]. | |||
[SMI-PKIX-MOD]. This OID is defined in Appendix A. | This OID is defined in Appendix A. | |||
+=========+=============================+============+ | ||||
| Decimal | Description | References | | ||||
+=========+=============================+============+ | ||||
| TBD1 | id-mod-config-update-sc-eku | This-RFC | | ||||
+---------+-----------------------------+------------+ | ||||
Table 1 | ||||
IANA is also requested to register the following OIDs in the "SMI | ||||
Security for PKIX Extended Key Purpose" registry [SMI-PKIX-PURPOSE]. | ||||
These OIDs are defined in Section 4. | ||||
+=========+================================+============+ | +=========+=============================+===========+ | |||
| Decimal | Description | References | | | Decimal | Description | Reference | | |||
+=========+================================+============+ | +=========+=============================+===========+ | |||
| 41 | id-kp-configSigning | This-RFC | | | 117 | id-mod-config-update-sc-eku | RFC 9809 | | |||
+---------+--------------------------------+------------+ | +---------+-----------------------------+-----------+ | |||
| 42 | id-kp-trustAnchorConfigSigning | This-RFC | | ||||
+---------+--------------------------------+------------+ | ||||
| 43 | id-kp-updatePackageSigning | This-RFC | | ||||
+---------+--------------------------------+------------+ | ||||
| 44 | id-kp-safetyCommunication | This-RFC | | ||||
+---------+--------------------------------+------------+ | ||||
Table 2 | Table 1 | |||
9. Acknowledgments | IANA has also registered the following OIDs in the "SMI Security for | |||
PKIX Extended Key Purpose" registry [SMI-PKIX-PURPOSE]. These OIDs | ||||
are defined in Section 4. | ||||
We would like to thank the authors of [RFC9336] and [RFC9509] for | +=========+================================+===========+ | |||
their excellent template. | | Decimal | Description | Reference | | |||
+=========+================================+===========+ | ||||
| 41 | id-kp-configSigning | RFC 9809 | | ||||
+---------+--------------------------------+-----------+ | ||||
| 42 | id-kp-trustAnchorConfigSigning | RFC 9809 | | ||||
+---------+--------------------------------+-----------+ | ||||
| 43 | id-kp-updatePackageSigning | RFC 9809 | | ||||
+---------+--------------------------------+-----------+ | ||||
| 44 | id-kp-safetyCommunication | RFC 9809 | | ||||
+---------+--------------------------------+-----------+ | ||||
We also thank all reviewers of this document for their valuable | Table 2 | |||
feedback. | ||||
10. References | 9. References | |||
10.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/rfc/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, | |||
<https://www.rfc-editor.org/rfc/rfc5280>. | <https://www.rfc-editor.org/info/rfc5280>. | |||
[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/rfc/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-202102-I/en>. | |||
[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-202102-I/en>. | |||
10.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/rfc/rfc5246>. | <https://www.rfc-editor.org/info/rfc5246>. | |||
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
<https://www.rfc-editor.org/rfc/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
[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/rfc/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/rfc/rfc9336>. | <https://www.rfc-editor.org/info/rfc9336>. | |||
[RFC9509] Reddy.K, T., Ekman, J., and D. Migault, "X.509 Certificate | [RFC9509] Reddy.K, T., Ekman, J., and D. Migault, "X.509 Certificate | |||
Extended Key Usage (EKU) for 5G Network Functions", | Extended Key Usage (EKU) for 5G Network Functions", | |||
RFC 9509, DOI 10.17487/RFC9509, March 2024, | RFC 9509, DOI 10.17487/RFC9509, March 2024, | |||
<https://www.rfc-editor.org/rfc/rfc9509>. | <https://www.rfc-editor.org/info/rfc9509>. | |||
[Directive-2016_797] | [Directive-2016_797] | |||
European Parliament, Council of the European Union, | European Parliament, Council of the European Union, | |||
"Directive 2016/797 - Interoperability of the rail system | "Directive (EU) 2016/797 of the European Parliament and of | |||
within the EU", May 2020, | the Council of 11 May 2016 on the interoperability of the | |||
rail system within the European Union", May 2020, | ||||
<https://eur-lex.europa.eu/eli/dir/2016/797/2020-05-28>. | <https://eur-lex.europa.eu/eli/dir/2016/797/2020-05-28>. | |||
[ERJU] Europe's Rail Joint Undertaking, "Shared Cybersecurity | [ERJU] Europe's Rail Joint Undertaking, "Shared Cybersecurity | |||
Services Specification - SP-SEC-ServSpec - V1.0", February | Services Specification - SP-SEC-ServSpec - V1.0", February | |||
2025, <https://rail-research.europa.eu/wp- | 2025, <https://rail-research.europa.eu/wp- | |||
content/uploads/2025/03/ERJU-SP-Cybersecurity- | content/uploads/2025/03/ERJU-SP-Cybersecurity- | |||
Specifications-V1.0.zip>. | Specifications-V1.0.zip>. | |||
[ERJU-web] Europe's Rail Joint Undertaking, "Europe’s Rail Joint | [ERJU-web] Europe's Rail Joint Undertaking, "Europe's Rail Joint | |||
Undertaking - System Pillar", | Undertaking - System Pillar", | |||
<https://rail-research.europa.eu/system_pillar/>. | <https://rail-research.europa.eu/system_pillar/>. | |||
[EU-CRA] European Commission, "Proposal for a REGULATION OF THE | [EU-CRA] European Commission, "Proposal for a REGULATION OF THE | |||
EUROPEAN PARLIAMENT AND OF THE COUCIL on horizontal | EUROPEAN PARLIAMENT AND OF THE COUNCIL on horizontal | |||
cybersecurity requirements for products with digital | cybersecurity requirements for products with digital | |||
elements and amending Regulation (EU) 2019/1020", | elements and amending Regulation (EU) 2019/1020", | |||
September 2022, <https://digital- | September 2022, <https://digital- | |||
strategy.ec.europa.eu/en/library/cyber-resilience-act>. | strategy.ec.europa.eu/en/library/cyber-resilience-act>. | |||
[EU-STRATEGY] | [EU-STRATEGY] | |||
European Commission, "The EU's Cybersecurity Strategy for | European Commission, "The EU's Cybersecurity Strategy for | |||
the Digital Decade", December 2020, <https://digital- | the Digital Decade", December 2020, <https://digital- | |||
strategy.ec.europa.eu/en/library/eus-cybersecurity- | strategy.ec.europa.eu/en/library/eus-cybersecurity- | |||
strategy-digital-decade-0>. | strategy-digital-decade-0>. | |||
[NIST_Glossary] | [NIST_Glossary] | |||
NIST CSRC, "Directive (EU) 2022/2555 of the European | NIST CSRC, "safety", | |||
Parliament and of the Council", n.d., | ||||
<https://csrc.nist.gov/glossary/term/safety>. | <https://csrc.nist.gov/glossary/term/safety>. | |||
[ISO.IEC.IEEE_12207] | [ISO.IEC.IEEE_12207] | |||
ISO/IEC/IEEE, "Systems and software engineering – Software | ISO/IEC/IEEE, "Systems and software engineering - Software | |||
life cycle processes", December 2024, | life cycle processes", ISO/IEC/IEEE 12207:2017, November | |||
<https://www.iso.org/standard/63712.html>. | 2017, <https://www.iso.org/standard/63712.html>. | |||
[NIS2] European Commission, "Directive (EU) 2022/2555 of the | [NIS2] European Commission, "Directive (EU) 2022/2555 of the | |||
European Parliament and of the Council", December 2024, | European Parliament and of the Council", December 2024, | |||
<https://digital-strategy.ec.europa.eu/en/policies/ | <https://digital-strategy.ec.europa.eu/en/policies/ | |||
nis2-directive>. | nis2-directive>. | |||
[IEC.62443-4-2] | [IEC.62443-4-2] | |||
IEC, "Security for industrial automation and control | IEC, "Security for industrial automation and control | |||
systems - Part 4-2: Technical security requirements for | systems - Part 4-2: Technical security requirements for | |||
IACS components", IEC 62443-4-2:2019 , February 2019, | IACS components", IEC 62443-4-2:2019, February 2019, | |||
<https://webstore.iec.ch/publication/34421>. | <https://webstore.iec.ch/publication/34421>. | |||
[IEC.62443-3-3] | [IEC.62443-3-3] | |||
IEC, "Industrial communication networks - Network and | IEC, "Industrial communication networks - Network and | |||
system security - Part 3-3: System security requirements | system security - Part 3-3: System security requirements | |||
and security levels", IEC 62443-3-3:2013 , August 2013, | and security levels", IEC 62443-3-3:2013, August 2013, | |||
<https://webstore.iec.ch/publication/7033>. | <https://webstore.iec.ch/publication/7033>. | |||
[CE-marking] | [CE-marking] | |||
European Commission, "CE marking", n.d., <https://single- | European Commission, "CE marking", <https://single-market- | |||
market-economy.ec.europa.eu/single-market/ce-marking_en>. | economy.ec.europa.eu/single-market/ce-marking_en>. | |||
[SMI-PKIX-PURPOSE] | [SMI-PKIX-PURPOSE] | |||
IANA, "SMI Security for PKIX Extended Key Purpose", | IANA, "SMI Security for PKIX Extended Key Purpose", | |||
<https://www.iana.org/assignments/smi-numbers/smi- | <https://www.iana.org/assignments/smi-numbers>. | |||
numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.3>. | ||||
[SMI-PKIX-MOD] | [SMI-PKIX-MOD] | |||
IANA, "SMI Security for PKIX Module Identifier", | IANA, "SMI Security for PKIX Module Identifier", | |||
<https://www.iana.org/assignments/smi-numbers/smi- | <https://www.iana.org/assignments/smi-numbers>. | |||
numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.0>. | ||||
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> | |||
Automation-EKU | Automation-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-config-update-sc-eku (TBD1) } | id-mod-config-update-sc-eku (117) } | |||
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) } | |||
skipping to change at page 12, line 38 ¶ | skipping to change at line 503 ¶ | |||
END | END | |||
<CODE ENDS> | <CODE ENDS> | |||
Appendix B. Use Cases | Appendix B. Use Cases | |||
These use cases are only for informational purposes. | These use cases are only for informational purposes. | |||
Automation hardware and software products strive to become more safe | Automation hardware and software products strive to become more safe | |||
and secure by fulfilling mandatory, generic system requirements | and secure by fulfilling mandatory, generic system requirements | |||
related to cyber security, e.g., driven by federal offices like the | related to cybersecurity, e.g., driven by federal offices like the | |||
European Union Cyber Resilience Act [EU-CRA] governed by the European | European Union Cyber Resilience Act [EU-CRA] governed by the European | |||
Commission and the High Representative of the Union for Foreign | Commission and the High Representative of the Union for Foreign | |||
Affairs and Security Policy. Automation products connected to the | Affairs and Security Policy. Automation products connected to the | |||
Internet would bear the so-called CE marking [CE-marking] to indicate | Internet would bear the so-called "CE marking" [CE-marking] to | |||
they comply. Such regulation was announced in the 2020 EU | indicate they comply. Such regulation was announced in the 2020 EU | |||
Cybersecurity Strategy [EU-STRATEGY], and complements other | Cybersecurity Strategy [EU-STRATEGY] and complements other | |||
legislation in this area, like the NIS2 Framework, Directive on | legislation in this area, like the NIS2 Framework, Directive on | |||
measures for a high common level of cybersecurity across the Union | measures for a high common level of cybersecurity across the Union | |||
[NIS2]. | [NIS2]. | |||
2020 EU Cybersecurity Strategy [EU-STRATEGY] suggests to implement | The 2020 EU Cybersecurity Strategy [EU-STRATEGY] suggests | |||
and extend international standards such as the Security for | implementing and extending international standards such as "Security | |||
industrial automation and control systems - Part 4-2: Technical | for industrial automation and control systems - Part 4-2: Technical | |||
security requirements for IACS components [IEC.62443-4-2] (IACS | security requirements for IACS components" [IEC.62443-4-2] (IACS | |||
refers to industrial automation and control system) and the | refers to Industrial Automation and Control System) and "Industrial | |||
Industrial communication networks - Network and system security - | communication networks - Network and system security - Part 3-3: | |||
Part 3-3: System security requirements and security levels | System security requirements and security levels" [IEC.62443-3-3]. | |||
[IEC.62443-3-3]. Automation hardware and software products of | Automation hardware and software products of diverse vendors that are | |||
diverse vendors that are connected on automation networks and the | connected on automation networks and the Internet can be used to | |||
Internet can be used to build common automation solutions. | build common automation solutions. Standardized attributes would | |||
Standardized attributes would allow transparency of security | allow transparency of security properties and interoperability for | |||
properties and interoperability for vendors in context of software | vendors in the context of software and firmware updates, general- | |||
and firmware updates, general-purpose configuration, trust anchor | purpose configuration, trust anchor configuration, and safety | |||
configuration, and safety communication. | communication. | |||
A concrete example for automation is a Rail Automation system. The | ||||
Europe's Rail web page [ERJU-web] states: "The System Pillar [ERJU] | ||||
brings rail sector representatives under a single coordination body. | ||||
To achieve this, the System Pillar will deliver a unified operational | ||||
concept and a functional, safe and secure system architecture, with | ||||
due consideration of cyber-security aspects, focused on the European | ||||
railway network to which Directive 2016/797 [Directive-2016_797] | ||||
applies (i.e. the heavy rail network) as well as associated | ||||
specifications and/or standards." | ||||
Appendix C. History of Changes | ||||
[RFC Editor: Please remove this appendix in the release version of | ||||
the document.] | ||||
Changes from 07 -> 08: | ||||
* Updated Appendix B | ||||
Changes from 06 -> 07: | ||||
* Moved Section 1.1 to the Appendix | ||||
* Addressed DISCUSS items from Mohamed Boucadair and Paul Wouters | ||||
* Addressed AD review comments from Paul Wouters and Orie Steele | ||||
* Fixed some minor issues | ||||
* Updated reference of EU Rail specification to V1.0 | ||||
Changes from 05 -> 06: | ||||
* Addressed AD review comments from Mike Bishop, Gorry Fairhurst, | ||||
Andy Newton, Mohamed Boucadair, Erik Kline, and Eric Vyncke | ||||
Changes from 04 -> 05: | ||||
* Addressed SECDIR review comments from Carl Wallace | ||||
Changes from 03 -> 04: | ||||
* Addressed Deb's AD review comments (see "AD Comments on draft- | ||||
ietf-lamps-automation-keyusages") | ||||
* Added early allocated OIDs | ||||
Changes from 02 -> 03: | ||||
* Rename id-kp-trustanchorSigning to id-kp-trustAnchorConfigSigning | ||||
* Rename id-kp-updateSigning to id-kp-updatePackageSigning | ||||
* Fixed some nits | ||||
Changes from 01 -> 02: | ||||
* Updates Sections 3 and 6 addressing last call comments (see "WG | ||||
Last Call for draft-ietf-lamps-automation-keyusages-01") | ||||
Changes from 01 -> 02: | ||||
* Implemented the changes requested during WGLC | ||||
Changes from 00 -> 01: | ||||
* Fixed some minor nids and wording issues | ||||
draft-ietf-lamps-automation-keyusages version 00: | ||||
* Updated document and filename after WG adoption | ||||
Changes from 00 -> 01: | ||||
* Updated last paragraph of Section 1 addressing WG adoption | ||||
comments by Rich and Russ | ||||
* Updated name and OID of ASN.1 module | A concrete example for automation is a rail automation system. The | |||
Europe's Rail web page [ERJU-web] states: | ||||
draft-brockhaus-lamps-automation-keyusages version 00: | | The System Pillar brings rail sector representatives under a | |||
| single coordination body. To achieve this, the System Pillar will | ||||
| deliver a unified operational concept and a functional, safe and | ||||
| secure system architecture, with due consideration of cyber- | ||||
| security aspects, focused on the European railway network to which | ||||
| Directive 2016/797 applies (i.e. the heavy rail network) as well | ||||
| as associated specifications and/or standards. | ||||
* Broadened the scope to general automation use case and use ERJU as | See [Directive-2016_797]. For details about the System Pillar, see | |||
an example. | [ERJU]. | |||
* Fixed some nits reported. | Acknowledgments | |||
draft-brockhaus-lamps-eu-rail-keyusages version 00: | We would like to thank the authors of [RFC9336] and [RFC9509] for | |||
their excellent template. | ||||
* Initial version of the document following best practices from RFC | We also thank all reviewers of this document for their valuable | |||
9336 and RFC 9509 | feedback. | |||
Contributors | Contributors | |||
Szofia Fazekas-Zisch | Szofia Fazekas-Zisch | |||
Siemens AG | Siemens AG | |||
Breslauer Str. 5 | Breslauer Str. 5 | |||
90766 Fuerth | 90766 Fuerth | |||
Germany | Germany | |||
Email: szofia.fazekas-zisch@siemens.com | Email: szofia.fazekas-zisch@siemens.com | |||
URI: https://www.siemens.com | URI: https://www.siemens.com | |||
End of changes. 63 change blocks. | ||||
286 lines changed or deleted | 202 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |