pki and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003...

32
@ @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik / [email protected] PKI and x509

Upload: others

Post on 18-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@@semantics - roma - san francisco - oslo - leiden

© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

Dirk-Willem van Gulik / [email protected]

PKI and x509

Page 2: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 2© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Basics

• Trust

• Technical options

• Conclusion

• Questions

Overview

Page 3: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 3© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Cyphers - symmetric encryption (DES, AES)

• hard to break

• does not leak

• computationally light; longer keys ok

• problem: shared secret

• feature: shared secret

Basics 1/3

Page 4: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 4© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Public key cryptography

• public (91) and private (7, 13) pair

• lockbox/valve function

• expensive to calculate

• can leak

Basics 2/3

Page 5: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 5© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Typical use (SSL, PGP, S/MIME)

• Use PK to establish trust

• Exchange a session key

• Use symmetric crypt with session key

• Compromise: avoids shared secret penalty - yet allows trust, avoids leaking and intensive calculations.

Basics 3/3

Page 6: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 6© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Prelude to a transaction

• How much trust is needed ?

• Who needs to trust whom ?

• Fortified by a receipt after the transaction

• Non-repudiation

• Business transactions are NOT symmetric.

Trust

Page 7: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 7© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Burden/penalty for “leaking” often lopsided

• Shared secrets too painful to manage

• distribute, logistics

• PK: verify possesion of private key matching a public key

• keep your own list or trust a third party

Practical Trust

Page 8: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 8© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Keep your own list

• It’s a pain

• No blame-game when you get it wrong

• (but you may need to do it anyway)

• Let a third party do that: Certificates

• Need to trust them; biiig waiver

• (but it may be needed anyway (D&B,KvK))

More Practical Trust

Page 9: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 9© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Descriptive metadata (name, email)

• Validity/use “rules”

• The Public key

• Perhaps some signatures of others

• Conveniently packaged (PGP, x509)

Certificate

Page 10: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 10© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• x509

• binary file format to conveniently pack public keys and some metadata

• SSL, S/MIME

• Proof possession of private key of certificate shown to each other

• Agree session key and Encrypt payload

Technology

Page 11: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 11© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• No certificate at all

• Just a certificate (plain/self-signed)

• proof that you a have a private key

• A certificate signed by “someone else/CA”.

• proof that you have a private key

• and also showed that fact to the ‘CA’

Baseline Options

Page 12: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 12© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Prove that you are talking to RIPE

• why ?

• Prove ‘who’ you are

• why ?

• Implicit non repudiation

• IF the private keys are ‘a key’.

RIPE / RIR

Page 13: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 13© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

Options

server 3rd Partysigned

RIPEself signed

NOTsignedclient

3rd Partysigned

RIPE signed

Customer self signed

No Certificate

Page 14: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 14© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

Options

server 3rd Partysigned

RIPEself signed

NOTsignedclient

3rd Partysigned

RIPE signed

Customer self signed

No Certificate

Page 15: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 15© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Each option is available in COTS

• “Trust” is configurable

• as explicit user decision pain.

• as ‘hidden’ and accepted.

• And if you care enough in ‘real life’ (£€$)

• Set aside dedicated hardware/room

(reality check)

Page 16: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 16© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Hardware tokens

• Chipcards

• iButton’s

• RSA SecurID

• Paperware

• s/key, list of one time tokens

other options

Page 17: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 17© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• One ‘Server’

• Many ‘Clients’

• Asymmetric business relation:

Clients want something from the server

Server acceptable to the client

Basis for a transaction

Client / Server

Page 18: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 18© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Clients just trusts a certain third party

• This third party has established the servers identity to its satisfaction.

• That is ‘enough’ for the client to satisfy the business related trust needed by the client for the transaction with the server.

• ‘enough’: generally yes...

Server 3rd Party Signed

Page 19: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 19© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Server just trusts a certain third party

• This third party has established the clients identity to its satisfaction.

• That is ‘enough’ for to satisfy the business related trust needed by the server for the transaction with the client.

• ‘enough’: generally no...

Client 3rd Party Signed

Page 20: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 20© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• i.e. a Self signed certificate

• Clients have to trust that the Server can manage their own keys and identity

• (and propably a whole lot more)

• Thus: axiomatically good enough for the business transaction

Server: RIPE signed

Page 21: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 21© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• i.e. client generated certificate (public key) is signed by RIPE.

• Client does not care if RIPE signs carelessly

• except if they sign a key with the same metadata as their own ? non-issue

• Server has to trust its own keys

Client: RIPE signed

Page 22: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 22© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Server needs to keep track of client certificates of customers.

• Really - this is just keeping a ‘list’

• Server has to trust that the client did not leak their key.

Client: self signed

Page 23: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 23© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• You are going to trust something

• Your own list of keys

• just RIPE’s / just your customers

• Your own ‘CA’

• Or some third party CA

• Premisse: that they key is ‘key’.

Roundup

Page 24: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 24© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Publish your ‘root’ certificate

• CommonName (CN), Validity range

• Fingerprints

• Rollover procedure

• or alternatively

• have it signed by a “well known” CA

“CA” role

Page 25: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 25© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Certificates go ‘bad’

• Short Time to live

• Revocation list

• “Backoffice” check

Problem: Revocation

Page 26: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 26© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Need to re-issue a lot

• Inherently less leaky - more secure

• Inherently more automated - and thus easier to subvert.

• Easy to stop very early in the SSL exchange

Revocation: Short TTL

Page 27: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 27© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• List of invalid certificates

• kept at the server

• Must be distributed:

• if third parties rely on your trust statement/signature.

• signed by the same private root-ish key which originally vouched for the validity.

Revocation Lists 1/2

Page 28: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 28© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• Issue versus recall of certificates

• not symmetric in terms of biz/legal meaning

• always err on the safe side

• very different admin roles.

• yet both need access to sensitive key.

Revocation Lists 2/2

Page 29: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 29© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• First Check for validity (signature, dates)

• easy, during SSL exchange

• no valuable info on the web server

• Then check with the backend

• Lot of resources in motion

• But you may need to do it anyway.

Revocation: backstop

Page 30: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 30© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• What trust is needed ?

• Burden of trust on whose side ?

• Who is weak, who is strong ?

• Who gets blamed if it went wrong ?

• Who can make sure it does not go wrong ?

• Who is not penalized when he fails ?

Bottom Line

Page 31: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@semantics - roma - san francisco - oslo - leiden 31© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

• At a minumum

• Self signed RIPE cert for the server must be acceptable.

• RIPE signed client certs ought to be acceptable

• Self signed certs of clients may be quite acceptable due to workflow/biz-process.

Conclusion

Page 32: PKI and x509 - meetings.ripe.net · @semantics - roma - san francisco - oslo - leiden © 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence. Dirk-Willem van Gulik

@@semantics - roma - san francisco - oslo - leiden 32

© 2003 @Semantics S.R.L., All Rights Reserved, Commercial in Confidence.

Questions ?

Dirk-Willem van Gulik <[email protected]>