CSCE 715 Network Systems Security ChinTser Huang huangctcse

  • Slides: 24
Download presentation
CSCE 715: Network Systems Security Chin-Tser Huang huangct@cse. sc. edu University of South Carolina

CSCE 715: Network Systems Security Chin-Tser Huang huangct@cse. sc. edu University of South Carolina 9/14/2006

Insufficiencies with Symmetric Encryption n Symmetric encryption is not enough to address two key

Insufficiencies with Symmetric Encryption n Symmetric encryption is not enough to address two key issues n n key distribution – how to have secure communications in general without having to trust a KDC with your key? digital signatures – how to verify that a received message really comes from the claimed sender? 9/14/2006 2

Advent of Asymmetric Encryption n n Probably most significant advance in the 3000 year

Advent of Asymmetric Encryption n n Probably most significant advance in the 3000 year history of cryptography Use two keys: a public key and a private key Asymmetric since parties are not equal Clever application of number theory concepts instead of merely substitution and permutation 9/14/2006 3

How Asymmetric Encryption Works n Asymmetric encryption uses two keys that are related to

How Asymmetric Encryption Works n Asymmetric encryption uses two keys that are related to each other n n n a public key, which may be known to anybody, is used to encrypt messages, and verify signatures a private key, known only to the owner, is used to decrypt messages encrypted by the matching public key, and create signatures the key used to encrypt messages or verify signatures cannot decrypt messages or create signatures 9/14/2006 4

Asymmetric Encryption for Confidentiality 9/14/2006 5

Asymmetric Encryption for Confidentiality 9/14/2006 5

Asymmetric Encryption for Authentication 9/14/2006 6

Asymmetric Encryption for Authentication 9/14/2006 6

Public-Key Cryptosystems 9/14/2006 7

Public-Key Cryptosystems 9/14/2006 7

Public-Key Characteristics n Public-Key algorithms rely on two keys where: n n n it

Public-Key Characteristics n Public-Key algorithms rely on two keys where: n n n it is computationally infeasible to find decryption key knowing only algorithm & encryption key it is computationally easy to en/decrypt messages when the relevant (en/decrypt) key is known either of the two related keys can be used for encryption, with the other used for decryption (for some algorithms) 9/14/2006 8

Applications for Asymmetric Encryption n Three categories n n n Encryption/decryption: sender encrypts a

Applications for Asymmetric Encryption n Three categories n n n Encryption/decryption: sender encrypts a message with receiver’s public key Digital signature: sender “signs” a message with its private key Key exchange: two sides exchange a session key 9/14/2006 9

Security of Asymmetric Encryption n n Like symmetric schemes brute-force exhaustive search attack is

Security of Asymmetric Encryption n n Like symmetric schemes brute-force exhaustive search attack is always theoretically possible, but keys used are too large (>512 bits) Not more secure than symmetric encryption, dependent on size of key Security relies on a large enough difference in difficulty between easy (en/decrypt) and hard (cryptanalyse) problems Generally the hard problem is known, just made too hard to do in practice Require using very large numbers, so is slow compared to symmetric schemes 9/14/2006 10

RSA n n n Invented by Rivest, Shamir & Adleman of MIT in 1977

