31 Public Key Infrastructure
Learning Objectives
- To understand about Public key Infrastructure (PKI).
- To discuss Trust Models and its issues.
- To learn PKI structure and its components.
Public Key Distribution issue
Public-key encryption helps address key distribution problems. The two aspects are
- distribution of public keys
- use of public-key encryption to distribute secret keys
Includes dealing with the generation, exchange, storage, use and replacement of keys.
Concerns keys at the user level, either between users or systems.
1. Distribution of Public Keys
Several techniques have been proposed for the distribution of public keys. Virtually all these proposals can be grouped into the following general schemes:
- Public announcement
- Publicly available directory
- Public-key authority
- Public-key certificates
a. Public announcement
Users distribute public keys to recipients or broadcast to community at large. eg. append PGP keys to email messages or post to news groups or email list.
Major weakness is forgery:
i) anyone can create a key claiming to be someone else and broadcast it
ii) until forgery is discovered can masquerade as claimed user
- Publicly Available Directory
A greater degree of security can be achieved by maintaining a publicly available
dynamic directory of public keys. Maintenance and distribution of the public directory would have to be the responsibility of some trusted entity or organization. Such a scheme would include the following elements:
The authority maintains a directory with a {name, public key} entry for each participant.
Each participant registers a public key with the directory authority. Registration would have to be in person or by some form of secure authenticated communication.
A participant may replace the existing key with a new one at any time, either because of the desire to replace a public key that has already been used for a large amount of data, or because the corresponding private key has been compromised in some way.
Participants could also access the directory electronically. For this purpose, secure, authenticated communication from the authority to the participant is mandatory.
c. Public-Key Authority
Stronger security for public-key distribution can be achieved by providing tighter control over the distribution of public keys from the directory. A typical scenario is illustrated in below Figure. The scenario assumes that a central authority maintains a dynamic directory of public keys of all participants. In addition, each participant reliably knows a public key for the authority, with only the authority knowing the corresponding private key.
d.Public-Key Certificates
The scenario of below Figure is attractive, yet it has some drawbacks. The public-key authority could be somewhat of a bottleneck in the system, for a user must appeal to the authority for a public key for every other user that it wishes to contact. As before, the directory of names and public keys maintained by the authority is vulnerable to tampering.
An alternative approach, first suggested by Kohnfelde, is to use certificates that can be used by participants to exchange keys without contacting a public-key authority, in a way that is as reliable as if the keys were obtained directly from a public-key authority. In essence, a certificate consists of a public key plus an identifier of the key owner, with the whole block signed by a trusted third party.
Typically, the third party is a certificate authority, such as a government agency or a financial institution that is trusted by the user community. A user can present his or her public key to the authority in a secure manner, and obtain a certificate. The user can then publish the certificate. Anyone needed this user’s public key can obtain the certificate and verify that it is valid by way of the attached trusted signature. A participant can also convey its key information to another by transmitting its certificate. Other participants can verify that the certificate was created by the authority.
2. Use of public-key encryption to distribute secret keys
Once public keys have been distributed or have become accessible, secure communication that thwarts eavesdropping, tampering, or both is possible. However, few users will wish to make exclusive use of public-key encryption for communication because of the relatively slow data rates that can be achieved. Accordingly, public-key encryption provides for the distribution of secret keys to be used for conventional encryption.
Simple Secret Key Distribution
Its proposed by Merkle in 1979
- A generates a new temporary public key pair
- A sends B the public key and their identity
- B generates a session key K sends it to A encrypted using the supplied public key
- A decrypts the session key and both use
This problem is that an opponent can intercept and impersonate both halves of protocol.
Public Key cryptography solves the problem of
- Confidentiality,
- Integrity
- Authenticity
- Non-repudiation
PKI
It is a set of hardware, software, people, policies, and procedures needed to create, manage, distribute, use, store, and revoke digital certificates. It is a type of key management system.
This uses hierarchical digital certificates to provide authentication and public keys to provide encryption. PKIs are used in World Wide Web traffic, commonly in the form of SSL and TLS
PKI is a group of solutions for key distribution problems
- Key generation
- Certificate generation, revocation, validation Managing trust
Using Certificates
The user certificates are assumed to be created by some trusted certification authority (CA) and placed in the directory by the CA or by the user. The directory server itself is not responsible for the creation of public keys or for the certification function; it merely provides an easily accessible location for users to obtain certificates.
How to Verify a Public Key?
The two approaches are
i) Before using anyone public key: Meet to get the right one
Have the public key sent in storage device using registered mail (if you trust registered mail)
You can use the telephone (if you trust the telephone)
ii) Contact someone already trust to certify that the key really belongs to real owner By checking for a trusted digital signature on the key
That’s were certificates play a role
Trust Models
i) Web-of-Trust
- P2P model for key certification based on friends and friends of friends
- Individuals digitally sign each other keys
- You trust implicitly keys signed by some of your friends
- Used by “Pretty Good Privacy” (PGP)
ii) Trusted Authority + Path of Trust (CAs)
- A trusted agent who certifies public keys for general use
- Everyone trusts the root Certificate Authority (Verisign, Thawte, BT etc.)
- CA digitally signs keys of anyone having checked their credentials by traditional methods
- CA may even nominate others to be CAs
Trust Model Issues
Web-of-trust
- Time-consuming, requires lots of work
- Works well in small or high connected worlds
- How to verify a public key from someone who don’t know before
Certification authorities
- “big brothers” that everyone must trust
- Simpler model to deploy
A Fully Functional PKI
- Certification authority Certificate repository Certificate revocation
- Key backup and recovery Automatic key update
- Key history management Cross-certification
- Support for non-repudiation Time stamping
- Client software
PKI Major Parts
PKI is a system that uses public-key encryption and digital certificates to achieve secure Internet services.
There are 4 major parts in PKI.
- Certification Authority (CA)
- A directory Service
- Services, Web servers
- Business Users
PKI Structure
Storing Certificates and Keys
Certificates need to be stored so that interested users can obtain them. This is not an issue. Certificates are “public”
Keys need to be stored for data recovery purposes. This weakens the system, but is a necessity.
This is a function of most certificate server’s offer. Those servers are also responsible for issuing, revoking, signing etc. of certificates. But this requires the certificate server to generate the key pairs
SSL with PKI
Server authentication is necessary for a web client to identify the web site. To use SSL, a special type of digital certificate – “Server certificate” is used for authentication.
Get a server certificate from a CA. Install a server certificate at the Web server.
Enable SSL on the Web site.
Single CA
A CA that issues certificates to users and systems, but not to other CAs
– Easy to build
– Easy to maintain
– All users trust this CA
– Paths have one certificate and one CRL
– Doesn’t scale particularly well
Hierarchical PKI
- CAs have a hierarchical relationship (as in a tree).
- All CAs trust the root CA
- Root’s is self-signed
- Root CA certifies its child CAs, and they in turn certify their child CAs, and so on.
- Easy to establish/verify trust relationship between any two CAs
X.509 PKI – Approach to Trust
Why should I trust a CA?
Cross-certification
Pretty Good Privacy (PGP)
Release in June 1991 by Philip Zimmerman (PRZ). PGP is a hybrid cryptosystem that allows user to encrypt and decrypt. Use session key “a random generated number from the mouse movement or keystrokes”.
Open source, freely available software package for secure e-mail. It is de facto standard for secure email. It is developed from selected best available cryptographic algorithms. It runs on a variety of platforms like Unix, PC, Macintosh and other systems
Email Security Enhancements
- Confidentiality: protection from disclosure
- Authentication: sender of message
- message integrity: protection from modification
- non-repudiation of origin: protection from denial by sender
PGP Public Key
Philip R Zimmermann’s Public Keys
Current DSS/Diffie-Hellman Key:
Key fingerprint: 055F C78F 1121 9349 2C4F 37AF C746 3639 B2D7 795E
—–BEGIN PGP PUBLIC KEY BLOCK—–
Version: PGP 7.0.3
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
—–END PGP PUBLIC KEY BLOCK—–
you can view video on Public Key Infrastructure |
Summary
- Public Key distribution issue.
- Public Key Infrastructure(PKI).
- PKI Trust Models and its issues.
- PKI major parts and its structure.