David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 14: Public Key Infrastructure.

Slides:



Advertisements
Similar presentations
Key Management Nick Feamster CS 6262 Spring 2009.
Advertisements

Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (4) Information Security.
Authentication Cristian Solano. Cryptography is the science of using mathematics to encrypt and decrypt data. Public Key Cryptography –Problems with key.
 Authorization via symmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant.
Cryptography in World War II Jefferson Institute for Lifelong Learning at UVa Spring 2006 David Evans Class 4: Modern Cryptography
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 6 Wenbing Zhao Department of Electrical and Computer Engineering.
Cryptography1 CPSC 3730 Cryptography Chapter 10 Key Management.
Key Management public-key encryption helps address key distribution problems have two aspects of this: –distribution of public keys –use of public-key.
Chapter3 Public-Key Cryptography and Message Authentication.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Topic 11: Key Distribution and Agreement 1 Information Security CS 526 Topic 11: Key Distribution & Agreement, Secure Communication.
03 December 2003 Public Key Infrastructure and Authentication Mark Norman DCOCE Oxford University Computing Services.
Public Key Cryptography RSA Diffie Hellman Key Management Based on slides by Dr. Lawrie Brown of the Australian Defence Force Academy, University College,
Cryptography and Network Security Chapter 10. Chapter 10 – Key Management; Other Public Key Cryptosystems No Singhalese, whether man or woman, would venture.
Security Management.
C HAPTER 13 Asymmetric Key Cryptography Slides adapted from "Foundations of Security: What Every Programmer Needs To Know" by Neil Daswani, Christoph Kern,
Computer Science Public Key Management Lecture 5.
Introduction to Public Key Cryptography
CSCI 6962: Server-side Design and Programming
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Chapter 5 Digital Signatures MSc. NGUYEN CAO DAT Dr. TRAN VAN HOAI 1.
Chapter 14 Encryption: A Matter Of Trust. Awad –Electronic Commerce 2/e © 2004 Pearson Prentice Hall 2 OBJECTIVES What is Encryption? Basic Cryptographic.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Key Management and Diffie- Hellman Dr. Monther Aldwairi New York Institute of Technology- Amman Campus 12/3/2009 INCS 741: Cryptography 12/3/20091Dr. Monther.
David Evans CS200: Computer Science University of Virginia Computer Science Class 36: Public-Key Cryptography If you want.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Cryptography and Network Security (CS435) Part Eight (Key Management)
1 Public-Key Cryptography and Message Authentication.
Computer and Network Security Rabie A. Ramadan Lecture 6.
Cryptography and Network Security Chapter 9 - Public-Key Cryptography
Network Security7-1 CIS3360: Chapter 8: Cryptography Application of Public Cryptography Cliff Zou Spring 2012 TexPoint fonts used in EMF. Read the TexPoint.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Fall 2010/Lecture 321 CS 426 (Fall 2010) Key Distribution & Agreement.
PUBLIC-KEY CRYPTOGRAPH IT 352 : Lecture 2- part3 Najwa AlGhamdi, MSc – 2012 /1433.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
NETWORK SECURITY.
Cryptography and Network Security Key Management and Other Public Key Cryptosystems.
1 Introduction The State of the Art in Electronic Payment Systems, IEEE Computer, September 1997.
X.509 Topics PGP S/MIME Kerberos. Directory Authentication Framework X.509 is part of the ISO X.500 directory standard. used by S/MIME, SSL, IPSec, and.
Topic 14: Secure Communication1 Information Security CS 526 Topic 14: Key Distribution & Agreement, Secure Communication.
ECE509 Cyber Security : Concept, Theory, and Practice Key Management Spring 2014.
Chapter 3 – Public Key Cryptography and RSA (A). Private-Key Cryptography traditional private/secret/single-key cryptography uses one key shared by both.
1 Chapter 10: Key Management in Public key cryptosystems Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal,
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Cryptographic Security Identity-Based Encryption.
1 Hello World and Welcome to The simple crypt Key=23 {txzr7c x7Cr 7d~zg{r 7tengc Private-key Cryptography.
Chapter 4: Public Key Cryptography
Key Management Network Systems Security Mort Anvari.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Cryptography and Network Security Chapter 10 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
Fall 2006CS 395: Computer Security1 Key Management.
1 Chapter 3-3 Key Distribution. 2 Key Management public-key encryption helps address key distribution problems have two aspects of this: –distribution.
Lecture 14 Public Key Cryptography and RSA. Summary principles of public-key cryptography principles of public-key cryptography RSA algorithm, implementation,
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 10: Certificates and Hashes.
Key Management public-key encryption helps address key distribution problems have two aspects of this: – distribution of public keys – use of public-key.
CPIS 312 Chapter Four: PUBLIC KEY CRYPTO. Index 2 A.Introduction A.1 Asymmetric Key Cryptography- Introduction A.2 General ideas about the Public Key.
Key management issues in PGP
Information Security message M one-way hash fingerprint f = H(M)
Information Security message M one-way hash fingerprint f = H(M)
Information Security message M one-way hash fingerprint f = H(M)
Public Key Infrastructure
Information Security message M one-way hash fingerprint f = H(M)
Key Management Network Systems Security
Class 36: Public-Key Cryptography
Presentation transcript:

David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 14: Public Key Infrastructure

CS588 Spring Using RSA to Encrypt Use 1024-bit modulus (RSA recommends >= 768) Encrypt 1M file – bit messages –To calculate M e requires log 2 e 1024-bit modular multiplies Why does no one use RSA like this? –About times slower than DES –Need to be careful not to encrypt particular M s –Can speed up encryption by choosing e that is an easy number to multiply by (e.g., 3 or ) –But, decryption must use non-easy d (~1024 bits)

CS588 Spring Alternatives Use RSA to establish a shared secret key for symmetric cipher (DES, RC6,...) –Lose external authentication, non- repudiation properties of public-key cryptosystems Sign (encrypt with private key) a hash of the message –A short block that is associated with the message

CS588 Spring RSA Paper “The need for a courier between every pair of users has thus been replaced by the requirement for a single secure meeting between each user and the public file manager when the user joins the system.”

CS588 Spring Key Management Public keys only useful if you know: 1.The public key matches the entity you think it does (and no one else). 2.The entity is trustworthy.

CS588 Spring Approach 1: Public Announcement Publish public keys in a public forum –USENET groups –Append to messages –New York Time classifieds Easy for rogue to pretend to be someone else

CS588 Spring Approach 2: Public Directory Trusted authority maintains directory mapping names to public keys Entities register public keys with authority in some secure way Authority publishes directory –Print using watermarked paper, special fonts, etc. –Allow secure electronic access

CS588 Spring Can we avoid needing an on-line directory?

CS588 Spring Certificates Loren Kohnfelder, MIT 4 th year thesis project, 1978: Towards a Practical Public-key Cryptosystem “Public-key communication works best when the encryption functions can reliably be shared among the communicants (by direct contact if possible). Yet when such a reliable exchange of functions is impossible the next best thing is to trust a third party. Diffie and Hellman introduce a central authority known as the Public File… Each individual has a name in the system by which he is referenced in the Public File. Once two communicants have gotten each other’s keys from the Public File then can securely communicate. The Public File digitally signs all of its transmission so that enemy impersonation of the Public File is precluded.”

CS588 Spring Certificates TrustMe.com Alice Bob { KU A } C A = E KR TrustMe KU A ] { KU B } C B = E KR TrustMe KU B ] CBCB CACA Use anything like this?

