equal
deleted
inserted
replaced
49 \item card readers (you cannot trust the terminals) |
49 \item card readers (you cannot trust the terminals) |
50 \item RFID (passports) |
50 \item RFID (passports) |
51 \item car transponders |
51 \item car transponders |
52 \end{itemize}\medskip\pause |
52 \end{itemize}\medskip\pause |
53 |
53 |
54 The point is that we cannot control the network: |
54 The point is that we cannot control the network: An attacker |
55 An attacker can install a packet sniffer, inject packets, |
55 can install a packet sniffer, inject packets, modify packets, |
56 modify packets, replay messages. |
56 replay messages\ldots{}fake pretty much everything. |
|
57 |
57 \end{frame} |
58 \end{frame} |
58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
59 |
60 |
60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
61 \begin{frame}[c] |
62 \begin{frame}[c] |
91 \quad |
92 \quad |
92 \includegraphics[scale=0.25]{../pics/phone-signal.jpg} |
93 \includegraphics[scale=0.25]{../pics/phone-signal.jpg} |
93 \end{center} |
94 \end{center} |
94 |
95 |
95 \begin{itemize} |
96 \begin{itemize} |
96 \item I am sitting at Starbuck. How can I be sure I am |
97 \item I am sitting at Starbuck. How can I be sure I am really |
97 really visiting Barclays? I have no control of the access |
98 visiting Barclays? I have no control of the access |
98 point. |
99 point. |
99 \item How can I achieve that a secret key is established |
100 \item How can I achieve that a secret key is established in |
100 in order to encrypt my conversation? I have no control over |
101 order to encrypt my mobile conversation? I have no |
101 the access point. |
102 control over the access points. |
102 \end{itemize} |
103 \end{itemize} |
103 |
104 |
104 \end{frame} |
105 \end{frame} |
105 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
106 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
106 |
107 |
126 Alice: & Hello server!\\ |
127 Alice: & Hello server!\\ |
127 Server: & I heard you\\ |
128 Server: & I heard you\\ |
128 Alice: & Thanks |
129 Alice: & Thanks |
129 \end{tabular} |
130 \end{tabular} |
130 \end{column} |
131 \end{column} |
131 \end{columns}\pause |
132 \end{columns} |
132 |
133 |
|
134 \onslide<2->{ |
133 \begin{center} |
135 \begin{center} |
134 \begin{tabular}{rl} |
136 \begin{tabular}{rl} |
135 \bl{$A \rightarrow S$}: & \bl{SYN}\\ |
137 \bl{$A \rightarrow S$}: & \bl{SYN}\\ |
136 \bl{$S \rightarrow A$}: & \bl{SYN-ACK}\\ |
138 \bl{$S \rightarrow A$}: & \bl{SYN-ACK}\\ |
137 \bl{$A \rightarrow S$}: & \bl{ACK}\\ |
139 \bl{$A \rightarrow S$}: & \bl{ACK}\\ |
138 \end{tabular} |
140 \end{tabular} |
139 \end{center} |
141 \end{center}} |
140 |
142 |
141 \only<2>{ |
143 \only<3>{ |
142 \begin{textblock}{3}(11,5) |
144 \begin{textblock}{3}(11,5) |
143 \begin{bubble}[3.2cm] |
145 \begin{bubble}[3.2cm] |
144 SYNflood attacks:\medskip\\ |
146 SYNflood attacks:\medskip\\ |
145 \includegraphics[scale=0.4]{../pics/synflood.png} |
147 \includegraphics[scale=0.4]{../pics/synflood.png} |
146 \end{bubble} |
148 \end{bubble} |
181 \frametitle{Authentication Protocols} |
183 \frametitle{Authentication Protocols} |
182 |
184 |
183 Alice (\bl{$A$}) and Bob (\bl{$B$}) share a secret key |
185 Alice (\bl{$A$}) and Bob (\bl{$B$}) share a secret key |
184 \bl{$K_{AB}$}\bigskip |
186 \bl{$K_{AB}$}\bigskip |
185 |
187 |
186 Passwords: |
188 Password transmission: |
187 |
189 |
188 \begin{center} |
190 \begin{center} |
189 \bl{$A \rightarrow B: K_{AB}$} |
191 \bl{$A \rightarrow B: K_{AB}$} |
190 \end{center}\pause\bigskip |
192 \end{center}\pause\bigskip |
191 |
193 |
200 \frametitle{Authentication Protocols} |
202 \frametitle{Authentication Protocols} |
201 |
203 |
202 Alice (\bl{$A$}) and Bob (\bl{$B$}) share a secret key |
204 Alice (\bl{$A$}) and Bob (\bl{$B$}) share a secret key |
203 \bl{$K_{AB}$}\bigskip |
205 \bl{$K_{AB}$}\bigskip |
204 |
206 |
205 Simple Challenge Response: |
207 Simple Challenge Response (solving the replay problem): |
206 |
208 |
207 \begin{center} |
209 \begin{center} |
208 \begin{tabular}{lll} |
210 \begin{tabular}{lll} |
209 \bl{$A \rightarrow B:$} & \bl{Hi I am A}\\ |
211 \bl{$A \rightarrow B:$} & \bl{Hi I am A}\\ |
210 \bl{$B \rightarrow A:$} & \bl{$N$} & (challenge)\\ |
212 \bl{$B \rightarrow A:$} & \bl{$N$} & (challenge)\\ |
211 \bl{$A \rightarrow B:$} & \bl{$\{N\}_{K_{AB}}$}\\ |
213 \bl{$A \rightarrow B:$} & \bl{$\{N\}_{K_{AB}}$}\\ |
212 \end{tabular} |
214 \end{tabular} |
213 \end{center}\pause |
215 \end{center}\pause |
214 |
216 |
215 \begin{itemize} |
217 \begin{itemize} |
216 \item cannot replay since next time will be another challenge |
218 \item cannot be replayed since next time will be another |
217 \item \bl{$B$} authenticates \bl{$A$}, but \bl{$A$} does not |
219 challenge \bl{$N$} |
218 authenticate \bl{$B$} (be Eve in the middle, intercept |
220 \item \bl{$B$} authenticates \bl{$A$}, but \bl{$A$} does not |
219 messages from \bl{$A$} and ignore last) |
221 authenticate \bl{$B$} (Eve can intercept |
|
222 messages from \bl{$A$}, send random challenge |
|
223 and ignore last) |
220 \end{itemize} |
224 \end{itemize} |
221 |
225 |
222 \end{frame} |
226 \end{frame} |
223 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
227 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
224 |
228 |
234 \begin{tabular}{ll} |
238 \begin{tabular}{ll} |
235 \bl{$A \rightarrow B:$} & \bl{$N_A$}\\ |
239 \bl{$A \rightarrow B:$} & \bl{$N_A$}\\ |
236 \bl{$B \rightarrow A:$} & \bl{$\{N_A, N_B\}_{K_{AB}}$}\\ |
240 \bl{$B \rightarrow A:$} & \bl{$\{N_A, N_B\}_{K_{AB}}$}\\ |
237 \bl{$A \rightarrow B:$} & \bl{$N_B$}\\ |
241 \bl{$A \rightarrow B:$} & \bl{$N_B$}\\ |
238 \end{tabular} |
242 \end{tabular} |
239 \end{center} |
243 \end{center}\pause |
240 |
244 |
241 |
245 But requires shared secret key. |
242 \end{frame} |
246 \end{frame} |
243 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
247 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
244 |
248 |
245 |
249 |
246 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
250 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
329 \end{center} |
333 \end{center} |
330 |
334 |
331 \end{frame}} |
335 \end{frame}} |
332 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
336 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
333 |
337 |
334 |
|
335 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
336 \mode<presentation>{ |
|
337 \begin{frame}[c] |
|
338 \frametitle{Protocol Attacks} |
|
339 |
|
340 \begin{itemize} |
|
341 \item replay attacks |
|
342 \item reflection attacks |
|
343 \item man-in-the-middle attacks |
|
344 \item timing attacks |
|
345 \item parallel session attacks |
|
346 \item binding attacks (public key protocols) |
|
347 \item changing environment / changing assumptions\bigskip |
|
348 |
|
349 \item (social engineering attacks) |
|
350 \end{itemize} |
|
351 \end{frame}} |
|
352 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
353 |
|
354 |
|
355 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
338 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
356 \mode<presentation>{ |
339 \mode<presentation>{ |
357 \begin{frame}[c] |
340 \begin{frame}[c] |
358 \frametitle{Public-Key Infrastructure} |
341 \frametitle{Public-Key Infrastructure} |
359 |
342 |
396 \frametitle{Person-in-the-Middle} |
379 \frametitle{Person-in-the-Middle} |
397 |
380 |
398 Attack: |
381 Attack: |
399 |
382 |
400 \begin{itemize} |
383 \begin{itemize} |
401 \item \bl{$A$} sends public key to \bl{$B$} --- \bl{$C$} intercepts this message and send his own public key |
384 \item \bl{$A$} sends public key to \bl{$B$} --- \bl{$C$} |
402 \item \bl{$B$} sends public key to \bl{$A$} --- \bl{$C$} intercepts this message and send his own public key |
385 intercepts this message and send his own public key to |
|
386 \bl{$B$} |
|
387 \item \bl{$B$} sends public key to \bl{$A$} --- \bl{$C$} |
|
388 intercepts this message and send his own public key |
|
389 \bl{$A$} |
403 \item \bl{$A$} sends message encrypted with \bl{$C$}'s public key, \bl{$C$} decrypts it |
390 \item \bl{$A$} sends message encrypted with \bl{$C$}'s public key, \bl{$C$} decrypts it |
404 with its private key, re-encrypts with \bl{$B$}'s public key |
391 with its private key, re-encrypts with \bl{$B$}'s public key |
405 \item similar |
392 \item similar the other way |
406 \end{itemize} |
393 \end{itemize} |
407 |
394 |
408 \end{frame}} |
395 \end{frame}} |
409 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
396 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
410 |
397 |
415 Prevention: |
402 Prevention: |
416 |
403 |
417 \begin{itemize} |
404 \begin{itemize} |
418 \item \bl{$A$} sends public key to \bl{$B$} |
405 \item \bl{$A$} sends public key to \bl{$B$} |
419 \item \bl{$B$} sends public key to \bl{$A$} |
406 \item \bl{$B$} sends public key to \bl{$A$} |
420 \item \bl{$A$} encrypts message with \bl{$B$}'s public key, send's {\bf half} of the message |
407 \item \bl{$A$} encrypts message with \bl{$B$}'s public key, |
421 \item \bl{$B$} encrypts message with \bl{$A$}'s public key, send's {\bf half} of the message |
408 send's {\bf half} of the message to \bl{$B$} |
422 \item \bl{$A$} sends other half, \bl{$B$} can now decrypt entire message |
409 \item \bl{$B$} encrypts message with \bl{$A$}'s public key, |
423 \item \bl{$B$} sends other half, \bl{$A$} can now decrypt entire message |
410 send's {\bf half} of the message back to \bl{$A$} |
|
411 \item \bl{$A$} sends other half, \bl{$B$} can now decrypt |
|
412 entire message |
|
413 \item \bl{$B$} sends other half, \bl{$A$} can now decrypt |
|
414 entire message |
424 \end{itemize}\pause |
415 \end{itemize}\pause |
425 |
416 |
426 \bl{$C$} would have to invent a totally new message |
417 \bl{$C$} would have to invent a totally new message |
427 |
418 |
428 \end{frame} |
419 \end{frame} |
443 \end{enumerate}\pause |
434 \end{enumerate}\pause |
444 |
435 |
445 \small |
436 \small |
446 This process means that the transponder believes the car knows |
437 This process means that the transponder believes the car knows |
447 the key \bl{$K$}, and the car believes the transponder knows |
438 the key \bl{$K$}, and the car believes the transponder knows |
448 the key \bl{$K$}. They should have authenticated themselves |
439 the key \bl{$K$}. They have authenticated themselves |
449 to each other. |
440 to each other. |
450 |
441 |
451 \end{frame} |
442 \end{frame} |
452 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
443 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
453 |
444 |
463 \end{itemize} |
454 \end{itemize} |
464 |
455 |
465 \hfill\footnotesize\url{http://www.renesys.com/2013/11/mitm-internet-hijacking/} |
456 \hfill\footnotesize\url{http://www.renesys.com/2013/11/mitm-internet-hijacking/} |
466 \end{frame} |
457 \end{frame} |
467 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
458 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
459 |
|
460 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
461 \mode<presentation>{ |
|
462 \begin{frame}[c] |
|
463 \frametitle{Protocol Attacks} |
|
464 |
|
465 \begin{itemize} |
|
466 \item replay attacks |
|
467 \item reflection attacks |
|
468 \item man-in-the-middle attacks |
|
469 \item timing attacks |
|
470 \item parallel session attacks |
|
471 \item binding attacks (public key protocols) |
|
472 \item changing environment / changing assumptions\bigskip |
|
473 |
|
474 \item (social engineering attacks) |
|
475 \end{itemize} |
|
476 \end{frame}} |
|
477 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
468 |
478 |
469 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
479 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
470 \mode<presentation>{ |
480 \mode<presentation>{ |
471 \begin{frame}[c] |
481 \begin{frame}[c] |
472 \frametitle{Best Practices} |
482 \frametitle{Best Practices} |