ilab
play

iLab Modern cryptography for communications security a fast rush - PowerPoint PPT Presentation

iLab Modern cryptography for communications security a fast rush Benjamin Hof hof@in.tum.de Lehrstuhl fr Netzarchitekturen und Netzdienste Fakultt fr Informatik Technische Universitt Mnchen Cryptography 16ss 1 / 38 Outline


  1. iLab Modern cryptography for communications security a fast rush Benjamin Hof hof@in.tum.de Lehrstuhl für Netzarchitekturen und Netzdienste Fakultät für Informatik Technische Universität München Cryptography – 16ss 1 / 38

  2. Outline Cryptography Secret-key setting Hash functions Using cryptography 2 / 38

  3. Outline Cryptography Secret-key setting Hash functions Using cryptography 3 / 38

  4. Scope Focus on: ◮ modern cryptography ◮ methods used in communications security Based on: Introduction to modern cryptography, Katz and Lindell, 2 nd edition, 2015. 4 / 38

  5. What we are concerned with “Let’s meet up at 9!” Alice Bob 5 / 38

  6. What we are concerned with “Let’s meet up at 9!” Alice Bob BfV Roens/Wikipedia. CC-by-sa 2.0 5 / 38

  7. What we are concerned with “Let’s meet up at 9!” Alice Bob Eve passive attack: eavesdropping We want to provide confidentiality! 5 / 38

  8. What we are concerned with “You can trust Trent!” Mallory Alice Bob active attack: message modification We want to provide message authentication! 5 / 38

  9. Limitations ◮ cryptography is typically bypassed, not broken ◮ not applied correctly ◮ not implemented correctly ◮ subverted communication ◮ existence ◮ time ◮ extent ◮ partners 6 / 38

  10. Kerckhoffs’ principle Security should only depend on secrecy of the key, not the secrecy of the system. ◮ key easier to keep secret ◮ change ◮ compatibility No security by obscurity. ◮ scrutiny ◮ standards ◮ reverse engineering 7 / 38

  11. Another principle as a side note The system should be usable easily. ◮ Kerckhoffs actually postulated 6 principles ◮ this one got somewhat forgotten ◮ considered uncontroversial by Kerckhoffs ◮ starting to be rediscovered in design of secure applications and libraries Example Signal, NaCl 8 / 38

  12. Modern cryptography relies on ◮ formal definitions ◮ precisely defined assumptions ◮ mathematical proofs Reductionist security arguments, the proofs, require to formulate assumptions explicitly. 9 / 38

  13. Uniform distribution P : U → [0 , 1] � P ( x ) = 1 x ∈ U ∀ x ∈ U : P ( x ) = 1 | U | 10 / 38

  14. Randomness ◮ required to do any cryptography at all ◮ somewhat difficult to get in a computer (deterministic!) ◮ required to be cryptographically secure: indistiguishable from truly random ◮ not provided in programming languages Example used to generate keys or other information unkown to any other parties 11 / 38

  15. Collecting unpredictable bits ◮ physical phenomena ◮ time between emission of particles during radioactive decay ◮ thermal noise from a semiconductor diode or resistor ◮ software-based ◮ elapsed time between keystrokes or mouse movement ◮ packet interarrival times ◮ attacker must not be able to guess/influence the collected values 1. collect pool of high-entropy data 2. process into sequence of nearly independent and unbiased bits 12 / 38

  16. Pseudo-random generator G : { 0 , 1 } s → { 0 , 1 } n , n ≫ s 13 / 38

  17. A definition of security A scheme is secure, if any probabilistic polynomial time adversary succeeds in breaking the scheme with at most negligible probability. Negligible For every polynomial p and for all sufficiently large values of n : 1 f ( n ) < p ( n ) e.g., f ( n ) = 1 2 n Church-Turing Hypothesis We believe polynomial time models all computers. 14 / 38

  18. Our goals Secret-key (symmetric) public-key (asymmetric) ◮ confidentiality ◮ confidentiality ◮ authenticity ◮ authenticity (as in: message integrity) ◮ key exchange Something providing confidentiality generally makes no statement whatsoever about authenticity. 15 / 38

  19. Outline Cryptography Secret-key setting Hash functions Using cryptography 16 / 38

  20. Secret-key encryption scheme 1. k ← Gen (1 n ), security parameter 1 n 2. c ← Enc k ( m ) , m ∈ { 0 , 1 } ∗ 3. m := Dec k ( c ) ◮ provide confidentiality ◮ definition of security: chosen-plaintext attack (CPA) Cryptography uses theoretical attack games to analyze and formalize security. C : challenger, ← means non-deterministic, A : adversary := means deterministic 17 / 38

  21. The eavesdropping experiment C A k ← Gen (1 n ) input 1 n

  22. The eavesdropping experiment C A k ← Gen (1 n ) input 1 n m 0 , m 1 b ← { 0 , 1 } c ← Enc k ( m b ) c output b ′ ◮ A succeeds, iff b = b ′ 18 / 38

  23. Discussion of the eavesdropping experiment ◮ | m 0 | = | m 1 | ◮ probabilistic polynomial time algorithms ◮ success probability should be 0 . 5 + negligible ◮ if so, Enc has indistinguishable encryptions in the presence of an eavesdropper 19 / 38

  24. Pseudorandom permutation F : { 0 , 1 } ∗ × { 0 , 1 } ∗ → { 0 , 1 } ∗ ◮ F k ( x ) and F − 1 k ( y ) efficiently computable ◮ F k be indistinguishable from uniform permutation ◮ adversary may have access to F − 1 We can assume that all inputs and the output have the same length. 20 / 38

  25. A block cipher Example ◮ fixed key length and block length ◮ chop m into 128 bit blocks m k 128 bit AES c Does this function survive the eavesdropping experiment? 21 / 38

  26. Chosen-plaintext attack C A k ← Gen (1 n ) input 1 n 22 / 38

  27. Chosen-plaintext attack C A k ← Gen (1 n ) input 1 n m c ← Enc k ( m ) c . . . . . . 22 / 38

  28. Chosen-plaintext attack C A k ← Gen (1 n ) input 1 n m c ← Enc k ( m ) c . . . . . . m , m 1 0 b ← { 0 , 1 } E n c ( m ) k b 22 / 38

  29. Chosen-plaintext attack C A C (cont’d) A k ← Gen (1 n ) input 1 n m c ← Enc k ( m ) m c c ← Enc k ( m ) . . c . . . . . . . . . . output bit b ′ m , m 1 0 b ← { 0 , 1 } E n c ( m ) k b 22 / 38

  30. Chosen-plaintext attack C A C (cont’d) A k ← Gen (1 n ) input 1 n m c ← Enc k ( m ) m c c ← Enc k ( m ) . . c . . . . . . . . . . output bit b ′ m , m 1 0 b ← { 0 , 1 } E n c ( m ) k b 22 / 38

  31. Discussion of CPA ◮ Enc is secure under chosen-plaintext attack ◮ again, messages must have same length ◮ multiple-use key ◮ non-deterministic (e. g. random initialization vector) or state ◮ block cipher requires operation mode : counter (CTR), output-feedback (OFB), . . . 23 / 38

  32. Example constructions: counter mode Example ◮ randomised AES counter mode (AES-CTR$) ◮ choose nonce r ← { 0 , 1 } 128 , key k ← { 0 , 1 } 128 ◮ great if you have dedicated circuits for AES, else vulnerable to timing attacks r AES r + 1 AES k k m 0 ⊕ m 1 ⊕ c 0 c 1 · · · complete ciphertext c := ( r , c 0 , c 1 , · · · ) 24 / 38

  33. Example constructions: stream ciphers Example A modern stream cipher, fast in software: 256 bit key 96 bit nonce 32 bit initial counter ChaCha keystream plaintext ⊕ ciphertext 25 / 38

  34. Message authentication code (MAC) 1. k ← Gen (1 n ), security parameter 1 n 2. t ← Mac k ( m ) , m ∈ { 0 , 1 } ∗ 3. b := Vrfy k ( m , t ) b = 1 means valid, b = 0 invalid ◮ transmit � m , t � ◮ tag t is a short authenticator ◮ message authenticity ⇔ integrity ◮ detect tampering ◮ no protection against replay ◮ “existentially unforgeable” ◮ security definition: adaptive chosen-message attack 26 / 38

  35. Adaptive chosen-message attack C A k ← Gen (1 n ) input 1 n m t ← Mac k ( m ) � m , t � . . . . . . output � m ′ , t ′ � ◮ let Q be the set of all queries m ◮ A succeeds, iff Vrfy k ( m ′ , t ′ ) = 1 and m ′ / ∈ Q 27 / 38

  36. Used in practice Example ◮ HMAC based on hash functions ◮ CMAC based on cipher block chaining mode (CBC) ◮ authenticated encryption modes 28 / 38

  37. Example: side-channel attack How does tag verification work and how to implement tag comparison correctly? 29 / 38

  38. Recap: secret-key cryptography ◮ attacker power: probabilistic polynomial time ◮ confidentiality defined as IND-CPA: encryption, e. g. AES-CTR$ ◮ message authentication defined as existentially unforgeable under adaptive chosen-message attack: message authentication codes, e. g. HMAC-SHA2 ◮ authenticated encryption modes 30 / 38

  39. Combining confidentiality and authentication ◮ encrypt-then-authenticate is generally secure: c ← Enc k 1 ( m ) , t ← Mac k 2 ( c ) transmit: � c , t � ◮ authenticated encryption is also a good choice: e. g. offset codebook (OCB), Galois counter mode (GCM) c , t ← AEAD enc ( ad , m ) k m := AEAD dec ( ad , c , t ) or verification failure k 31 / 38

  40. Outline Cryptography Secret-key setting Hash functions Using cryptography 32 / 38

  41. Cryptographic hash functions secret-key public-key . . . ◮ encryption ◮ message authentication codes hash functions 33 / 38

  42. Hash functions input ◮ variable length input ◮ fixed length output H ( · ) provide: 1. pre-image resistance output given H ( x ) with a randomly chosen x , cannot find x ′ s. t. H ( x ′ ) = H ( x ) fixed length “H is one-way” 2. second pre-image resistance given x , cannot find x ′ � = x s. t. H ( x ′ ) = H ( x ) 3. collision resistance cannot find x � = x ′ s. t. H ( x ) = H ( x ′ ) 34 / 38

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend