What is PKI? Public key infrastructure and PKI certificates
A public key infrastructure (PKI) is a system of certification authorities, and optionally registration authorities and other supporting servers, that carries out certificate, archive, key and token management for a community of users of public-key cryptography [1]. A PKI certificate is a public-key certificate issued inside such a system: a digitally signed data structure that attests to the ownership of a public key [1]. The SSL and TLS glossary gives short definitions of the neighbouring terms.
- Parts
- End entities, certification authorities, optional registration authorities, CRL issuers and repositories [2]
- Core functions
- Register users and issue their public-key certificates, revoke certificates when required, archive data needed to validate certificates later [1]
- Starting point
- Validation of a certification path begins at a trust anchor [1]
What a PKI is made of
RFC 5280 describes a simplified architectural model of a PKI with five components [2]:
End entity. The user of PKI certificates, or the end user system that is the subject of a certificate.
Certification authority (CA). The party that signs certificates. RFC 4949 defines a CA as an entity that issues digital certificates and vouches for the binding between the data items in a certificate [1].
Registration authority (RA). An optional system to which a CA delegates certain management functions. It does not sign certificates or CRLs; it records or verifies information, such as the identity of subjects, that the CA needs to issue them [1] [2].
CRL issuer. A system that generates and signs certificate revocation lists. A CA can delegate this job to a separate entity [2].
Repository. A system, or a collection of distributed systems, that stores certificates and CRLs and distributes them to end entities [2].
What a CA checks before it signs, and why browsers accept some of them, is the subject of the certificate authority page. A PKI is the larger system around it. The Certificate Transparency protocol publicly logs the existence of TLS server certificates as they are issued or observed, in a manner that allows anyone to audit CA activity [5].
What a PKI certificate is
A PKI certificate is a public-key certificate: in a public key infrastructure, a digital certificate that a certification authority signs and that binds a system entity's identifier to a public key value [1]. The signature of the certification authority on such a certificate is unforgeable, so it can be published, for example in a directory, without the directory having to protect its data integrity [1].
The phrase is not limited to websites. RFC 5280 states its goal as a profile for Internet WWW, electronic mail and IPsec applications [2]. An SSL certificate for a website is one case; a certificate issued to a person or a device is another. The byte-level layout is described on the X.509 certificate page: fields, versions, extensions and file formats stay there.
How trust reaches a certificate
A hierarchical PKI is built on a certification hierarchy, a tree-structured topology of relationships between CAs and the entities to whom they issue public-key certificates [1]. Validation starts at a trust anchor, an established point of trust from which a certificate user begins validating a certification path [1]. How anchors are held in the stores of browsers and operating systems is covered on the root certificate page.
The path runs from the trust anchor to the end entity's certificate, signed by one CA, with zero or more certificates of CAs signed by other CAs between them [2]. Paths are needed because a public key user starts with only a limited number of assured CA public keys [2]. Order and delivery of the path are covered on the certificate chain page.
RFC 5280 §6.1.3 requires four things of each certificate in the certification path [2]:
The signature checks out against the public key supplied by the CA above it.
The validity period includes the current time.
The certificate is not revoked at the current time.
The issuer name equals the name of the CA above it.
In a public key infrastructure (PKI), a certification authority issues certificates to a community of users [1]; each certificate user begins validation at an established trust anchor [1]. With certificate pinning, a web host operator instructs user agents to remember the host's cryptographic identities over a period of time [4].
Revocation in a PKI
A PKI certificate is expected to be used for its whole validity period, but some events end that early: a change of name, a change of association between subject and CA, such as an employee leaving an organisation, or compromise or suspected compromise of the private key [2]. In those cases the certification authority revokes the certificate [2], and a revoked certificate fails certification path validation [2]. CAs are responsible for indicating the status of the certificates they issue [2].
The method X.509 defines is the certificate revocation list, which a public key infrastructure publishes through its repository. A CRL is a time-stamped list, signed by a CA or CRL issuer and made available in a public repository, that identifies each revoked certificate by its serial number [2]. A system that uses a certificate checks the signature and validity, then checks that the serial number is not on a suitably recent CRL [2]. The limit of the method is timing: revocation is granular only to the CRL issue period [2]. Status can instead come from the Online Certificate Status Protocol or another mechanism [2]. The operating details, CRL against OCSP, are on the revocation page.
FAQ
What is PKI (public key infrastructure)?
Public key infrastructure, or PKI, is a system in which a certification authority issues a public-key certificate to each registered user, with an optional registration authority and other supporting servers. Its three core functions are registration and issue, revocation when required, and archiving the data needed to validate certificates later.
What is a PKI certificate?
A PKI certificate is a public-key certificate issued within a public key infrastructure and signed by a certification authority; it binds an identifier to a public key. Checking it starts from a trust anchor and runs along a certification path. The X.509 format that RFC 5280 profiles is described on the X.509 page.
What are the components of a PKI?
RFC 5280 names end entities, a certification authority, an optional registration authority, a CRL issuer and a repository. Revocation status comes from a certificate revocation list or another mechanism.
Is a CA the same thing as a PKI?
No. A certification authority is one component of a public key infrastructure: the entity that issues a public-key certificate and vouches for the binding in it. The PKI also includes an optional registration authority, a CRL issuer and a repository.
Sources
IETF, RFC 4949, Internet Security Glossary, Version 2: entries public-key infrastructure, public-key certificate, certification authority, registration authority, certification hierarchy, hierarchical PKI, trust anchor, certification path, rfc-editor.org/rfc/rfc4949.
IETF, RFC 5280, Internet X.509 Public Key Infrastructure Certificate and CRL Profile: section 3 (components), 3.1, 3.2 (certification paths), 3.3 (revocation), 6.1.3 (basic certificate processing).
IETF, RFC 6818, Updates to the Internet X.509 Public Key Infrastructure Certificate and CRL Profile: updates RFC 5280.
IETF, RFC 7469, Public Key Pinning Extension for HTTP: abstract (pinning of a host's cryptographic identities).
IETF, RFC 9162, Certificate Transparency Version 2.0: abstract (public logging of TLS server certificates); obsoletes RFC 6962.