Document

advertisement
Public Key Infrastructure
Levi Broderick
April 18, 2006
05-899 / 17-500 – USABLE PRIVACY & SECURITY – CRANOR, HONG, REITER
The need for PKI
Meet Alice. She has a
secret that she wants to
send to Bob.
Meet Bob. He looks
forward to talking with
his good friend Alice.
The need for PKI

Alice and Bob can use a secret key (symmetric
cryptography) to communicate over the public
channel.

They must have agreed on this key in advance.
The need for PKI
?

But what if Alice and Bob had never spoken before?
Can Alice still send him a secure communication?

This is the primary focus of PKI.
Communication under PKI

Both Alice and Bob have their own individual
private and public keys signed by a certificate
authority.

The CA might be an employer, Verisign, or some other
organization.
Communication under PKI

All communicating parties must have each others’
public keys.

Public keys must have a common ancestor to be
considered valid.

Alternatively, some PKI implementations (Lotus Notes,
Groove Virtual Office, etc.) allow CAs outside the local
network to be individually trusted.
Communication under PKI
Company XYZ
Mary Jane Allen
Development dept. head
Linda Clay
Marketing dept. head
Freddy Hale
Supervisor
Ulysses Applegate
Supervisor
Peter Jacobson
Jill Tyson
Tyrone King
Supervisor
Jason Peters
Asst. Supervisor
Kenneth Blue


Sheryl Song
Jordan Lewis
Peter and Ulysses can communicate since they share Mary
Jane as an ancestor.
Jill and Sheryl can communicate since they share a root
element.
Communication under PKI
Bob’s public key
Alice’s public key

The public key is used for encryption and digital
signature verification.

The private key is used for decryption and the
creation of digital signatures.
X.509 certificates

ITU-T standard for PKI

V3 described in RFC 3280

Certificate authority issues binding certificate
between public key and name (URI, email, etc.)

Includes validation and revocation policy


Certificate Revocation List (CRL)
Online Certificate Status Protocol (OCSP)
X.509 certificates

V3 certificate includes:






Issuing agency information
Subject information
Period of validity
...
Cryptographic signature
For root CAs, the issuing agency and the subject of
the certificate are the same.
X.509 certificates
amazon.com
name
X.509
certificate
public
key
X.509 hierarchy
issuer
GTE Cybertrust Global Root
Comodo Class 3 Security Services CA
Microsoft Internet Authority
www.cmu.edu
Microsoft Secure Server Authority
www.microsoft.com
www.buy.com
(a248.e.akamai.net)
update.microsoft.com
subject

And a demonstration . . .
Non-repudiation

Non-repudiation and repudiation of signatures
involved in legal practice for untold generations.

Traditional paper signatures may be repudiated:


False signature
Real signature, but extenuating circumstances



Unconscionable conduct / inequality of bargaining power
Fraud
Undue influence, or signature made under duress
Source: http://firstmonday.org/issues/issue5_8/mccullagh/index.html
Non-repudiation

Increasing legislation to allow digital signatures to
serve as legally binding.

Non-repudiation as applied to digital signatures:



Provides proof of the integrity and origin of data, both
unforgeable, which can be verified by any third party at
any time.
An authentication that with high assurance can be
asserted to be genuine and that cannot subsequently be
refuted.
Thoughts? Comments?
Source: http://firstmonday.org/issues/issue5_8/mccullagh/index.html
Non-repudiation
Carl Ellison speaks out:

It is not achievable.



The private key provided the signature, not the human.
No provable link exists between the person and the
computer.
It is counter to consumer protection law.


Transfers liability from the merchant to the consumer.
Corollary: E-commerce will suffer since repudiation
guaranteed by creditors becomes nonexistent.
Source: http://world.std.com/~cme/non-repudiation.htm
Non-repudiation
Carl Ellison continues to speak out:

It circumvents contract practice and law.


When does the user ever publicly acknowledge that he
stands behind the signatures created with the private key?
It conflicts with good key management.

If there exists no audit log, the user is likely to discover a
compromised key when another party in a transaction
reveals use of the key and demands further action.
Source: http://world.std.com/~cme/non-repudiation.htm
X.509 certificate revocation

Sometimes a certificate needs to be invalidated
before its natural expiration date



Private key compromised
Employee fired from company issuing certificate
Two main ways to revoke an X.509 certificate:


Certificate Revocation List (CRL)
Online Certificate Status Protocol (OCSP)
CRLs

Requires database of all invalidated, unexpired
certificates.


Two models



Verifier queries this database whenever he wants to see
whether a certificate has been revoked.
Pull model: Verifier downloads CRL from CA as needed.
Push model: CA sends CRL to verifiers at regular
intervals.
Problems?
Source: http://www.rsasecurity.com/rsalabs/node.asp?id=2283
CRLs

Problems similar to blacklists with credit card
companies


Database is periodically pruned, but still very large
Time delay between certificate being revoked and
revocation being published in CRL

Widely-used CRLs have too many verifiers to be
able to effectively use the “push” method.

Susceptible to DOS attacks

Is the software default to accept or reject the certificate?
Sources: 18-730 (Reiter), http://www.imc.org/ietf-pkix/old-archive-01/msg02256.html
OCSP

RFC 2560

Request / response protocol


Verifier receives up-to-the-minute status info
Status list parsed server-side


Responder only sends back relevant info, reducing traffic
Responder may require requests to be signed


Allows for billing mechanisms to be put into place
Still vulnerable to DOS attacks
Source: http://www.openvalidation.org/whatisocsp/whatocsp.htm
Encrypting email with PKI

Lotus Notes/Domino makes it easy to encrypt
messages because of its use of PKI.
Encrypting email with PKI

If the key exists locally,
encrypt and send the
message.

If not, contact LDAP
server and download
key.
Encrypting email with PKI

If key is signed by the CA, not revoked, and owner
is correct:



Save to local keyring
Encrypt message and send
If incorrect owner, revoked, or unsigned, error out.
Encrypting email with PKI

Behind-the-scenes look & demonstration . . .
Problems with PKI

System was originally envisioned as encompassing
entire globe.



Would require one root CA or a specific and unchanging
list for each government.
Governments are fickle and don’t like to trust each other.
Additionally, Balfanz, Durfee, and Smetters identify
four usability problems with PKI.
Problems with PKI

Public-key cryptography is counterintuitive.


What on earth are public and private keys? What is a
certificate?
PKI seems too far removed from application goals.

Users do not understand how their tasks require PKI.

PKI tasks are too cumbersome.

Large CAs run into naming collisions.

Users shoulder the burden of ensuring that the person they’re
looking up is indeed the person they want.
Source: Security and Usability, ch. 16.
SPKI (Simple PKI)

Similar to X.509, but names are local rather than global.

Certificates are used to bind authorizations rather than
identities to public keys.

Possible uses (from RFC 2692):






Grants permission to write electronic checks.
Digital marriage license / divorce decree.
DC Metro farecard
Proof of degree earned (M.D., Ph.D., etc.)
Permission to issue nuclear launch codes
Thoughts?
Source: http://theworld.com/~cme/html/spki.html
PGP’s Web of Trust

Public / private keys with an attached name, email address,
and optional photo.

No centralized CA to sign keys.



PGP users sign keys when they’ve verified the owner’s identity,
so in essence each PGP user is acting as a CA.
Your trust of a public key is related to how many signing “hops”
you are away from that key and how much you trust each signer
along the route.
Decentralized key distribution – users send keys.

Key servers have popped up to fill the role of the CA in key
distribution.
PGP’s Web of Trust
PGP’s Web of Trust
PGP’s Web of Trust

Makes key management issues very apparent

Web of trust depends on end users verifying and signing large
quantities of keys.

Does a user understand what type of commitment he makes
by signing a key?

Just how much trust is placed in a key 3 hops away? What
about 4 hops?


Trust disappears after a default of 2 hops, maximum 8 hops
(PGP 9.0).
Thoughts?
Robot CAs

Public / private keys without a central CA.

Robot is a trusted, neutral third party whose signatures
provide some validation for email addresses:
1.
2.
3.

User uploads public key to robot CA.
Robot signs key and sends encrypted signature to email
address present in public key.
Recipient decrypts message to retrieve signed key, then
redistributed public key with robot’s signature attached.
Effectively invalidates signatures on keys not belonging to
the email addresses listed for them.
Source: http://jameshoward.us/Robot_Certificate_Authority
Robot CAs
Attempts to solve some of the key management
issues in PGP:



If key verifier’s software automatically places trust in the
robot’s signature, then keys can be downloaded from a
key server automatically by the email client.
Burden is on the key creator to get the key signed by
robot.

Process can probably be automated even at the
creation end with the right software.

Thoughts?
The fun part!
Groove Virtual Office demo . . .


www.groove.net
Download