Document not found! Please try again

Introduction to Cryptography and Public Key

0 downloads 0 Views 6MB Size Report
Jul 1, 2018 - status, backup of, recovery of Certificates. Page 3. CST 1st July 99/3. © Entegrity Solutions. Best Known PKI Example, SSL v2 ...
Enabling Electronic Commerce through Public Key Infrastructures ENTEGRITY Solutions J. Hughes [email protected] www.entegrity.com

© Entegrity Solutions

CST 1st July 99/1

What is PKI?  It is a technology:  Public Key/Private Key algorithms that can be used for key distribution, encryption and digital signing.

 It is an infrastructure:  Certificates - a document that ties a specific Public Key to an individual or entity.  Certification Authority - registers certificates providing assurance to the veracity of the Certificate and the relationship between the Certificate and individual.  Administrative tools for storing, distributing, revoking, verifying status, backup of, recovery of Certificates

© Entegrity Solutions

CST 1st July 99/2

Best Known PKI Example, SSL v2

© Entegrity Solutions

CST 1st July 99/3

Why Public Key Cryptography?  Distribution of “client” keys using traditional secret key cryptography not scaleable  Any given two parties wishing to communicate need to share the same (secret) key material  n(n-1)/2 problem.  3 entities=>3 keys: 10 entities=>45 keys: 1000 entities=>499,500 keys

 Requirements for Non-repudiation dictate that:  Secret key cryptography not viable (both parties know secret)  Originator needs a “secret” that the recipient does not possess  Onus on protecting the “secret” is on the originator

© Entegrity Solutions

CST 1st July 99/4

Summary of Public Key Cryptography  Technology uses two keys :  Public Key - can be made public, i.e. published  Private Key - must be held secret (e.g. on a Smart Card)

 The two keys are mathematically linked and are generated at the same time - however when generated it is “impossible” to determine one key from the other  Three primary technologies available  RSA: based on a factorization problem  Diffie-Hellman: based on a discrete logarithm problem  DSA: based on a discrete logarithm problem

 Although Public keys can be made Public they need to be “signed” i.e. certified by an authority as being “Good and True” © Entegrity Solutions

CST 1st July 99/5

Why Certificates?  On the Internet, no one knows who you are.

 You want to maintain integrity and non-repudiation of signed documents  You cannot trust a simple public key  Trivial to forge -- just generate another key pair  Need to tie key and identification together

 Need to have the concept of a Public Key being “certified” by a known and trusted entity

© Entegrity Solutions

CST 1st July 99/6

How a Certificate Works

•Certificate is returned to end entity

 Alice

Alice’s Certificate



• Third party (CA) verifies supporting documents and signs certificate • CA signs certificate containing  user’s DN, public key, and •User creates key pair other attributes User attaches public key to userid information •User sends to 3rd party authority

© Entegrity Solutions

CST 1st July 99/7

Using A Certificate If the extensions are valid & the certificate valid, the site may use the certificate to grant access & allow the user to conduct & sign a variety of transactions.

 Alice

Alice’s Certificat e “Token”

Check CRL & add’l data elements

  User presents their certificate to a remote site.

© Entegrity Solutions

CST 1st July 99/8

Certificate Verification: Chain of Trust Certificate Authority

Alice trusts the CA and the veracity of its certificate

The CA has vouched for Bob’s identity and public key

Alice

Can Alice Trust Bob?

Bob

 Alice trusts Bob’s identity and public key © Entegrity Solutions

CST 1st July 99/9

Certificate Revocation  Certificate Revocation Lists (CRL)

 CRL Distribution Points (CDP)  Open CRL Distribution Points  OCSP (Online Certificate Status Protocol)

© Entegrity Solutions

CST 1st July 99/10

CRL Processing CERTIFICATE AUTHORITY

1 CA Publishes A CRL on timed basis

DIRECTORY SERVICE

2 Local CRL is stale Client fetches latest CRL

Bob

© Entegrity Solutions

CST 1st July 99/11

Key Management Requirements  Key Generation

 Key Distribution  Key Activation  Key Replacement or Key Update

 Key Revocation  Key Termination

© Entegrity Solutions

CST 1st July 99/12

Certificate Management Protocols END ENTITY

PUBLISH CERT

OUT OF BAND LOADING

REGISTRATION RECOVERY UPDATES REVOCATION

CERT CRL REPOSITORY

FETCH CERT- CRL (LDAP/FTP)

END ENTITY

RA PUBLISH CERT PUBLISH CERT & CRL

LOCAL CA QUERY CERT/CRL (OCSP)

OUT OF BAND PUBLICATION

X. CERT

REMOTE CA © Entegrity Solutions

CST 1st July 99/13

“Certification” Approaches  Face to Face  User goes to RA/CA and issued with some type of Token with keys loaded  Tokens are: • Proprietary • PKCS#12 -import/export • PKCS#15 - v1.0 of spec now issued - at least 2 products claim support

 Client Web  Client generation  typically combination of web and e-mail

 Hybrid (split keys)  Token issued + client generation (typically conf keys at RA/CA auth keys at client) © Entegrity Solutions

CST 1st July 99/14

