60
Public Key Infrastructures Gene Itkis [email protected] Based on “Understanding PKI” by Adams & Lloyd

PKI by Gene Itkis

Embed Size (px)

DESCRIPTION

PKI by Gene Itkis

Citation preview

Page 1: PKI by Gene Itkis

Public Key Infrastructures

Gene [email protected]

Based on “Understanding PKI” by Adams & Lloyd

Page 2: PKI by Gene Itkis

What and How?

Page 3: PKI by Gene Itkis

Services

Secure communication Notarization Time-Stamping Non-Repudiation Privilege Management

– Authorization & Authentication– Authorization & Policy Authorities– Delegation

• Blind vs. Auditable

Page 4: PKI by Gene Itkis

PKI and the Services

CLAIM: PKI can help in all Question (subjective – GI)

– Where is the source of trust in all these?– Suggestion (subjective – GI)

• Try to do the same without PKI, using only symmetric techniques (usually possible!); find the problem; see how this problem is manifested and addressed in the PKI solution.

• Easier to “cheat” (including yourself!) with PKI. Symmetric techniques are more explicit.

Make all the security & trust assumptions explicit!

Page 5: PKI by Gene Itkis

Mechanisms

Crypto– Signatures, hash, MAC, ciphers

Infrastructure– Tickets– Certificates– Authorities (Trusted Third Parties)

• Ticket Granting, Key Distribution• Certificate, Policy, Authorization,Time, Notary, etc.• Archives

Page 6: PKI by Gene Itkis

Pitfalls Security breaches

– Key compromises Inherent difficulties

– Revocation Negligence

– Certificates are routinely not checked or some of the attributes ignored

– Alarms and warnings ignored (“certificate not valid. Press OK to proceed.”)

Inconsistencies & human factors(“that’s not what I meant by this policy!”)

Page 7: PKI by Gene Itkis

Certificates

Page 8: PKI by Gene Itkis

Certificates

Introduced in 1978[Kohnfelder’s Bachelor’s thesis]

X.509 – “the standard standard” today– v.1 (1988) – not extendable– v.2 – not much better– v.3 (1997) is much better – optional extensions

Today, X.509=v.3– Many other standards extend X.509

Others– PGP, SPKI, etc.

Page 9: PKI by Gene Itkis

Certificates

Certificates Signature– Certificates are implemented using Signatures

Certificates Authentication– Authentication can be implemented using

Certificates– Same for Authorization, etc.

Certificates are static– Change => Re-Issue

• *This could be challenged, but not in standard x509

Page 10: PKI by Gene Itkis

X.509 Certificate Format

See [AL] pg.76

Page 11: PKI by Gene Itkis

Certificate Validation

Integrity: signature is valid Signed by a trusted CA

– or certification path is rooted in a trusted CA

Certificate is valid now: – We are between Not Valid Before and Not Valid

After time points in the certificate

Not Revoked Use is consistent with the policy

Page 12: PKI by Gene Itkis

Alternatives to X.509

Brief detour

Page 13: PKI by Gene Itkis

SPKI – A Simple PKI

Authorization certificates Delegation SDSI – a Simple Distributed Security

Infrastructure Question #1:

it may be very nice, but will it ever be used by anyone?

Page 14: PKI by Gene Itkis

PGP – Pretty Good Privacy

Tendencies– Email

• Incompatibilities between PGP and S/MIME

• OpenPGP v6.5 supports x509 certs, but still…

– Personal (rather than corporate)

Page 15: PKI by Gene Itkis

SET – Secure Electronic Transaction

Credit card payment protocol Adopts and extends X.509

– See [AL] pg.84

Page 16: PKI by Gene Itkis

Back to X.509

End detour

Page 17: PKI by Gene Itkis

Infrastructure:Policies and Authorities

Page 18: PKI by Gene Itkis

Certificate Policies

Certificate Policy– “high level what is supported” document

CPS – Certification Practice Statement– “detailed, comprehensive, technical how policy

is supported” document

No agreement on the roles and meanings of the above

Might be not public; hard to enforce

Page 19: PKI by Gene Itkis

Certificate Policies

Distinguished by OIDs (Object ID)– “form letters”

Equivalences– Policy Mapping ext. declare policies equivalent

Established & registered by Policy [Management] Authorities– Internal – e.g. corporate – External – community

Page 20: PKI by Gene Itkis

CA – Certification Authority

Issuer/Signer of the certificate– Binds public key w/ identity+attributes

Enterprise CA Individual as CA (PGP)

– Web of trust

“Global” or “Universal” CAs– VeriSign, Equifax, Entrust, CyberTrust, Identrus, …

Trust is the key word

Page 21: PKI by Gene Itkis

RA – Registration Authority

Also called LRA – Local RA Goal: Off-load some work of CA to LRAs Support all or some of:

– Identification– User key generation/distribution

• passwords/shared secrets and/or public/private keys

– Interface to CA– Key/certificate management

• Revocation initiation• Key recovery

