slides01.tex
changeset 8 a5184c270f30
parent 7 bd2b16f82601
child 9 6dca9c220c8e
equal deleted inserted replaced
7:bd2b16f82601 8:a5184c270f30
    91 
    91 
    92 \normalsize
    92 \normalsize
    93   \begin{center}
    93   \begin{center}
    94   \begin{tabular}{ll}
    94   \begin{tabular}{ll}
    95   Email:  & christian.urban at kcl.ac.uk\\
    95   Email:  & christian.urban at kcl.ac.uk\\
    96   Office: & S1.27 (1st floor Strand Building)\\
    96   Of$\!$fice: & S1.27 (1st floor Strand Building)\\
    97   Slides: & KEATS
    97   Slides: & KEATS
    98   \end{tabular}
    98   \end{tabular}
    99   \end{center}
    99   \end{center}
   100 
   100 
   101 
   101 
   102 \end{frame}}
   102 \end{frame}}
   103  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   103  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   104 
   104 
       
   105 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   106 \mode<presentation>{
       
   107 \begin{frame}
       
   108 
       
   109 \begin{center}
       
   110 \includegraphics[scale=2.1]{pics/barrier.jpg}
       
   111 \end{center}
       
   112 
       
   113 \end{frame}}
       
   114  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   105 
   115 
   106 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   116 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   107 \mode<presentation>{
   117 \mode<presentation>{
   108 \begin{frame}[c]
   118 \begin{frame}[c]
   109 \frametitle{\begin{tabular}{@ {}c@ {}}Security Engineers\end{tabular}}
   119 \frametitle{\begin{tabular}{@ {}c@ {}}Security Engineers\end{tabular}}
   143 \end{center}
   153 \end{center}
   144 
   154 
   145 \begin{itemize}
   155 \begin{itemize}
   146 \item Chip-and-PIN was introduced in the UK in 2004
   156 \item Chip-and-PIN was introduced in the UK in 2004
   147 \item before that customers had to sign a receipt\medskip
   157 \item before that customers had to sign a receipt\medskip
   148 \item Is Chip-and-PIN a more secure system? What do you think?
   158 \item Is Chip-and-PIN a more secure system?
   149 \end{itemize}
   159 \end{itemize}
   150 
   160 
   151 \begin{flushright}
   161 \begin{flushright}
   152 \small\textcolor{gray}{(Some other countries still use the old method.)}
   162 \small\textcolor{gray}{(Some other countries still use the old method.)}
   153 \end{flushright}
   163 \end{flushright}
   158 
   168 
   159 
   169 
   160 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   170 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   161 \mode<presentation>{
   171 \mode<presentation>{
   162 \begin{frame}[c]
   172 \begin{frame}[c]
   163 \frametitle{\begin{tabular}{@ {}c@ {}}Yes\ldots\end{tabular}}
   173 \frametitle{\begin{tabular}{@ {}c@ {}}Yes \ldots\end{tabular}}
   164 
   174 
   165 \begin{tikzpicture}
   175 \begin{tikzpicture}
   166 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
   176 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
   167 {\normalsize\color{darkgray}
   177 {\normalsize\color{darkgray}
   168 \begin{minipage}{10cm}\raggedright\small
   178 \begin{minipage}{10cm}\raggedright\small
   169 ``Chip-and-PIN is so effective in this country that fraudsters are starting to move their activities overseas,'' 
   179 ``Chip-and-PIN is so effective in this country [UK] that fraudsters are starting to move their activities overseas,'' 
   170 said Emile Abu-Shakra, spokesman for Lloyds TSB (in the Guardian, 2006).
   180 said Emile Abu-Shakra, spokesman for Lloyds TSB (in the Guardian, 2006).
   171 \end{minipage}};
   181 \end{minipage}};
   172 \end{tikzpicture}\bigskip
   182 \end{tikzpicture}\bigskip
   173 
   183 
   174 
   184 
   183 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   193 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   184 
   194 
   185 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   195 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   186 \mode<presentation>{
   196 \mode<presentation>{
   187 \begin{frame}[c]
   197 \begin{frame}[c]
   188 \frametitle{\begin{tabular}{c}Let's see\ldots\end{tabular}}
   198 \frametitle{\begin{tabular}{c}But let's see \ldots\end{tabular}}
   189 
   199 
   190 
   200 
   191 \begin{textblock}{1}(3,4)
   201 \begin{textblock}{1}(3,4)
   192 \begin{tabular}{c}
   202 \begin{tabular}{c}
   193 \includegraphics[scale=0.3]{pics/bank.png}\\[-2mm]
   203 \includegraphics[scale=0.3]{pics/bank.png}\\[-2mm]
   199 \begin{tabular}{c}
   209 \begin{tabular}{c}
   200 \includegraphics[scale=3]{pics/store.png}\\[-2mm]
   210 \includegraphics[scale=3]{pics/store.png}\\[-2mm]
   201 \end{tabular}
   211 \end{tabular}
   202 \end{textblock}
   212 \end{textblock}
   203 
   213 
   204 \only<2->{  
       
   205 \begin{textblock}{1}(12,6.5)
       
   206 \begin{tabular}{c}
       
   207 \includegraphics[scale=0.8]{pics/factory.png}\\[-1mm]
       
   208 \small terminal\\[-2mm] \small producer
       
   209 \end{tabular}
       
   210 \end{textblock}}  
       
   211 
       
   212 \begin{textblock}{1}(4.5,9.9)
   214 \begin{textblock}{1}(4.5,9.9)
   213 \begin{tabular}{c}
   215 \begin{tabular}{c}
   214 \includegraphics[scale=0.16]{pics/rman.png}\\[-1mm]
   216 \includegraphics[scale=0.16]{pics/rman.png}\\[-1mm]
   215 \small costumer / you
   217 \small costumer / you
   216 \end{tabular}
   218 \end{tabular}
   217 \end{textblock}  
   219 \end{textblock}  
       
   220 
       
   221 \only<2->{
       
   222 \begin{textblock}{1}(4.5,7.5)
       
   223   \begin{tikzpicture}[scale=1.3]
       
   224   \draw[white] (0,0) node (X) {};
       
   225   \draw[white] (1,-1) node (Y) {};
       
   226   \draw[red, ->, line width = 2mm] (X) -- (Y);
       
   227   \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
       
   228   \end{tikzpicture}
       
   229 \end{textblock}}
       
   230 
       
   231 \only<3->{
       
   232 \begin{textblock}{1}(6.8,7.5)
       
   233   \begin{tikzpicture}[scale=1.3]
       
   234   \draw[white] (0,0) node (X) {};
       
   235   \draw[white] (1,1) node (Y) {};
       
   236   \draw[red, ->, line width = 2mm] (X) -- (Y);
       
   237   \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
       
   238   \end{tikzpicture}
       
   239 \end{textblock}
       
   240 
       
   241 \begin{textblock}{1}(4.8,5.9)
       
   242   \begin{tikzpicture}[scale=1.3]
       
   243   \draw[white] (0,0) node (X) {};
       
   244   \draw[white] (1.4,0) node (Y) {};
       
   245   \draw[red, <->, line width = 2mm] (X) -- (Y);
       
   246   \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
       
   247   \end{tikzpicture}
       
   248 \end{textblock}}
       
   249 
       
   250 \only<4->{  
       
   251 \begin{textblock}{1}(12,6.5)
       
   252 \begin{tabular}{c}
       
   253 \includegraphics[scale=0.8]{pics/factory.png}\\[-1mm]
       
   254 \small card\\[-2mm]\small terminal\\[-2mm] \small producer
       
   255 \end{tabular}
       
   256 \end{textblock}
       
   257   
       
   258 \begin{textblock}{1}(10,7)
       
   259   \begin{tikzpicture}[scale=1.6]
       
   260   \draw[white] (0,0) node (X) {};
       
   261   \draw[white] (-1,0.6) node (Y) {};
       
   262   \draw[red, ->, line width = 2mm] (X) -- (Y);
       
   263   \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
       
   264   \end{tikzpicture}
       
   265 \end{textblock}}  
   218   
   266   
   219 \end{frame}}
   267 \end{frame}}
   220 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   268 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   221 
   269 
   222 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   270 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   302 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   350 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   303 
   351 
   304 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   352 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   305 \mode<presentation>{
   353 \mode<presentation>{
   306 \begin{frame}[c]
   354 \begin{frame}[c]
   307 \frametitle{\begin{tabular}{c}The Problem\ldots\end{tabular}}
   355 \frametitle{\begin{tabular}{c}The Problem \ldots\end{tabular}}
   308 
   356 
   309 
   357 
   310 \begin{textblock}{1}(3,4)
   358 \begin{textblock}{1}(3,4)
   311 \begin{tabular}{c}
   359 \begin{tabular}{c}
   312 \includegraphics[scale=0.3]{pics/bank.png}\\[-2mm]
   360 \includegraphics[scale=0.3]{pics/bank.png}\\[-2mm]
   330 \begin{textblock}{1}(4.5,9.9)
   378 \begin{textblock}{1}(4.5,9.9)
   331 \begin{tabular}{c}
   379 \begin{tabular}{c}
   332 \includegraphics[scale=0.13]{pics/rman.png}\\[-1mm]
   380 \includegraphics[scale=0.13]{pics/rman.png}\\[-1mm]
   333 \small costumer / you
   381 \small costumer / you
   334 \end{tabular}
   382 \end{tabular}
       
   383 \end{textblock}  
       
   384   
       
   385 \begin{textblock}{1}(4.5,7.5)
       
   386   \begin{tikzpicture}[scale=1.3]
       
   387   \draw[white] (0,0) node (X) {};
       
   388   \draw[white] (1,-1) node (Y) {};
       
   389   \draw[gray, ->, line width = 2mm] (X) -- (Y);
       
   390   \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
       
   391   \end{tikzpicture}
       
   392 \end{textblock}
       
   393 
       
   394 \begin{textblock}{1}(6.8,7.5)
       
   395   \begin{tikzpicture}[scale=1.3]
       
   396   \draw[white] (0,0) node (X) {};
       
   397   \draw[white] (1,1) node (Y) {};
       
   398   \draw[gray, ->, line width = 2mm] (X) -- (Y);
       
   399   \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
       
   400   \end{tikzpicture}
       
   401 \end{textblock}
       
   402 
       
   403 \begin{textblock}{1}(4.8,5.9)
       
   404   \begin{tikzpicture}[scale=1.3]
       
   405   \draw[white] (0,0) node (X) {};
       
   406   \draw[white] (1.4,0) node (Y) {};
       
   407   \draw[gray, <->, line width = 2mm] (X) -- (Y);
       
   408   \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
       
   409   \end{tikzpicture}
       
   410 \end{textblock}
       
   411 
       
   412 \begin{textblock}{1}(10,7)
       
   413   \begin{tikzpicture}[scale=1.6]
       
   414   \draw[white] (0,0) node (X) {};
       
   415   \draw[white] (-1,0.6) node (Y) {};
       
   416   \draw[gray, ->, line width = 2mm] (X) -- (Y);
       
   417   \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
       
   418   \end{tikzpicture}
   335 \end{textblock}  
   419 \end{textblock}  
   336   
   420   
   337 \begin{textblock}{14}(1,13.5)
   421 \begin{textblock}{14}(1,13.5)
   338 \begin{itemize}
   422 \begin{itemize}
   339 \item the burden of proof for fraud and financial liability was shifted to the costumer
   423 \item the burden of proof for fraud and financial liability was shifted to the costumer
   378 
   462 
   379 \begin{textblock}{1}(5.6,6)
   463 \begin{textblock}{1}(5.6,6)
   380   \begin{tikzpicture}[scale=2.5]
   464   \begin{tikzpicture}[scale=2.5]
   381   \draw[white] (0,0) node (X) {};
   465   \draw[white] (0,0) node (X) {};
   382   \draw[white] (1,0) node (Y) {};
   466   \draw[white] (1,0) node (Y) {};
   383   \only<1>{\draw[red, <-, line width = 2mm] (X) -- (Y);
   467   \only<2>{\draw[red, <-, line width = 2mm] (X) -- (Y);
   384   \node [inner sep=5pt,label=above:\textcolor{black}{GET request}] at ($ (X)!.5!(Y) $) {};}
   468   \node [inner sep=5pt,label=above:\textcolor{black}{GET request}] at ($ (X)!.5!(Y) $) {};}
   385   \only<2>{\draw[red, ->, line width = 2mm] (X) -- (Y);
   469   \only<3>{\draw[red, ->, line width = 2mm] (X) -- (Y);
   386   \node [inner sep=5pt,label=above:\textcolor{black}{webpage}] at ($ (X)!.5!(Y) $) {};}
   470   \node [inner sep=5pt,label=above:\textcolor{black}{webpage}] at ($ (X)!.5!(Y) $) {};}
   387   \only<3>{\draw[red, <-, line width = 2mm] (X) -- (Y);
   471   \only<4>{\draw[red, <-, line width = 2mm] (X) -- (Y);
   388   \node [inner sep=7pt,label=above:\textcolor{black}{POST data}] at ($ (X)!.5!(Y) $) {};}
   472   \node [inner sep=7pt,label=above:\textcolor{black}{POST data}] at ($ (X)!.5!(Y) $) {};}
   389   \end{tikzpicture}
   473   \end{tikzpicture}
   390 \end{textblock}
   474 \end{textblock}
   391 
   475 
   392 
   476 
   393 \begin{textblock}{1}(9,5.5)
   477 \begin{textblock}{1}(9,5.5)
   394 \begin{tabular}{c}
   478 \begin{tabular}{c}
   395 \includegraphics[scale=0.15]{pics/laptop.png}\\[-2mm]
   479 \includegraphics[scale=0.15]{pics/laptop.png}\\[-2mm]
   396 \small Client
   480 \small Client(s)
   397 \end{tabular}
   481 \end{tabular}
   398 \end{textblock}
   482 \end{textblock}
   399   
   483   
   400 \begin{textblock}{13}(1,13)  
   484 \begin{textblock}{13}(1,13)  
   401 \begin{itemize}
   485 \begin{itemize}
   410 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   494 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   411 \mode<presentation>{
   495 \mode<presentation>{
   412 \begin{frame}[c]
   496 \begin{frame}[c]
   413 \frametitle{\begin{tabular}{c}Scala + Play\end{tabular}}
   497 \frametitle{\begin{tabular}{c}Scala + Play\end{tabular}}
   414 
   498 
   415 \footnotesize simple response from the server:
   499 \footnotesize a simple response from the server:
   416 
   500 
   417 {\lstset{language=Scala}\fontsize{8}{10}\selectfont
   501 {\lstset{language=Scala}\fontsize{8}{10}\selectfont
   418 \texttt{\lstinputlisting{app0.scala}}}\bigskip
   502 \texttt{\lstinputlisting{app0.scala}}}\bigskip
   419 
   503 
   420 \footnotesize
   504 \footnotesize
   456   \draw[white] (1,0) node (Y) {};
   540   \draw[white] (1,0) node (Y) {};
   457   \draw[white] (0.05,-0.3) node (X1) {};
   541   \draw[white] (0.05,-0.3) node (X1) {};
   458   \draw[white] (0.95,-0.3) node (Y1) {};
   542   \draw[white] (0.95,-0.3) node (Y1) {};
   459   \only<1-2>{\draw[red, <-, line width = 2mm] (X) -- (Y);
   543   \only<1-2>{\draw[red, <-, line width = 2mm] (X) -- (Y);
   460   \node [inner sep=5pt,label=above:\textcolor{black}{GET request}] at ($ (X)!.5!(Y) $) {};}
   544   \node [inner sep=5pt,label=above:\textcolor{black}{GET request}] at ($ (X)!.5!(Y) $) {};}
       
   545   \only<1>{\draw[white, <-, line width = 1mm] (X1) -- (Y1);
       
   546   \node [inner sep=2pt,label=below:\textcolor{white}{read a cookie}] at ($ (X1)!.5!(Y1) $) {};}
   461   \only<2>{\draw[red, <-, line width = 1mm] (X1) -- (Y1);
   547   \only<2>{\draw[red, <-, line width = 1mm] (X1) -- (Y1);
   462   \node [inner sep=2pt,label=below:\textcolor{black}{read a cookie}] at ($ (X1)!.5!(Y1) $) {};}
   548   \node [inner sep=2pt,label=below:\textcolor{black}{read a cookie}] at ($ (X1)!.5!(Y1) $) {};}
   463   \only<3->{\draw[red, ->, line width = 2mm] (X) -- (Y);
   549   \only<3->{\draw[red, ->, line width = 2mm] (X) -- (Y);
   464   \node [inner sep=5pt,label=above:\textcolor{black}{webpage}] at ($ (X)!.5!(Y) $) {};}
   550   \node [inner sep=5pt,label=above:\textcolor{black}{webpage}] at ($ (X)!.5!(Y) $) {};}
   465   \only<3->{\draw[red, ->, line width = 1mm] (X1) -- (Y1);
   551   \only<3->{\draw[red, ->, line width = 1mm] (X1) -- (Y1);
   490 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
   576 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
   491 {\normalsize\color{darkgray}
   577 {\normalsize\color{darkgray}
   492 \begin{minipage}{10cm}\raggedright\small
   578 \begin{minipage}{10cm}\raggedright\small
   493 {\bf EU Privacy Directive about Cookies:}\smallskip\\
   579 {\bf EU Privacy Directive about Cookies:}\smallskip\\
   494 ``In May 2011, a European Union law was passed stating that websites that leave non-essential cookies on visitors' devices have to alert the visitor and get acceptance from them. This law applies to both individuals and businesses based in the EU regardless of the nationality of their website's visitors or the location of their web host. It is not enough to simply update a website's terms and conditions or privacy policy. The deadline to comply with the new EU cookie law was 26th May 2012 and failure to do so could mean a fine of up to \pounds{}500,000.''
   580 ``In May 2011, a European Union law was passed stating that websites that leave non-essential cookies on visitors' devices have to alert the visitor and get acceptance from them. This law applies to both individuals and businesses based in the EU regardless of the nationality of their website's visitors or the location of their web host. It is not enough to simply update a website's terms and conditions or privacy policy. The deadline to comply with the new EU cookie law was 26th May 2012 and failure to do so could mean a fine of up to \pounds{}500,000.''
       
   581 \hfill\small\textcolor{gray}{$\rightarrow$BBC News}
   495 \end{minipage}};
   582 \end{minipage}};
   496 \end{tikzpicture}
   583 \end{tikzpicture}
   497 \end{textblock}}
   584 \end{textblock}}
   498   
   585   
   499 \end{frame}}
   586 \end{frame}}
   504 \begin{frame}[c]
   591 \begin{frame}[c]
   505 \frametitle{\begin{tabular}{c}My First Webapp\end{tabular}}
   592 \frametitle{\begin{tabular}{c}My First Webapp\end{tabular}}
   506 
   593 
   507 {\bf GET request:}\smallskip
   594 {\bf GET request:}\smallskip
   508 \begin{enumerate}
   595 \begin{enumerate}
   509 \item read cookie from client
   596 \item read the cookie from client
   510 \item if none is present, set \texttt{visits} to \textcolor{blue}{$0$}
   597 \item if none is present, set \texttt{visits} to \textcolor{blue}{$0$}
   511 \item if cookie is present, extract \texttt{visits}
   598 \item if cookie is present, extract \texttt{visits} counter
   512 \item if \texttt{visits} is greater or equal \textcolor{blue}{$10$}, \\
   599 \item if \texttt{visits} is greater or equal \textcolor{blue}{$10$}, \\
   513 print valued customer message\\
   600 print a valued customer message\\
   514 otherwise just normal message
   601 otherwise just a normal message
   515 \item increase \texttt{visits} by \textcolor{blue}{$1$} and store new cookie with client
   602 \item increase \texttt{visits} by \textcolor{blue}{$1$} and store new cookie with client
   516 \end{enumerate}
   603 \end{enumerate}
   517 
   604 
   518   
   605   
   519 \end{frame}}
   606 \end{frame}}
   537 
   624 
   538 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   625 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   539 \mode<presentation>{
   626 \mode<presentation>{
   540 \begin{frame}[c]
   627 \begin{frame}[c]
   541 
   628 
   542   \begin{center}
   629 \begin{center}
   543   \includegraphics[scale=1.8]{pics/barrier.jpg}
   630 \includegraphics[scale=1.8]{pics/barrier.jpg}
   544   \end{center}
   631 \end{center}
   545 
   632 
   546 \end{frame}}
   633 \begin{itemize}
   547  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   634 \item data integrity needs to be ensured
   548 
   635 \end{itemize}
   549 
   636 
   550 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   637 \end{frame}}
   551 \mode<presentation>{
   638 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   552 \begin{frame}[c]
   639 
   553 \mbox{}\\[-9mm]
   640 
       
   641 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   642 \mode<presentation>{
       
   643 \begin{frame}[c]
       
   644 \mbox{}\\[-7mm]
   554 
   645 
   555 {\lstset{language=Scala}\fontsize{8}{10}\selectfont
   646 {\lstset{language=Scala}\fontsize{8}{10}\selectfont
   556 \texttt{\lstinputlisting{app3.scala}}}
   647 \texttt{\lstinputlisting{app3.scala}}}
   557 
   648 
   558   
   649 \small
       
   650 \begin{itemize}
       
   651 \item the counter/hash pair is intended to prevent tampering
       
   652 \end{itemize}  
   559 \end{frame}}
   653 \end{frame}}
   560 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   654 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   561 
   655 
   562 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   656 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   563 \mode<presentation>{
   657 \mode<presentation>{
   564 \begin{frame}[c]
   658 \begin{frame}[c]
   565 \frametitle{\begin{tabular}{c}SHA-1\end{tabular}}
   659 \frametitle{\begin{tabular}{c}SHA-1\end{tabular}}
   566   
   660   
   567 \begin{itemize}
   661 \begin{itemize}
   568 \item SHA-1 is a cryptographic hash function
   662 \item SHA-1 is a cryptographic hash function\\
       
   663 (MD5, SHA-256, SHA-512, \ldots) 
       
   664 \item message $\rightarrow$ digest
   569 \item no known attack exists, except brute force\bigskip\pause
   665 \item no known attack exists, except brute force\bigskip\pause
   570 \item but dictionary attacks can be very effective for extracting passwords
   666 \item but dictionary attacks are very ef$\!$fective for extracting passwords (later)
   571 \end{itemize}  
   667 \end{itemize}  
   572   
   668   
   573 \end{frame}}
   669 \end{frame}}
   574 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   670 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   575 
   671 
   579 \mbox{}\\[-9mm]
   675 \mbox{}\\[-9mm]
   580 
   676 
   581 {\lstset{language=Scala}\fontsize{8}{10}\selectfont
   677 {\lstset{language=Scala}\fontsize{8}{10}\selectfont
   582 \texttt{\lstinputlisting{app4.scala}}}
   678 \texttt{\lstinputlisting{app4.scala}}}
   583 
   679 
       
   680 \begin{textblock}{1}(9,1)
       
   681   \begin{tikzpicture}[scale=1.3]
       
   682   \draw[white] (0,0) node (X) {};
       
   683   \draw[white] (3,0) node (Y) {};
       
   684   \draw[red, <-, line width = 2mm] (X) -- (Y);
       
   685   \node [inner sep=5pt,label=above:\textcolor{black}{\small should be random}] at ($ (X)!.5!(Y) $) {};
       
   686   \end{tikzpicture}
       
   687 \end{textblock}
       
   688 
       
   689 \begin{textblock}{1}(6.6,4.9)
       
   690   \begin{tikzpicture}[scale=1.3]
       
   691   \draw[white] (0,0) node (X) {};
       
   692   \draw[white] (1,-1) node (Y) {};
       
   693   \draw[red, <-, line width = 2mm] (X) -- (Y);
       
   694   \node [inner sep=5pt,label=above:{}] at ($ (X)!.5!(Y) $) {};
       
   695   \end{tikzpicture}
       
   696 \end{textblock}
       
   697 
   584 \end{frame}}
   698 \end{frame}}
   585 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   699 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   586 
   700 
   587 
   701 
   588 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   702 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   589 \mode<presentation>{
   703 \mode<presentation>{
   590 \begin{frame}[c]
   704 \begin{frame}[c]
   591 \frametitle{\begin{tabular}{c}Unix Passwords\end{tabular}}
   705 \frametitle{\begin{tabular}{c}Unix Passwords\end{tabular}}
   592 
   706 
       
   707 \begin{itemize}
       
   708 \item passwords are {\bf not} stored in clear text
       
   709 \end{itemize}
   593 % Unix password
   710 % Unix password
   594 % http://ubuntuforums.org/showthread.php?p=5318038
   711 % http://ubuntuforums.org/showthread.php?p=5318038
   595 
   712 
   596 \end{frame}}
   713 \end{frame}}
   597 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   714 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   599 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   716 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   600 \mode<presentation>{
   717 \mode<presentation>{
   601 \begin{frame}[c]
   718 \begin{frame}[c]
   602 \frametitle{\begin{tabular}{c}Password Blunders\end{tabular}}
   719 \frametitle{\begin{tabular}{c}Password Blunders\end{tabular}}
   603 
   720 
       
   721 in late 2009, when an SQL injection attack against online games 
       
   722 service RockYou.com exposed 32 million plaintext passwords
       
   723 
       
   724 1.3 million Gawker credentials exposed in December 2010 contained MD5 hashes
   604 % linkedIn password
   725 % linkedIn password
   605 % http://erratasec.blogspot.co.uk/2012/06/confirmed-linkedin-6mil-password-dump.html
   726 % http://erratasec.blogspot.co.uk/2012/06/confirmed-linkedin-6mil-password-dump.html
   606 
   727 
   607 \end{frame}}
   728 
   608 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   729 
       
   730 Web user maintains 25 separate accounts but uses just 6.5 passwords
       
   731 
       
   732 \end{frame}}
       
   733 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   734 
       
   735 %For instance, SHA512crypt, which is included in Mac OS X and most Unix-based operating systems, passes text through 5,000 iterations, a %hurdle that would have limited Gosney to slightly less than 2,600 guesses per second. The Bcrypt algorithm is even more computationally %expensive, in large part because it subjects text to multiple iterations of the Blowfish cipher that was deliberately modified to increase the %time required to generate a hash. PBKDF2, a function built into Microsoft's .Net software developer framework, offers similar benefits.
       
   736 
   609 
   737 
   610 % rainbow tables
   738 % rainbow tables
   611 % http://en.wikipedia.org/wiki/Rainbow_table
   739 % http://en.wikipedia.org/wiki/Rainbow_table
   612 
   740 
   613 
   741 
   685 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   813 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   686 
   814 
   687 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   815 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   688 \mode<presentation>{
   816 \mode<presentation>{
   689 \begin{frame}[c]
   817 \begin{frame}[c]
       
   818 \frametitle{\begin{tabular}{c}Homework\end{tabular}}
       
   819 
       
   820 
       
   821 \end{frame}}
       
   822 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   823 
       
   824 
       
   825 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   826 \mode<presentation>{
       
   827 \begin{frame}[c]
   690 \frametitle{\begin{tabular}{c}Thinking as a Defender\end{tabular}}
   828 \frametitle{\begin{tabular}{c}Thinking as a Defender\end{tabular}}
   691 
   829 
   692 \begin{itemize}
   830 \begin{itemize}
   693 \item What are we trying to protect?
   831 \item What are we trying to protect?
   694 \item What properties are we trying to enforce?\medskip
   832 \item What properties are we trying to enforce?\medskip
   705 \end{itemize}
   843 \end{itemize}
   706 
   844 
   707 \end{frame}}
   845 \end{frame}}
   708 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   846 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   709 
   847 
   710 
       
   711 
       
   712 
       
   713 
       
   714 
       
   715 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   848 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   716 \mode<presentation>{
   849 \mode<presentation>{
   717 \begin{frame}[c]
   850 \begin{frame}[c]
   718 \frametitle{\begin{tabular}{c}The Security Mindset\end{tabular}}
   851 \frametitle{\begin{tabular}{c}The Security Mindset\end{tabular}}
   719 
   852 
   725 The difference between a criminal is to only think about how things can go wrong.
   858 The difference between a criminal is to only think about how things can go wrong.
   726   
   859   
   727 \end{frame}}
   860 \end{frame}}
   728 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   861 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   729 
   862 
       
   863 
       
   864 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   865 \mode<presentation>{
       
   866 \begin{frame}[t]
       
   867 \frametitle{\begin{tabular}{c}Maps in Scala\end{tabular}}
       
   868 
       
   869 \begin{itemize}
       
   870 \item {\bf\texttt{map}} takes a function, say f, and applies it to every element of the list:
       
   871 \end{itemize}
       
   872 
       
   873 \begin{textblock}{15}(2,7)
       
   874 \fontsize{13}{14}\selectfont
       
   875 \bf\texttt{List(1, 2, 3, 4, 5, 6, 7, 8, 9)}
       
   876 \end{textblock}
       
   877 
       
   878 \begin{textblock}{15}(2,10)
       
   879 \fontsize{13}{14}\selectfont
       
   880 \bf\texttt{List(1, 4, 9, 16, 25, 36, 49, 64, 81)}
       
   881 \end{textblock}
       
   882 
       
   883 \end{frame}}
       
   884 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   730 
   885 
   731 
   886 
   732 \end{document}
   887 \end{document}
   733 
   888 
   734 %%% Local Variables:  
   889 %%% Local Variables: