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

Slides:



Advertisements
Similar presentations
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.
Advertisements

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.
BY MUKTADIUR RAHMAN MAY 06, 2010 INTERODUCTION TO CRYPTOGRAPHY.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Kemal AkkayaWireless & Network Security 1 Department of Computer Science Southern Illinois University Carbondale CS 591 – Wireless & Network Security Lecture.
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.
Csci5233 Computer Security & Integrity 1 Cryptography: Basics (2)
McGraw-Hill©The McGraw-Hill Companies, Inc., Security PART VII.
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.
Computer Science CSC 774Dr. Peng Ning1 CSC 774 Advanced Network Security Topic 2. Review of Cryptographic Techniques.
Encryption Methods By: Michael A. Scott
CN8816: Network Security1 Confidentiality, Integrity & Authentication Confidentiality - Symmetric Key Encryption Data Integrity – MD-5, SHA and HMAC Public/Private.
Introduction to Public Key Cryptography
Sorting Out Digital Certificates Bill blog.codingoutloud.com ··· Boston Azure ··· 13·Dec·2012 ···
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Network Security. An Introduction to Cryptography The encryption model (for a symmetric-key cipher).
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
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
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
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.
11-Basic Cryptography Dr. John P. Abraham Professor UTPA.
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
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.
RSA Pubic Key Encryption CSCI 5857: Encoding and Encryption.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
Lecture 9 Overview. RSA Invented by Cocks (GCHQ), independently, by Rivest, Shamir and Adleman (MIT) Two keys e and d used for Encryption and Decryption.
@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.
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

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

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

May 17, 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.

May 17, 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.

May 17, The Fundamental Equation Z=Y X mod N

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

May 17, 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.

May 17, 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.

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

May 17, 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.

May 17, 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.

May 17, 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.

May 17, 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.

May 17, 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

May 17, 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.

May 17, 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.

May 17, 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.

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

May 17, 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( ).

May 17, 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#)

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

May 17, 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( ).

May 17, 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( ).

May 17, 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).

May 17, 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

May 17, 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).

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

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

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

May 17, Block Cipher Modes Electronic Code Book (ECB) Encryption: Block Cipher Block Cipher Block Cipher Block Cipher Plaintext Ciphertext

May 17, Block Cipher Modes Electronic Code Book (ECB) Decryption: Inverse Cipher Inverse Cipher Inverse Cipher Inverse Cipher Plaintext Ciphertext

May 17, Block Cipher Integrity With ECB mode, identical blocks will have identical encryptions. This can enable replay attacks as well as re- orderings of data. Even a passive observer may obtain statistical data.

May 17, Block Cipher Modes Cipher Block Chaining (CBC) Encryption: Block Cipher Block Cipher Block Cipher Block Cipher Plaintext Ciphertext IV

May 17, Block Cipher Modes Cipher Block Chaining (CBC) Decryption: Inverse Cipher Inverse Cipher Inverse Cipher Inverse Cipher Plaintext Ciphertext IV

May 17, 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.

May 17, Stream Cipher Encryption Plaintext: PRNG(seed): Ciphertext:

May 17, 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.

May 17, 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 $1,000, to the account of my good friend Alice.

May 17, 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.

May 17, One-Way Hash Functions MD4, MD5, SHA-1, SHA-256, etc. 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 ).

May 17, 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 ).

May 17, 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]