Client Generation  There are many permutations. Add in Token variations then always need to “qualify” a CA - especially if “close integration” is required.  encapsulation protocol • PKCS#7/PKCS#10, VeriSign, PKIX CMP/CRMF or PKIX CMC/CMS

 transport • http or e-mail plus “MIME” encodings. It could also be multi stepped. Possible to perform this manually

 Authentication • Whether performed, and how.

© Entegrity Solutions

CST 1st July 99/15

Client Generation CERTIFICATE AUTHORITY

1

Manual or automatic authentication

Web Request to get Trusted Cert

3 Request Cert of Public Key (SSL)

4 Email of URL for Cert location

5

Web “get” of Cert

2

Alice

Create Key Pairs

© Entegrity Solutions

CST 1st July 99/16

Token issuing model CERTIFICATE AUTHORITY

1

5 Publish Certificates

Create Alice’s Token

DIRECTORY SERVICE

using LDAP

“Post” Token to Alice

2 4 Request Certification of Public Keys

3

Alice

Create Key Pairs (Signature & Confidentiality) © Entegrity Solutions

CST 1st July 99/17

PKI Infrastructure - (Centralized and Client Generation) CERTIFICATE DIRECTORY

1

AUTHORITY Create Confidentiality Key Pair

2

6 Publish Certificates

SERVICE

using LDAP

Create Alice’s Token

“Post” Token to Alice

5

3

Back Up Private Key

Request Certification of Signature Public Key

4

Alice

Create Signature Key Pair © Entegrity Solutions

CST 1st July 99/18

Secure messaging THIS IS A zCT?*Dtyshd SENSITIVE jT67e9&54n REQ (gHya£@][Tlq Signed: PO

Supplier Project Office

Client Project Office

Verify from Supplier HQ

CONTRACT T&C zCT?*Dtyshd jT67e9&54n (gHya£@][Tlq

Verify from P.O. CONTRACT T&C zCT?*Dtyshd jT67e9&54n (gHya£@][Tlq

Contracts

Verify from Client Contracts

Signed: PO Signed: SUP HQ

Signed: PO

Signed: Contracts

Verify from Supplier HQ

ACK RECEIVED ITT

SUPPLIER HQ

Signed: SUP HQ © Entegrity Solutions

CST 1st July 99/19

SECURE MESSAGING - KEY EXCHANGE (CONFIDENTIALITY) RECIPIENT GENERATES KEY PAIR

ORIGINATOR. GENERATES DEK

CA SIGNS PUBLIC KEY -> CERT

2

1

4

CA ORIGINATOR FETCHES CERT

DEK ENC BY KEK

6

5 KEK DECRYPT DEK

9

3

DECRYPT DATA

10 X.500 HOLDS USER’S CERT

7 DATA ENC BY DEK

8 © Entegrity Solutions

CST 1st July 99/20

Secure Sockets Layer  Originally developed and published by Netscape Communications.  Has now been superceded by the TLS (Transport Layer Security) definition approved in RFC 2246.  Provides link at the Transport Level.  Secures the channel of communication and not the application.  Widely deployed in browsers and web servers

 Provides following security services    

Server authentication Confidentiality Integrity Optional client authentication

© Entegrity Solutions

CST 1st July 99/21

SSL Handshake

Client

Server

ClientHello ServerHello Certificate* CertificateRequest* ServerKeyExchange

ClientKeyExchange Certificate* CertificateVerify* Changecipherspec Finished

Application Data © Entegrity Solutions

Changecipherspec Finished

Application Data CST 1st July 99/22

SSL Data Stream  Data is transmitted with a Message Authentication Code (MAC) - not a digital signature

HEADER

MAC

DATA

Encrypted Content

© Entegrity Solutions

CST 1st July 99/23

Plugging in the gaps  SSL does not address:  Access Control • Access control can only be provided using client-side authentication. • Access control solutions using SSL differ between different operating systems.

 Non-repudiation • SSL does not support non-repudiation.

© Entegrity Solutions

CST 1st July 99/24

Form Signing  Ability for a Web User to submit a signed “form”

 Provides digital signature verification and basis of nonrepudiation  Products  UWI  AssureWeb

© Entegrity Solutions

CST 1st July 99/25

Analyzing Current Options PRO S/MIME

SSL

IPSEC

© Entegrity Solutions



Able to provide non-repudiation services based on digital signature technology



Fine granularity on protection of objects (e.g. messages, web pages)

 



CON 

Intrusive into an application, That is a messaging application would have to be extended to support S/MIME

It is application protocol independent



Minimal impact on applications – can easily be placed in a communication stack under the Winsock layer.

Only protects a communications channel – not objects within the channel



No non-repudiation services



Current implementations not well integrated into PKI products



Only protects IP packets – no objects within the connection



No non-repudiation services



Current implementations not well integrated into PKI products



Set up and use is complicated

Well suited for securely linking “islands of trust” in which simple confidentiality and integrity services are provided. For instance linking branch offices through the world within a single company.

CST 1st July 99/26

Application restrictions to watch out for!  Many “out of the box” PKI-enabled applications are poorly integrated into a PKI.  For instance:    

no automatic fetching of CRLs no automatic fetching of recipients certificates no support for cross-certification or hierarchies generating a certificate is a slow multi-step process

 The above is particularly true for Web Browsers and to a less extent secure e-mailers

© Entegrity Solutions

CST 1st July 99/27

Questions & Answers

© Entegrity Solutions

CST 1st July 99/28