7 minutes
ICOM6045 Public Key Infrastructure

PKI
Overview
- PKC & PKI
- PKC is about math, but PKI is about binding a pair of key to one person
 
 - definition
- PKI is a set of hardware, software, people, policies and procedures needed to create, manage, distribute, use, store, and revoke digital certificates
 - PKI is an arrangement that binds public keys with respective user identities by means of a certificate authority (CA)
- the binding is established through the registration and issuance process
 - the PKI role that assures this binding is called the registration authority (RA): it ensures that the public key is bound to the individual to which it is assigned in a way that ensures non-repudiation
 
 - law for digital signature, e.g., ETO (Electronic Transaction Ordinance) in Hong Kong
- PKI is always about digital signature
 
 
 - scenario

 
Public Key Certificate
Problems in public key cryptography
- private key
- users have to keep in secret
 
 - public key
- make sure everyone can get a correct copy (store in a public key certificate)
 
 - scenario

 
CA’s public key
- root certificate
- CA’s public key is stored in a special PKC
 - CA self signed
 - assumption: root certificates are correct

 
 - intermediate certificate
- purpose -> purely security
- everything in the whole trust model relies on root CA private key, so we use lock-it-out to protect it
 - someone in the middle can balance the lock-it-out and usage
 - use intermediate certificate, we can lock the root certificate and only use it a few times
 - if the root cert does not work, the whole system would be crash. but if the intermediate cert does not work, we can revoke it and establish a new one
 
 - process

 
 - purpose -> purely security
 - certificates can be distributed without any protection
- no confidentiality needed
 - the certificate contains a digital signature which provides authenticity and integrity
 
 - a large population of users can participate in a PKI, every user only need to know CA’s public key
 - usually more secure than a normal user key
- normal user -> 1024 bits
 - CA -> 2048 bits
 
 - CA is responsible for subject authentication
- verfication of user id before issuing the PKC
 
 
Validity period
- PKC format

 - a certificate has a life time (just as keys)
- a certificate contains start date/time and expiration date/time
 - expired certificate are only used to verify signature on a old document (e.g. for auditing purpose)
 - a new certificate should be issued to the subscriber when his/her old certificate is expired
 - in event of suspected key compromise, a new certificate should be issued, and the old certificate should be “revoked” prior to its expiry date
 
 - verify digital signature
- verify the digital signature with signer’s public key in signer’s PKC
 - verify signer’s PKC using CA’s public key in the root cert
 - confirm the signer’s PKC is not yet expired
 
 
Features
- to associate a public-key value to a particular person, device, or entity
 - used to facilitate distribution of public keys
- user keeps his own private key
 - user keeps his own PKC
 - CA keeps all PKCs for all users
 
 - each PKC contains a public-key, and the certificate is signed by a “Certification Authority” or some “Intermediate Certification Authority”, which has confirmed the identity and other attributes of the holder of the corresponding private key
 - assumption: everyone knows how to verify the CA’s digital signature (i.e. everyone knows CA’s public key)
 
Certificate distribution
- certificates are digitally signed
 - directory service
- a data base of (valid and update) certificates
 - ISO standard: X.500
 - proprietary directory service such as Microsoft Exchange, Lotus Notes, Novell NDS
 - internet Lightweight Directory Access Protocol (LDAP)
 
 - certificates can be distributed through insecure channels such as email (S/MIME and MOSS) or WWW
- protected by the digital signature of CA
 
 
Certificate revocation
- reasons
- detected or suspected key compromise
 - change of data (e.g. subject name)
 - change of relationship between subject and CA (e.g. employee quitting a job from an organization which uses the current CA)
 
 - who can revoke
- the subject
 - the CA
 - an authorized third party
 
 - CRL (Certificate Revocation List)
- a time-stamped list of revoked certs, digitally signed by the CA, available to all users
 - each revoked cert is identified by a certificate serial number
 - users of public key certificates should checks a “suitably-recent” CRL
- problem: what is “suitably-recent”?
 
 - CRL will not contain certificates that are expired
 - CRLs are distributed regularly, e.g. hourly, daily, etc.
 - CRLs are digitally signed, thus can be sent via unprotected channels
 
 
Procedures
- digital signature
- verify the digital signature with signer’s public key in signer’s PKC
 - verify signer’s PKC using CA’s public key in the root cert
 - confirm the signer’s PKC is not yet expired
 - check the signer’s PKC is not yet revoked (using the CRL)
 - check the digital signature of the CRL
 - extract the signer’s public key
 - use signer’s public key to verify
 
 - encryption
- verify the receiver’s public key in receiver’s PKC
 - verify the receiver’s PKC using CA’s public ket in the root cert
 - confirm the receiver’s PKC is not yet expired
 - check the receiver’s PKC is not yet revoked (using the CRL)
 - check the digital signature of the CRL
 - extract the receiver’s public key
 - use the receiver’s public key to encrypt the message
 
 
Certification path
- the certificate chain is a list of certificates used to authenticate an entity
 - the chain begins with the certificate of that entity, and each certificate in the chain is signed by the entity identified by the next certificate in the chain
 - the chain terminates with a root CA certificate: a certificate signed by the CA itself
 - the signatures of all certificates in the chain must be verified until the root CA certificate is reached
 - the number of levels is depend on the number of intermediate CAs
 
Key Management
Certificate request
- scenario
- Alice generates her own key pair
 - Alice brings the public key to the CA and some signed request showing that she knows the private key
 
 
Common system in key-pair generation
- key-pair holder system
- private key owner performs the generation
 - private key never goes to other places
 - best for non-repudiation requirement
 
 - central system
- private key has to be transported to the owner
 - key-pair generated in central Registration Authority (RA) associated with CA, RA generates a key on behalf of an end-user
 - central site specialized in key generation, more resources, better algorithm, stronger control, etc.
 - related functions like key archival can provided
 
 
Certificate generation steps
- CA is presented with the required certificate content information from the “applicant”
 - CA verifies the accuracy of the information
 - the certificate is created, and signed by a signing device using the CA’s private key
 - a copy of the certificate is sent to the subscriber
 - a copy of certificate may be submitted to some directory services
 - CA records the certificate generation process in the audit journal
 
RA
- supporting role to CA: support subject authentication
 - RA does not issue certificates
 - key functions of RA
- registering, de-registering, and changing attributes of subscribers
 - authenticating subscribers (most common and useful function)
 - authorizing requests for key-pair or certificate generation, or recovering backed up keys
 - accepting and authorizing requests for certificate suspension or revocation
 - physically delivering tokens to the authorized users, and recovering obsolete tokens from users
 
 
Private key protection
- stored in a tamper-resistant hardware token, e.g. smart card, PCMCIA card
 - stored in encrypted date file, with authentication control by PIN, the encryption key is derived from the PIN
 - hardware token is more expensive and more secure
 
Backup
- for digital signature, private key should not be backup (someone may sign the document on behalf of you)
- if it is lost, apply a new one
 
 - for encryption, private key can be stored for a short time or periodically in some cases
- if your private key is lost, new arrival documents should be decrypted
 
 - solutions
- use two sets of key
 - for digital signature
- the public key certificate together with the stored public key for digital signature verification should be properly archived
 
 - for encryption
- decryption private key should be archived properly (false)
 - public key certificates are usually archived
 
 
 
Questions
Q: Why the definition of PKI is only about public keys?
A: The keys are always in pair. If you define the public key, the private key would also be defined.
Q: Do you need a law for encryption?
A: No, it just for confidentiality. Although encrpytion is important, it is not legally important. More importantly, digital signature is liable.