Plaintext Recovery Attacks Against WPA/TKIP
Kenny Paterson, Bertram Poettering, Jacob Schuldt Royal Holloway, University of London
- The 21st International Workshop on Fast Software Encryption
March 4th, 2014
- jacob.schuldt@rhul.ac.uk
Plaintext Recovery Attacks Against WPA/TKIP Kenny Paterson, Bertram - - PowerPoint PPT Presentation
Plaintext Recovery Attacks Against WPA/TKIP Kenny Paterson, Bertram Poettering, Jacob Schuldt Royal Holloway, University of London The 21st International Workshop on Fast Software Encryption March 4th, 2014 jacob.schuldt@rhul.ac.uk Agenda
Kenny Paterson, Bertram Poettering, Jacob Schuldt Royal Holloway, University of London
March 4th, 2014
2
IEEE encryption
3
Client Access point
4
5
6
TK Key mixing function RC4 RC4 keystream
TSC TA
Payload Header Ciphertext
MIC
7
K0 K1 K2 104 bits
TK Key mixing function TSC TA
K0 K1 K2
8
9
10
* AlFardan-Berstein-Paterson-Poettering-Schuldt (2013); Isobe-Ohigashi-Watanabe-Morii (2013)
11
C1 C2 C3 Cn ... r Pr Pr Pr Pr
... Induced distribution on Zr combine with known distribution of Zr
0.003878 0.00390625 0.00395 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 255 Probability Byte value [0...255] Ciphertext distribution at position 16Likelihood of Pr being correct plaintext byte Recovery algorithm: Compute most likely plaintext byte Encryptions of plaintext under different keys Plaintext candidate byte Pr Zr : keystream byte at position r
12
13
K0 K1 K2
14
0.387%' 0.388%' 0.389%' 0.390%' 0.391%' 0.392%' 0.393%' 0.394%' 0.395%' 0' 32' 64' 96' 128' 160' 192' 224' 256' Probability* Byte*value* 0.389%' 0.390%' 0.391%' 0.392%' 0.393%' 0.394%' 0.395%' 0' 32' 64' 96' 128' 160' 192' 224' 256' Probability* Byte*value*
15
32 64 96 128 160 192 224 255 1 32 64 96 128 160 192 224 256 Byte value [0...255] Position [1...256] 0.1 0.2 0.3 0.4 0.5 32 64 96 128 160 192 224 255 1 32 64 96 128 160 192 224 256 Byte value [0...255] Position [1...256] 0.1 0.2 0.3 0.4 0.5
16
32 64 96 128 160 192 224 255 1 32 64 96 128 160 192 224 256 Byte value [0...255] Position [1...256]
0.25 0.5
17
0%# 20%# 40%# 60%# 80%# 100%# 0# 32# 64# 96# 128# 160# 192# 224# 256# Recovery(rate( Byte(posi/on(
18
0%# 20%# 40%# 60%# 80%# 100%# 0# 32# 64# 96# 128# 160# 192# 224# 256# Recovery(rate( Byte(posi/on(
19
0%# 20%# 40%# 60%# 80%# 100%# 0# 32# 64# 96# 128# 160# 192# 224# 256# Recovery(rate( Byte(posi/on(
20
0%# 20%# 40%# 60%# 80%# 100%# 0# 32# 64# 96# 128# 160# 192# 224# 256# Recovery(rate( Byte(posi/on(
21
22
K0 K1 K2
23
0.250%& 0.300%& 0.350%& 0.400%& 0.450%& 0.500%& 0.550%& 0& 32& 64& 96& 128& 160& 192& 224& 256& Probability* Byte*value*
0.385%' 0.390%' 0.395%' 0.400%' 0.405%' 0.410%' 0' 32' 64' 96' 128' 160' 192' 224' 256' Probability* Byte*value*
24
25
K0 K1 K2
26
32 64 96 128 160 192 224 255 1 32 64 96 128 160 192 224 256 TSC1 [0...255] Position [1...256] 0.5 1 1.5 2 32 64 96 128 160 192 224 255 1 32 64 96 128 160 192 224 256 Byte value [0...255] Position [1...256] 0.5 1 1.5 2
27
0%# 20%# 40%# 60%# 80%# 100%# 0# 32# 64# 96# 128# 160# 192# 224# 256# Recovery(rate( Byte(posi/on(
28
0%# 20%# 40%# 60%# 80%# 100%# 0# 32# 64# 96# 128# 160# 192# 224# 256# Recovery(rate( Byte(posi/on(
29
0%# 20%# 40%# 60%# 80%# 100%# 0# 32# 64# 96# 128# 160# 192# 224# 256# Recovery(rate( Byte(posi/on(
30
0%# 20%# 40%# 60%# 80%# 100%# 0# 32# 64# 96# 128# 160# 192# 224# 256# Recovery(rate( Byte(posi/on(
31
0%# 20%# 40%# 60%# 80%# 100%# 0# 32# 64# 96# 128# 160# 192# 224# 256# Recovery(rate( Byte(posi/on(
32
0%# 20%# 40%# 60%# 80%# 100%# 0# 32# 64# 96# 128# 160# 192# 224# 256# Recovery(rate( Byte(posi/on(
33
0%# 20%# 40%# 60%# 80%# 100%# 18# 20# 22# 24# 26# 28# 30# 32# Recovery(rate( Number(of(frames((log)(
34
35
36
37