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}} |
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} |
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 |
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: |