3.9 - Given a scenario, implement public key infrastructure. Flashcards
PKI
Public key infrastructure
Policies, procedures, hardware, software, people
– Digital certificates: create, distribute, manage,
store, revoke
*
This is a big, big, endeavor
– Lots of planning
*
Also refers to the binding of public keys to people
or devices
– The certificate authority
– It’s all about trust
Key management (lifecycle)
Key generation
– Create a key with the requested strength using
the proper cipher
Certificate generation
– Allocate a key to a user
Distribution
– Make the key available to the user
Storage
– Securely store and protect against unauthorized use
Revocation
– Manage keys that have been compromised
Expiration
– A certificate may only have a certain “shelf life”
CA
Certificate authority
Intermediate CA
RA
Registration authority
The entity requesting the certificate needs to be verified
– The RA identifies and authenticates the requester
Approval or rejection
– The foundation of trust in this model
Also responsible for revocations
– Administratively revoked or by request
Manages renewals and re-key requests
– Maintains certificates for current cert holders
CRL
Certificate revocation list
Certificate attributes
Common Name (CN)
– The FQDN (Fully Qualified
– Domain Name) for the certificate
Subject alternative name
– Additional host names for the cert
– Common on web servers
– professormesser.com and www.professormesser.com
Expiration
– Limit exposure to compromise
– 398 day browser limit (13 months)
OCSP
Online Certificate Status Protocol
CSR
Certificate signing request
Create a key pair, send the public key to the CA
to be signed
CN
Common Name
– The FQDN (Fully Qualified
– Domain Name) for the certificate
Subject alternative name
– Extension to an X.509 certificate
– Lists additional identification information
– Allows a certificate to support many
different domains
Expiration
Wildcard
– Certificates are based on the name of the server
– A wildcard domain will apply to all server names
in a domain
– *.professormesser.com
Code signing
*
Developers can provide a level of trust
– Applications can be signed by the developer
*
The user’s operating system will examine
the signature
– Checks the developer signature
– Validates that the software has not been modified
*
Is it from a trusted entity?
– The user will have the opportunity to stop the
application execution
Self-signed (Types of certificates)
*
Internal certificates don’t need to be signed by
a public CA
– Your company is the only one going to use it
– No need to purchase trust for devices that already
trust you
*
Build your own CA
– Issue your own certificates signed by your own CA
*
Install the CA certificate/trusted chain on all devices
– They’ll now trust any certificates signed by
your internal CA
– Works exactly like a certificate you purchased