How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.

Slides:



Advertisements
Similar presentations
Security and Privacy over the Internet Chan Hing Wing, Anthony Mphil Yr. 1, CSE, CUHK Oct 19, 1998.
Advertisements

MAC Raushan. DES simple fiestel network 3131 PlainText Blocks 2*4=8bits 31 f f =0011 xor 0011=0000 = 0 f(r,k)=(2*r+k^2)%8 f(1,5)=(2*1+5^2)%8=3 xor 3 3.
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (3) Information Security.
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.
Cryptography and Network Security
7-1 Chapter 7 – Web Security Use your mentality Wake up to reality —From the song, "I've Got You under My Skin“ by Cole Porter.
Digital Signatures and Hash Functions. Digital Signatures.
Cryptographic Security Presented by: Josh Baker October 9 th, CS5204 – Operating Systems.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Lesson Title: Introduction to Cryptography Dale R. Thompson Computer Science and Computer Engineering Dept. University of Arkansas
Cryptography and Network Security Chapter 17
Dr. Lo’ai Tawalbeh Summer 2007 Chapter 9 – Public Key Cryptography and RSA Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus INCS.
ECOMMERCE TECHNOLOGY SUMMER 2002 COPYRIGHT © 2002 MICHAEL I. SHAMOS Cryptographic Security.
Chapter 5 Cryptography Protecting principals communication in systems.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Apr 22, 2003Mårten Trolin1 Agenda Course high-lights – Symmetric and asymmetric cryptography – Digital signatures and MACs – Certificates – Protocols Interactive.
Cryptography (continued). Enabling Alice and Bob to Communicate Securely m m m Alice Eve Bob m.
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
McGraw-Hill©The McGraw-Hill Companies, Inc., Security PART VII.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Spring 2003CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Cryptography1 CPSC 3730 Cryptography Chapter 9 Public Key Cryptography and RSA.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
ELECTRONIC PAYMENT SYSTEMSFALL 2001COPYRIGHT © 2001 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
Chapter 8 Web Security.
Feb 19, 2002Mårten Trolin1 Previous lecture Practical things about the course. Example of cryptosystem — substitution cipher. Symmetric vs. asymmetric.
CN8816: Network Security1 Confidentiality, Integrity & Authentication Confidentiality - Symmetric Key Encryption Data Integrity – MD-5, SHA and HMAC Public/Private.
Introduction to Public Key Cryptography
Public Key Model 8. Cryptography part 2.
 Introduction  Requirements for RSA  Ingredients for RSA  RSA Algorithm  RSA Example  Problems on RSA.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
