Skip to the content.

Public Key Infrastructure

Trust Models

Trust models define how trust is established and managed in a system or network. They provide a framework for determining the authenticity and integrity of entities, such as users, devices, or services.

Centralized Trust Model

In a centralized trust model, trust is placed in a central authority, such as a Certificate Authority (CA) in a Public Key Infrastructure (PKI).

Public Key Infrastructure (PKI)

Decentralized Trust Model

In a decentralized trust model, trust is distributed among multiple entities without relying on a central authority.

Web of Trust

Public Key Infrastructure (PKI)

Public Key Infrastructure or PKI is a combination of software, encryption technologies, processes, and services that enables an organization to secure its communications and business transactions.

As a recap:

Requirement Description PKI Solution
Confidentiality The secure transmission of information over networks ensuring that it is not accessed by unauthorised individuals Data encryption
Integrity To validate that all the outputs are equivalent to the inputs. Any alter of the data can be immediately detected and prevented. Digital signatures
Authenticity Both the sender and recipient should be able to validate each other’s identities. Hash algorithms, message digests, digital signatures
Non-repudiation To ensure that the sender or receiver of a message cannot deny either sending or receiving such a message in future. Digital signatures, audit logs
Availability Information should be consistently and readily accessible for authorized parties. Involves properly maintaining hardware and technical infrastructure and systems that hold and display the information. Redundancy

Components

Certificate Authority (CA)

Primary component of a PKI. The CA server is used for issuing certificates for users, applications, and other CAs as well. In the CA server, the following are configured:

Hierarchical Structure:

How it works:

  1. Root CA is precious, usually taken offline.
  2. Intermediate CAs do all the hardwork.
  3. User requests presents the digital certificates to the intermediate CAs.
  4. The intermediate CAs performs the confirmations themselves.

Registration Authority (RA)

A Registration Authority (RA) is an entity responsible for authenticating and verifying the identities of individuals or organizations before they are issued digital certificates by a Certificate Authority (CA).

Key Escrow

Refers to the process where the user’s private keys are stored in a secure, third-party location, which is effectively an “escrow”.

Key Recovery Agent

Key recovery agents are specialized type of software that allows the restoration of a lost or corrupted keys.

Digital Certificates

Digital certificates are digitally signed electronic document that binds a public key with a user’s identity.

This certificates contains:

As an example, we can see the digital certificates for both Goole and Apple’s websites below:

We can see that Google uses ECC certificates while Apple uses RSA public certificates.

Certificate Signing Requests (CSRs)

A Certificate Signing Request (CSR) is a message sent from an applicant to a Certificate Authority (CA) to apply for a digital certificate. CSRs are typically generated by the entity requesting the digital certificate, such as a website owner or an organization’s IT department.

Once the CSR is submitted to the CA:

Certificate Templates

Certificate templates are predefined formats or structures that specify the key attributes and parameters for creating digital certificates.

Certificate Revocation Standards

Certificate revocation is the process of invalidating a previously issued digital certificate before its expiration date. Several standards and protocols facilitate the certificate revocation process in a Public Key Infrastructure (PKI) environment:

Digital Certificate Types

Domain Validation Certificates (DV)

A basic SSL/TLS certificate that verifies domain ownership without authenticating organizational details.

Extended Validation Certificates (EV)

High-assurance SSL/TLS certificates that undergo rigorous validation processes to provide enhanced trust and security.

Wildcard Certificates

Wildcard certificates secure a domain and all its subdomains with a single certificate.

Disadvantage:

SAN Certificates

Instead of using Wildcard, we can modify the Subject Alternate Name (SAN) field to specify multiple domains.

Single-Sided Certificates

Single-sided certificates are issued by only one party to authenticate the identity of the recipient. This only requires the server to be validated.

Double-Sided Certificates

Double-sided certificates authenticate both parties involved in a transaction, providing mutual trust and security.

Self-Signed Certificates

Self-signed certificates are generated and signed by the entity itself, used for internal testing or private networks.

Third-Party Certificates

Third-party certificates are issued and signed by a trusted Certificate Authority (CA) to validate the identity of an entity, commonly used in public networks like the internet.

Root of Trust

Each certificate is validated using the concept of root of trust or the chain of trust.

Certificate Revocation Standards

These standards and protocols ensure that relying parties can efficiently and securely verify the validity of digital certificates, enhancing the overall security of PKI-enabled systems and applications.

Certificate Revocation Lists

CRLs or Certificate Revocation Lists serves as an online list of digital certificates that the CA has already revoked.

How it works:

  1. User connects to the application’s web server.
  2. User’s computer requests for current public key for the digital certificate from the CA.
  3. CA will first check the CRL to ensure the current digital certificate is not revoked.
  4. If its not in the CRL, the public key is sent back to the user’s computer.

Online Certificate Status Protocol (OCSP)

OCSP is a protocol used to obtain the revocation status of a digital certificate in real-time.

As mentioned, OCSP doesn’t use encryption which makes it less secure than OCSP Stapling.

OCSP Stapling

OCSP Stapling, also known as TLS Certificate Status Request extension, is a method for improving the performance and privacy of OCSP.

OCSP Stapling allows clients to verify the certificate’s revocation status without needing to query an external OCSP responder, enhancing privacy and reducing latency.

Public Key Pinning

Public Key Pinning prevents impersonation attacks like man-in-the-middle (MITM) attacks by associating a host with its expected public key or keys. This helps ensure that the server’s public key used for encryption is authentic and has not been replaced with a malicious one.

Delta CRL

Delta CRL is an optimization of the traditional CRL mechanism.

Resources