Public Key Infrastructure › dl › weekendconference2013 › slides ›...

27
Public Key Infrastructure Towards a reliable revocation status checking method Keith Vella Licari [email protected] Royal Holloway, University of London Weekend Conference 2013

Transcript of Public Key Infrastructure › dl › weekendconference2013 › slides ›...

Page 1: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Public Key InfrastructureTowards a reliable revocation status

checking method

Keith Vella [email protected]

Royal Holloway, University of LondonWeekend Conference 2013

Page 2: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Agenda

● About me● Project approach● Certificate status validation (CSV) methods● What could go wrong?● Criteria to evaluate CSV methods● Revocation Status Discovery Protocol (RSDP)● Next steps● Project tips

Page 3: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Connecting the dots

● 1978: Born● 1990: First computer in the house (386SX)● 1991: Took dad’s computer apart● 1994: Purchased own computer (486DX4)● 1994: Became interested in networking (BBSs)● 1995: Started using the Internet (dial-up)● 1998: Started working in IT● 2001: Branched off to information security

Page 4: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Connecting the dots

● 2003: Involved in the design and implementation of PKI-enabled secure messaging and a remote access solution

● 2007: Involved in a project that delivered a PKI to support services offered by the Government of Malta

● 2007: Proposed and developed an alternative certificate status validation (CSV) method

● 2013: Developed a set of criteria to evaluate CSV methods and proposed the Revocation Status Discovery Protocol (RSDP)

Page 5: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Project approach

● Identified a challenge in a context● Looked at the project work as my contribution to

help address the identified challenge● Reviewed state of the practice/art● Identified shortcomings/security weaknesses in

existing methods● Identified requirements for an alternative method● Proposed an alternative method

Page 6: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Responding to security threats

Security threats

Security mechanisms

CURTAIL

Security services

PROVIDE

Digital signature

Data origin authenticationData integrity

Tampering

Page 7: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Alice Mallory

Key exchange in public key crypto

Bob

Alice

Trent

Bob

Certificate Certificate

Page 8: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Issuing bank

Card holder Merchant

Card payment processing

Card

1 2

3

4

1 Request card

2 Issue card

3 Transact with merchant

4 Verify card status

Acquiring bank

Page 9: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

PKI Participants

Issuing CA

Relying partySubscriber

Relying party CA

Certificate

1 2

3

4

1 Request certificate

2 Issue certificate

3 Transact with relying party

4 Verify certificate status

Page 10: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

5 Fund transfer

Typical scenario

3

5Issuing bank

Card holder Merchant

Acquiring bank

Relying party Subscriber

Issuing CA Relying party CA

2

1

4

1 Entity authentication

2 Validate certificate

3 Submit payment info

4 Request authorisation

Page 11: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Digital certificate (X.509)

Standard guarantee offered by a certificate: “This certificate is good until the expiration date. Unless, of course, you hear that it has been revoked”. (Rivest)

Page 12: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Certificate validation

● Certificate discovery: collect issuing CA certificate and all CA certificates up to the root and carry out expiry check

● Path validation: verify digital signatures one by one up to the root

● Revocation checking:○ Periodic publication mechanisms (e.g. CRL)○ Online query mechanisms (e.g. OCSP)

Page 13: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Example

Page 14: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Pointers to revocation status service

CRL method OCSP method

Page 15: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

CRL check

Certificate CRL

Page 16: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

OCSP check

RequestOCSP Request Data: Version: 1 (0x0) Requestor List: Certificate ID: Hash Algorithm: sha1 Issuer Name Hash: 39AF18B41C021F39109656FDC6D358EF74858B99 Issuer Key Hash: 4E43C81D76EF37537A4FF2586F94F338E2D5BDDF Serial Number: 77085914F9CB7A7FC924B84F755708CB Request Extensions: OCSP Nonce: 041075DD789343AFE0484E4D24B4329D6BF4

ResponseWARNING: no nonce in responseResponse verify OKtest-sspev.verisign.com: revoked This Update: Jul 11 08:21:17 2013 GMT Next Update: Oct 5 10:04:24 2013 GMT Reason: unspecified Revocation Time: Oct 30 22:20:23 2012 GMT

Page 17: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

What could go wrong?

Main issues:

CRL OCSP Lightweight OCSP

Can easily become large and unwieldy

Ambiguous answer (good|revoked|unknown)

Pre-produced responses

Timeliness (delay until next update)

Only definitive answers are digitally signed

Only definitive answers are digitally signed

Scalability (self-inflicted DDoS)

Optional protection against replay attacks

No protection against replay attacks

Page 18: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Internet browser statistics

Page 19: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Default setting

Page 20: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Proprietary method (not online)

Page 21: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Alternative method (naïve)

1

Relying partyCertificate

status service(DNS)

2

5

1 Extract serial number

2 Send status request

3 Lookup pre-produced response

4 Send response to requester

Security service/s

Data origin authentication

Data integrity

4

3

5 Verify signature

6 Read status in response

6

Page 22: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Criteria to evaluate CSV methods

Design Performance Security

Simplicity Status accuracy Protection against impersonation attacks

Uniqueness of target certificate identifier

Scalability Protection against manipulation

Unambiguity of certificate status information

Size of request Protection against replay attacks

Completeness Size of response Protection against sniffing

Extensibility Demand smoothness Auditability

Page 23: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Revocation Status Discovery Protocol (RSDP)

1

Relying partyCertificate

status service(TLS)

3

2

1 Compute certificate identifier (fingerprint)

2 Construct URL (using fingerprint)

3 Establish TLS connection with responder

4 Send status request

Security service/s

Entity authentication

Confidentiality

Data origin authentication

Data integrity

6

5

5 Lookup pre-produced response

6 Send response to requester

4

7 Verify signature

8 Read status in response

8

7

Page 24: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Next steps

● Alternative evaluation

● Peer/Expert review

● Practical implementation

● Standardisation

Page 25: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Recap

● Highlighted the need to validate certificate status

● Looked at 2 standard and 1 proprietary certificate status validation (CSV) methods

● Reviewed challenges in the use of CSV methods

● Introduced evaluation criteria for CSV methods

● Looked at the proposed Revocation Status Discovery Protocol (RSDP)

Page 26: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Project tips

● Get started as early as you can● Choice of optional modules is key● Use your project supervisor wisely● Make use of resources/subscriptions provided● Focus on analysis rather than implementation● Use reference management software

Page 27: Public Key Infrastructure › dl › weekendconference2013 › slides › Keith_Vella_Licari.pdfPublic Key Infrastructure Towards a reliable revocation status checking method Keith

Further reading

Books/Papers

● Adams, C. and S. Lloyd, Understanding PKI : concepts, standards, and deployment considerations

● Georgiev, M., et al.,, The most dangerous code in the world : validating SSL certificates in non-browser software

● Gutmann, P., Engineering security● Kohnfelder, L. M., Towards a practical public-key cryptosystem● Marlinspike, M., Defeating OCSP With The Character '3'● VeriSign Inc., VeriSign update on certificate revocation list

expiration

Standards

● CRL method - X.509, RFC 5280● OCSP method - RFC 2560● Lightweight OCSP - RFC 5019