RSA n n n Invented by Rivest, Shamir & Adleman of MIT in 1977 Best known and widely used public-key scheme Based on exponentiation in a finite (Galois) field over integers modulo a prime 3 n exponentiation takes O((log n) ) operations (easy) Use large integers (e. g. 1024 bits) Security due to cost of factoring large numbers log n) operations n factorization takes O(e (hard) 9/14/2006 11

RSA Key Setup n Each user generates a public/private key pair by n n

RSA Key Setup n Each user generates a public/private key pair by n n n select two large primes at random: p, q compute their system modulus n=p·q n note ø(n)=(p-1)(q-1) select at random the encryption key e n n where 1<e<ø(n), gcd(e, ø(n))=1 solve following equation to find decryption key d n e·d=1 mod ø(n) and 0≤d≤n publish their public encryption key: KU= {e, n} keep secret private decryption key: KR= {d, n} 9/14/2006 12

RSA Usage n To encrypt a message M: n n n To decrypt the

RSA Usage n To encrypt a message M: n n n To decrypt the ciphertext C: n n n sender obtains public key of receiver KU={e, n} computes: C=Me mod n, where 0≤M<n receiver uses its private key KR={d, n} computes: M=Cd mod n Message M must be smaller than the modulus n (cut into blocks if needed) 9/14/2006 13

Why RSA Works n n Euler's Theorem: aø(n) mod n = 1 where gcd(a,

Why RSA Works n n Euler's Theorem: aø(n) mod n = 1 where gcd(a, n)=1 In RSA, we have n n n=p·q ø(n)=(p-1)(q-1) carefully chosen e and d to be inverses mod ø(n) hence e·d=1+k·ø(n) for some k Hence : Cd = (Me)d = M 1+k·ø(n) = M 1·(Mø(n))k = M 1·(1)k = M 1 = M mod n 9/14/2006 14

RSA Example: Computing Keys Select primes: p=17, q=11 Compute n=pq=17× 11=187 Compute ø(n)=(p– 1)(q-1)=16×

RSA Example: Computing Keys Select primes: p=17, q=11 Compute n=pq=17× 11=187 Compute ø(n)=(p– 1)(q-1)=16× 10=160 Select e: gcd(e, 160)=1 and e<160 1. 2. 3. 4. choose e=7 § Determine d: de=1 mod 160 and d<160 5. d=23 since 23× 7=161=10× 160+1 § 6. 7. Publish public key KU={7, 187} Keep secret private key KR={23, 187} 9/14/2006 15

RSA Example: Encryption and Decryption n Given message M = 88 (88<187) n Encryption:

RSA Example: Encryption and Decryption n Given message M = 88 (88<187) n Encryption: C = 887 mod 187 = 11 n Decryption: M = 1123 mod 187 = 88 9/14/2006 16

Exponentiation n Use a property of modular arithmetic [(a mod n) (b mod n)]mod

Exponentiation n Use a property of modular arithmetic [(a mod n) (b mod n)]mod n = (a b)mod n n Use the Square and Multiply Algorithm to multiply the ones that are needed to compute the result Look at binary representation of exponent Only take O(log 2 n) multiples for number n n n e. g. 75 = 74· 71 = 3· 7 = 10 (mod 11) e. g. 3129 = 3128· 31 = 5· 3 = 4 (mod 11) 9/14/2006 17

RSA Key Generation n Users of RSA must: n n n Primes p, q

RSA Key Generation n Users of RSA must: n n n Primes p, q must not be easily derived from modulus n=p·q n n n determine two primes at random - p, q select either e or d and compute the other means p, q must be sufficiently large typically guess and use probabilistic test Exponents e, d are multiplicative inverses, so use Inverse algorithm to compute the other 9/14/2006 18

Security of RSA n Four approaches to attacking RSA n n brute force key

Security of RSA n Four approaches to attacking RSA n n brute force key search (infeasible given size of numbers) mathematical attacks (based on difficulty of computing ø(n), by factoring modulus n) timing attacks (on running of decryption) chosen ciphertext attacks (given properties of RSA) 9/14/2006 19

Factoring Problem n Mathematical approach takes 3 forms: n n factor n=p·q, hence find

Factoring Problem n Mathematical approach takes 3 forms: n n factor n=p·q, hence find ø(n) and then d determine ø(n) directly and find d directly Currently believe all equivalent to factoring n have seen slow improvements over the years n n biggest improvement comes from improved algorithm n n as of May-05 best is 200 decimal digits (663 bits) with LS cf “Quadratic Sieve” to “Generalized Number Field Sieve” to “Lattice Sieve” 1024+ bit RSA is secure barring dramatic breakthrough n 9/14/2006 ensure p, q of similar size and matching other constraints 20

Timing Attacks n n Developed in mid-1990’s Exploit timing variations in operations n n

Timing Attacks n n Developed in mid-1990’s Exploit timing variations in operations n n e. g. multiplying by small vs large number Infer operand size based on time taken RSA exploits time taken in exponentiation Countermeasures n n n use constant exponentiation time add random delays blind values used in calculations 9/14/2006 21

Chosen Ciphertext Attacks n n n RSA is vulnerable to a Chosen Ciphertext Attack

Chosen Ciphertext Attacks n n n RSA is vulnerable to a Chosen Ciphertext Attack (CCA) attackers chooses ciphertexts and gets decrypted plaintext back choose ciphertext to exploit properties of RSA to provide info to help cryptanalysis can counter with random pad of plaintext or use Optimal Asymmetric Encryption Padding (OAEP) 9/14/2006 22

Next Class n n n Key management with asymmetric encryption Diffie-Hellman key exchange Read

Next Class n n n Key management with asymmetric encryption Diffie-Hellman key exchange Read Chapter 10 9/14/2006 23

Defeat Online Piracy n n What security service does anti-piracy conflict with? Peer-to-peer networking

Defeat Online Piracy n n What security service does anti-piracy conflict with? Peer-to-peer networking technologies n n n Napster Gnutella Fast. Track e. Donkey Bit. Torrent 9/14/2006 24