-
Certificate
- Digitally signed electronic documents that bind a public key with a user identity.
-
Information Contained Within a Certificate
-
Serial Number:
- Assigned by the CA and used to uniquely identify the certificate
-
Subject:
- The person or entity that is being identified
-
Signature Algorithm:
- The specific algorithm used for signing the digital certificate
-
Signature:
- The digital signature from the certificate authority, which is used by devices that want to verify the authenticity of the certificate issued by that CA
-
Issuer:
- The entity or CA that created and issued the digital certificate
-
Valid From:
- The date the certificate became valid
-
Valid To:
- The expiration date of the certificate
-
Key Usage:
- The functions for which the public key in the certificate may be used
-
Public Key:
- The public portion of the public and private key pair generated by the host whose certificate is being looked at
-
Thumbprint Algorithm:
- The hash algorithm used for data integrity
-
Thumbprint:
- The actual hash
-
Certificate Revocation List Location:
- The URL that can be checked to see whether the serial number of any certificates issued by the CA have been revoked
-
Certificate Authentication Process
-
Authenticate the Certificate Authority (CA):
-
The client authenticates the CA server. This requires the server's public key. To obtain a copy of this public key, these options are available:
- For well-known CA servers, your web browser automates this process
- For less well-known CA servers, download the root certificate and use an out-of-band method to validate it. Call the root CA owner and compare their provided hash value to the hash value on your digital certificate.
-
Request an Identity Certificate:
- Generate a public-private key pair.
- Include this generated public key in requests for your identity certificate, sent to the CA server.
- Your Identity Certificate is sent back to you, digitally signed by the CA server.
- Because you already authenticated the CA server and can now verify its digital signature, you know your Identity Certificate is valid.
-
TLS Certificate Types
-
Wildcard Certificate:
- A single public key certificate that can be used by multiple subdomains (or all subdomains) of a single domain.
- A single wildcard certificate for https://*.example.com will secure all subdomains on the https://*.example.com domain
- Because the wildcard only covers one level of subdomains, this wildcard certificate would not be valid for the domain test.login.example.com
-
Takes this form:
- *.example.com
- test.login.example.com
-
Subject Alternative Name:
- An extension to X.509 used to tie multiple addresses, IDs, or DNS hostnames to an Identity (Certificate).
-
Allows these values to be associated with a security certificate using a subjectAltName field:
- Email addresses
- IP addresses
- URIs
- DNS names
- Directory names
- Object IDs
-
Takes this form:
- links.example.com
- tech-support.example.com
- example.com
- answers.tech-support.example.com
- answers.tech-support.example.com/info
-
Single-Sided and Dual-Sided Certificates
-
Single-Sided Certificates:
- Most secure communication sessions use single-sided certificates.
- The server validates itself to certificate recipients. Users do not need to validate their own identity.
- This model is used for web servers with thousands of connections, where availability is more important than two-way authentication.
-
Dual-Sided Certificates:
- When a limited number of computers and sessions are involved, the organization can prioritize security (two-way authentication) and also have availability.
-
Trust Models
-
Chain of Trust:
- Beginning with the root certificate authority to the end entity (user or program), each link in the list of certificates has been validated.
- This ensures that only trusted software and hardware are used, while maintaining flexibility.
-
Trust Anchor:
- Digitally-signed software can be trusted.
- If it had been illegally modified, its signature would be invalid.
- The software that signed it can be trusted for the same reason.
- The trustworthiness of each layer is guaranteed by the one before, back to the trust anchor.
-
Web of Trust
- A decentralized model used for sharing certificates without the need for a centralized CA.
- An alternative PKI trust architecture that enables all CAs as Root CAs.
- Protocols such as PGP (Pretty Good Privacy) are the utmost users of web of trust.
- Decentralization extends all the way to the end user.