CS588 Spring Data encrypted using secret key exchanged using some public key associated with some certificate.

CS588 Spring

CS588 Spring SSL (Secure Sockets Layer) Simplified TLS Handshake Protocol Client Server Hello KR CA [Server Identity, KU S ] Check Certificate using KU CA Pick random K KU S [K] Find K using KR S Secure channel using K Textbook, Section 12.5

CS588 Spring Certificates VarySign Alice Bob { KU A } C A = E KR TrustMe KU A ] { KU B } C B = E KR TrustMe KU B ] CBCB CACA How does TrustMe.com decide whether to provide Certificate?

CS588 Spring VarySign Alice Bob { KU A } C A = E KR TrustMe KU A ] { KU B } C B = E KR TrustMe KU B ] CBCB CACA Verifying Identities $$$$

CS588 Spring With over half a million businesses authenticated, VeriSign follows a rigorous and independently audited authentication process. All involved VeriSign employees pass stringent background checks, and each authentication is split between multiple individuals. We maintain physically secure facilities, including biometric screening on entry.

CS588 Spring VeriSign’s Certificate Classes “Secure Site” SSL Certificate –Supports 40-bit session key –Proves: you are communicating with someone willing to pay VeriSign $598 (or with ~$1000 to break a 40-bit key) –Except they have a free 14-day trial (but it uses a different Trial CA key)

