rfc-9608

No Revocation Available for X.509 Public Key Certificates

R. Housley, T. Okubo, J. Mandel
date2024-06 streamIETF areasec wglamps statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc9608 doi10.17487/RFC9608 errataview
X.509v3 public key certificates are profiled in RFC 5280. Short-lived certificates are seeing greater use in the Internet. The Certification Authority (CA) that issues these short-lived certificates do not publish revocation information because the certificate lifespan that is shorter than the time needed to detect, report, and distribute revocation information. Some long-lived X.509v3 public key certificates never expire, and they are never revoked. This specification defines the noRevAvail certificate extension so that a relying party can readily determine that the CA does not publish revocation information for the certificate, and it updates the certification path validation algorithm defined in RFC 5280 so that revocation checking is skipped when the noRevAvail certificate extension is present.

updates

Extracted elements (18)

design-rationale §1

Short-lived certificates do not need revocation because their validity period is shorter than the time needed to detect, report, and distribute revocation information, making revocation unnecessary and pointless for authentication or key management uses.

pkix, security

design-rationale §1

Some long-lived certificates (e.g., IDevID certificates binding factory-assigned device identity) never expire and are never revoked because the bound information (manufacturer, model, serial number) never changes; noRevAvail allows CAs to signal this explicitly.

pkix, security

design-rationale §1.3

The noRevAvail extension was originally defined by ITU-T for attribute certificates (X.509-2000) and already profiled by RFC 3281; a recent Technical Corrigendum (X.509-2019-TC2) extended its applicability to public key certificates, motivating this RFC.

pkix, security, process

interoperability-note §2

A relying party that does not understand the noRevAvail extension might locate a CRL from the CA, but that CRL will never include an entry for a certificate containing this extension.

pkix, security

interoperability-note §1

The noRevAvail extension provides similar functionality to the ocsp-nocheck extension (RFC 6960), but ocsp-nocheck is appropriate only for OCSP responder certificates while noRevAvail is appropriate for any end-entity certificate. The noRevAvail extension could be included alongside ocsp-nocheck in OCSP responder certificates but should not be considered a substitute.

pkix, security

normative-requirement §3 MUST NOT

Certificates that include the noRevAvail extension MUST NOT also include the CRL Distribution Points extension, the Freshest CRL extension, or the basic constraints extension with cA BOOLEAN set to TRUE.

pkix, security

normative-requirement §2 MUST

Conforming CAs MUST include the noRevAvail extension in certificates for which no revocation information will be published, and when present MUST mark the extension as non-critical (criticality MUST be FALSE).

pkix, security

normative-requirement §4 MUST

If the noRevAvail certificate extension or the ocsp-nocheck extension is present, Step (a)(3) of RFC 5280 Section 6.1.3 (revocation status check) is skipped; otherwise, revocation status determination of the certificate is performed.

pkix, security

normative-requirement §3 MUST NOT

If the noRevAvail extension is present, the Authority Information Access extension, if present, MUST NOT include an id-ad-ocsp accessMethod. If any of the prohibited extensions are present alongside noRevAvail, the relying party MUST consider the certificate invalid.

pkix, security

normative-requirement §2 MUST NOT

The noRevAvail extension MUST NOT be present in CA public key certificates; it is appropriate only in end-entity certificates for which the CA will not publish revocation information.

pkix, security

protocol-element §5

The ASN.1 module NoRevAvailExtn (OID id-mod-noRevAvail, 1.3.6.1.5.5.7.0.110) defines ext-noRevAvail with SYNTAX NULL, IDENTIFIED BY id-ce-noRevAvail, and CRITICALITY { FALSE }.

pkix, registry

protocol-element §2

The noRevAvail certificate extension (id-ce-noRevAvail, OID { id-ce 56 }) allows a CA to indicate that no revocation information will be made available for the certificate. Its syntax is NULL (DER encoding '0500'H) and it MUST be marked non-critical.

pkix, security, registry

registry §7

IANA assigned decimal 110 (id-mod-noRevAvail) in the 'SMI Security for PKIX Module Identifier' (1.3.6.1.5.5.7.0) registry for the ASN.1 module defined in this document.

registry, pkix

security-consideration §6

CA policies and practices MUST ensure that the noRevAvail extension is included only when appropriate; misuse or misconfiguration could result in a relying party continuing to trust a revoked certificate, and the only remediation for discovered misuse is revocation of the CA itself.

pkix, security

security-consideration §6.2

For long-lived certificates using noRevAvail (e.g., IDevID), cryptographic algorithms expected to remain secure for the device's entire lifetime must be chosen, since the CA has no means of notifying relying parties about compromise of factory-installed keying material.

pkix, security, crypto

security-consideration §6.1

If noRevAvail is incorrectly used for a certificate with a validity period that is not adequately short, it creates a window of opportunity for attackers to exploit a compromised private key. Certificate validity periods must be carefully assessed before using this extension.

pkix, security

security-consideration §6

The absence of revocation information limits relying parties' ability to detect compromise of end-entity keying material, malicious certificates, or CAs that are not following CP/CPS policies. Relying parties need confidence in CA reliability, performance monitoring, and incident response capabilities.

pkix, security

wire-format §2

The noRevAvail extension uses OID id-ce-noRevAvail (2.5.29.56) with ASN.1 syntax NULL. The DER encoding of the extnValue is '0500'H. Criticality MUST be FALSE.

pkix, security