Page 22: PKI by Gene Itkis

PKI management

Page 23: PKI by Gene Itkis

Key & Certificate Management

Key/Certificate Life Cycle Management– Identity Key. Focus on Key!

Stages Initialization Issued (active) Cancellation

• Generation

• Issuance

• [Usage]

• Cancellation

Page 24: PKI by Gene Itkis

Initialization Registration

– Via RA– Identity verification

• According to CP/CPS docs– If on-line, should be protected+authenticated (?)(?)– Secret shared by user and CA

• New or pre-existing relationship

Key pair generation Certificate creation & delivery [Key backup]

Page 25: PKI by Gene Itkis

Key pair generation Where? (by who?)

– CA– RA– Owner (e.g. within browser)– Other Trusted 3rd Party

What for?– Non-repudiation owner generation

Dual key pair model– Separate key pairs for authentication,

confidentiality, etc.

Page 26: PKI by Gene Itkis

Key pair generation Performance

– Laptop, smart cards – used to be too slow• Today – many smart cards can generate own keys

– Centralized generation • Scalability: bottleneck for performance & security

Assurance– “Is the smart card’s random number generator

good enough?”– Minimal security requirements guarantees

Legal/Liabilities– Who to sue? Who backs up above assurances?

Page 27: PKI by Gene Itkis

Certificate Creation+Distribution

Creation – CA only Distribution (to the owner)

– Certificate only– Certificate + private key

• Deliver key securely!– X509 rfc2510

– Direct to owner– To depository– Both

Page 28: PKI by Gene Itkis

Certificate dissemination

Out-of-band Public repositories

– LDAP-like directories– Used mostly for confidentiality

In-band– E.g. signed e-mail usually carries certificate

Issues:– Privacy, scalability, etc.

Page 29: PKI by Gene Itkis

Key backup

Backup Escrow– Backup= only owner can retrieve the (lost) key– Escrow= organization/government can retrieve

the key even against owner’s wish

Non-repudiation conflicts with Backup

Where & how to backup securely???

Page 30: PKI by Gene Itkis

Issued Phase

Certificate retrieval– To encrypt msg or verify signature

Certificate validation– Verify certificate integrity+validity

Key recovery– Key backup – automate as much as possible

Key update– When keys expire: new certificate [+new keys]

Page 31: PKI by Gene Itkis

Certificate Cancellation

Certificate Expiration– Natural “peaceful” end of life

Certificate Revocation– Untimely death, possibly dangerous causes

Key history– For owner: eg to read old encrypted msgs

Key archive– “For public”: audit, old sigs, disputes, etc.

Page 32: PKI by Gene Itkis

Certificate Expiration

No action Certificate renewal

– Same keys, same cert, but new dates– Preferably automatic– but watch for attributes change!

Certificate update– New keys, new certificate

Page 33: PKI by Gene Itkis

Certificate Revocation

Page 34: PKI by Gene Itkis

Certificate Revocation

Requested by– Owner, employer, arbiter, TTP, ???, …

Request sent to – RA/CA

Mechanisms for Revocation checks– Certificate Revocation Lists (CRLs)– On-line Certificate Status Protocol (OCSP)

• Will it live? (SCVP)

Revocation delay– According to Certificate Policy

Page 35: PKI by Gene Itkis

Publication Mechanisms

Complete CRLs Authority Revocation Lists (ARLs) CRL distribution points (partition CRLs) Delta CRLs Indirect CRLs Enhanced CRL distribution points &

Redirect CRLs Certificate Revocation Trees (CRTs)

White lists vs Black lists

Page 36: PKI by Gene Itkis

CRL versions

Version 1 (from x509 v1)– Flaws:

• Scalability

• Not extendable

• Can replace one CRL with another

Version 2 (similar to x509 v3)– Extensions

• critical and non-critical

• Per-CRL and per-entry

– Format: see [AL] pg.112

Page 37: PKI by Gene Itkis

Complete CRLs

Advantage:– Self-contained, simple, complete

Problems:– Scalability

• CRL may grow too big

– Timeliness• Also results from CRL size

Conclusion: appropriate for some domains

Page 38: PKI by Gene Itkis

Authority Revocation Lists

ARL = CRL for Cas– Revokes certificates of Cas– Rarely needed/used

• Decommissioned

• Compromised

Page 39: PKI by Gene Itkis

CRL Distribution Points

Partition CRL into smaller chunks Static partitions:

– Certificate points to its CRL distribution point

Dynamic partitions– Enhanced/Redirect CRL DPs

• Certificate points to a Redirect CRL

• Redirect CRL directs to the proper CRL partition

Page 40: PKI by Gene Itkis

Delta CRL

Incremental change – From Complete or Partition CRL

– CRLnew=BaseCompleteCRLold + DeltaCRL

– Possibly many DeltaCRLs from same BaseCRL• E.g. complete CRL issued once a week, and a new

DeltaCRL (containing the previous DeltaCRLs) issued every day

Page 41: PKI by Gene Itkis

