Download presentation
Presentation is loading. Please wait.
Published byMinna Liepa Modified over 5 years ago
1
Homework 1 Due: Thursday at 3PM (beginning of class)
Q4 Typo: 𝜀 𝑡 = 1.5𝑡 2 𝑛 (not 𝜀 𝑡 = 1.5𝑡 2 𝑡 ) Please Typeset Your Solutions (LaTeX, Word etc…) You may collaborate, but must write up your own solutions in your own words
2
Tidbits The use of the names “Alice and Bob” in crypto originates from the seminal 1978 RSA paper of Ron Rivest, Adi Shamir and Leonard Adleman (see Electronic Code Book Mode (ECB): named after convention physical codebooks, which usually consists of a lookup table for encryption/decryption (see
3
Cryptography CS 555 Message Authentication Codes CBC-MAC
Week 4: Message Authentication Codes CBC-MAC Authenticated Encryption + CCA Security Readings: Katz and Lindell Chapter Fall 2017
4
Recap Chosen Plaintext Attacks/Chosen Ciphertext Attacks
CPA vs CCA-security Keyed Pseudorandom Functions and Permutations Achieving CPA-Security Blockciphers and Modes of Operation
5
CCA-Security CCA-Security is strictly stronger than CPA-Security
Note: If a scheme has indistinguishable encryptions under one chosen-ciphertext attack then it has indistinguishable multiple encryptions under chosen-ciphertext attacks. None of the encryption schemes we have considered so far are CCA-Secure Achieving CCA-Security? Useful to guarantee integrity of the ciphertext Idea: If attacker cannot generate valid new ciphertext c’ (distinct from ciphertext obtained via eavesdropping) then ability to query decryption oracle is useless! CCA-Security requires non-malleability. Intuition: if attacker tampers with ciphertext c then c’ is either invalid or m’ is unrelated to m Let 𝑐= Enc K mb . Suppose attacker could generate a new valid ciphertext 𝑐′≠𝑐 such that 𝑚′ is related to mb the but not message 𝑚 1−𝑏 How can the attacker win the CCA-Security game? Ask for decryption of c’ and check if 𝑚′ is related to 𝑚 1 or 𝑚 0
6
Week 4: Topic 1: Message Authentication Codes
7
Current Goals Introduce Message Authentication Codes (MACs)
Key tool in Construction of CCA-Secure Encryption Schemes Build Secure MACs
8
What Does It Mean to “Secure Information”
Confidentiality (Security/Privacy) Only intended recipient can see the communication
9
What Does It Mean to “Secure Information”
Confidentiality (Security/Privacy) Only intended recipient can see the communication Integrity (Authenticity) The message was actually sent by the alleged sender I love you Alice… - Bob We need to break up -Bob Alice Bob
10
Message Authentication Codes
CPA-Secure Encryption: Focus on Secrecy But does not promise integrity Message Authentication Codes: Focus on Integrity But does not promise secrecy CCA-Secure Encryption: Requires Integrity and Secrecy
11
What Does It Mean to “Secure Information”
Integrity (Authenticity) The message was actually sent by the alleged sender And the received message matches the original Example: HTTP is stateless. Cookies can be stored on the client, but can the server trust the client not to modify the cookie? Pay robot devil $50 Pay robot devil $5,000 Alice Bob
12
Error Correcting Codes?
Tool to detect/correct a small number of random errors in transmission Examples: Parity Check, Reed-Solomon Codes, LDPC, Hamming Codes … Provides no protection against a malicious adversary who can introduce an arbitrary number of errors Still useful when implementing crypto in the real world (Why?)
13
Modifying Ciphertexts
Enck(m)=𝑐= 𝑟, 𝐹 𝑘 𝑟 ⨁𝑚 𝑐 ′ = 𝑟, 𝐹 𝑘 𝑟 ⨁𝑚⨁𝑦 =Enck(𝑚⨁𝑦) Deck (𝑐 ′ )= 𝐹 𝑘 𝑟 ⨁ 𝐹 𝑘 𝑟 ⨁𝑚⨁𝑦=𝑚⨁𝑦 If attacker knows original message he can forge c’ to decrypt to any message he wants. Even if attacker doesn’t know message he may find it advantageous to flip certain bits (e.g., decimal places)
14
Message Authentication Code Syntax
Definition 4.1: A message authentication code (MAC) consists of three algorithms Gen ( 1 𝑛 ;𝑅) (Key-generation algorithm) Input: security parameter 1n (unary) and random bits R Output: Secret key k∈𝒦 Mack (𝑚;𝑅) (Tag Generation algorithm) Input: Secret key k∈𝒦 and message m∈ℳ and random bits R Output: a tag t Vrfyk (𝑚,𝑡) (Verification algorithm) Input: Secret key k∈𝒦, a message m and a tag t Output: a bit b (b=1 means “valid” and b=0 means “invalid”) Invariant?
15
Message Authentication Code Syntax
Definition 4.1: A message authentication code (MAC) consists of three algorithms Gen ( 1 𝑛 ;𝑅) (Key-generation algorithm) Input: security parameter 1n (unary) and random bits R Output: Secret key k∈𝒦 Mack (𝑚;𝑅) (Tag Generation algorithm) Input: Secret key k∈𝒦 and message m∈ℳ and random bits R Output: a tag t Vrfyk (𝑚,𝑡) (Verification algorithm) Input: Secret key k∈𝒦, a message m and a tag t Output: a bit b (b=1 means “valid” and b=0 means “invalid”) Invariant?
16
Message Authentication Code Syntax
Definition 4.1: A message authentication code (MAC) consists of three algorithms Π= Gen, Mac, Vrfy Gen ( 1 𝑛 ;𝑅) (Key-generation algorithm) Input: security parameter 1n (unary) and random bits R Output: Secret key k∈𝒦 Mack (𝑚;𝑅) (Tag Generation algorithm) Input: Secret key k∈𝒦 and message m∈ℳ and random bits R Output: a tag t Vrfyk (𝑚,𝑡) (Verification algorithm) Input: Secret key k∈𝒦, a message m and a tag t Output: a bit b (b=1 means “valid” and b=0 means “invalid”) Vrfyk (𝑚, Mack (𝑚;𝑅) ) =1 Security Goal (Informal): Attacker should not be able to forge a valid tag t’ for new message m’ that s/he wants to send.
17
MAC Authentication Game ( Macforge 𝐴,Π (𝑛))
t1 = MacK(m1) m2 t2 = MacK (m2) … mq tq = MacK(mq) 𝑚,𝑡 s.t 𝑚∉ 𝑚1,…, 𝑚 𝑞 Macforge 𝐴,Π (𝑛)=Vrfyk (𝑚,𝑡) K = Gen(.) ∀𝑃𝑃𝑇 𝐴 ∃𝜇 (negligible) s.t Pr Macforge 𝐴,Π 𝑛 =1 ≤𝜇(𝑛)
18
Discussion Is the definition too strong? Replay Attacks?
Attacker wins if he can forge any message Does not necessarily attacker can forge a “meaningful message” “Meaningful Message” is context dependent Conservative Approach: Prove Security against more powerful attacker Conservative security definition can be applied broadly Replay Attacks? t=MacK(“Pay Bob $1,000 from Alice’s bank account”) Alice cannot modify message to say $10,000, but… She may try to replay it 10 times
19
Replay Attacks MACs alone do not protect against replay attacks (they are stateless) Common Defenses: Include Sequence Numbers in Messages (requires synchronized state) Can be tricky over a lossy channel Timestamp Messages Double check timestamp before taking action
20
Strong MACs Previous game ensures attacker cannot generate a valid tag for a new message. However, attacker may be able to generate a second valid tag t’ for a message m after observing (m,t) Strong MAC: attacker cannot generate second valid tag, even for a known message
21
Strong MAC Authentication ( Macsforge 𝐴,Π (𝑛))
t1 = MacK(m1) m2 t2 = MacK (m2) … mq tq = MacK(mq) m,t s.t m,t ∉ (m1,t1),…,(mq,t𝑞) Macsforge 𝐴,Π (𝑛)=Vrfyk (𝑚,𝑡) K = Gen(.) ∀𝑃𝑃𝑇 𝐴 ∃𝜇 (negligible) s.t Pr Macsforge 𝐴,Π 𝑛 =1 ≤𝜇(𝑛)
22
Deterministic MACs Canonical Verification Algorithm
Vrfyk (𝑚,𝑡) = 1 if 𝑡=Mack(𝑚) otherwise “All real-world MACs use canonical verification” – page 115
23
Strong MAC vs Regular MAC
Proposition 4.4: Let Π= Gen, Mac, Vrfy be a secure MAC that uses canonical verification. Then Π is a strong MAC. “All real-world MACs use canonical verification” – page 115 Should attacker have access to VrfyK(.) oracle in games? (e.g., CPA vs CCA security for encryption) Irrelevant if the MAC uses canonical verification!
24
Timing Attacks (Side Channel)
Naïve Canonical Verification Algorithm Input: m,t’ t=MacK(m) for i=1 to tag-length if t[i] != t’[i] then return 0 return 1 Example t= t’= Returns 0 after 8 steps
25
Timing Attacks (Side Channel)
Naïve Canonical Verification Algorithm Input: m,t’ t=MacK(m) for i=1 to tag-length if t[i] != t’[i] then return 0 return 1 Example t= t’= Returns 0 after 1 step
26
Timing Attack MACs used to verify code updates for Xbox 360
Implementation allowed different rejection times (side-channel) Attacks exploited vulnerability to load pirated games onto hardware Moral: Ensure verification is time-independent
27
Improved Canonical Verification Algorithm
Input: m,t’ B=1 t=MacK(m) for i=1 to tag-length if t[i] != t’[i] then B=0 else (dummy op) return B Example t= t’= Returns 0 after 8 steps
28
Side-Channel Attacks Cryptographic Definition
Attacker only observes outputs of oracles (Enc, Dec, Mac) and nothing else When attacker gains additional information like timing (not captured by model) we call it a side channel attack. Other Examples Differential Power Analysis Cache Timing Attack Power Monitoring Acoustic Cryptanalysis …many others
29
Recap Data Integrity Message Authentication Codes Side-Channel Attacks
Build Secure MACs Construct CCA-Secure Encryption Scheme Current Goal: Build a Secure MAC Key tool in Construction of CCA-Secure Encryption Schemes
30
General vs Fixed Length MAC
ℳ= 0,1 ∗ versus ℳ= 0,1 ℓ(𝑛)
31
Strong MAC Construction (Fixed Length)
Simply uses a secure PRF F Mack (𝑚) =FK(𝑚) Question: How to verify the a MAC? Canonical Verification Algorithm… Vrfyk (𝑚,𝑡) = 1 if 𝑡=FK(𝑚) 0 otherwise
32
Strong MAC Authentication ( Macsforge 𝐴,Π (𝑛))
t1 = MacK(m1) m2 t2 = MacK (m2) … mq tq = MacK(mq) m,t s.t m,t ∉ (m1,t1),…,(mq,t𝑞) Macsforge 𝐴,Π (𝑛)=Vrfyk (𝑚,𝑡) K = Gen(.) ∀𝑃𝑃𝑇 𝐴 ∃𝜇 (negligible) s.t Pr Macsforge 𝐴,Π 𝑛 =1 ≤𝜇(𝑛)
33
Concrete Version: 𝑡 𝑛 ,𝑞 𝑛 ,𝜀(𝑛) -secure MAC
t1 = MacK(m1) m2 t2 = MacK (m2) … mq tq = MacK(mq) m,t s.t m,t ∉ (m1,t1),…,(mq,t𝑞) Macsforge 𝐴,Π (𝑛)=Vrfyk (𝑚,𝑡) K = Gen(.) ∀ 𝐴 with time(A)≤𝑡 𝑛 ,queries(A)≤𝑞 𝑛 Pr Macsforge 𝐴,Π 𝑛 =1 ≤𝜀(𝑛)
34
Strong MAC Construction (Fixed Length)
Mack (𝑚) =FK(𝑚) Vrfyk (𝑚,𝑡) = 1 if 𝑡=FK(𝑚) 0 otherwise Theorem 4.6: If F is a PRF then this is a secure (fixed-length) MAC for messages of length n. Proof: Start with attacker who breaks MAC security and build an attacker who breaks PRF security (contradiction!) Sufficient to start with attacker who breaks regular MAC security (why?)
35
Breaking MAC Security ( Macforge 𝐴,Π (𝑛))
𝒕 𝟏 = 𝑭 𝑲 𝒎 𝟏 m2 𝒕 𝟐 = 𝑭 𝑲 𝒎 𝟐 … mq 𝒕 𝒒 = 𝑭 𝑲 𝒎 𝒒 𝑚,𝑡 s.t 𝑚∉ 𝑚 1 ,…, 𝑚 𝑞 Macforge 𝐴,Π (𝑛)=Vrfyk (𝑚,𝑡) K = Gen(.) ∃𝑃𝑃𝑇 𝐴 𝑎𝑛𝑑 𝑔(.) (positive/non negligible) s.t Pr Macforge 𝐴,Π 𝑛 =1 >𝑔(𝑛)
36
A Similar Game ( Macforge 𝐴, Π (𝑛))
Why? Because f(m) is distributed uniformly in {0,1}n so Pr[f(m)=t]=2-n m1 t1 = f(m1) m2 t2 = f (m2) … mq tq = f(mq) 𝑚,𝑡 s.t 𝑚∉ 𝑚 1 ,…, 𝑚 𝑞 Macforge 𝐴, Π (𝑛)=Vrfyk (𝑚,𝑡) Truly Random Function f ∈Funcn Claim: ∀𝐴 𝑛𝑜𝑡 𝑗𝑢𝑠𝑡 𝑃𝑃𝑇 Pr Macforge 𝐴, Π 𝑛 =1 ≤ 2 −𝑛
37
PRF Distinguisher D Given oracle O (either FK or truly random f)
Run PPT Macforge adversary A When adversary queries with message m, respond with O(m) Output 1 if attacker wins (otherwise 0) If O = f then Pr 𝐷𝑂 1𝑛 =1 =Pr Macforge 𝐴, Π 𝑛 =1 ≤ 2 −𝑛 If O=FK then Pr 𝐷𝑂 1𝑛 =1 =Pr Macforge 𝐴,Π 𝑛 =1 >𝑔(𝑛)
38
PRF Distinguisher D If O = f then
Pr 𝐷𝑂 1𝑛 =1 =Pr Macforge 𝐴, Π 𝑛 =1 ≤ 2 −𝑛 If O=FK then Pr 𝐷𝑂 1𝑛 =1 =Pr Macforge 𝐴,Π 𝑛 =1 >𝑔(𝑛) Advantage: Pr 𝐷 𝐹 𝐾 1𝑛 =1 −Pr 𝐷𝑓 1𝑛 =1 >𝑔 𝑛 − 2 −𝑛 Note that 𝑔 𝑛 − 2 −𝑛 is non-negligible and D runs in PPT if A does.
39
Strong MAC Construction (Fixed Length)
Mack (𝑚) =FK(𝑚) Vrfyk (𝑚,𝑡) = 1 if 𝑡=FK(𝑚) 0 otherwise Theorem 4.6: If F is a PRF then this is a secure (fixed-length) MAC for messages of length n.
40
Strong MAC Construction (Fixed Length)
Mack (𝑚) =FK(𝑚) Vrfyk (𝑚,𝑡) = 1 if 𝑡=FK(𝑚) 0 otherwise Theorem (Concrete): If F is a 𝑡 𝑛 ,𝑞 𝑛 ,𝜀(𝑛) -secure PRF then the above construction is a 𝑡 𝑛 −𝑂 𝑛 ,𝑞 𝑛 ,𝜀 𝑛 + 2 −𝑛 -secure MAC for ℳ = 0,1 𝑛 (messages of length n). Example: F is a 2 𝑛 , 2 𝑛/2 , 2 −𝑛 -secure PRF- the above MAC construction is 2 𝑛 −𝑂 𝑛 , 2 𝑛/2 , 2 −𝑛+1 -secure
41
Homework 1: Due Now Missing or Late Work: Homework is due at the beginning of class on the given due date. If you have a planned absence for a class on a date when homework is due, then you should your completed assignment to the TA before the deadline. The following penalties apply for late homeworks: Late reports turned in within 24 hours of the deadline will receive a 10% penalty. Reports turned in 24 hours late, but within 48 hours of the deadline will receive a 25% penalty. Reports turned in more than two days after the deadline will be counted as a zero.
42
Strong MAC Construction (Fixed Length)
Mack (𝑚) =FK(𝑚) Vrfyk (𝑚,𝑡) = 1 if 𝑡=FK(𝑚) 0 otherwise Theorem (Concrete): If F is a 𝑡 𝑛 ,𝑞 𝑛 ,𝜀(𝑛) -secure PRF then the above construction is a 𝑡 𝑛 −𝑂 𝑛 ,𝑞 𝑛 ,𝜀 𝑛 + 2 −𝑛 -secure MAC for ℳ= 0,1 𝑛 (messages of length n). Limitation: What if we want to authenticate a longer message? ℳ= 0,1 ∗
43
MACs for Arbitrary Length Messages
Building Block Π’=(Mac’,Vrfy’), a secure MAC for length n messages First: A few failed attempts Let m = m1,…,md where each mi is n bits and let 𝑡 𝑖 = Mac 𝐾 ′ 𝑚 𝑖 MacK(m)= 𝑡 1 ,…, 𝑡 𝑑 What is wrong? Block-reordering attack MacK(md,…, 𝑚 1 )= 𝑡 𝑑 ,…, 𝑡 1 𝑚 1 = “I love you” 𝑚 2 = “I will never say that” 𝑚 3 = “you are stupid”
44
MACs for Arbitrary Length Messages
Building Block Π’=(Mac’,Vrfy’), a secure MAC for length n messages Attempt 2 Let m = m1,…,md where each mi is n bits and let 𝑡 𝑖 = Mac 𝐾 ′ 𝑖 ∥𝑚 𝑖 MacK(m)= 𝑡 1 ,…, 𝑡 𝑑 Addresses block-reordering attack. Any other concerns? Truncation attack! MacK(m1,…, 𝑚 𝑑−1 )= 𝑡 1 ,…, 𝑡 𝑑−1 Suppose 𝑚 1 ,…, 𝑚 𝑑−1 , 𝑚 𝑑 = “I don’t like you. I LOVE you!”
45
MACs for Arbitrary Length Messages
Building Block Π’=(Mac’,Vrfy’), a secure MAC for length n messages Attempt 3 Let m = m1,…,md where each mi is n bits and m has length ℓ=𝑛𝑑 Let 𝑡 𝑖 = Mac 𝐾 ′ 𝑖 ∥ℓ∥𝑚 𝑖 MacK(m)= 𝑡 1 ,…, 𝑡 𝑑 Addresses truncation. Any other concerns? Mix and Match Attack!
46
MACs for Arbitrary Length Messages
Let m = m1,…,md where each mi is n bits and m has length ℓ=𝑛𝑑 Let m’ = m’1,…,m’d where each m’i is n bits and m has length ℓ=𝑛𝑑 Let 𝑡 𝑖 = Mac 𝐾 ′ 𝑖 ∥ℓ∥𝑚 𝑖 and 𝑡′ 𝑖 = Mac 𝐾 ′ 𝑖 ∥ℓ∥𝑚 𝑖 ′ MacK(m)= 𝑡 1 ,…, 𝑡 𝑑 MacK(m′)= 𝑡′ 1 ,…, 𝑡′ 𝑑 Mix and Match Attack! MacK(m1,m′2,m3,...)= 𝑡 1 , 𝑡′ 2 , 𝑡 3 ,…
47
𝑚 1 = “What will I say to Eve?” 𝑚 2 = “You are evil and vile.”
𝑚 3 = “Please leave me alone!” 𝑚 4 = “Your sworn enemy - BOB” 𝑡= 𝑡 1 , 𝑡 2 ,, 𝑡 3 , 𝑡 4 𝑚 1 ′= “Dear Alice” 𝑚 2 ′= “You are wonderful.” 𝑚 3 ′= “I can’t wait to see you!” 𝑚 4 ′= “XOXOXOXOXO - BOB” 𝑡 ′ = 𝑡 1 ′, 𝑡 2 ′,, 𝑡 3 ′, 𝑡 4 ′ 𝑚 1 ′= “Dear Alice” 𝑚 2 = “You are evil and vile.” 𝑚 3 = “Please leave me alone!” 𝑚 4 = “Your sworn enemy - BOB” 𝑡 ′′ = 𝑡 1 ′, 𝑡 2 ,, 𝑡 3 , 𝑡 4
48
MACs for Arbitrary Length Messages
A non-failed approach Building Block Π’=(Mac’,Vrfy’), a secure MAC for length n messages Let m = m1,…,md where each mi is n/4 bits and m has length ℓ< 2 𝑛/4 MacK(m)= Select random 𝑛 4 bit nonce 𝑟 Let 𝑡 𝑖 = 𝑀𝑎𝑐 𝐾 ′ 𝑟∥ℓ∥𝑖 ∥𝑚 𝑖 for i=1,…,d (Note: encode i and ℓ as 𝑛 4 bit strings) Output 𝑟, 𝑡 1 ,…, 𝑡 𝑑
49
MACs for Arbitrary Length Messages
MacK(m)= Select random n/4 bit string r Let 𝑡 𝑖 = Mac 𝐾 ′ 𝑟∥ℓ∥𝑖 ∥𝑚 𝑖 for i=1,…,d (Note: encode i and ℓ as n/4 bit strings) Output 𝑟, 𝑡 1 ,…, 𝑡 𝑑 Theorem 4.8: If Π′ is a secure MAC for messages of fixed length n, above construction Π=(Mac,Vrfy) is secure MAC for arbitrary length messages.
50
Coming Soon CBC-MAC and Authenticated Encryption
Read Katz and Lindell
51
Topics 2&3: Authenticated Encryption + CCA-Security
Week 3 Topics 2&3: Authenticated Encryption + CCA-Security
52
Recap Message Authentication Codes Secrecy vs Confidentiality
Today’s Goals: Authenticated Encryption Build Authenticated Encryption Scheme with CCA-Security
53
Authenticated Encryption
Encryption: Hides a message from the attacker Message Authentication Codes: Prevents attacker from tampering with message
54
Unforgeable Encryption Experiment ( Encforge 𝐴,Π (𝑛))
c1 = EncK(m1) m2 c2 = EncK (m2) … mq cq = EncK(mq) 𝑐 s.t 𝑐∉ 𝑐1,…,cq Encforge 𝐴,Π 𝑛 =1 if Deck 𝑐 ≠⊥ K = Gen(.) ∀𝑃𝑃𝑇 𝐴 ∃𝜇 (negligible) s.t Pr Encforge 𝐴,Π 𝑛 =1 ≤𝜇(𝑛)
55
Unforgeable Encryption Experiment ( Encforge 𝐴,Π (𝑛))
c1 = EncK(m1) m2 Call Π an authenticated encryption scheme if it is CCA-secure and any PPT attacker wins Encforge with negligible probability c2 = EncK (m2) … Game is very similar to MAC-Forge game mq cq = EncK(mq) 𝑐 s.t 𝑐∉ 𝑐1,…,cq Encforge 𝐴,Π 𝑛 =1 if Deck 𝑐 ≠⊥ K = Gen(.) ∀𝑃𝑃𝑇 𝐴 ∃𝜇 (negligible) s.t Pr Encforge 𝐴,Π 𝑛 =1 ≤𝜇(𝑛)
56
Building Authenticated Encryption
Attempt 1: Let Enc 𝐾 ′ 𝑚 be a CPA-Secure encryption scheme and let Mac 𝐾 ′ 𝑚 be a secure MAC 𝐸𝑛𝑐 𝐾 𝑚 = Enc 𝐾 ′ 𝑚 , Mac 𝐾 ′ 𝑚 Any problems? Enc 𝐾 ′ 𝑚 = 𝑟, 𝐹 𝑘 𝑟 ⨁𝑚 Mac 𝐾 ′ 𝑚 = 𝐹 𝑘 𝑚
57
Building Authenticated Encryption
Attempt 1: 𝐸𝑛𝑐 𝐾 𝑚 = 𝑟, 𝐹 𝑘 𝑟 ⨁𝑚, 𝐹 𝑘 𝑚 CPA-Attack: Intercept ciphertext c 𝑐= 𝐸𝑛𝑐 𝐾 𝑚 = 𝑟, 𝐹 𝑘 𝑟 ⨁𝑚, 𝐹 𝑘 𝑚 Ask to encrypt r 𝑐𝑟= 𝐸𝑛𝑐 𝐾 𝑟 = 𝑟′, 𝐹 𝑘 𝑟′ ⨁𝑟, 𝐹 𝑘 𝑟 𝑚= 𝐹 𝑘 𝑟 ⨁ 𝐹 𝑘 𝑟 ⨁𝑚
58
Building Authenticated Encryption
Attempt 1: Let Enc 𝐾 ′ 𝑚 be a CPA-Secure encryption scheme and let Mac 𝐾 ′ 𝑚 be a secure MAC 𝐸𝑛𝑐 𝐾 𝑚 = Enc 𝐾 ′ 𝑚 , Mac 𝐾 ′ 𝑚 Attack exploited fact that same secret key used for MAC’/Enc’
59
Independent Key Principle
“different instances of cryptographic primitives should always use independent keys”
60
Building Authenticated Encryption
Attempt 2: (Encrypt-and-Authenticate) Let Enc 𝐾 𝐸 ′ 𝑚 be a CPA- Secure encryption scheme and let Mac 𝐾 𝑀 ′ 𝑚 be a secure MAC. Let 𝐾 = 𝐾 𝐸 , 𝐾 𝑀 then 𝐸𝑛𝑐 𝐾 𝑚 = Enc 𝐾 𝐸 ′ 𝑚 , Mac 𝐾 𝑀 ′ 𝑚 Any problems? Enc 𝐾 𝐸 ′ 𝑚 = 𝑟, 𝐹 𝐾 𝐸 𝑟 ⨁𝑚 Mac 𝐾 𝑀 ′ 𝑚 = 𝐹 𝐾 𝑀 𝑚
61
Building Authenticated Encryption
Attempt 2: (Encrypt-and-Authenticate) 𝐸𝑛𝑐 𝐾 𝑚 = 𝑟, 𝐹 𝐾 𝐸 𝑟 ⨁𝑚, 𝐹 𝐾 𝑀 𝑚 CPA-Attack: Select 𝑚 0 , 𝑚 1 Obtain ciphertext c 𝑐= 𝑟, 𝐹 𝐾 𝐸 𝑟 ⨁ 𝑚 𝑏 , 𝐹 𝐾 𝑀 𝑚𝑏 Ask to encrypt 𝑚 0 𝑐𝑟= 𝑟′, 𝐹 𝐾 𝐸 𝑟′ ⨁𝑚0, 𝐹 𝐾 𝑀 𝑚0 𝐹 𝐾 𝑀 𝑚0 =? 𝐹 𝐾 𝑀 𝑚𝑏
62
Building Authenticated Encryption
Attempt 2: (Encrypt-and-Authenticate) 𝐸𝑛𝑐 𝐾 𝑚 = 𝑟, 𝐹 𝐾 𝐸 𝑟 ⨁𝑚, 𝐹 𝐾 𝑀 𝑚 CPA-Attack: Select 𝑚 0 , 𝑚 1 Obtain ciphertext c 𝑐= 𝑟, 𝐹 𝐾 𝐸 𝑟 ⨁ 𝑚 𝑏 , 𝐹 𝐾 𝑀 𝑚𝑏 Ask to encrypt 𝑚 0 𝑐𝑟= 𝑟′, 𝐹 𝐾 𝐸 𝑟′ ⨁ 𝑚 0 , 𝐹 𝐾 𝑀 𝑚 0 𝐹 𝐾 𝑀 𝑚 0 =? 𝐹 𝐾 𝑀 𝑚𝑏 Encrypt and Authenticate Paradigm does not work in general
63
Building Authenticated Encryption
Attempt 2: (Encrypt-and-Authenticate) Let Enc 𝐾 𝐸 ′ 𝑚 be a CPA- Secure encryption scheme and let Mac 𝐾 𝑀 ′ 𝑚 be a secure MAC. Let 𝐾 = 𝐾 𝐸 , 𝐾 𝑀 then 𝐸𝑛𝑐 𝐾 𝑚 = Enc 𝐾 𝐸 ′ 𝑚 , Mac 𝐾 𝑀 ′ 𝑚 Problem: MAC security definition doesn’t promise to hide m! This is what SSL does
64
Building Authenticated Encryption
Attempt 3: (Authenticate-then-encrypt) Let Enc 𝐾 𝐸 ′ 𝑚 be a CPA-Secure encryption scheme and let Mac 𝐾 𝑀 ′ 𝑚 be a secure MAC. Let 𝐾 = 𝐾 𝐸 , 𝐾 𝑀 then 𝐸𝑛𝑐 𝐾 𝑚 = Enc 𝐾 𝐸 ′ 𝑚∥𝑡 where t=Mac 𝐾 𝑀 ′ 𝑚 - Used in SSL/TLS Not generically secure (Hugo Krawczyk) Easy to make mistakes when implementing (e.g., Lucky13 attack on TLS) The Order of Encryption and Authentication for Protecting Communications (or: How Secure Is SSL?)
65
Authenticate-then-Encrypt: A Bad Case
Attempt 3: (Authenticate-then-encrypt) 𝐸𝑛𝑐 𝐾 𝑚 = Enc 𝐾 𝐸 ′ 𝑚∥𝑡 where t=Mac 𝐾 𝑀 ′ 𝑚 (Contrived? Plausible?) bad case: Enc 𝐾 𝐸 ′ 𝑚 =𝐸𝐶𝐶 𝑟, 𝐹 𝐾 𝐸 𝑟 ⨁𝑚 D𝑒𝑐 𝐾 𝐸 ′ 𝑐 𝑟,𝑠 ≔𝐸𝐶𝐶𝐷 𝑐 Return 𝑚= 𝐹 𝐾 𝐸 𝑟 ⨁𝑠 Error Correcting Code
66
Authenticate-then-Encrypt: A Bad Case
Attempt 3: (Authenticate-then-encrypt) 𝐸𝑛𝑐 𝐾 𝑚 = Enc 𝐾 𝐸 ′ 𝑚∥𝑡 where t=Mac 𝐾 𝑀 ′ 𝑚 (Contrived? Plausible?) bad case: Enc 𝐾 𝐸 ′ 𝑚 =𝐸𝐶𝐶 𝑟, 𝐹 𝐾 𝐸 𝑟 ⨁𝑚 D𝑒𝑐 𝐾 𝐸 ′ 𝑐 𝑟,𝑠 ≔𝐸𝐶𝐶𝐷 𝑐 Return 𝑚= 𝐹 𝐾 𝐸 𝑟 ⨁𝑠 Error Correcting Code 𝐸𝐶𝐶 101 = Ties? 𝐸𝐶𝐶𝐷 1100 =1 𝐸𝐶𝐶𝐷 0011 =1
67
Authenticate-then-Encrypt: A Bad Case
Error Correcting Code 𝐸𝐶𝐶 101 = 𝐸𝐶𝐶𝐷 1100 =1 𝐸𝐶𝐶𝐷 0011 =1 Can learn tag and message bit by bit by repeatedly querying decryption oracle! Attempt 3: (Authenticate-then-encrypt) 𝐸𝑛𝑐 𝐾 𝑚 = Enc 𝐾 𝐸 ′ 𝑚∥𝑡 where t=Mac 𝐾 𝑀 ′ 𝑚 (Contrived? Plausible?) bad case: Enc 𝐾 𝐸 ′ 𝑚 =𝐸𝐶𝐶 𝑟, 𝐹 𝐾 𝐸 𝑟 ⨁𝑚 D𝑒𝑐 𝐾 𝐸 ′ 𝑐 𝑟,𝑠 ≔𝐸𝐶𝐶𝐷 𝑐 Return 𝑚= 𝐹 𝐾 𝐸 𝑟 ⨁𝑠 Attacker obtains c=𝐸𝐶𝐶 𝑟,𝑠= 𝐹 𝐾 𝐸 𝑟 ⨁ 𝑚∥𝑡 Attacker asks for decryption of c ′ =𝐸𝐶𝐶 𝑟,𝑠 ⨁ 0…0∥0011 What happens if last bit of 𝑠 was a zero? Answer: decryption error since 𝑡 ′ =𝑡⨁ 0…0∥1 ! 𝐸𝐶𝐶𝐷 𝑐′ = 𝑟, 𝑠 ′ =𝑠⨁ 0…0∥1 What happens if last bit of 𝑠 is a one? Answer: Valid! 𝐸𝐶𝐶𝐷 𝑐 =𝐸𝐶𝐶𝐷 𝑐′
68
Building Authenticated Encryption
Attempt 4: (Encrypt-then-authenticate) Let Enc 𝐾 𝐸 ′ 𝑚 be a CPA-Secure encryption scheme and let Mac 𝐾 𝑀 ′ 𝑚 be a secure MAC. Let 𝐾 = 𝐾 𝐸 , 𝐾 𝑀 then 𝐸𝑛𝑐 𝐾 𝑚 = c, Mac 𝐾 𝑀 ′ c where c=Enc 𝐾 𝐸 ′ 𝑚 Secure?
69
Building Authenticated Encryption
Theorem: (Encrypt-then-authenticate) Let Enc 𝐾 𝐸 ′ 𝑚 be a CPA-Secure encryption scheme and let Mac 𝐾 𝑀 ′ 𝑚 be a secure MAC. Then the following construction is an authenticated encryption scheme. 𝐸𝑛𝑐 𝐾 𝑚 = c, Mac 𝐾 𝑀 ′ c where c=Enc 𝐾 𝐸 ′ 𝑚 Proof? Two Tasks: Encforge 𝐴,Π CCA-Security
70
Building Authenticated Encryption
Theorem: (Encrypt-then-authenticate) Let Enc 𝐾 𝐸 ′ 𝑚 be a CPA-Secure encryption scheme and let Mac 𝐾 𝑀 ′ 𝑚 be a secure MAC. Then the following construction is an authenticated encryption scheme. 𝐸𝑛𝑐 𝐾 𝑚 = c, Mac 𝐾 𝑀 ′ c where c=Enc 𝐾 𝐸 ′ 𝑚 Proof Intuition: Suppose that we have already shown that any PPT attacker wins Encforge 𝐴,Π with negligible probability. Why does CCA-Security now follow from CPA-Security? CCA-Attacker has decryption oracle, but cannot exploit it! Why? Always sees ⊥ “invalid ciphertext” when he query with unseen ciphertext
71
Proof Sketch Let ValidDecQuery be event that attacker submits new/valid ciphertext to decryption oracle Show Pr[ValidDecQuery] is negl(n) for any PPT attacker Hint: Follows from strong security of MAC since 𝐸𝑛𝑐 𝐾 𝑚 = c, Mac 𝐾 𝑀 ′ c This also implies unforgeability (even if we gave the attacker 𝐾 𝐸 !). Show that attacker who does not issue valid decryption query wins CCA- security game with probability ½ + negl(n) Hint: otherwise we can use A to break CPA-security Hint 2: simulate decryption oracle by always returning ⊥ when given new ciphertext
72
Secure Communication Session
Solution Protocol? Alice transmits c1 = EncK(m1) to Bob, who decrypts and sends Alice c2 = EncK(m2) etc… Authenticated Encryption scheme is Stateless For fixed length-messages We still need to worry about Re-ordering attacks Alice sends 2n-bit message to Bob as c1 = EncK(m1), c2 = EncK(m2) Replay Attacks Attacker who intercepts message c1 = EncK(m1) can replay this message later in the conversation Reflection Attack Attacker intercepts message c1 = EncK(m1) sent from Alice to Bob and replays to c1 Alice only
73
Secure Communication Session
Defense Counters (CTRA,B,CTRB,A) Number of messages sent from Alice to Bob (CTRA,B) --- initially 0 Number of messages sent from Bob to Alice (CTRB,A) --- initially 0 Protects against Re-ordering and Replay attacks Directionality Bit bA,B = 0 and bB,A = 1 (e.g., since A < B) Alice: To send m to Bob, set c=EncK(bA,B ∥ CTRA,B ∥m), send c and increment CTRA,B Bob: Decrypts c, (if ⊥ then reject), obtain b ∥ CTR ∥m If CTR≠ CTRA,B or b≠bA,B then reject Otherwise, output m and increment CTRA,B
74
Galois Counter Mode (GCM)
AES-GCM is an Authenticated Encryption Scheme Bonus: Authentication Encryption with Associated Data Ensure integrity of ciphertext Attacker cannot even generate new/valid ciphertext! Ensures attacker cannot tamper with associated packet data Source IP Destination IP Why can’t these values be encrypted? Encryption is largely parallelizable!
75
Authenticated Security vs CCA-Security
Authenticated Encryption CCA-Security (by definition) CCA-Security does not necessarily imply Authenticate Encryption But most natural CCA-Secure constructions are also Authenticated Encryption Schemes Some constructions are CCA-Secure, but do not provide Authenticated Encryptions, but they are less efficient. Conceptual Distinction CCA-Security the goal is secrecy (hide message from active adversary) Authenticated Encryption: the goal is integrity + secrecy
76
Next Week Read Katz and Lindell 5.1-5.6 Cryptographic Hash Functions
HMACs Generic Attacks on Hash Functions Random Oracle Model Applications of Hashing Homework 2 Assigned
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.