David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 10: Certificates and Hashes.

Slides:



Advertisements
Similar presentations
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 8: Hashing Note: only 3 people.
Advertisements

Spring 2000CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Digital Signatures and Hash Functions. Digital Signatures.
Authentication Cristian Solano. Cryptography is the science of using mathematics to encrypt and decrypt data. Public Key Cryptography –Problems with key.
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 11: Birthday Paradoxes.
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.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Cryptography1 CPSC 3730 Cryptography Chapter 10 Key Management.
Announcements: 1. HW6 due now 2. HW7 posted Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman, ElGamal Hash Functions.
Secure Hashing and DSS Sultan Almuhammadi ICS 454 Principles of Cryptography.
EEC-484/584 Computer Networks Lecture 16 Wenbing Zhao
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
C HAPTER 13 Asymmetric Key Cryptography Slides adapted from "Foundations of Security: What Every Programmer Needs To Know" by Neil Daswani, Christoph Kern,
Introduction to Public Key Cryptography
David Evans CS150: Computer Science University of Virginia Computer Science Class 36: Public Key Crypto.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Public Key Cryptography July Topics  Symmetric and Asymmetric Cryptography  Public Key Cryptography  Digital Signatures  Digital Certificates.
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
1 Cryptography Basics. 2 Cryptography Basic terminologies Symmetric key encryption Asymmetric key encryption Public Key Infrastructure Digital Certificates.
Chapter 5 Digital Signatures MSc. NGUYEN CAO DAT Dr. TRAN VAN HOAI 1.
Lecture 15 Lecture’s outline Public algorithms (usually) that are each other’s inverse.
Network Security. An Introduction to Cryptography The encryption model (for a symmetric-key cipher).
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Lecture 19 Page 1 CS 111 Online Symmetric Cryptosystems C = E(K,P) P = D(K,C) E() and D() are not necessarily the same operations.
David Evans CS150: Computer Science University of Virginia Computer Science Class 31: Cookie Monsters and Semi-Secure.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
David Evans CS200: Computer Science University of Virginia Computer Science Class 36: Public-Key Cryptography If you want.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
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.
Introduction1-1 Data Communications and Computer Networks Chapter 6 CS 3830 Lecture 31 Omar Meqdadi Department of Computer Science and Software Engineering.
Public Key Encryption CS432 – Security in Computing Copyright © 2005, 2008 by Scott Orr and the Trustees of Indiana University.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
Cryptography and Network Security (CS435) Part Eight (Key Management)
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 14: Public Key Infrastructure.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Digital Signatures, Message Digest and Authentication Week-9.
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.
Cryptographic Hash Functions and Protocol Analysis
Security Many secure IT systems are like a house with a locked front door but with a side window open -somebody.
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
1 Chapter 10: Key Management in Public key cryptosystems Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal,
14-1 Last time Internet Application Security and Privacy Basics of cryptography Symmetric-key encryption.
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
Digital Signatures and Digital Certificates Monil Adhikari.
Key Management Network Systems Security Mort Anvari.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Fall 2006CS 395: Computer Security1 Key Management.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
@Yuan Xue CS 285 Network Security Secure Socket Layer Yuan Xue Fall 2013.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
Key management issues in PGP
Basics of Cryptography
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)
Lecture 9: Hash House Harriers Background just got here last week
Information Security message M one-way hash fingerprint f = H(M)
Lecture 8: Security of RSA THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE.
Basic Network Encryption
Class 36: Public-Key Cryptography
Chapter 8 roadmap 8.1 What is network security?
Presentation transcript:

David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 10: Certificates and Hashes

1 Oct 2001University of Virginia CS 5882 Menu PS3 –Work with different people from PS2 or your project group –Due Oct 10 Midterm postponed until 24 Oct Public Key Infrastructures (PKI) Hashing

1 Oct 2001University of Virginia CS 5883 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.

1 Oct 2001University of Virginia CS 5884 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

1 Oct 2001University of Virginia CS 5885 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

1 Oct 2001University of Virginia CS 5886 One Key Electronic access requires directory have key (public/private key pair might work, but how do entities validate public key?) If authority’s key is compromised, everything is vulnerable! –Keep the key locked up well Directory is single point of failure

1 Oct 2001University of Virginia CS 5887 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?

1 Oct 2001University of Virginia CS 5888 Data encrypted using secret key exchanged using some public key associated with some certificate.

1 Oct 2001University of Virginia CS 5889

1 Oct 2001University of Virginia CS SSL (Secure Sockets Layer) 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

1 Oct 2001University of Virginia CS 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 How does TrustMe.com decide whether to provide Certificate?

1 Oct 2001University of Virginia CS TrustMe.com Alice Bob { KU A } C A = E KR TrustMe KU A ] { KU B } C B = E KR TrustMe KU B ] CBCB CACA Verifying Identities $$$$

1 Oct 2001University of Virginia CS VeriSign’s Certificate Classes Class 1: Individuals Only, No Identity Check –Proves: you are communicating with someone willing to pay VeriSign $14.95 –Except they have a free 60-day trial Class 2: Individuals Only, No longer available –“Confirmation is based upon VeriSign proprietary matching criteria of third-party databases against the information in the application.” –$20/year Class 3: Individuals and Organizations –Require physical appearance before notary –Businesses: “out-of-band” communication, records –~$1000, VeriSign’s liability up to $100,000

