CSEC3616Cybersecurity Engineering

    Public key infrastructure and revocation

    How certificate chains let Bob trust Alice's key without a direct certificate, why root certificates are self-signed and shipped with the OS or browser, and how CRLs and OCSP handle a certificate going bad before it expires.

    • Define PKI and explain how a certificate chain lets a verifier trust a certificate it has not seen before.
    • Explain why root certificates are self-signed and how a root store resolves that trust gap.
    • State the two reasons for using intermediate certificates.
    • Distinguish CRLs from OCSP, and explain what OCSP stapling adds.
    • Name the recurring real-world problems with X.509 that the lecture flags.

    20 min read

    Intuition

    A certificate only helps if the person checking it can verify the signature on it, which means already trusting the key that signed it. Bob usually does not hold a certificate for Alice signed directly by someone he already trusts. What he holds instead is a chain, and following that chain back to something he does trust is the whole job of a public key infrastructure.

    Mechanism

    Per RFC 4949, a Public Key Infrastructure (PKI) is the set of hardware, software, people, policies and procedures needed to create, manage, store, distribute and revoke digital certificates based on asymmetric cryptography. Its objective is enabling secure, convenient and efficient acquisition of public keys.

    Trust here is transitive. If certificate authority I1I_1 issues a certificate to a subordinate CA I2I_2, and I2I_2 issues a certificate to Bob, labelled XX, the chain of trust is I1I2XI_1 \to I_2 \to X. Alice verifies Bob’s certificate XX by following that chain from XX through I2I_2 up to I1I_1, an authority she already trusts. This is certificate chaining, and it is what lets Alice trust a certificate she has never seen before, as long as it eventually leads back to something she does trust.

    EXTRACTION DEFECT: Figure 8 (an example certification chain) did not survive extraction. The mechanism, an arrow per issued certificate leading back to a trusted root, is exactly as described above.

    Mechanism

    Before issuing a certificate at all, the CA has to confirm it is issuing to the right identity. Baseline verification, common for ordinary domains, proves ownership: the CA asks the operator to place a specific file on the web server, or to receive email at that domain. This relies on infrastructure, such as DNS and mail delivery, that is not itself especially secure. Extended verification instead uses legal documents. It costs more and takes longer, but gives a stronger, more “human” guarantee of who is actually behind the certificate.

    Mechanism

    In every hierarchical PKI, the issuer is called a Certificate Authority (CA). The naive idea is one global CA trusted by everyone. It does not work in practice: too many requests for one authority to handle, no agreement on which single organisation deserves that much trust, inconsistent verification standards across jurisdictions, and no global namespace to distinguish, say, two different people both named “John Smith” without something like a passport number.

    EXTRACTION DEFECT: Figure 9 (the centralised, single-global-CA model) did not survive extraction; the reasoning against it above is the notes’ own text, not a reconstruction.

    Mechanism

    The pragmatic fix: allow many CAs and accept them all as equals, rather than anointing one. That still leaves the question of how users come to trust any of those CAs. The answer is that the public keys of “trusted” CAs ship pre-installed with the operating system or browser. Users do not get to individually choose which CAs they trust; that choice is effectively made by agreements between vendors and CAs.

    Mechanism

    That pre-installed set is the root certificate store. Firefox and Chrome each ship one; Windows, Apple’s platforms and Linux distributions maintain their own too. Any application using X.509 needs a root store to anchor its trust decisions in. A root certificate sits at the top of a chain with nothing above it to sign it, so it signs itself. It cannot be verified through the chain the way every other certificate is; it is trusted by decree, because it is present in the root store, not because any signature check on it succeeded.

    Not every CA is in every root store. When a browser shows the familiar certificate warning, one common cause is exactly this: the certificate’s chain terminates at a CA (the notes’ own example names one, “R3”) that is not in that browser’s root store, so the chain of trust cannot be completed.

    EXTRACTION DEFECT: Figures 10 (root store contents), 11 (not all CAs are in every root store) and 12 (the resulting browser warning) did not survive extraction. The mechanism they illustrated is given in full above from the notes’ own text.

    Mechanism

    Certificates signed by the root are called intermediate certificates. Most websites hold a certificate signed by an intermediate, not directly by the root. There are two reasons for this layer:

    1. Delegating signing authority. A root can hand signing power to another organisation, department or region, creating a sub-CA, without every user needing to contact the root directly.
    2. Protecting the root. The root’s private key can be kept offline, in secure storage, reducing its exposure. Day-to-day issuing runs on the intermediate’s key instead, so if that key is ever compromised, the intermediate can be revoked and replaced without touching the root certificate installed in every root store worldwide.

    EXTRACTION DEFECT: Figure 13 (intermediate certificates in the chain) did not survive extraction; the two reasons above are given directly in the notes’ text.

    Mechanism

    X.509 itself defines the certificate format: CRLs, and a hierarchical PKI with certificate chains, within a framework the X.500 directory can serve. The PKIX model, from the IETF’s Public Key Infrastructure X.509 working group (RFC 5280, per the slides), standardises how that data actually moves across the internet so different vendors, browsers and operating systems interoperate.

    Mechanism

    A certificate is only ever a statement that a binding was valid at the time it was issued. The key could be compromised later, so verifying a certificate properly means checking it has not been revoked since.

    Compare

    A signed, timestamped list of revoked certificates, identified by serial number, that every CA must issue and maintain. In principle a client downloads and refreshes the whole list, then checks the certificate it cares about against it. In practice this is too slow to do on every connection.

    A live, per-certificate query-response protocol: the client asks the CA’s OCSP responder about one serial number and gets back a signed status (good, revoked or unknown), without ever downloading the full list. OCSP stapling moves the query to the server: it periodically fetches its own signed OCSP response and attaches it to the certificate during the handshake, so the client gets proof of validity with no extra round trip and without the CA learning which client asked.

    EXTRACTION DEFECT: Figure 14 (a CRL) did not survive extraction; the CRL’s structure, a list of revoked serial numbers, timestamped and signed, is given in the notes’ own text above.

    Threat

    X.509 in practice has been undermined at the issuance step itself: tricksters have deceived CAs into issuing certificates for domains they did not own, and CAs have themselves been directly compromised. Empirical research cited in the notes finds this deployed securely mostly for high-value sites, alongside lax certification and careless operational practices, such as incorrect domain names on issued certificates, elsewhere.

    Control

    None of these problems are solved outright by X.509’s own machinery; revocation (CRLs, OCSP) and root-store curation limit the damage once a misissued or compromised certificate is discovered, but they depend on the compromise being detected and reported in the first place. Helper technologies developed since address specific gaps, but the notes are explicit that this remains an unresolved weak point of the ecosystem, not a solved problem.

    Exam detail

    Keep the two failure levels separate when answering: a misissued certificate (the CA was tricked) is a verification-process failure, while a compromised CA is an infrastructure failure. Both end with the same symptom, a valid-looking certificate for a domain the holder does not control, but the fix for each is different: tighter identity verification for the first, and CA-level security and monitoring for the second.

    Aside

    A compromise of even one obscure CA in a distant jurisdiction can be used to mint a fake certificate for any global domain, because browsers treat every pre-installed root as equally trusted. This is the structural reason a single bad CA is a systemic risk rather than a contained one.

    Recall

    • A certificate chain lets a verifier trust a certificate signed by an intermediate, by following signatures back to a root already in their root store.
    • Root certificates are self-signed and trusted only because they are pre-installed, not because any signature check on them succeeds.
    • Intermediate certificates both delegate signing authority and keep the root’s key offline and safer.
    • A CRL is a downloaded list; OCSP is a live per-certificate query; OCSP stapling moves that query to the server.
    • X.509’s recurring real-world failures are misissuance through deception and direct CA compromise, not flaws in the certificate format itself.