31 Public Key Infrastructure

epgp books

 

 

 

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

  1. 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.