CS588 Spring

CS588 Spring “Secure Site Pro” Certificate $995 per year “true 128-bit key” “128-bit encryption offers 2 88 times as many possible combinations as 40-bit encryption. That’s over a trillion times a trillion times stronger.” trillion = trillion * trillion = Verisign’s marketing claim could be: “ trillion times a trillion times a trillion times a trillion times a trillion times a trillion times a trillion times ten thousand (in Britain it is a trillions time a trillion times a trillion times a trillion times a billion times a thousand) times stronger” (but that would sound even sillier!) Businesses authentication: “out-of-band” communication, records

CS588 Spring

CS588 Spring VarySign.com Alice Bob { KU A } C A = E KR TrustMe cert id, expiration time, KU A ] CACA Limiting The Damage Checks expiration time > now

CS588 Spring

CS588 Spring Revoking Certificates VarySign.com Alice Bob { KU A } CACA CACA Send me the CRL … E KR TrustMe [CRL]

CS588 Spring Revoked!

CS588 Spring Certificate Questions How do participants acquire the authority’s public key? If authority’s private key is compromised, everything is vulnerable! –Keep the key locked up well

CS588 Spring Problems with Certificates Depends on a certificate authority –Needs to be a big, trusted entity –Needs to make money (or be publically funded) Need to acquire a certificate –Makes anonymity difficult –Requires handshaking

CS588 Spring PGP (Pretty Good Privacy) Keyring: list of public keys, signed by owner’s private key Alice’s keyring: E KR Alice (, ) Exchanging Keyrings (Web of Trust) –Complete Trust: I trust Alice’s keyring (add the public key pairings to my own keyring) –Partial Trust: I sort of trust Alice, but require confirmation from someone else too (I need to get E KR Cathy ( ) before trusting KU Bob

CS588 Spring Avoiding Certificates What if your identity (e.g., your address) is your public key? Is it possible to do this with RSA? Do you want your address to be a 200-digit “random” number?

CS588 Spring Identity Based Encryption [Shamir 1984], [Boneh & Franklin 2003] public-key = identity private-key = F (master-key, identity) The owner of the master-key is the new authority. Must be careful who it gives private keys to.

CS588 Spring Key-Generating Service Holds master-key Participants request private keys from KGS Sends s to KGS, requests corresponding private key KGS authenticates requestor If valid, computes F (master-key, s) and sends over secure channel How does the trust given to the KGS compare to that given to CA in SSL? KGS can decrypt all messages! With certificates, certificate owner still has her own private key. But, CA can impersonate anyone by generating a certificate with a choosen public-key.

CS588 Spring Shamir’s IBE Signature Scheme Setup: done by KGS –Select p, q large primes –N = pq –Choose e relatively prime to  (N) (p-1)(q-1) –Choose d satisfying ed  1 mod  (N) –Choose h a cryptographic hash function Publish N, e and h to all participants Keep d secret master-key

CS588 Spring Shamir’s Signatures Generating a private key privatekey( ID ) = ID d mod N –Can only be done by KGS ( d is master secret) Signing a message M with identity ID –Obtain g = privatekey( ID ) from KGS –Choose random r less than N –Compute signature ( s, t ): t = r e mod N s = g r h(t || M) mod N Warning: book typesetting is off and wrong range for h !

CS588 Spring Verifying a Signature KGS produced g = ID d mod N Recipient knows ID and M, system parameters e and N t = r e mod N s = g r h(t || M) mod N Verify ( ID, s, t, M ) s e = ID t h(t || M) mod N (ID d r h(t || M) ) e mod N  ID de r h(t || M)e mod N  ID r eh(t || M) mod N  ID t h(t || M) mod N What does non-forgability of a Shamir IBE signature rely on?

CS588 Spring Identity-Based Encryption Shamir’s scheme – signatures only, not encryption Boneh & Franklin, 2001 –First practical and provably secure IBE scheme –Builds on elliptic curves

CS588 Spring Issues in IBE Complete trust in KGS –With Boneh & Franklin’s system can use secret sharing techniques to divide this trust among multiple entities –Could you do this with Shamir’s IBE signatures? Revocation –Can include expiration times in identities –But no way to revoke granted private keys

CS588 Spring Charge Read Chapter 13 in the book Look at the certificate chains when you browse the web –Find a certificate with a trust chain more than two levels deep Update your browser CRLs: when were they last updated?