Information Security Group
Cryptographic Analysis of TLS Kenny Paterson
FOSAD 2013
1
Cryptographic Analysis of TLS Kenny Paterson FOSAD 2013 Information - - PowerPoint PPT Presentation
Cryptographic Analysis of TLS Kenny Paterson FOSAD 2013 Information Security Group 1 Outline TLS overview TLS Record Protocol Theory Attacks Security analysis TLS Handshake Protocol Security analysis Discussion 2
1
2
3
4
5
6
7
8
MAC SQN || HDR Payload Padding Encrypt Ciphertext MAC tag Payload HDR
MAC
Encrypt
9
Padding
10
11
11
12
13
14
15
16
17
18
pre_master_secret master_secret key_block TLS 1.2 PRF TLS 1.2 PRF Nonces
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 39
40
41
42
43
44
45
46 46
47
48 48
49
MAC SQN || HDR Payload Padding Encrypt Ciphertext MAC tag Payload HDR MAC
Encrypt
50
Padding
51
51
52
52
53
53
54
55
55
56
57
57
58
58
59
59
60
60
61
61
P10 P11 T0 P12 P13 P14 T1 T2 T3 T4 T5 P9 P8 P7 P5 P6
…
P10 P11 T0 P12 P13 P14 T1 T2 T3 T4 T5 P9 P8 P7 P5 P6
…
P10 P11 T0 P12 P13 P14 T1 T2 T3 T4 T5 P9 P8 P7 P5 P6
…
P4 P3 P1 P2 P0 P4 P3 P1 P2 P0 P4 P3 P1 P2 P0
… … …
P10 P11 T0 P12 P13 P14 T1 T2 T3 T4 T5 P9 P8 P7 P5 P6
…
P4 P3 P1 P2 P0
…
62
62
63
63
64
64
MAC SQN || HDR Payload Padding Encrypt Ciphertext MAC tag Payload HDR
MAC
Encrypt
65
Padding
66
66
67
67
68
68
69
69
70
70
… …
71
71
… …
72
72
73
73
74
74
75
76
76
77
78
79
79
80
80
81
82
83
84
84
85
85
86
86
87
87
88
MAC SQN || HDR Payload Padding Encrypt Ciphertext MAC tag Payload HDR
89
90
90
91
91
92
93
94
95
96
SQN||HDR SQN||HDR
97
97
1.50 106 1.51 106 1.52 106 1.53 106 1.54 106 1.55 106 1.56 106 1.57 106 0.00001 0.00002 0.00003 0.00004 0.00005 0.00006
98
98
99
99
100
100
SQN||HDR
101
101
SQN||HDR
102
102
SQN||HDR
103
103
104
104
105
105
106
106
Hardware Cycles Calculated by Adversary⇥
50 100 150 200 250 1.286 ⇤106 1.287 ⇤106 1.288 ⇤106 1.289 ⇤106 1.290 ⇤106 1.291 ⇤106 1.292 ⇤106
107
107
Ê Ê Ê ÊÊ Ê ÊÊ Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê ‡‡‡ ‡ ‡ ‡‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡
ÚÚÚ ÚÚ ÚÚÚ Ú Ú Ú Ú Ú Ú Ú Ú Ú Ú Ú Ú Ú Ú Ú Ú Ú ÙÙÙ ÙÙ ÙÙÙ Ù Ù Ù Ù Ù Ù Ù Ù Ù Ù Ù Ù Ù Ù Ù Ù Ù Á Á Á ÁÁ Á ÁÁ Á Á Á Á Á Á Á Á Á Á Á Á Á Á Á Á Á
20 40 60 80 100 0.0 0.2 0.4 0.6 0.8 1.0
Á 217 Trials HL=29L Ù 216 Trials HL=28L Ú 215 Trials HL=27L
‡ 213 Trials HL=25L Ê 212 Trials HL=24L
108
108
109
109
110
110
111
111
Probability
1.50106 1.51106 1.52106 1.53106 1.54106 1.55106 1.56106 1.57106 0.00001 0.00002 0.00003 0.00004 0.00005 0.00006
Hardware Cycles Calculated by Attacker⇥ Probability
1.54106 1.55106 1.56106 1.57106 1.58106 1.59106 1.60106 1.61106 0.00001 0.00002 0.00003 0.00004 0.00005 0.00006
Hardware Cycles Calculated by Attacker⇥
112
113
113
114
114
115
115
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 16
116
116
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 31
117
117
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 128
118
118
119
119
0" 0.2" 0.4" 0.6" 0.8" 1" 1.2" 0" 10" 20" 30" 40" 50" 60" 70" 80" 90" 100" 110" 120" 130" 140" 150" 160" 170" 180" 190" 200" 210" 220" 230" 240" 250"
120
120
0" 0.2" 0.4" 0.6" 0.8" 1" 1.2" 0" 10" 20" 30" 40" 50" 60" 70" 80" 90" 100" 110" 120" 130" 140" 150" 160" 170" 180" 190" 200" 210" 220" 230" 240" 250"
121
121
0" 0.2" 0.4" 0.6" 0.8" 1" 1.2" 0" 10" 20" 30" 40" 50" 60" 70" 80" 90" 100" 110" 120" 130" 140" 150" 160" 170" 180" 190" 200" 210" 220" 230" 240" 250"
122
122
0" 0.2" 0.4" 0.6" 0.8" 1" 1.2" 0" 10" 20" 30" 40" 50" 60" 70" 80" 90" 100" 110" 120" 130" 140" 150" 160" 170" 180" 190" 200" 210" 220" 230" 240" 250"
123
123
0" 0.2" 0.4" 0.6" 0.8" 1" 1.2" 0" 10" 20" 30" 40" 50" 60" 70" 80" 90" 100" 110" 120" 130" 140" 150" 160" 170" 180" 190" 200" 210" 220" 230" 240" 250"
124
124
125
125
0" 0.2" 0.4" 0.6" 0.8" 1" 1.2" 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 11" 12" 13" 14"
126
126
127
127
128
129
130
131
h"ps://amazon.com ¡
132
No 1316
eK
eK
Yes
eK
eK
133
No 1316
eK
eK
Yes
eK
eK
134
No 1316
eK
eK
Yes
eK
eK
135
eK
eK
136
eK
eK
137
138
M ß DecK(C) Ret M C ß EncK(M0 ) Ret C Ret C ß EncK(M1) Ret C
M ß DecK(C) Ret M C ß EncK(M0 ) Ret C Ret C ß EncK(M1) Ret C
M ß DecK(C) Ret M C1 ß EncK(L, M1) C0 ß EncK(L, M0) If C0 = or C1 = Ret Ret C0 Ret C1 ß EncK(L, M1) C0 ß EncK(L, M0) If C0 = or C1 = Ret Ret C1
eK
eK
eK
No ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡1316
eK
eK
No ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡1316
eK
eK
eK
eK
eK
145
eK
eK
eK
eK
eK
146
147
148
149
150
151
– Each encoded by 2-byte field. – More than 200 ciphersuites known (see http://www.thesprawl.org/research/tls-and-ssl- cipher-suites/).
152
153
154
155
156
157
158
159
160
161
162
162
163
164
164
165
165
166
167
167
168
168
169
169
170
170
171
171
172
172
173
173