practical key recovery attack against apop an md5 based
play

Practical key recovery attack against APOP , an MD5 based - PowerPoint PPT Presentation

Practical key recovery attack against APOP , an MD5 based challenge response authentication. By Gaetan Leurent Presented by:- Guided By:- Raagi Sukhlecha Prof. Anish Mathuria Lalit Agarwal Outline Introduction APOP What is


  1. Practical key recovery attack against APOP , an MD5 based challenge response authentication. By Gaetan Leurent Presented by:- Guided By:- Raagi Sukhlecha Prof. Anish Mathuria Lalit Agarwal

  2. Outline • Introduction • APOP – What is APOP and how does it work ? • MD-5 hashing algorithm • APOP Attack • Abstract • Wang’s attack on MD -5 • Algorithm by Gaëtan Leurent • APOP Attack complexity • APOP in practice

  3. What is APOP ? • Improvement to POP 3 which supported plain – text password • APOP Provides simple challenges response authentication and avoids passive eavesdropping attack . • It only does client authentication. No server authentication. msg-id msg-id id , MD-5(msg-id || passwd)

  4. Example According to RFC 1939 , 1. The challenge should be enclosed with in <> with exactly one@ in between. 2. The remaining characters should be ASCII. 3. Inside the message-id, all characters are accepted, except:- 1. 0x00 Null 2. Ox3e Greater than Sign (‘>’) 3. Ox0a Line-Feed 4. Ox0d Carriage Return 1 <11776027@pop.mail.com> Server 2 Alice ,MD5 (‘<171.11776027@pop.mail.com>penguin’) 3 Mail box has 1 message

  5. MD-5 – Working • Hashing algorithm; uses Merkle damgard construction • Message blocks of 512 bits and initialization vector IV of 128 bits. • Uses bitwise functions • additions mod 2 32 : + • Boolean functions: f i • Rotations : << s i Consider a message M M padding b 0 | b 1 | b 2 ….| b n where |b i | = 512 bits g - compression function

  6. MD-5 – Working (cont.) b n b 1 b 2 b 0 v 1 v 3 v n v 2 v 0 g g h(m) g g …. IV b i = m 0 | m 1 | m 2 ….|m 15 where |m i | = 32 bits 4 rounds of 16 steps = 64 steps

  7. Round 1 Round 0 Round 3 IV = Q -4 Q -1 Q -2 Q -3 Step Step Step π(48) π(0) π) 0 16 48 Q 0 Q 16 Q 48 Step Step π(63) 15 63 π(15) Q 15 v 1 Where IV is broken into 4 32 bit words Q -4 Q -1 Q -2 Q -3 Q i is the output of each step i (0<= i <=63 )

  8. MD-5 – Working (cont.) - A MD-5 step where • s i and K i as predefined constant • π( i) is permutation applied to Ki input blocks • f i as functions defined as ᴨ (i)

  9. Basic Equation If Q i , Q i+1 , Q i+2 , Q i+3 are known, then we can compute Q i+4 . Here we compute Q 10 from Q 6 , Q 7 , Q 8 , Q 9 and m 10 .

  10. Basic Equation If Q i+1 , Q i+2 , Q i+3 , Q i+4 are known, then we can compute Q i . Here we compute Q 6 from Q 7 , Q 8 , Q 9, Q 10 and m 10 .

  11. Basic Equation If Q i - Q i-4 are known then we can compute m i . Here we compute m 10 from Q 6 and Q 10 .

  12. APOP Attack • Abstract • Wang’s Attack • Wang’s attack on MD -4 and MD-5 • Problem with Wang’s attack • Algorithm by Gaëtan Leurent • Message freedom • APOP Attack Complexity

  13. Abstract of the attack • Goal:- To recover some characters of the client’s password • Attacker impersonates server and sends crafted challenge Server Attacker

  14. Abstract of the attack (cont.) • Attacker sends challenges in such a way that hashed responses will collide if the part of the password was rightly guessed c id , MD-5(c || passwd) Attacker c ’ id , MD- 5(c’|| passwd)

  15. Attack Block 2 Block 1 Challenge C = <?????...??> M = <?????????...........@ ………..????????????> x C’ = </////...//> M’ = …………..………../////////> x <///////……………@ H(M) = H(M’) R = MD-5 ( ) <?????????...........@ ………..????????????> p 0 p 1 p 2 p 3……………….… pad R’ = MD -5 ( <///////……………@ …………..………../////////> p 0 p 1 p 2 p 3……………….… pad ) R and R’ are equal if p 0 = x To test the first password character, the attacker will construct pairs to test each of the 256 ASCII values . Note:- The collision is unlikely if p 0 != x ?

  16. Attack (cont.) Block 2 Block 1 Challenge M = <?????????...........@ C = <???....?> ………..???????????>p0 y C’ = <///...//> M’ = …………..………..//////>p0 y <///////……………@ H(M) = H(M’) R = MD-5 ( ) p 1 p 2 p 3……………….… pad <?????????...........@ ………..????????????>p0 R’ = MD -5 ( …………..………..//////>p0 p 2 p 3……………….… pad <///////……………@ p 1 ) Both hashes collide if p 1 = y To test the second password character, pairs to test 256 ASCII values have to be constructed

  17. Questions ????? • How can we fix the last message word ? • Does that mean that we can recover the entire message ? If not how many characters can we recover . • What will be the time complexity of it ? • Can APOP be still used ? • APOP being an offline protocol , is this attack meaningful ?

  18. Wang’s Attack • In 2004, Xiaoyun Wang published a MD5 collision. Did not reveal anything about the attack. • Determined two 1024-bit messages M  = (M  0 , M  1 ) and M = (M 0 , M 1 ) where M 0 ’, M 1 ’, M 0 , M 1 are each 512-bit blocks. So that MD5 hashes of the two messages are the same • Reverse engineering – revealed many aspects of attack; improvements in attack

  19. Wang’s Attack Modular Difference,  y Consider bytes y  = 00010101 and y = 00000101 z  = 00100101 and z = 00010101 Note that y   y = z   z = 00010000 = 24 Then wrt modular subtraction, these pairs are indistinguishable. Signed difference,  y=y’ -y Denote y  i =1, y i =0 as “+” Denote y  i =0, y i =1 as “  ” Denote y  i =y i as “.” Consider bytes z  = 10100101 and z = 10010101 Then  z is “..+ - ....” It is more restrictive than modular subtraction.

  20. Wang’s Attack • Step 1: Specify Input Differential Pattern  Applies to input M and M’.  Uses Modular Difference.  M 0 = M  0  M 0 = (0,0,0,0,2 31 ,0,0,0,0,0,0,2 15 ,0,0,2 31 ,0)  M 1 = M  1  M 1 = (0,0,0,0,2 31 ,0,0,0,0,0,0,  2 15 ,0,0,2 31 ,0) • Note: M  0 and M 0 differ only in words 4, 11 and 14 • Note: M  1 and M 1 differ only in words 4, 11 and 14  Now, we only need to find M. Then M  can be determined by the differential. M’ 0 = M 0 + Δ M 0 and M’ 1 = M 1 + Δ M 1

  21. Wang’s Attack Identical MD5 value: 79054025255fb1a26e4bc422aef54eb4

  22. Wang’s Attack • Step 2: Specify Output Differential Pattern  Applies to intermediate values, Q  i and Q i  Uses signed difference. Hence very restrictive.  Most mysterious part of the attack. • j determines the step number • Q i are outputs for M 0 •  W j are input (modular) differences •  Output is output modular difference •  Output is output signed (“precise”) difference

  23. Wang’s Attack • Step 3: Derive a set of sufficient conditions

  24. Wang’s Attack • Step 4: Find a set of messages which satisfy all the conditions in step3.  Generate random 512-bit M 0  Modify the message so that all the conditions hold.  Follow similar procedure to find M 1 Compute M  0 and M  1 using  M’ 0 = M 0 + Δ M 0 and M’ 1 = M 1 + Δ M 1 Now H(M) = H(M’)

  25. Wang’s Approach to satisfy conditions in the first round Message Modification • Select a message m i • Compute the corresponding Q i • Modify Q i to satisfy the conditions. Recompute m i

  26. Wang’s Approach to satisfy conditions in the first round Message Modification • Select a message m i • Compute the corresponding Q i • Modify Q i to satisfy the conditions. Recompute m i

  27. Wang’s Approach to satisfy conditions in the first round Message Modification • Select a message m i • Compute the corresponding Q i • Modify Q i to satisfy the conditions. Recompute m i

  28. Wang’s Approach to satisfy conditions in the first round Message Modification • Select a message m i • Compute the corresponding Q i • Modify Q i to satisfy the conditions. Recompute m i

  29. Wang’s Approach to satisfy conditions in the first round Message Modification • Select a message m i • Compute the corresponding Q i • Modify Q i to satisfy the conditions. Recompute m i

  30. Wang’s Approach to satisfy conditions in the first round Message Modification • Select a message m i • Compute the corresponding Q i • Modify Q i to satisfy the conditions. Recompute m i

  31. Wang’s Approach to satisfy conditions in the second round Multi Message Modification • Compute Q i . • Modify Q i and recompute m i • Recompute Q i ’s and m i ’s in the first round.

  32. Wang’s Approach to satisfy conditions in the second round Multi Message Modification • Compute Q i . • Modify Q i and recompute m i • Recompute Q i ’s and m i ’s in the first round.

  33. Wang’s Approach to satisfy conditions in the second round Multi Message Modification • Compute Q i . • Modify Q i and recompute m i • Recompute Q i ’s and m i ’s in the first round.

  34. Wang’s Approach to satisfy conditions in the second round Multi Message Modification • Compute Q i . • Modify Q i and recompute m i • Recompute Q i ’s and m i ’s in the first round.

  35. Wang’s Approach to satisfy conditions in the second round Multi Message Modification • Compute Q i . • Modify Q i and recompute m i • Recompute Q i ’s and m i ’s in the first round .

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