rfc-9336

X.509 Certificate General-Purpose Extended Key Usage (EKU) for Document Signing

T. Ito, T. Okubo, S. Turner
date2022-12 streamIETF areasec wglamps statusPROPOSED STANDARD pages8 canonicalhttps://www.rfc-editor.org/rfc/rfc9336 doi10.17487/RFC9336
RFC 5280 specifies several extended key purpose identifiers (KeyPurposeIds) for X.509 certificates. This document defines a general-purpose Document-Signing KeyPurposeId for inclusion in the Extended Key Usage (EKU) extension of X.509 public key certificates. Document-Signing applications may require that the EKU extension be present and that a Document-Signing KeyPurposeId be indicated in order for the certificate to be acceptable to that Document-Signing application.

Extracted elements (15)

design-rationale §3

Document Signing is defined narrowly as digitally signing contents consumed by people in printable or displayable form, explicitly distinguishing it from machine-processed content. This scoping prevents overreach of the KeyPurposeId to automated processing scenarios.

pkix

design-rationale §1

The existing practice of using id-kp-emailProtection or id-kp-codeSigning for Document Signing is problematic because technical or policy changes to those ecosystems can cause unexpected behaviors or decreased cryptographic agility in the Document-Signing ecosystem. A dedicated KeyPurposeId avoids this coupling.

pkix, security, crypto

design-rationale §1

Vendor-defined KeyPurposeIds used outside their originally intended vendor-controlled environment can introduce problems of difficult-to-determine impact. A public, general-purpose Document-Signing KeyPurposeId is therefore preferable for non-vendor-governed document signing.

pkix, security

interoperability-note §4

When a single application handles various data formats (e.g., TEXT and PDF), the software may apply excluded and permitted KeyPurposeId decisions separately in accordance with the specific format being handled.

pkix, security

normative-requirement §3 MAY

Document-Signing applications MAY require that the EKU extension be present and that id-kp-documentSigning be indicated in order for the certificate to be acceptable to that Document-Signing application.

pkix, security

normative-requirement §3 MUST

If the EKU extension is present in a certificate, then the certificate MUST only be used for one of the purposes indicated, per RFC 5280.

pkix, security

normative-requirement §4 MAY

Implementations MAY perform the specified certificate validation steps when validating a digital signature on contents intended to be consumed by people, including processing Excluded and Permitted KeyPurposeId restrictions.

pkix, security

normative-requirement §5 MUST

The procedures and practices employed by a certification authority MUST ensure that the correct values for the EKU extension are inserted in each certificate that is issued.

pkix, security

normative-requirement §5 MAY

Unless certificates are governed by a vendor-specific PKI, certificates that indicate usage for Document Signing MAY include the id-kp-documentSigning KeyPurposeId, and its inclusion does not preclude the inclusion of other KeyPurposeIds.

pkix, security

protocol-element §4

The certificate validation procedure processes Excluded KeyPurposeId restrictions first, then Permitted KeyPurposeId restrictions. If a KeyPurposeId meets an Excluded condition, the certificate is rejected; if it meets a Permitted condition, it is accepted.

pkix, security

protocol-element §3

This document defines the KeyPurposeId id-kp-documentSigning (OID 1.3.6.1.5.5.7.3.36) for use in the Extended Key Usage extension of X.509 certificates. It indicates that the public key has been certified for cryptographic operations on contents consumed by people in printable or displayable form.

pkix, crypto, security

registry §7

IANA registered OID decimal 36 (id-kp-documentSigning) in the 'SMI Security for PKIX Extended Key Purpose' registry (1.3.6.1.5.5.7.3), and OID decimal 104 (id-mod-docsign-eku) in the 'SMI Security for PKIX Module Identifier' registry (1.3.6.1.5.5.7.0).

pkix, registry, security

security-consideration §6

The id-kp-documentSigning KeyPurposeId reduces existing security risks by separating document signing from extended key purposes used for communication protocols (TLS via id-kp-clientAuth, S/MIME via id-kp-emailProtection), thereby minimizing the risk of cross-protocol attacks. It introduces no new security or privacy concerns.

pkix, security, crypto

security-consideration §6

To reduce the risk of specific cross-protocol attacks, relying parties or their software may additionally prohibit use of specific combinations of KeyPurposeIds rather than evaluating each KeyPurposeId in isolation.

pkix, security

wire-format §3.1

The id-kp-documentSigning OID is encoded as { id-kp 36 }, where id-kp is { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) 3 }. It is included in the ExtKeyUsageSyntax SEQUENCE of KeyPurposeId OBJECT IDENTIFIERs.

pkix, crypto