1 Oct 2001University of Virginia CS 58814

1 Oct 2001University of Virginia CS VerySine.com Alice Bob { KU A } C A = E KR TrustMe cert id, expiration time, KU A ] CACA Limiting The Damage Checks expiration time > now

1 Oct 2001University of Virginia CS 58816

1 Oct 2001University of Virginia CS Revoking Certificates VerySine.com Alice Bob { KU A } CACA CACA Send me the CRL … E KR TrustMe [CRL]

1 Oct 2001University of Virginia CS Revoked!

1 Oct 2001University of Virginia CS Web Treasure Hunt Click on “lock” next time when you browse the web Find a certificate with a hierarchy of trust more than one level deep –The CA has a certificate

1 Oct 2001University of Virginia CS 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

1 Oct 2001University of Virginia CS Anonymous Quiz

1 Oct 2001University of Virginia CS Using RSA to Encrypt Use 1024-bit modulus (RSA recommends at least 768 bits) 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 –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 (around 1024 bits)

1 Oct 2001University of Virginia CS 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

1 Oct 2001University of Virginia CS Hashing “neanderthal” “dog” H (char s[]) = (s[0] – ‘a’) mod 10 “horse”

1 Oct 2001University of Virginia CS Regular Hash Functions 1.Many-to-one: maps a large number of values to a small number of hash values 2.Even distribution: for typical data sets, P(H(x) = n) = 1/N where N is the number of hash values and n = 0.. N – 1. 3.Efficient: H(x) is easy to compute. How well does H (char s[]) = (s[0] – ‘a’) mod 10 satisfy these properties?

1 Oct 2001University of Virginia CS Cryptographic Hash Functions 4.One-way: for given h, it is hard to find x such that H(x) = h. 5.Collision resistance: Weak collision resistance: given x, it is hard to find y  x such that H(y) = H(x). Strong collision resistance: it is hard to find any x and y  x such that H(y) = H(x).

1 Oct 2001University of Virginia CS Using Hashes Alice wants to send Bob and “I owe you” message. Bob should be able to show the message to a judge to compel Alice to pay up. Bob should not be able to make his own “I owe you” from Alice, or change the contents of the one she sent him.

1 Oct 2001University of Virginia CS IOU Protocol (Attempt 1) Alice Bob MH(M)H(M) Judge MH(M)H(M) Hmmm...Bob can just make up M and H(M)!

1 Oct 2001University of Virginia CS IOU Protocol (Attempt 2) Alice Bob secret key K A M E K A [H(M)] Judge M E K A [H(M)] knows K A Use Diffie-Hellman to establish shared secret K A Can Bob cheat? Can Alice cheat? Yes, send Bob: M, junk. Judge will think Bob cheated!

1 Oct 2001University of Virginia CS IOU Protocol (Attempt 3) Alice Bob {KU A, KR A } M E KR A [H(M)] Judge M E KR A [H(M)] knows KU A Bob can verify H(M) by decrypting, but cannot forge M, E KR A [H(M)] pair without knowing KR A.

1 Oct 2001University of Virginia CS No Collision Resistance Suppose we use: H (char s[]) = (s[0] – ‘a’) mod 10 Alice sends Bob: “I, Alice, owe Bob $2.”, E KR A [H (M)] Bob sends Judge: “I, Alice, owe Bob $ ”, E KR A [H (M)] Judge validates E KU A [ E KR A [H (M)]] = H(“I, Alice, owe Bob $ ”) and makes Alice pay.

1 Oct 2001University of Virginia CS Weak Collision Resistance Given x, it should be hard to find y  x such that H(y) = H(x). Similar to a block cipher except no need for secret key: –Changing any bit of x should change most of H(x). –The mapping between x and H(x) should be confusing (complex and non-linear).

1 Oct 2001University of Virginia CS A Better Hash Function? H(x) = DES (x, 0) Weak collision resistance? –Given x, it should be hard to find y  x such that H(y) = H(x). –Yes – DES is one-to-one. (These is no such y.) A good hash function? –No, its output is as big as the message!

1 Oct 2001University of Virginia CS What we need: Produce small number of bits (say 64) that depend on the whole message in a confusing, non-linear way. Have we seen anything like this?

1 Oct 2001University of Virginia CS Cipher Block Chaining DES IV K  P1P1 C1C1 DES K  P2P2 C2C2... Use last ciphertext block as hash. Depends on all plaintext blocks. DES K  PnPn CnCn

1 Oct 2001University of Virginia CS Actual Hashing Algorithms Based on cipher block chaining No need for secret key or IV (just use 0) Don’t use DES –Performance –Better to use bigger blocks MD5 [Rivest92] – 512 bit blocks, produces 128-bit hash SHA [NIST95] – 512 bit blocks, 160-bit hash

1 Oct 2001University of Virginia CS Why big hashes? 3DES is (probably) secure with 64-bit blocks, why do secure hash functions need at least 128 bit digests? 64 bits is fine for weak collision resistance, but we need strong collision resistance too.

1 Oct 2001University of Virginia CS Strong Collision Resistance It is hard to find any x and y  x such that H(y) = H(x). Difference from weak: –Attacker gets to choose both x and y, not just y. Scenario: –Suppose Bob gets to write IOU message, send it to Alice, and she signs it.

1 Oct 2001University of Virginia CS Charge Next time: why strong collision resistance is hard Return PS2’s