slides/slides05.tex
changeset 255 9cf486aea756
parent 254 0d491b5654f9
child 256 e272713e34ff
equal deleted inserted replaced
254:0d491b5654f9 255:9cf486aea756
    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}