Indirect CRL

Combines CRLs of many CAs– Potentially a “for fee” service by T3rdP

Page 42: PKI by Gene Itkis

Certificate Revocation Trees

– Valicert [Kocher]– Based on Merkle’s hash trees– Similar/Relevant work: [Micali; Naor&Nissim]

Construct hash-tree; leaves – certificates Sign root To verify a certificate in the tree: path from

the certificate to root + the siblings Certificate Owner can offer proof of not

being revoked as of the current CRT date!

Page 43: PKI by Gene Itkis

Trust modelsTrust models

Page 44: PKI by Gene Itkis

Trust model issues

Who to trust?– Which certificates can be trusted

Source of Trust– How it is established?

Limiting/controlling trust in a given environment

Page 45: PKI by Gene Itkis

Common Trust Models

CA Hierarchy Distributed Web User-centric

Tool Cross-certification

Page 46: PKI by Gene Itkis

Trust – definition(??) “A trusts B = A assumes B will behave

exactly as A expects”– Problem 1: A expects B to try every way of

cheating A that B can find, and A assumes B will do exactly that == A trusts B?

– Problem 2: Is it a tautology? What’s the difference between “assumes” and “expects”?

X trusts a CA = X assumes CA will establish and maintain accurate binding of attributes and PK’s – Maintain? Includes secure the binding, CA’s

keys binding, security, etc…

Page 47: PKI by Gene Itkis

Trusted Public Key

PK is trusted by X when X is convinced the PK corresponds to SK which legitimately and validly belongs only to a specific named entity

Page 48: PKI by Gene Itkis

CA Hierarchy

Tree architecture Single Root CA

– Number of subordinate CA’s• Etc…

– Parent certifies children– Leaves are non-CA (end-) entities

Typically CA either certifies other CA’s or end-entities, but not both

Everyone has Root CA PK

Page 49: PKI by Gene Itkis

Context is important

Privacy Enhanced Mail (PEM) adopted strict hierarchy of CAs approach and failed

DoD could use hierarchy fine

Page 50: PKI by Gene Itkis

Distributed Trust Architecture

A set of independent hierarchies– May evolve as independent historically

Cross-certification or PKI networking– Connect the hierarchies

Fully-meshed – all CAs are cross-certified Hub & spokes or bridge CA

– Not= Hierarchy• No root CA: every end-entity holds its CA PK

Page 51: PKI by Gene Itkis

Web Model

A bunch of root CAs pre-installed in browsers

The set of root CAs can be modified– But will it be?

Root CAs are unrelated (no cross-certification)– Except by “CA powers” of browser

manufacturer– Browser manufacturer = (implicit) Root CA

Page 52: PKI by Gene Itkis

User-Centric

PGP User = her own Root CA

– Webs of trust

Good – User fully responsible for trust

Bad– User fully responsible for trust– Corporate/gov/etc. like to have central control

• User-centric not friendly to centralized trust policies

Page 53: PKI by Gene Itkis

Cross-Certification

Mechanism:– Certificates for CAs (not end-entities)

Intra- vs. Inter- domain One or two directions

– CA1 certifies CA2 and/or CA2 certifies CA1

Control– Cross-certificate limits trust

• Name, policy, path length, etc. constraints

Page 54: PKI by Gene Itkis

Entity Naming

What’s the identity? (the one bound by certificate to the PK [+sk])– If a certificate is issued to “GeoTrust ”, rather

than “Geotrust”, you may be talking to a different entity than what you think

Page 55: PKI by Gene Itkis

Name Uniqueness

X.500 Distinguished Name (DN)– Tree of naming authorities– X.509 Subject is a DN; – IP addresses, email, etc. are similar

Problems– Not too user-friendly– Central naming authority not always there

• => lots of cooperation required from participating entities

Page 56: PKI by Gene Itkis

Names (continued)

So, how useful are names?– SDSI, SPKI, etc – not very– X.509 allows alternative names

• Extensions subjectAltName• If this extension is used Subject name (DN) is not

required

– Global uniqueness – not always crucial– Piggy-back on existing naming/identity

infrastructures

Page 57: PKI by Gene Itkis

Certificate Path

Alice “trusts” CA1– Alice has CA1’s PK in its browser

• CA1’s PK = “trust anchor”– “trust anchor” depends on the model

CA1 certifies CA2; CA2 certifies CA3 CA3 certifies Bob => Alice “trusts” Bob

– Alice associates PK in Bob’s certificate with Bob

Page 58: PKI by Gene Itkis

Certificate Path Processing

Path construction– Aggregation of necessary certificates

Path validation– Checking the certificates and the keys

• Includes all steps of certificate validation

Page 59: PKI by Gene Itkis

Path Construction

“Just a [Shortest] Path graph algorithm” Not so simple – graph is not known

– Edges (certificates) need to be queeried

Once Path Construction is done Path Validation is straight-forward

Page 60: PKI by Gene Itkis

Multiple Certificates per Entity