1 Public-Key Cryptography and Message Authentication Ola Flygt Växjö University, Sweden
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
10/1/2015 9:38:06 AM1AIIS. OUTLINE Introduction Goals In Cryptography Secrete Key Cryptography Public Key Cryptograpgy Digital Signatures 2 10/1/2015.
Network Security Lecture 17 Presented by: Dr. Munam Ali Shah.
Cryptography, Authentication and Digital Signatures
Cryptography and Network Security (CS435) Part Fourteen (Web Security)
Web Security : Secure Socket Layer Secure Electronic Transaction.
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.
Module 3 – Cryptography Cryptography basics Ciphers Symmetric Key Algorithms Public Key Algorithms Message Digests Digital Signatures.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
1 Public-Key Cryptography and Message Authentication.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
1 Introduction The State of the Art in Electronic Payment Systems, IEEE Computer, September 1997.
Lecture 2: Introduction to Cryptography
15-499Page :Algorithms and Applications Cryptography I – Introduction – Terminology – Some primitives – Some protocols.
Chapter 9 Public Key Cryptography and RSA. Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender.
1 Hello World and Welcome to The simple crypt Key=23 {txzr7c x7Cr 7d~zg{r 7tengc Private-key Cryptography.
Josh Benaloh Senior Cryptographer Microsoft Research.
CS 4803 Fall 04 Public Key Algorithms. Modular Arithmetic n Public key algorithms are based on modular arithmetic. n Modular addition. n Modular multiplication.
RSA Pubic Key Encryption CSCI 5857: Encoding and Encryption.
INFORMATION SECURITY MANAGEMENT P ROTECTION M ECHANISMS - C RYPTOGRAPHY.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
@Yuan Xue Case Study (Mid-term question) Bob sells BatLab Software License Alice buys BatLab Credit card information Number of.
Practical Aspects of Modern Cryptography Josh Benaloh & Brian LaMacchia.
Practical Aspects of Modern Cryptography Josh Benaloh & Brian LaMacchia.
Practical Aspects of Modern Cryptography Josh Benaloh & Brian LaMacchia.
Public Key Encryption and Digital Signatures
PART VII Security.
Introduction to Symmetric-key and Public-key Cryptography
Practical Aspects of Modern Cryptography
Practical Aspects of Modern Cryptography
A General Introduction to Modern Cryptography
Presentation transcript:

How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research

November 26, Transfer of Confidential Data You (client)Merchant (server) I want to make a purchase. What is your Credit Card Number? My Credit Card is

November 26, Transfer of Confidential Data  But the Internet provides no privacy.  Is there any way to protect my data from prying eyes at intermediate nodes?

November 26, Symmetric Encryption  If the user has a pre-existing relationship with the merchant, they may have a shared secret key K – known only to the two parties.  User encrypts private data with key K.  Merchant decrypts data with key K.

November 26, Asymmetric Encryption  What if the user and merchant have no prior relationship?  Asymmetric encryption allows me to encrypt a message for a recipient without knowledge of the recipient’s decryption key.

November 26, The Fundamental Equation Z=Y X mod N

November 26, The Fundamental Equation Z=Y X mod N When Z is unknown, it can be efficiently computed.

November 26, The Fundamental Equation Z=Y X mod N When X is unknown, the problem is known as the discrete logarithm and is generally believed to be hard to solve.

November 26, The Fundamental Equation Z=Y X mod N When Y is unknown, the problem is known as discrete root finding and is generally believed to be hard to solve … without the factorization of N.

November 26, The Fundamental Equation Z=Y X mod N The problem is not well-studied for the case when N is unknown.

November 26, How to compute Y X mod N Compute Y X and then reduce mod N.  If X, Y, and N each are 1,000-bit integers, Y X consists of ~ bits.  Since there are roughly particles in the universe, storage is a problem.

November 26, How to compute Y X mod N  Repeatedly multiplying by Y (followed each time by a reduction modulo N) X times solves the storage problem.  However, we would need to perform ~ bit multiplications per second to complete the computation before the sun burns out.

November 26, How to compute Y X mod N Multiplication by Repeated Doubling To compute X Y, compute Y, 2Y, 4Y, 8Y, 16Y,… and sum up those values dictated by the binary representation of X. Example: 26Y = 2Y + 8Y + 16Y.

November 26, How to compute Y X mod N Exponentiation by Repeated Squaring To compute Y X, compute Y, Y 2, Y 4, Y 8, Y 16, … and multiply those values dictated by the binary representation of X. Example: Y 26 = Y 2 Y 8 Y 16.

November 26, How to compute Y X mod N We can now perform a 1,000-bit modular exponentiation using ~1,500 1,000-bit modular multiplications.  1,000 squarings: y, y 2, y 4, …, y  ~500 “ordinary” multiplications

November 26, The Fundamental Equation Z=Y X mod N When Y is unknown, the problem is known as discrete root finding and is generally believed to be hard to solve … without the factorization of N.

November 26, RSA Encryption/Decryption  Select two large primes p and q.  Publish the product N = pq.  The exponent X is typically fixed at  Encrypt message Y as E(Y) = Y X mod N.  Decrypt ciphertext Z as D(Z) = Z 1/X mod N.  Note D(E(Y)) = (Y X ) 1/X mod N = Y.

November 26, RSA Signatures and Verification  Not only is D(E(Y)) = (Y X ) 1/X mod N = Y, but also E(D(Y)) = (Y 1/X ) X mod N = Y.  To form a signature of message Y, create S = D(Y) = Y 1/X mod N.  To verify the signature, check that E(S) = S X mod N matches Y.

November 26, Transfer of Confidential Data You (client)Merchant (server) I want to make a purchase. What is your Credit Card Number? My Credit Card is

November 26, Transfer of Confidential Data You (client)Merchant (server) I want to make a purchase. Here is my RSA public key E. My Credit Card is E( ).

November 26, Intermediary Attack You (client)Merchant (server) I want to make a purchase. My public key is Ẽ. Ẽ(CC#) Intermediary I want to make a purchase. My public key is E. E(CC#)

November 26, Digital Certificates “Alice’s public modulus is N A = …” -- signed … someone you trust.

November 26, Transfer of Confidential Data You (client)Merchant (server) I want to make a purchase. Here is my RSA public key E and a cert. My Credit Card is E( ).

November 26, Replay Attack You (client)Merchant (server) I want to make a purchase. Here is my RSA public key E and a cert. My Credit Card is E( ). Later … EavesdropperMerchant (server) I want to make a different purchase. Here is my RSA public key E and a cert. My Credit Card is E( ).

November 26, Transfer of Confidential Data You (client)Merchant (server) I want to make a purchase. Here is my RSA public key E and a cert and a “nonce”. My Credit Card and your nonce are E(“ ”, nonce).

November 26, SSL/PCT/TLS History  1994: Secure Sockets Layer (SSL) V2.0  1995: Private Communication Technology (PCT) V1.0  1996: Secure Sockets Layer (SSL) V3.0  1997: Private Communication Technology (PCT) V4.0  1999: Transport Layer Security (TLS) V1.0

November 26, SSL/PCT/TLS You (client)Merchant (server) Let’s talk securely. Here are the protocols and ciphers I understand. I choose this protocol and these ciphers. Here is my public key, a cert, a nonce, etc. Using your public key, I’ve encrypted a random symmetric key (and your nonce).

November 26, SSL/TLS All subsequent secure messages are sent using the symmetric key and a keyed hash for message authentication.

November 26, Symmetric Ciphers Private-key (symmetric) ciphers are usually divided into two classes.  Block ciphers  Stream ciphers

November 26, Block Ciphers Block Cipher Plaintext DataCiphertext Key Usually 8 or 16 bytes. DES, AES, RC2, RC5, etc.

November 26, Block Cipher Modes Electronic Code Book (ECB) Encryption: Block Cipher Block Cipher Block Cipher Block Cipher Plaintext Ciphertext

November 26, Block Cipher Modes Electronic Code Book (ECB) Decryption: Inverse Cipher Inverse Cipher Inverse Cipher Inverse Cipher Plaintext Ciphertext

November 26, Block Cipher Modes Cipher Block Chaining (CBC) Encryption: Block Cipher Block Cipher Block Cipher Block Cipher Plaintext Ciphertext IV

November 26, Block Cipher Modes Cipher Block Chaining (CBC) Decryption: Inverse Cipher Inverse Cipher Inverse Cipher Inverse Cipher Plaintext Ciphertext IV

November 26, Stream Ciphers RC4, SEAL, etc.  Use the key as a seed to a pseudo-random number-generator.  Take the stream of output bits from the PRNG and XOR it with the plaintext to form the ciphertext.

November 26, Stream Cipher Encryption Plaintext: PRNG(seed): Ciphertext:

November 26, Stream Cipher Integrity  It is easy for an adversary (even one who can’t decrypt the ciphertext) to alter the plaintext in a known way. Bob to Bob’s Bank: Please transfer $0,000, to the account of my good friend Alice.

November 26, One-Way Hash Functions The idea of a check sum is great, but it is designed to prevent accidental changes in a message. For cryptographic integrity, we need an integrity check that is resilient against a smart and determined adversary.

November 26, One-Way Hash Functions Generally, a one-way hash function is a function H : {0,1}*  {0,1} k (typically k is 128 or 160) such that given an input value x, one cannot find a value x  x such H(x) = H(x ).

November 26, One-Way Hash Functions There are many measures for one-way hashes.  Non-invertability: given y, it’s difficult to find any x such that H(x) = y.  Collision-intractability: one cannot find a pair of values x  x such that H(x) = H(x ).

November 26, One-Way Hash Functions  When using a stream cipher, a hash of the message can be appended to ensure integrity. [Message Authentication Code]  When forming a digital signature, the signature need only be applied to a hash of the message. [Message Digest]