changeset 160 | 4cbd6ca025e6 |
parent 159 | 77cf0362b87a |
child 162 | 5031e7778fdb |
159:77cf0362b87a | 160:4cbd6ca025e6 |
---|---|
1 \documentclass[dvipsnames,14pt,t, xelatex]{beamer} |
1 \documentclass[dvipsnames,14pt,t, xelatex]{beamer} |
2 \usepackage{beamerthemeplaincu} |
2 \usepackage{../slides} |
3 \usepackage{fontenc,xltxtra,xunicode} |
3 \usepackage{../graphics} |
4 \defaultfontfeatures{Mapping=tex-text} |
|
5 \usepackage{mathpartir} |
|
6 \usepackage[absolute,overlay]{textpos} |
|
7 \usepackage{ifthen} |
|
8 \usepackage{tikz} |
|
9 \usepackage{pgf} |
|
10 \usepackage{calc} |
|
11 \usepackage{ulem} |
|
12 \usepackage{listings} |
|
13 \renewcommand{\uline}[1]{#1} |
|
14 \usetikzlibrary{arrows} |
|
15 \usetikzlibrary{automata} |
|
16 \usetikzlibrary{shapes} |
|
17 \usetikzlibrary{shadows} |
|
18 \usetikzlibrary{positioning} |
|
19 \usetikzlibrary{calc} |
|
20 \usepackage{upquote} |
|
21 \usetikzlibrary{plotmarks} |
|
22 \usepackage{graphicx} |
|
23 \usepackage{pgfplots} |
|
24 \usepackage{../langs} |
4 \usepackage{../langs} |
25 |
5 |
26 |
6 \setmonofont[Scale=.88]{Consolas} |
27 \makeatletter |
7 \newfontfamily{\consolas}{Consolas} |
28 \lst@CCPutMacro\lst@ProcessOther {"2D}{\lst@ttfamily{-{}}{-{}}} |
8 |
29 \@empty\z@\@empty |
9 \hfuzz=220pt |
30 \makeatother |
|
31 |
|
32 |
10 |
33 % beamer stuff |
11 % beamer stuff |
34 \renewcommand{\slidecaption}{APP 01, King's College London, 24.~September 2013} |
12 \renewcommand{\slidecaption}{APP 01, King's College London} |
35 |
13 |
36 |
14 |
37 \begin{document} |
15 \begin{document} |
38 |
16 |
39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
40 \begin{frame}[t] |
18 \begin{frame} |
41 \frametitle{% |
19 \frametitle{% |
42 \begin{tabular}{@ {}c@ {}} |
20 \begin{tabular}{@ {}c@ {}} |
43 \LARGE Access Control and \\[-3mm] |
21 \LARGE Access Control and \\[-3mm] |
44 \LARGE Privacy Policies (1)\\[-6mm] |
22 \LARGE Privacy Policies (1)\\[-6mm] |
45 \end{tabular}} |
23 \end{tabular}} |
65 \begin{center} |
43 \begin{center} |
66 \includegraphics[scale=2.1]{pics/barrier.jpg} |
44 \includegraphics[scale=2.1]{pics/barrier.jpg} |
67 \end{center} |
45 \end{center} |
68 |
46 |
69 \end{frame} |
47 \end{frame} |
70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
71 |
49 |
72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
73 \begin{frame} |
51 \begin{frame} |
52 |
|
53 \begin{center} |
|
54 \begin{tikzpicture}[scale=1.3] |
|
55 %\draw[very thick, scale=1] (0, 0) grid (6, -4); |
|
56 \draw (0,0) node (X) {\includegraphics[scale=0.1]{pics/rman.png}}; |
|
57 \draw (6,0) node (Y) {\includegraphics[scale=0.1]{pics/gman.png}}; |
|
58 \node[below] at (X.south) {Alice}; |
|
59 \node[below] at (Y.south) {Bob}; |
|
60 |
|
61 \draw[red,<->,line width = 3mm] (X) -- (Y); |
|
62 \node [inner sep=5pt,label=above:{\begin{tabular}{c} |
|
63 secure/private\\ |
|
64 communication |
|
65 \end{tabular}}] |
|
66 at ($ (X)!.5!(Y) $) {}; |
|
67 |
|
68 \draw (1.0,-1.5) node {\includegraphics[scale=0.05]{pics/nsa.png}}; |
|
69 \draw (2.4,-1.5) node {\includegraphics[scale=0.3]{pics/gchq.jpg}}; |
|
70 \draw (1.7,-2.3) node {\huge\ldots}; |
|
71 \draw (4.2,-1.5) node {\includegraphics[scale=0.05]{pics/apple.png}}; |
|
72 \draw (5.4,-1.7) node {\includegraphics[scale=0.15]{pics/google.png}}; |
|
73 \draw (5.0,-2.3) node {\huge\ldots}; |
|
74 \end{tikzpicture} |
|
75 \end{center} |
|
74 |
76 |
75 \begin{center} |
77 \begin{center} |
76 \includegraphics[scale=0.1]{pics/snowden.jpg} |
78 \includegraphics[scale=0.1]{pics/snowden.jpg} |
77 \end{center} |
79 \end{center} |
78 |
80 |
79 \begin{textblock}{1}(3.5,7.5) |
|
80 \begin{tikzpicture}[scale=1.3] |
|
81 \draw[white] (0,0) node (X) {\includegraphics[scale=0.1]{pics/rman.png}}; |
|
82 \draw[white] (6,0) node (Y) {\includegraphics[scale=0.1]{pics/gman.png}}; |
|
83 \draw[red, ->, line width = 3mm] (X) -- (Y); |
|
84 \node [inner sep=5pt,label=above:\textcolor{black}{communication}] at ($ (X)!.5!(Y) $) {}; |
|
85 |
|
86 \draw[white] (1.3, -1) node (NSA) {\includegraphics[scale=0.05]{pics/nsa.png}}; |
|
87 \draw[white] (2.7, -1) node (GCHQ) {\includegraphics[scale=0.3]{pics/gchq.jpg}}; |
|
88 \draw[black] (2, -2) node (OTHER) {\huge\ldots}; |
|
89 |
|
90 \end{tikzpicture} |
|
91 \end{textblock} |
|
92 |
|
93 \end{frame} |
81 \end{frame} |
94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
95 |
83 |
96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
97 \mode<presentation>{ |
|
98 \begin{frame} |
85 \begin{frame} |
99 |
86 |
100 \begin{center} |
87 \begin{center} |
101 \includegraphics[scale=0.45]{pics/lavabit-email.jpg} |
88 \includegraphics[scale=0.45]{pics/lavabit-email.jpg} |
102 \end{center} |
89 \end{center} |
103 \small{}\mbox{}\hfill{} |
90 \small{}\mbox{}\hfill{} |
104 Lavabit email service closed down on 8 August 2013. \\ |
91 Lavabit email service closed down on 8 August 2013. \\ |
105 \mbox{}\hfill{}\textcolor{blue}{\url{goo.gl/bgSrVp}} |
92 \mbox{}\hfill{}\url{www.goo.gl/bgSrVp} |
106 |
93 |
107 |
94 \end{frame} |
108 \end{frame}} |
95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
109 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
96 |
110 |
97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
111 |
|
112 |
|
113 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
114 \mode<presentation>{ |
|
115 \begin{frame} |
98 \begin{frame} |
116 \frametitle{Also Bad Guys} |
99 \frametitle{Also Bad Guys} |
117 |
100 |
118 \only<1->{ |
|
119 \begin{textblock}{1}(4,2.5) |
101 \begin{textblock}{1}(4,2.5) |
120 \begin{tikzpicture}[scale=1.3] |
102 \begin{tikzpicture}[scale=1.3] |
121 \draw[white] (0,0) node (X) {\includegraphics[scale=0.1]{pics/rman.png}}; |
103 \draw (0,0) node (X) {\includegraphics[scale=0.1]{pics/rman.png}}; |
122 \draw[white] (4,0) node (Y) {\includegraphics[scale=0.1]{pics/gman.png}}; |
104 \draw (4,0) node (Y) {\includegraphics[scale=0.1]{pics/gman.png}}; |
123 \draw[red, ->, line width = 2mm] (X) -- (Y); |
105 \draw[red, <->, line width = 2mm] (X) -- (Y); |
124 \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {}; |
106 \end{tikzpicture} |
125 \end{tikzpicture} |
107 \end{textblock} |
126 \end{textblock}} |
108 |
127 |
|
128 \only<1->{ |
|
129 \begin{textblock}{1}(1,6) |
109 \begin{textblock}{1}(1,6) |
130 \begin{tikzpicture} |
110 \begin{bubble}[11cm] |
131 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] |
111 \footnotesize |
132 {\normalsize\color{darkgray} |
112 Annonymous Hacker operating a 10k bonnet using the ZeuS |
133 \begin{minipage}{11cm}\raggedright\footnotesize |
113 hacking tool wrote:\medskip\\ ``FYI I do not cash out the bank |
134 Annonymous Hacker operating a 10k bonnet using the ZeuS hacking tool wrote:\medskip\\ |
114 accounts or credit cards, I just sell the information (I know, |
135 ``FYI I do not cash out the bank accounts or credit cards, I just sell the information |
115 its just as bad...), there isn't even a law against |
136 (I know, its just as bad, hur dur...), there isn't even a law against such in most countries, |
116 such in most countries, dealing with stolen information is |
137 dealing with stolen information is most of the time a legaly greyzone (I was just as surprised |
117 most of the time a legally greyzone (I was just as surprised |
138 when I looked it up), I'm not talking about 3rd world countries, but about European like Spain |
118 when I looked it up), I'm not talking about 3rd world |
139 (The Mariposa botnet owner never got charged, because a botnet isn't illegal, only abusing |
119 countries, but about European like Spain (The Mariposa botnet |
140 CC information is, but that did other guys).''\\ |
120 owner never got charged, because a botnet isn't illegal, only |
141 \hfill{}\textcolor{blue}{\url{goo.gl/UWluh0}} |
121 abusing CC information is, but that did other guys).''\\ |
142 \end{minipage}}; |
122 \hfill{}\url{www.goo.gl/UWluh0} |
143 \end{tikzpicture} |
123 \end{bubble} |
144 \end{textblock}} |
124 \end{textblock} |
145 |
125 |
146 |
126 \end{frame} |
147 \end{frame}} |
127 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
148 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
128 |
149 |
129 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
150 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
151 \mode<presentation>{ |
|
152 \begin{frame} |
130 \begin{frame} |
153 \frametitle{\begin{tabular}{@ {}c@ {}}This is a Misconception!\end{tabular}} |
131 \frametitle{\begin{tabular}{@ {}c@ {}}This is a Misconception!\end{tabular}} |
154 |
132 |
155 |
|
156 \begin{center} |
133 \begin{center} |
157 \includegraphics[scale=0.6]{pics/cryptographic-small.png} |
134 \includegraphics[scale=0.55]{pics/cryptographic-small.png} |
158 \end{center} |
135 \end{center} |
159 |
136 |
160 Though, the NSA can probably not brute-force magically better than the ``public''. |
137 There is some consensus that the NSA can probably not |
161 \end{frame}} |
138 brute-force magically better than the ``public''. |
162 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
139 |
163 |
140 \end{frame} |
164 |
141 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
165 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
142 |
166 \mode<presentation>{ |
143 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
167 \begin{frame}[c] |
144 \begin{frame}[c] |
168 \frametitle{\begin{tabular}{@ {}c@ {}}Security Engineers\end{tabular}} |
145 The content of this course is very much inspired by the work of |
169 |
146 three people:\bigskip |
170 \small\alert{\bf Security engineers} require a particular \alert{\bf mindset}:\bigskip |
147 |
171 |
148 \small |
172 \begin{tikzpicture} |
149 \begin{center} |
173 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] |
150 \begin{tabular}{ccc} |
174 {\normalsize\color{darkgray} |
151 \includegraphics[scale=1.4]{pics/schneier.png} & |
175 \begin{minipage}{10cm}\raggedright\small |
152 \includegraphics[scale=0.103]{pics/ross.jpg} & |
176 ``Security engineers --- at least the good ones --- see the world differently. |
153 \includegraphics[scale=0.2]{pics/halderman.jpg} \\ |
177 They can't walk into a store without noticing how they might shoplift. They can't |
154 Bruce Schneier & Ross Anderson & Alex Halderman\\ |
178 use a computer without wondering about the security vulnerabilities. They can't |
155 \tiny\url{en.wikipedia.org/wiki/Bruce_Schneier} & |
179 vote without trying to figure out how to vote twice. They just can't help it.''\\ |
156 \tiny\url{www.cl.cam.ac.uk/~rja14} & |
157 \tiny\url{jhalderm.com} |
|
158 \end{tabular} |
|
159 \end{center} |
|
160 |
|
161 \end{frame} |
|
162 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
163 |
|
164 |
|
165 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
166 \begin{frame}[c] |
|
167 |
|
168 \alert{\bf Security engineers} require a particular \alert{\bf mindset}: |
|
169 \bigskip\medskip |
|
170 |
|
171 \begin{overlayarea}{\textwidth}{5cm} |
|
172 \small |
|
173 \only<1>{\begin{bubble}[10cm] |
|
174 ``Security engineers --- at least the good ones --- see |
|
175 the world differently. They can't walk into a store without |
|
176 noticing how they might shoplift. They can't use a computer |
|
177 without wondering about the security vulnerabilities. They |
|
178 can't vote without trying to figure out how to vote twice. |
|
179 They just can't help it.''\\ |
|
180 \hfill{}---Bruce Schneier |
180 \hfill{}---Bruce Schneier |
181 \end{minipage}}; |
181 \end{bubble}}% |
182 \end{tikzpicture} |
182 \only<2>{\begin{bubble}[10.5cm] |
183 ``Security engineering\ldots requires you to think |
|
184 differently. You need to figure out not how something works, |
|
185 but how something can be made to not work. You have to imagine |
|
186 an intelligent and malicious adversary inside your system |
|
187 \ldots, constantly trying new ways to |
|
188 subvert it. You have to consider all the ways your system can |
|
189 fail, most of them having nothing to do with the design |
|
190 itself. You have to look at everything backwards, upside down, |
|
191 and sideways. You have to think like an alien.''\hfill{}---Bruce Schneier |
|
192 \end{bubble}} |
|
193 \end{overlayarea} |
|
183 |
194 |
184 \begin{flushright} |
195 \begin{flushright} |
185 \includegraphics[scale=0.0087]{pics/schneierbook1.jpg}\; |
196 \includegraphics[scale=0.0087]{pics/schneierbook1.jpg}\; |
186 \includegraphics[scale=0.0087]{pics/schneierbook2.jpg}\; |
197 \includegraphics[scale=0.0087]{pics/schneierbook2.jpg}\; |
187 \includegraphics[scale=0.23]{pics/schneierbook3.jpg}\; |
198 \includegraphics[scale=0.23]{pics/schneierbook3.jpg}\; |
188 \includegraphics[scale=0.85]{pics/schneier.png} |
199 \includegraphics[scale=0.85]{pics/schneier.png} |
189 \end{flushright} |
200 \end{flushright} |
190 |
201 |
191 |
202 \end{frame} |
192 \end{frame}} |
|
193 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
203 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
194 |
204 |
195 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
205 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
196 \mode<presentation>{ |
206 \begin{frame}[c] |
197 \begin{frame}[c] |
207 \frametitle{Breaking Things} |
198 \frametitle{\begin{tabular}{@ {}c@ {}}Breaking Things\end{tabular}} |
|
199 |
208 |
200 For example: |
209 For example: |
201 |
210 |
202 \begin{center} |
211 \begin{center} |
203 \begin{tikzpicture} |
212 \begin{bubble}[10cm]\small |
204 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] |
213 Prof.~V.~Nasty gives the following final exam question (closed books, |
205 {\normalsize\color{darkgray} |
214 closed notes):\bigskip |
206 \begin{minipage}{10cm}\raggedright\small |
|
207 Prof.~V.~Nasty gives the following final exam question (closed books, closed notes):\bigskip |
|
208 |
215 |
209 \noindent |
216 \noindent |
210 \begin{tabular}{@ {}l} |
217 \begin{tabular}{@ {}l} |
211 Write the first 100 digits of $\pi$:\\ |
218 Write the first 100 digits of $\pi$:\\ |
212 3.\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_ |
219 3.\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_ |
213 \end{tabular} |
220 \end{tabular} |
214 \end{minipage}}; |
221 \end{bubble} |
215 \end{tikzpicture} |
|
216 \end{center} |
222 \end{center} |
217 |
223 |
218 How can you cheat in this exam and how can you defend against such cheating? |
224 How can you cheat in this exam and how can you defend against such cheating? |
219 |
225 |
220 \end{frame}} |
226 \end{frame} |
221 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
227 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
222 |
228 |
223 |
229 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
224 |
230 \begin{frame} |
225 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
231 \frametitle{\textcolor{red}{Warning}} |
226 \mode<presentation>{ |
232 \small |
227 \begin{frame}[c] |
233 |
228 \frametitle{\begin{tabular}{@ {}c@ {}}Chip-and-PIN\end{tabular}} |
234 \begin{itemize} |
235 \item<1-> I will be teaching techniques that can be used to |
|
236 compromise security and privacy. |
|
237 \end{itemize} |
|
238 |
|
239 \onslide<2->{ |
|
240 \begin{itemize} |
|
241 \item Don’t be evil! |
|
242 \only<3>{\item Using those techniques in the real world may |
|
243 violate the law or King’s rules, and it may be unethical.} |
|
244 \only<3>{\item Under some circumstances, even probing for weaknesses of a |
|
245 system may result in severe penalties, up to and including |
|
246 expulsion, fines and jail time.} |
|
247 \only<3>{\item Acting lawfully and ethically is \underline{your} responsibility.} |
|
248 \only<4>{\item Ethics requires you to |
|
249 refrain from doing harm.} |
|
250 \only<4>{\item \underline{Always} respect privacy and rights of |
|
251 others.} |
|
252 \only<4>{\item Do not tamper with any of King's systems.} |
|
253 \only<5>{\item If you try |
|
254 out a technique, always make doubly sure you are working in a |
|
255 safe environment so that you cannot cause any harm, not even |
|
256 accidentally.} |
|
257 \only<5>{\item Don't be evil. Be an \underline{ethical} hacker.} |
|
258 \end{itemize}} |
|
259 |
|
260 \end{frame} |
|
261 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
262 |
|
263 |
|
264 |
|
265 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
266 \begin{frame}[c] |
|
267 \frametitle{Chip-and-PIN} |
|
229 |
268 |
230 \begin{center} |
269 \begin{center} |
231 \includegraphics[scale=0.3]{pics/creditcard1.jpg}\; |
270 \includegraphics[scale=0.3]{pics/creditcard1.jpg}\; |
232 \includegraphics[scale=0.3]{pics/creditcard2.jpg} |
271 \includegraphics[scale=0.3]{pics/creditcard2.jpg} |
233 \end{center} |
272 \end{center} |
234 |
273 |
235 \begin{itemize} |
274 \begin{itemize} |
236 \item Chip-and-PIN was introduced in the UK in 2004 |
275 \item Chip-and-PIN was introduced in the UK in 2004 |
237 \item before that customers had to sign a receipt\medskip |
276 \item before that customers had to sign a receipt\bigskip |
238 \item Is Chip-and-PIN a more secure system? |
277 \item \bf Is Chip-and-PIN a more secure system? |
239 \end{itemize} |
278 \end{itemize} |
240 |
279 |
241 \begin{flushright} |
280 \begin{flushright} |
242 \small\textcolor{gray}{(Some other countries still use the old method.)} |
281 \small\textcolor{gray}{(some other countries still use the old method)} |
243 \end{flushright} |
282 \end{flushright} |
244 |
283 |
245 |
284 \end{frame} |
246 \end{frame}} |
285 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
247 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
286 |
248 |
287 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
249 |
288 \begin{frame}[c] |
250 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
289 \frametitle{Yes \ldots} |
251 \mode<presentation>{ |
290 |
252 \begin{frame}[c] |
291 \begin{bubble}[10cm] |
253 \frametitle{\begin{tabular}{@ {}c@ {}}Yes \ldots\end{tabular}} |
292 \small ``Chip-and-PIN is so effective in this country [UK] |
254 |
293 that fraudsters are starting to move their activities |
255 \begin{tikzpicture} |
294 overseas,''\smallskip\\ |
256 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] |
295 \hfill{}said some spokesman for Lloyds TSB\\ |
257 {\normalsize\color{darkgray} |
296 \hfill(in The Guardian, 2006) |
258 \begin{minipage}{10cm}\raggedright\small |
297 \end{bubble}\bigskip |
259 ``Chip-and-PIN is so effective in this country [UK] that fraudsters are starting to move their activities overseas,'' |
|
260 said Emile Abu-Shakra, spokesman for Lloyds TSB (in the Guardian, 2006). |
|
261 \end{minipage}}; |
|
262 \end{tikzpicture}\bigskip |
|
263 |
298 |
264 |
299 |
265 \begin{itemize} |
300 \begin{itemize} |
266 \item mag-stripe cards cannot be cloned anymore |
301 \item mag-stripe cards cannot be cloned anymore |
267 \item stolen or cloned cards need to be used abroad |
302 \item stolen or cloned cards need to be used abroad |
268 \item fraud on lost, stolen and counterfeit credit cards was down \pounds{}60m (24\%) on 2004's figure |
303 \item fraud on lost, stolen and counterfeit credit |
269 \end{itemize} |
304 cards was down \pounds{60m} (24\%) on 2004's figure |
270 |
305 \end{itemize} |
271 |
306 |
272 \end{frame}} |
307 \end{frame} |
273 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
308 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
274 |
309 |
275 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
310 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
276 \mode<presentation>{ |
311 \begin{frame}[c] |
277 \begin{frame}[c] |
312 \frametitle{But let's see} |
278 \frametitle{\begin{tabular}{c}But let's see \ldots\end{tabular}} |
|
279 |
313 |
280 |
314 |
281 \begin{textblock}{1}(3,4) |
315 \begin{textblock}{1}(3,4) |
282 \begin{tabular}{c} |
316 \begin{tabular}{c} |
283 \includegraphics[scale=0.3]{pics/bank.png}\\[-2mm] |
317 \includegraphics[scale=0.3]{pics/bank.png}\\[-2mm] |
342 \draw[red, ->, line width = 2mm] (X) -- (Y); |
376 \draw[red, ->, line width = 2mm] (X) -- (Y); |
343 \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {}; |
377 \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {}; |
344 \end{tikzpicture} |
378 \end{tikzpicture} |
345 \end{textblock}} |
379 \end{textblock}} |
346 |
380 |
347 \end{frame}} |
381 \end{frame} |
348 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
382 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
349 |
383 |
350 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
384 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
351 \mode<presentation>{ |
385 \begin{frame}[c] |
352 \begin{frame}[c] |
386 \frametitle{Chip-and-PIN} |
353 \frametitle{\begin{tabular}{c}Chip-and-PIN\end{tabular}} |
|
354 |
|
355 |
387 |
356 \begin{itemize} |
388 \begin{itemize} |
357 \item A ``tamperesitant'' terminal playing Tetris on |
389 \item A ``tamperesitant'' terminal playing Tetris on |
358 \textcolor{blue}{\href{http://www.youtube.com/watch?v=wWTzkD9M0sU}{youtube}}.\\ |
390 \href{http://www.youtube.com/watch?v=wWTzkD9M0sU}{youtube}.\smallskip\\ |
359 \textcolor{lightgray}{\footnotesize(\url{http://www.youtube.com/watch?v=wWTzkD9M0sU})} |
391 \footnotesize(\url{http://www.youtube.com/watch?v=wWTzkD9M0sU}) |
360 \end{itemize} |
392 \end{itemize} |
361 |
393 |
362 |
|
363 \includegraphics[scale=0.2]{pics/tetris.jpg} |
394 \includegraphics[scale=0.2]{pics/tetris.jpg} |
364 |
395 |
365 |
396 \end{frame} |
366 \end{frame}} |
397 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
367 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
398 |
368 |
399 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
369 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
400 \begin{frame} |
370 \mode<presentation>{ |
401 \frametitle{Chip-and-PIN} |
371 \begin{frame}[c] |
402 |
372 \frametitle{\begin{tabular}{c}Chip-and-PIN\end{tabular}} |
403 \begin{itemize} |
373 |
404 \item in 2006, Shell petrol stations stopped accepting Chip-and-PIN after |
374 |
405 \pounds{1M} had been stolen from customer accounts\smallskip |
375 \begin{itemize} |
406 \item in 2008, hundreds of card readers for use in Britain, Ireland, |
376 \item in 2006, Shell petrol stations stopped accepting Chip-and-PIN after \pounds{}1m had been stolen from customer accounts\smallskip |
407 the Netherlands, Denmark, and Belgium had been expertly tampered with |
377 \item in 2008, hundreds of card readers for use in Britain, Ireland, the Netherlands, Denmark, and Belgium had been |
408 shortly after manufacture so that details and PINs of credit cards |
378 expertly tampered with shortly after manufacture so that details and PINs of credit cards were sent during the 9 months |
409 were sent during the 9 months before over mobile phone networks |
379 before over mobile phone networks to criminals in Lahore, Pakistan |
410 to criminals in Lahore, Pakistan |
380 \end{itemize} |
411 \end{itemize} |
381 |
412 |
382 \end{frame}} |
413 \end{frame} |
383 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
414 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
384 |
415 |
385 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
416 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
386 \mode<presentation>{ |
417 \begin{frame}[c] |
387 \begin{frame}[c] |
418 \frametitle{Chip-and-PIN is Broken} |
388 \frametitle{\begin{tabular}{c}Chip-and-PIN is Broken\end{tabular}} |
|
389 |
419 |
390 \begin{flushright} |
420 \begin{flushright} |
391 \includegraphics[scale=0.01]{pics/andersonbook1.jpg}\; |
421 \includegraphics[scale=0.01]{pics/andersonbook1.jpg}\; |
392 \includegraphics[scale=1.5]{pics/anderson.jpg} |
422 \includegraphics[scale=1.5]{pics/anderson.jpg} |
393 \end{flushright} |
423 \end{flushright} |
398 |
428 |
399 \begin{center} |
429 \begin{center} |
400 \mbox{}\hspace{-20mm}\includegraphics[scale=0.5]{pics/chip-attack.png} |
430 \mbox{}\hspace{-20mm}\includegraphics[scale=0.5]{pics/chip-attack.png} |
401 \end{center} |
431 \end{center} |
402 |
432 |
403 |
|
404 \begin{textblock}{1}(11.5,13.7) |
433 \begin{textblock}{1}(11.5,13.7) |
405 \begin{tabular}{l} |
434 \begin{tabular}{l} |
406 \footnotesize on BBC Newsnight\\[-2mm] |
435 \footnotesize on BBC Newsnight\\[-2mm] |
407 \footnotesize in 2010 or \textcolor{blue}{\href{http://www.youtube.com/watch?v=JPAX32lgkrw}{youtube}} |
436 \footnotesize in 2010 or |
408 \end{tabular} |
437 \href{http://www.youtube.com/watch?v=JPAX32lgkrw}{youtube} |
409 \end{textblock} |
438 \end{tabular} |
410 |
439 \end{textblock} |
411 \end{frame}} |
440 |
412 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
441 \end{frame} |
413 |
442 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
414 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
443 |
415 \mode<presentation>{ |
444 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
416 \begin{frame}[c] |
445 \begin{frame}[c] |
417 \frametitle{\Large\begin{tabular}{@ {}c@ {}}Chip-and-PIN is Really Broken\end{tabular}} |
446 \frametitle{\Large Chip-and-PIN is Really Broken} |
418 |
447 |
419 \begin{flushright} |
448 \begin{flushright} |
420 \includegraphics[scale=0.01]{pics/andersonbook1.jpg}\; |
449 \includegraphics[scale=0.01]{pics/andersonbook1.jpg}\; |
421 \includegraphics[scale=1.5]{pics/anderson.jpg} |
450 \includegraphics[scale=1.5]{pics/anderson.jpg} |
422 \end{flushright} |
451 \end{flushright} |
423 |
452 |
424 \begin{itemize} |
453 \begin{itemize} |
425 \item same group successfully attacked in 2012 card readers and ATM machines |
454 \item same group successfully attacked in 2012 card readers and ATM machines |
426 \item the problem: several types of ATMs generate poor random numbers, which are used as nonces |
455 \item the problem: several types of ATMs generate poor random numbers, |
427 \end{itemize} |
456 which are used as nonces |
428 |
457 \end{itemize} |
429 \end{frame}} |
458 |
430 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
459 \end{frame} |
431 |
460 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
432 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
461 |
433 \mode<presentation>{ |
462 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
434 \begin{frame}[c] |
463 \begin{frame}[c] |
435 \frametitle{\begin{tabular}{c}The Real Problem \ldots\end{tabular}} |
464 \frametitle{The Real Problem \ldots} |
436 |
|
437 |
465 |
438 \begin{textblock}{1}(3,4) |
466 \begin{textblock}{1}(3,4) |
439 \begin{tabular}{c} |
467 \begin{tabular}{c} |
440 \includegraphics[scale=0.3]{pics/bank.png}\\[-2mm] |
468 \includegraphics[scale=0.3]{pics/bank.png}\\[-2mm] |
441 \small Bank |
469 \small Bank |
502 \begin{itemize} |
530 \begin{itemize} |
503 \item the burden of proof for fraud and financial liability was shifted to the costumer (until approx.~2009/10) |
531 \item the burden of proof for fraud and financial liability was shifted to the costumer (until approx.~2009/10) |
504 \end {itemize} |
532 \end {itemize} |
505 \end{textblock} |
533 \end{textblock} |
506 |
534 |
507 \end{frame}} |
535 \end{frame} |
508 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
536 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
509 |
537 |
510 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
538 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
511 \mode<presentation>{ |
539 \begin{frame}[c] |
512 \begin{frame} |
540 \frametitle{The Bad Guy Again} |
513 \frametitle{\begin{tabular}{@ {}c@ {}}The Bad Guy Again\end{tabular}} |
541 |
514 |
542 \begin{bubble}[10cm] |
515 |
543 \footnotesize |
516 \only<1->{ |
544 The anonymous hacker from earlier:\medskip\\ ``Try to use |
517 \begin{textblock}{1}(1,4) |
545 `Verified-By-Visa' and `Mastercard-Securecode' as rarely as |
518 \begin{tikzpicture} |
546 possible. If only your CVV2 code is getting sniffed, you are |
519 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] |
547 not liable for any damage, because the code is physically |
520 {\normalsize\color{darkgray} |
548 printed and could have been stolen while you payed with your |
521 \begin{minipage}{11cm}\raggedright\footnotesize |
549 card at a store. Same applies if someone cloned your CC |
522 The Annonymous Hacker from earlier:\medskip\\ |
550 reading the magnetic stripe or sniffing RFID. Only losing your |
523 ``Try to use `Verified-By-Visa' and `Mastercard-Securecode' as rarely as possible. If only your CVV2 code is getting sniffed, you are not liable for any damage, because the code is physically printed and could have been stolen while you payed with your card at a store. Same applies if someone cloned your CC reading the magnetic stripe or sniffing RFID. Only losing your VBV or MCSC password can cause serious trouble.''\\ |
551 VBV or MCSC password can cause serious trouble.''\\ |
524 \hfill{}\textcolor{blue}{\url{goo.gl/UWluh0}} |
552 \hfill{}\url{goo.gl/UWluh0} |
525 \end{minipage}}; |
553 \end{bubble} |
526 \end{tikzpicture} |
554 |
527 \end{textblock}} |
555 \end{frame} |
528 |
556 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
529 |
557 |
530 \end{frame}} |
558 |
531 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
559 |
532 |
560 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
533 |
561 \begin{frame}[c] |
534 |
562 \frametitle{Being Screwed Again} |
535 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
536 \mode<presentation>{ |
|
537 \begin{frame}[c] |
|
538 \frametitle{\begin{tabular}{c}Being Screwed Again\end{tabular}} |
|
539 |
|
540 |
563 |
541 \begin{flushright} |
564 \begin{flushright} |
542 \includegraphics[scale=0.3]{pics/rbssecure.jpg} |
565 \includegraphics[scale=0.3]{pics/rbssecure.jpg} |
543 \end{flushright} |
566 \end{flushright} |
544 |
567 |
545 \begin{itemize} |
568 \begin{itemize} |
546 \item {\bf Responsibility}\\ |
569 \item {\bf Responsibility}\\ |
547 ``You understand that you are financially responsible for all uses of RBS Secure.''\\ |
570 ``You understand that you are financially responsible for all uses |
548 \textcolor{lightgray}{\footnotesize\url{https://www.rbssecure.co.uk/rbs/tdsecure/terms_of_use.jsp}} |
571 of RBS Secure.''\medskip\\ |
549 \end{itemize} |
572 \footnotesize\url{https://www.rbssecure.co.uk/rbs/tdsecure/terms_of_use.jsp} |
550 |
573 \end{itemize} |
551 \end{frame}} |
574 |
552 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
575 \end{frame} |
553 |
576 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
554 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
577 |
555 \mode<presentation>{ |
578 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
556 \begin{frame}[c] |
579 \begin{frame}[c] |
557 \frametitle{\begin{tabular}{c}Web Applications\end{tabular}} |
580 \frametitle{Web Applications} |
558 |
|
559 |
581 |
560 \begin{textblock}{1}(2,5) |
582 \begin{textblock}{1}(2,5) |
561 \begin{tabular}{c} |
583 \begin{tabular}{c} |
562 \includegraphics[scale=0.15]{pics/servers.png}\\[-2mm] |
584 \includegraphics[scale=0.15]{pics/servers.png}\\[-2mm] |
563 \small Servers from\\[-2mm] |
585 \small Servers from\\[-2mm] |
590 \begin{itemize} |
612 \begin{itemize} |
591 \item What are pitfalls and best practices? |
613 \item What are pitfalls and best practices? |
592 \end{itemize} |
614 \end{itemize} |
593 \end{textblock} |
615 \end{textblock} |
594 |
616 |
595 \end{frame}} |
617 \end{frame} |
596 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
618 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
597 |
619 |
598 |
620 |
599 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
621 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
600 \mode<presentation>{ |
622 \begin{frame}[c] |
601 \begin{frame}[c] |
623 \frametitle{Why Scala?} |
602 \frametitle{\begin{tabular}{c}Why Scala?\end{tabular}} |
|
603 |
624 |
604 \begin{textblock}{6}(1,3) |
625 \begin{textblock}{6}(1,3) |
605 \begin{tabular}{l} |
626 \begin{tabular}{l} |
606 \mbox{}\hspace{-1mm}\includegraphics[scale=0.36]{pics/twitter.png}\\[-1mm] |
627 \mbox{}\hspace{-1mm}\includegraphics[scale=0.36]{pics/twitter.png}\\[-1mm] |
607 \includegraphics[scale=0.30]{pics/linked.png}\\ |
628 \includegraphics[scale=0.30]{pics/linked.png}\\ |
646 \end{textblock}} |
667 \end{textblock}} |
647 |
668 |
648 |
669 |
649 \only<5->{ |
670 \only<5->{ |
650 \begin{textblock}{1}(3,6) |
671 \begin{textblock}{1}(3,6) |
651 \begin{tikzpicture} |
672 \begin{bubble}[8.5cm] |
652 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] |
673 \normalsize |
653 {\normalsize\color{darkgray} |
674 Scala is a functional and object-oriented programming |
654 \begin{minipage}{8.5cm}\raggedright\normalsize |
675 language; compiles to the JVM; does not need null-pointer |
655 Scala is a functional and object-oriented programming language; compiles to the JVM; does not |
676 exceptions; a course on Coursera\\ |
656 need null-pointer exceptions; a course on Coursera\\ |
677 \mbox{}\hfill\url{http://www.scala-lang.org} |
657 \mbox{}\hfill\textcolor{blue}{\url{http://www.scala-lang.org}} |
678 \end{bubble} |
658 \end{minipage}}; |
679 \end{textblock}} |
659 \end{tikzpicture} |
680 |
660 \end{textblock}} |
681 |
661 |
682 \end{frame} |
662 |
683 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
663 \end{frame}} |
684 |
664 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
685 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
665 |
686 \begin{frame}[c] |
666 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
687 \frametitle{Scala + Play} |
667 \mode<presentation>{ |
688 |
668 \begin{frame}[c] |
689 A simple response from the server: |
669 \frametitle{\begin{tabular}{c}Scala + Play\end{tabular}} |
|
670 |
|
671 \small a simple response from the server: |
|
672 |
|
673 |
|
674 {\lstset{language=Scala}\fontsize{8}{10}\selectfont |
|
675 \texttt{\lstinputlisting{../progs/app0.scala}}}\bigskip |
|
676 |
690 |
677 \small |
691 \small |
678 alternative response:\\ |
692 \lstinputlisting{../progs/app0.scala} |
679 |
693 \medskip |
680 {\lstset{language=Scala}\fontsize{8}{10}\selectfont |
694 |
681 \texttt{\lstinline{Ok("<H1>Hello world!</H1>").as(HTML)}}} |
695 \small |
682 \end{frame}} |
696 alternative response:\smallskip\\ |
697 |
|
698 |
|
699 \lstinline{Ok("<H1>Hello world!</H1>").as(HTML)} |
|
700 |
|
701 \end{frame} |
|
683 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
702 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
684 |
703 |
685 |
704 |
686 |
705 |
687 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
706 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |