• Uncategorised

Why Do We Need Intermediate Certificate Authorities (ICAs)?

To understand the role of Intermediate CAs (ICAs) and the trust chain, think of it as a hierarchical authority delegation system, similar to a government issuing documents:


Analogy:

Imagine a country’s Supreme Government issues driver’s licenses to every citizen:

  1. Root Authority (Supreme Government)
    • This is like the Root CA — the highest trusted entity.
    • It’s too important and rare for the Supreme Government to directly issue licenses to every person.
  2. Regional Offices (Intermediate Authorities)
    • These are the ICAs delegated by the Supreme Government to issue licenses in specific areas (like cities or districts).
    • The Supreme Government vouches for these offices. If a regional office issues a fraudulent license, it faces consequences.
  3. End Licenses (Website Certificates)
    • These are like the licenses issued to individual drivers by regional offices.
    • As a citizen, you trust the regional office because you know it was authorized by the Supreme Government.

How It Works in the Certificate Chain:

  1. Root CA
    • A Root Certificate Authority has a self-signed certificate that is pre-installed in browsers (like Chrome or Firefox).
    • Root CAs are the most trusted entities.
  2. Intermediate CA (ICA)
    • Root CAs delegate the task of issuing end-user (server) certificates to ICAs.
    • The ICA’s certificate is signed by the Root CA to establish its authenticity.
  3. Server Certificate
    • The ICA signs the server’s certificate for a specific website (like example.com).
  4. Trust Chain (Chain of Trust)
    • When a browser visits example.com, it receives:
      • The server certificate
      • The ICA certificate
    • The browser uses the pre-installed Root CA certificate to validate the ICA certificate.
    • Browsers like Chrome, Firefox, Safari, and Edge come with a built-in list of trusted Root Certificates.These certificates contain:
    • Public keys of the Root CA
    • The CA’s identifying information
    • Validity periods, etc.
    • Once the ICA is validated, the browser checks whether the ICA signed the server certificate.

If the entire chain checks out, the browser establishes a secure connection.


Why Not Just Use Root CA Directly?

  1. Security Isolation:
    If an ICA’s key is compromised, the Root CA remains secure, and only certificates issued by that ICA need to be revoked.
  2. Scalability:
    Root CAs delegate responsibility to ICAs, reducing their workload.
  3. Operational Flexibility:
    ICAs can issue certificates for specific industries or regions.

How Browsers Validate the Chain:

  1. Browser receives the Server Certificate and its ICA Certificate.
  2. It checks whether the ICA’s certificate is signed by a trusted Root CA from its list.
  3. It verifies the chain:
    • Server certificate → Signed by ICA
    • ICA certificate → Signed by Root CA
  4. If the entire chain is valid, the connection is secure.

Would you like sample code or guidance on inspecting SSL certificates and chains in Java or OpenSSL?

You may also like...