X.509 Certificate Extended Key Usage (EKU) for Automation
draft-ietf-lamps-automation-keyusages-00
The information below is for an old version of the document.
| Document | Type |
This is an older version of an Internet-Draft that was ultimately published as RFC 9809.
|
|
|---|---|---|---|
| Authors | Hendrik Brockhaus , Dr. David Goltzsche | ||
| Last updated | 2024-12-12 | ||
| RFC stream | Internet Engineering Task Force (IETF) | ||
| Formats | |||
| Reviews | |||
| Additional resources | Mailing list discussion | ||
| Stream | WG state | WG Document | |
| Document shepherd | (None) | ||
| IESG | IESG state | Became RFC 9809 (Proposed Standard) | |
| Consensus boilerplate | Unknown | ||
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-ietf-lamps-automation-keyusages-00
LAMPS Working Group H. Brockhaus
Internet-Draft Siemens
Intended status: Standards Track D. Goltzsche
Expires: 15 June 2025 Siemens Mobility
12 December 2024
X.509 Certificate Extended Key Usage (EKU) for Automation
draft-ietf-lamps-automation-keyusages-00
Abstract
RFC 5280 specifies several extended key purpose identifiers
(KeyPurposeIds) for X.509 certificates. This document defines
KeyPurposeIds for general-purpose and trust anchor configuration
files, for software and firmware update packages, and for safety-
critical communication to be included in the Extended Key Usage (EKU)
extension of X.509 v3 public key certificates used by industrial
automation and the ERJU System Pillar.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
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
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 15 June 2025.
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.
Brockhaus & Goltzsche Expires 15 June 2025 [Page 1]
Internet-Draft EKU for Automation December 2024
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 4
3. Extended Key Purpose for Automation . . . . . . . . . . . . . 5
4. Including the Extended Key Purpose in Certificates . . . . . 5
5. Implications for a Certification Authority . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7
7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 7
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
10.1. Normative References . . . . . . . . . . . . . . . . . . 8
10.2. Informative References . . . . . . . . . . . . . . . . . 9
Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 10
Appendix B. History of Changes . . . . . . . . . . . . . . . . . 11
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12
1. Introduction
Automation hardware and software products will strategically be more
safe and secure by fulfilling mandatory, generic system requirements
related to cyber security driven by federal offices like the European
Union Cyber Resilience Act [EU-CRA] governed by the European
Commission and the High Representative of the Union for Foreign
Affairs and Security Policy. Automation products connected to the
internet would bear the CE marking to indicate they comply. Such
regulation was announced in the 2020 EU Cybersecurity Strategy
[EU-STRATEGY], and complements other legislation in this area,
specifically the NIS2 Framework, Directive on measures for a high
common level of cybersecurity across the Union [NIS2]. 2020 EU
Cybersecurity Strategy suggests to implement and extend international
standards such as the Security for industrial automation and control
systems - Part 4-2: Technical security requirements for IACS
components [IEC.62443-4-2] and the Industrial communication networks
- Network and system security - Part 3-3: System security
requirements and security levels [IEC.62443-3-3]. Automation
hardware and software products of diverse vendors that are connected
Brockhaus & Goltzsche Expires 15 June 2025 [Page 2]
Internet-Draft EKU for Automation December 2024
on automation networks and the internet build a typical automation
solution. Harmonized attributes would allow transparency of security
properties and interoperability for vendors in context of secure
software and firmware updates, general-purpose configuration, trust
anchor configuration and secure safety communication.
A concrete example for Automation is a Rail Automation system. The
Europe's Rail Joint Undertaking System Pillar [ERJU] will deliver a
unified operational concept and a functional, safe and secure system
architecture alongside with system requirements for Rail Automation.
The deliverables include due consideration of cyber-security aspects
based on the IEC 62443 series of standards, focused on the European
railway network to which Directive 2016/797 - Interoperability of the
rail system within the EU [Directive-2016_797] applies.
The ERJU System Pillar Cyber Security Working Group makes use of an
internal PKI to generate X.509 PKI certificates. The certificates
are used for the following purposes, among others:
* Validating signatures of general-purpose software configuration
files.
* Validating signatures of trust anchor configuration files.
* Validating signatures of software and firmware update packages.
* Authenticating communication endpoints authorized for safety-
critical communication.
[RFC5280] specifies several key usage extensions, defined via
KeyPurposeIds, for X.509 certificates. Key usage extensions added to
a certificate are meant to express intent as to the purpose of the
named usage, for humans and for complying libraries. In addition,
the IANA registry "SMI Security for PKIX Extended Key Purpose"
[RFC7299] contains additional KeyPurposeIds. The use of the
anyExtendedKeyUsage KeyPurposeId, as defined in Section 4.2.1.12 of
[RFC5280], is generally considered a poor practice. This is
especially true for certificates, whether they are multi-purpose or
single-purpose, within the context of EURJU System Pillar.
If the purpose of the issued certificates is not restricted, i.e.,
the type of operations for which a public key contained in the
certificate can be used are not specified, those certificates could
be used for another purpose than intended, increasing the risk of
cross-protocol attacks. Failure to ensure proper segregation of
duties means that an application or system that generates the public/
private keys and applies for a certificate to the operator
certification authority could obtain a certificate that can be
Brockhaus & Goltzsche Expires 15 June 2025 [Page 3]
Internet-Draft EKU for Automation December 2024
misused for tasks that this application or system is not entitled to
perform. For example, management of trust anchor is a particularly
critical task. A device could potentially accept a trust anchor
configuration file signed by a service that uses a certificate with
no EKU or with the is KeyPurposeId id-kp-codeSigning
(Section 4.2.1.12 of [RFC5280]) or id-kp-documentSigning [RFC9336].
A device should only accept trust anchor configuration files if the
file is signed with a certificate that has been explicitly issued for
this purpose.
The KeyPurposeId id-kp-serverAuth (Section 4.2.1.12 of [RFC5280]) can
be used to identify that the certificate is for a TLS server, and the
KeyPurposeId id-kp-clientAuth (Section 4.2.1.12 of [RFC5280]) can be
used to identify that the certificate is for a TLS client. However,
there are currently no KeyPurposeIds for usage with X.509
certificates in EURJU documents for safety-critical communication.
This document addresses the above problems by defining the EKU
extension of X.509 public key certificates. Certificates are either
used for signing files (general-purpose configuration and trust
anchor configuration files, software and firmware update packages) or
are used for safety-critical communication.
Vendor-defined KeyPurposeIds used within a PKI governed by the vendor
or a group of vendors typically do not pose interoperability
concerns, as non-critical extensions can be safely ignored if
unrecognized. However, using or misusing KeyPurposeIds outside of
their intended vendor-controlled environment can lead to
interoperability issues. Therefore, it is advisable not to rely on
vendor-defined KeyPurposeIds. Instead, the specification defines
standard KeyPurposeIds to ensure interoperability across various
implementations.
Although the specification focuses on use in industrial automation,
the definitions are intentionally broad to allow the use of the
KeyPurposeIds defined in this document in other deployments as well.
Whether and how any of the KeyPurpose OIDs defined in this document
must be described in more detail in the technical standards and
certificate policies relevant to the application domain.
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
Brockhaus & Goltzsche Expires 15 June 2025 [Page 4]
Internet-Draft EKU for Automation December 2024
3. Extended Key Purpose for Automation
This specification defines the KeyPurposeIds id-kp-configSigning, id-
kp-trustanchorSigning, id-kp-updateSigning, and id-kp-
safetyCommunication and uses these, respectively, for: signing
general-purpose or trust anchor configuration files, or signing
software or firmware update packages, or authenticating communication
peers for safety-critical communication. As described in
Section 4.2.1.12 of [RFC5280], "[i]f the [extended key usage]
extension is present, then the certificate MUST only be used for one
of the purposes indicated" and "[i]f multiple [key] purposes are
indicated the application need not recognize all purposes indicated,
as long as the intended purpose is present".
Systems or applications that verify the signature of a general-
purpose or trust anchor configuration file, the signature of a
software or firmware update package, or the authentication of a
communication peer for safety-critical communication SHOULD require
that corresponding KeyPurposeIds be specified by the EKU extension.
If the certificate requester knows the certificate users are mandated
to use these KeyPurposeIds, it MUST enforce their inclusion.
Additionally, such a certificate requester MUST ensure that the
KeyUsage extension be set to digitalSignature or nonRepudiation (also
designated as contentCommitment) for signature verification and/or to
keyEncipherment for secret key encryption.
4. Including the Extended Key Purpose in Certificates
[RFC5280] specifies the EKU X.509 certificate extension for use on
end entity certificates. The extension indicates one or more
purposes for which the certified public key is valid. The EKU
extension can be used in conjunction with the Key Usage (KU)
extension, which indicates the set of basic cryptographic operations
for which the certified key may be used. The EKU extension syntax is
repeated here for convenience:
ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId
KeyPurposeId ::= OBJECT IDENTIFIER
As described in [RFC5280], the EKU extension may, at the option of
the certificate issuer, be either critical or non-critical. The
inclusion of KeyPurposeIds id-kp-configSigning, id-kp-
trustanchorSigning, id-kp-updateSigning, and id-kp-
safetyCommunication in a certificate indicates that the public key
encoded in the certificate has been certified for the following
usages:
Brockhaus & Goltzsche Expires 15 June 2025 [Page 5]
Internet-Draft EKU for Automation December 2024
* id-kp-configSigning
A public key contained in a certificate containing the
KeyPurposeId id-kp-configSigning may be used for verifying
signatures of general-purpose configuration files of various
formats (for example XML, YAML or JSON). Configuration files are
used to configure hardware or software.
* id-kp-trustanchorSigning
A public key contained in a certificate containing the
KeyPurposeId id-kp-trustanchorSigning may be used for verifying
signatures of trust anchor configuration files of various formats
(for example XML, YAML or JSON). Trust anchor configuration files
are used to add or remove trust anchors to the trust store of a
device.
* id-kp-updateSigning
A public key contained in a certificate containing the
KeyPurposeId id-kp-updateSigning may be used for verifying
signatures of secure software or firmware update packages. Update
packages are used to install software (including bootloader,
firmware, safety-related applications and others) on systems.
* id-kp-safetyCommunication
A public key contained in a certificate containing the
KeyPurposeId id-kp-safetyCommunication may be used to authenticate
a communication peer for safety-critical communication based on
TLS or other protocols.
id-kp OBJECT IDENTIFIER ::=
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) 3 }
id-kp-configSigning OBJECT IDENTIFIER ::= { id-kp TBD2 }
id-kp-trustanchorSigning OBJECT IDENTIFIER ::= { id-kp TBD3 }
id-kp-updateSigning OBJECT IDENTIFIER ::= { id-kp TBD4 }
id-kp-safetyCommunication OBJECT IDENTIFIER ::= { id-kp TBD5 }
Brockhaus & Goltzsche Expires 15 June 2025 [Page 6]
Internet-Draft EKU for Automation December 2024
5. Implications for 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
the KU extension are inserted in each certificate that is issued.
The inclusion of the id-kp-configSigning, id-kp-trustanchorSigning,
id-kp-updateSigning, and id-kp-safetyCommunication KeyPurposeIds does
not preclude the inclusion of other KeyPurposeIds.
6. Security Considerations
The Security Considerations of [RFC5280] are applicable to this
document. This extended key purpose does not introduce new security
risks but instead reduces existing security risks by providing the
means to identify if the certificate is generated to verify the
signature of a general-purpose or trust anchor configuration file,
the signature of a software or firmware update package, or the
authentication of a communication peer for safety-critical
communication.
To reduce the risk of specific cross-protocol attacks, the relying
party or the relying party software may additionally prohibit use of
specific combinations of KeyPurposeIds. The procedure for allowing
or disallowing combinations of KeyPurposeIds using Excluded
KeyPurposeId and Permitted KeyPurposeId, as carried out by a relying
party, is defined in Section 4 of [RFC9336]. Examples of Excluded
KeyPurposeIds include the presence of the anyExtendedKeyUsage
KeyPurposeId or the complete absence of the EKU extension in a
certificate. Examples of Permitted KeyPurposeIds include the
presence of id-kp-configSigning, id-kp-trustanchorSigning, id-kp-
updateSigning, and id-kp-safetyCommunication KeyPurposeIds.
7. Privacy Considerations
In some security protocols, such as TLS 1.2 [RFC5246], certificates
are exchanged in the clear. In other security protocols, such as TLS
1.3 [RFC8446], the certificates are encrypted. The inclusion of the
EKU extension can help an observer determine the purpose of the
certificate. In addition, if the certificate is issued by a public
certification authority, the inclusion of an EKU extension can help
an attacker to monitor the Certificate Transparency logs [RFC9162] to
identify the purpose of the certificate.
8. IANA Considerations
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.
Brockhaus & Goltzsche Expires 15 June 2025 [Page 7]
Internet-Draft EKU for Automation December 2024
+=========+=======================+============+
| Decimal | Description | References |
+=========+=======================+============+
| TBD1 | id-mod-automation-eku | This-RFC |
+---------+-----------------------+------------+
Table 1
IANA is requested to register the following OIDs in the "SMI Security
for PKIX Extended Key Purpose" registry (1.3.6.1.5.5.7.3). These
OIDs are defined in Section 4.
+=========+===========================+============+
| Decimal | Description | References |
+=========+===========================+============+
| TBD2 | id-kp-configSigning | This-RFC |
+---------+---------------------------+------------+
| TBD3 | id-kp-trustanchorSigning | This-RFC |
+---------+---------------------------+------------+
| TBD4 | id-kp-updateSigning | This-RFC |
+---------+---------------------------+------------+
| TBD5 | id-kp-safetyCommunication | This-RFC |
+---------+---------------------------+------------+
Table 2
9. Acknowledgments
We would like to thank the authors of [RFC9336] and [RFC9509] for
their excellent template.
We also thank all reviewers of this document for their valuable
feedback.
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/rfc/rfc2119>.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<https://www.rfc-editor.org/rfc/rfc5280>.
Brockhaus & Goltzsche Expires 15 June 2025 [Page 8]
Internet-Draft EKU for Automation December 2024
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.
[X.680] ITU-T, "Information Technology - Abstract Syntax Notation
One (ASN.1): Specification of basic notation", ITU-T
Recommendation X.680 , February 2021,
<https://www.itu.int/rec/T-REC.X.680>.
[X.690] ITU-T, "Information Technology - ASN.1 encoding rules:
Specification of Basic Encoding Rules (BER), Canonical
Encoding Rules (CER) and Distinguished Encoding Rules
(DER)", ITU-T Recommendation X.690 , February 2021,
<https://www.itu.int/rec/T-REC.X.690>.
10.2. Informative References
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246,
DOI 10.17487/RFC5246, August 2008,
<https://www.rfc-editor.org/rfc/rfc5246>.
[RFC7299] Housley, R., "Object Identifier Registry for the PKIX
Working Group", RFC 7299, DOI 10.17487/RFC7299, July 2014,
<https://www.rfc-editor.org/rfc/rfc7299>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/rfc/rfc8446>.
[RFC9162] Laurie, B., Messeri, E., and R. Stradling, "Certificate
Transparency Version 2.0", RFC 9162, DOI 10.17487/RFC9162,
December 2021, <https://www.rfc-editor.org/rfc/rfc9162>.
[RFC9336] Ito, T., Okubo, T., and S. Turner, "X.509 Certificate
General-Purpose Extended Key Usage (EKU) for Document
Signing", RFC 9336, DOI 10.17487/RFC9336, December 2022,
<https://www.rfc-editor.org/rfc/rfc9336>.
[RFC9509] Reddy.K, T., Ekman, J., and D. Migault, "X.509 Certificate
Extended Key Usage (EKU) for 5G Network Functions",
RFC 9509, DOI 10.17487/RFC9509, March 2024,
<https://www.rfc-editor.org/rfc/rfc9509>.
Brockhaus & Goltzsche Expires 15 June 2025 [Page 9]
Internet-Draft EKU for Automation December 2024
[Directive-2016_797]
European Parliament, Council of the European Union,
"Directive 2016/797 - Interoperability of the rail system
within the EU", May 2020,
<https://eur-lex.europa.eu/eli/dir/2016/797/2020-05-28>.
[ERJU] Europe's Rail Joint Undertaking, "SP-Cybersecurity-
SharedCybersecurityServices - Review 3 Final Draft Specs
(V0.90)", September 2024, <https://rail-
research.europa.eu/wp-content/uploads/2023/10/
ERJU_SP_CyberSecurity_Review3_Files.zip>.
[EU-CRA] European Commission, "Proposal for a REGULATION OF THE
EUROPEAN PARLIAMENT AND OF THE COUCIL on horizontal
cybersecurity requirements for products with digital
elements and amending Regulation (EU) 2019/1020",
September 2022, <https://digital-
strategy.ec.europa.eu/en/library/cyber-resilience-act>.
[EU-STRATEGY]
European Commission, "The EU's Cybersecurity Strategy for
the Digital Decade", December 2020, <https://digital-
strategy.ec.europa.eu/en/library/eus-cybersecurity-
strategy-digital-decade-0>.
[NIS2] European Commission, "Directive (EU) 2022/2555 of the
European Parliament and of the Council", December 2024,
<https://digital-strategy.ec.europa.eu/en/policies/
nis2-directive>.
[IEC.62443-4-2]
IEC, "Security for industrial automation and control
systems - Part 4-2: Technical security requirements for
IACS components", IEC 62443-4-2:2019 , February 2019,
<https://webstore.iec.ch/publication/34421>.
[IEC.62443-3-3]
IEC, "Industrial communication networks - Network and
system security - Part 3-3: System security requirements
and security levels", IEC 62443-3-3:2013 , August 2013,
<https://webstore.iec.ch/publication/7033>.
Appendix A. ASN.1 Module
The following module adheres to ASN.1 specifications [X.680] and
[X.690].
Brockhaus & Goltzsche Expires 15 June 2025 [Page 10]
Internet-Draft EKU for Automation December 2024
<CODE BEGINS>
Automation-EKU
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-eu-automation-eku (TBD1) }
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- OID Arc
id-kp OBJECT IDENTIFIER ::=
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) kp(3) }
-- Extended Key Usage Values
id-kp-configSigning OBJECT IDENTIFIER ::= { id-kp TBD2 }
id-kp-trustanchorSigning OBJECT IDENTIFIER ::= { id-kp TBD3 }
id-kp-updateSigning OBJECT IDENTIFIER ::= { id-kp TBD4 }
id-kp-safetyCommunication OBJECT IDENTIFIER ::= { id-kp TBD5 }
END
<CODE ENDS>
Appendix B. History of Changes
[RFC Editor: Please remove this appendix in the release version of
the document.]
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
draft-brockhaus-lamps-automation-keyusages version 00:
* Broadened the scope to general automation use case and use ERJU as
an example.
* Fixed some nits reported.
draft-brockhaus-lamps-eu-rail-keyusages version 00:
Brockhaus & Goltzsche Expires 15 June 2025 [Page 11]
Internet-Draft EKU for Automation December 2024
* Initial version of the document following best practices from RFC
9336 and RFC 9509
Contributors
Szofia Fazekas-Zisch
Siemens AG Digital Industries Factory Automation
Breslauer Str. 5
90766 Fuerth
Germany
Email: szofia.fazekas-zisch@siemens.com
URI: https://www.siemens.com
Baptiste Fouques
Alstom
Email: baptiste.fouques@alstomgroup.com
Daniel Gutierrez Orta
CAF Signalling
Email: daniel.gutierrez@cafsignalling.com
Martin Weller
Hitachi Rail
Email: martin.weller@urbanandmainlines.com
Nicolas Poyet
SNCF
Email: nicolas.poyet@sncf.fr
Authors' Addresses
Hendrik Brockhaus
Siemens
Werner-von-Siemens-Strasse 1
80333 Munich
Germany
Email: hendrik.brockhaus@siemens.com
URI: https://www.siemens.com
Brockhaus & Goltzsche Expires 15 June 2025 [Page 12]
Internet-Draft EKU for Automation December 2024
David Goltzsche
Siemens Mobility
Ackerstrasse 22
38126 Braunschweig
Germany
Email: david.goltzsche@siemens.com
URI: https://www.mobility.siemens.com
Brockhaus & Goltzsche Expires 15 June 2025 [Page 13]