Certificate Authority Operations on Distributed Ledgers
Glossary
Term DefinitionsCertificate Authority (CA)An entity that issues digital certificates that bind a public key to the identity of its owner.Distributed LedgerA decentralized database maintained by multiple nodes in a network, such as a blockchain.On-chain storage refers to data stored in a distributed ledger.Ledger CertificatesA certificate that can be verified using information provided by the distributed ledger.On-chain CAA CA that runs a node on the distributed ledger and issues ledger certificates.Revocation StorageLedger storage controlled by an on-chain CA that stores serial numbers of revoked certificates.Issuance StorageLedger storage controlled by an on-chain CA that stores verification hashes of issued certificates.Verification HashA cryptographic hash calculated from key data of a certificate that verifies that the certificate was issued by the CA.On-chain VerifierAn entity that runs a ledger node and verifies a ledger certificate using on-chain information.Off-chain VerifierAn entity that does not run a ledger node and verifies certificates using traditional methods.Certificate Revocation List (CRL)A list of revoked certificates maintained by a CA.Online Certificate Status Protocol (OCSP)A protocol that allows a verifier to query the status of a certificate in real time. Root ledger certificateA publically accepted certificate signed by the root ledger CA itself. Ledger certificate verification chainA chain of certificates from an end-entity certificate to a root ledger certificate, used to verify the validity of a certificate. A normal ledger certificateA ledger certificate containing a public key and attributes, which can be used by humans or other entities. An enriched ledger certificateA ledger certificate containing a public key and a typed hash tree, used to support multi-factor authentication. A CA ledger certificateA ledger certificate issued to another CA. An end-entity ledger certificateA ledger certificate issued to a non-CA entity. A dual-mode certificateA ledger certificate that can be verified by both on-chain and off-chain validators. A ledger-only certificateA ledger certificate that can only be verified by on-chain validators. A truncated certificateA certificate obtained by removing the signature from a dual-mode certificate. A self-signed CA ledger certificateA CA ledger certificate issued by a root ledger CA to itself.
Short answer question
What is the main difference between an on-chain CA and a traditional CA?
An on-chain CA runs a node on a distributed ledger and uses on-chain storage to manage certificate issuance and revocation information. Unlike traditional CAs that rely on CRLs or OCSP, on-chain CAs allow validators to verify the validity of certificates directly from the ledger, without relying on external systems or regular updates.
What is a verification hash and what role does it play in ledger certificate verification?
A verification hash is a cryptographic hash calculated from a certificate's key data, such as the public key, metadata, and attributes. The on-chain CA stores the certificate's verification hash in its issuance storage. Validators can use this hash to confirm that the certificate was issued by the CA and has not been tampered with.
Explain the concept of a ledger certificate verification chain and its uses.
A ledger certificate verification chain is an ordered list of certificates from an end-entity certificate to a root ledger certificate. Each certificate is signed by the issuer of the next certificate in the chain, forming a chain of trust that ultimately traces back to a recognized root CA. Validators use this chain to verify the validity of certificates and ensure that the trust path is complete.
What is the difference between a normal ledger certificate and an enriched ledger certificate?
A normal ledger certificate contains a public key and a set of attributes, while an enriched ledger certificate contains a public key and a typed hash tree to support multi-factor authentication and selective disclosure.
How do on-chain validators check if a ledger certificate has been revoked?
On-chain validators maintain a copy of the CA revocation store in their local copy of the ledger state. To check if a certificate has been revoked, the validator checks if the certificate's serial number is present in this local copy of the revocation store.
What is a dual-mode certificate? How does it differ from a ledger-only certificate?
A dual-mode certificate contains information that can be verified by both on-chain and off-chain validators, such as a signature, CRL URL, and OCSP URL. Ledger-only certificates omit these components and can only be verified by on-chain validators.
Describe the process by which an on-chain CA issues a rich ledger certificate.
The process includes: receiving and verifying the attributes of an end-entity, generating a certificate, computing a verification hash, adding the hash to the on-chain issuance store, and sending the certificate to the end-entity.
How do on-chain CAs revoke ledger certificates?
An on-chain CA revokes a certificate by adding the certificate's serial number to its revocation store. This action propagates through the distributed ledger, ensuring that all nodes have their revocation lists updated.
What is the purpose of a self-issued CA ledger certificate?
A self-signed CA ledger certificate is issued by the root ledger CA to itself. It serves as the starting point of a chain of trust, allowing validators to verify other certificates issued from that root CA.
Can off-chain validators verify ledger certificates? If so, how?
Yes, if the ledger certificate is a dual-mode certificate, off-chain validators can verify it using the signature, CRL URL, or OCSP URL included in the certificate, just like validating a traditional certificate.