178 systems were still successfully attacked. |
165 systems were still successfully attacked. |
179 \end{quote} |
166 \end{quote} |
180 |
167 |
181 |
168 |
182 \end{frame}} |
169 \end{frame}} |
183 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
170 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
184 |
171 |
185 |
172 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
186 |
173 \mode<presentation>{ |
187 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
174 \begin{frame}[c] |
188 \mode<presentation>{ |
175 \frametitle{Protocols} |
189 \begin{frame}[c] |
176 |
190 \frametitle{The Access Control Problem} |
177 Examples where ``over-the-air'' protocols are used |
191 |
178 |
|
179 \begin{itemize} |
|
180 \item wifi |
|
181 \item card readers (you cannot trust the terminals) |
|
182 \item RFI (passports) |
|
183 \end{itemize} |
|
184 |
|
185 \end{frame}} |
|
186 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
187 |
|
188 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
189 \mode<presentation>{ |
|
190 \begin{frame}[c] |
192 |
191 |
193 \begin{center} |
192 \begin{center} |
194 \begin{tikzpicture}[scale=1] |
193 \includegraphics[scale=0.5]{pics/dogs.jpg} |
195 |
194 \end{center} |
196 \draw[line width=1mm] (-.3, 0) rectangle (1.5,2); |
195 |
197 \draw (-2.7,1) node {\begin{tabular}{l}access\\request\end{tabular}}; |
196 \end{frame}} |
198 \draw (4.2,1) node {\begin{tabular}{l}granted/\\not granted\end{tabular}}; |
197 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
199 \draw (0.6,1.2) node {\footnotesize \begin{tabular}{l}Access\\Control\\Checker\end{tabular}}; |
198 |
|
199 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
200 \mode<presentation>{ |
|
201 \begin{frame}[c] |
|
202 \frametitle{\begin{tabular}{c}Chip-and-PIN\end{tabular}} |
|
203 |
|
204 |
|
205 \begin{itemize} |
|
206 \item A ``tamperesitant'' terminal playing Tetris on |
|
207 \textcolor{blue}{\href{http://www.youtube.com/watch?v=wWTzkD9M0sU}{youtube}}.\\ |
|
208 \textcolor{lightgray}{\footnotesize(\url{http://www.youtube.com/watch?v=wWTzkD9M0sU})} |
|
209 \end{itemize} |
200 |
210 |
201 \draw[red, ->, line width = 2mm] (1.7,1) -- (2.7,1); |
211 |
202 \draw[red,<-, line width = 2mm] (-0.6,1) -- (-1.6,1); |
212 \includegraphics[scale=0.2]{pics/tetris.jpg} |
203 \draw[red, <-, line width = 3mm] (0.6,2.2) -- (0.6,3.2); |
213 |
204 |
214 |
205 \draw (0.6,4) node {\begin{tabular}{l}\large some rules\\(access policy)\end{tabular}}; |
215 \end{frame}} |
206 |
216 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
217 |
|
218 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
219 \mode<presentation>{ |
|
220 \begin{frame}<1-3>[c] |
|
221 \frametitle{Oyster Cards} |
|
222 |
|
223 \includegraphics[scale=0.4]{pics/oysterc.jpg} |
|
224 |
|
225 \begin{itemize} |
|
226 \item good example of a bad protocol\\ (security by obscurity)\bigskip |
|
227 \item<3-> ``Breaching security on Oyster cards should not |
|
228 allow unauthorised use for more than a day, as TfL promises to turn |
|
229 off any cloned cards within 24 hours\ldots'' |
|
230 \end{itemize} |
|
231 |
|
232 \only<2>{ |
|
233 \begin{textblock}{12}(0.5,0.5) |
|
234 \begin{tikzpicture} |
|
235 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] |
|
236 {\color{darkgray} |
|
237 \begin{minipage}{11cm}\raggedright\footnotesize |
|
238 {\bf Wirelessly Pickpocketing a Mifare Classic Card}\medskip |
|
239 |
|
240 The Mifare Classic is the most widely used contactless smartcard on the |
|
241 market. The stream cipher CRYPTO1 used by the Classic has recently been |
|
242 reverse engineered and serious attacks have been proposed. The most serious |
|
243 of them retrieves a secret key in under a second. In order to clone a card, |
|
244 previously proposed attacks require that the adversary either has access to |
|
245 an eavesdropped communication session or executes a message-by-message |
|
246 man-in-the-middle attack between the victim and a legitimate |
|
247 reader. Although this is already disastrous from a cryptographic point of |
|
248 view, system integrators maintain that these attacks cannot be performed |
|
249 undetected.\smallskip |
|
250 |
|
251 This paper proposes four attacks that can be executed by an adversary having |
|
252 only wireless access to just a card (and not to a legitimate reader). The |
|
253 most serious of them recovers a secret key in less than a second on ordinary |
|
254 hardware. Besides the cryptographic weaknesses, we exploit other weaknesses |
|
255 in the protocol stack. A vulnerability in the computation of parity bits |
|
256 allows an adversary to establish a side channel. Another vulnerability |
|
257 regarding nested authentications provides enough plaintext for a speedy |
|
258 known-plaintext attack. |
|
259 \end{minipage}}; |
207 \end{tikzpicture} |
260 \end{tikzpicture} |
|
261 \end{textblock}} |
|
262 |
|
263 \end{frame}} |
|
264 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
265 |
|
266 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
267 \mode<presentation>{ |
|
268 \begin{frame}<1->[t] |
|
269 \frametitle{Another Example} |
|
270 |
|
271 In an email from Ross Anderson\bigskip\small |
|
272 |
|
273 \begin{tabular}{l} |
|
274 From: Ross Anderson <Ross.Anderson@cl.cam.ac.uk>\\ |
|
275 Sender: cl-security-research-bounces@lists.cam.ac.uk\\ |
|
276 To: cl-security-research@lists.cam.ac.uk\\ |
|
277 Subject: Birmingham case\\ |
|
278 Date: Tue, 13 Aug 2013 15:13:17 +0100\\ |
|
279 \end{tabular} |
|
280 |
|
281 |
|
282 \only<2>{ |
|
283 \begin{textblock}{12}(0.5,0.5) |
|
284 \begin{tikzpicture} |
|
285 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] |
|
286 {\color{darkgray} |
|
287 \begin{minipage}{11cm}\raggedright\footnotesize |
|
288 As you may know, Volkswagen got an injunction against the University of |
|
289 Birmingham suppressing the publication of the design of a weak cipher |
|
290 used in the remote key entry systems in its recent-model cars. The paper |
|
291 is being given today at Usenix, minus the cipher design.\medskip |
|
292 |
|
293 I've been contacted by Birmingham University's lawyers who seek to prove |
|
294 that the cipher can be easily obtained anyway. They are looking for a |
|
295 student who will download the firmware from any newish VW, disassemble |
|
296 it and look for the cipher. They'd prefer this to be done by a student |
|
297 rather than by a professor to emphasise how easy it is.\medskip |
|
298 |
|
299 Volkswagen's argument was that the Birmingham people had reversed a |
|
300 locksmithing tool produced by a company in Vietnam, and since their key |
|
301 fob chip is claimed to be tamper-resistant, this must have involved a |
|
302 corrupt insider at VW or at its supplier Thales. Birmingham's argument |
|
303 is that this is nonsense as the cipher is easy to get hold of. Their |
|
304 lawyers feel this argument would come better from an independent |
|
305 outsider.\medskip |
|
306 |
|
307 Let me know if you're interested in having a go, and I'll put you in |
|
308 touch |
|
309 |
|
310 Ross |
|
311 \end{minipage}}; |
|
312 \end{tikzpicture} |
|
313 \end{textblock}} |
|
314 |
|
315 \end{frame}} |
|
316 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
317 |
|
318 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
319 \mode<presentation>{ |
|
320 \begin{frame}[c] |
|
321 \frametitle{Authentication Protocols} |
|
322 |
|
323 |
|
324 Alice (\bl{$A$}) and Bob (\bl{$B$}) share a secret key \bl{$K_{AB}$}\bigskip |
|
325 |
|
326 Passwords: |
|
327 |
|
328 \begin{center} |
|
329 \bl{$B \rightarrow A: K_{AB}$} |
|
330 \end{center}\pause\bigskip |
|
331 |
|
332 Problems: Eavesdropper can capture the secret and replay it; \bl{$A$} cannot confirm the |
|
333 identity of \bl{$B$} |
|
334 |
|
335 \end{frame}} |
|
336 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
337 |
|
338 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
339 \mode<presentation>{ |
|
340 \begin{frame}[c] |
|
341 \frametitle{Authentication Protocols} |
|
342 |
|
343 Alice (\bl{$A$}) and Bob (\bl{$B$}) share a secret key \bl{$K_{AB}$}\bigskip |
|
344 |
|
345 Simple Challenge Response: |
|
346 |
|
347 \begin{center} |
|
348 \begin{tabular}{ll} |
|
349 \bl{$A \rightarrow B:$} & \bl{$N$}\\ |
|
350 \bl{$B \rightarrow A:$} & \bl{$\{N\}_{K_{AB}}$}\\ |
|
351 \end{tabular} |
208 \end{center} |
352 \end{center} |
209 |
353 |
210 \end{frame}} |
354 |
211 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
355 \end{frame}} |
212 |
356 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
357 |
|
358 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
359 \mode<presentation>{ |
|
360 \begin{frame}[c] |
|
361 \frametitle{Authentication Protocols} |
|
362 |
|
363 Alice (\bl{$A$}) and Bob (\bl{$B$}) share a secret key \bl{$K_{AB}$}\bigskip |
|
364 |
|
365 Mutual Challenge Response: |
|
366 |
|
367 \begin{center} |
|
368 \begin{tabular}{ll} |
|
369 \bl{$A \rightarrow B:$} & \bl{$N_A$}\\ |
|
370 \bl{$B \rightarrow A:$} & \bl{$\{N_A, N_B\}_{K_{AB}}$}\\ |
|
371 \bl{$A \rightarrow B:$} & \bl{$N_B$}\\ |
|
372 \end{tabular} |
|
373 \end{center} |
|
374 |
|
375 |
|
376 \end{frame}} |
|
377 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
378 |
|
379 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
380 \mode<presentation>{ |
|
381 \begin{frame}[c] |
|
382 \frametitle{One Time Passwords} |
|
383 |
|
384 \begin{center} |
|
385 \bl{$B \rightarrow A: C, C_{K_{AB}}$} |
|
386 \end{center}\bigskip |
|
387 |
|
388 A counter \bl{$C$} increases with each transmission; \bl{$A$} will not accept a |
|
389 \bl{$C$} which has already been accepted (used in car key fob). |
|
390 |
|
391 \end{frame}} |
|
392 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
393 |
|
394 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
395 \mode<presentation>{ |
|
396 \begin{frame}[c] |
|
397 \frametitle{Person-in-the-Middle} |
|
398 |
|
399 ``Normal'' protocol run:\bigskip |
|
400 |
|
401 \begin{itemize} |
|
402 \item \bl{$A$} sends public key to \bl{$B$} |
|
403 \item \bl{$B$} sends public key to \bl{$A$} |
|
404 \item \bl{$A$} sends message encrypted with \bl{$B$}'s public key, \bl{$B$} decrypts it |
|
405 with its private key |
|
406 \item \bl{$B$} sends message encrypted with \bl{$A$}'s public key, \bl{$A$} decrypts it |
|
407 with its private key |
|
408 \end{itemize} |
|
409 |
|
410 \end{frame}} |
|
411 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
412 |
|
413 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
414 \mode<presentation>{ |
|
415 \begin{frame}[c] |
|
416 \frametitle{Person-in-the-Middle} |
|
417 |
|
418 Attack: |
|
419 |
|
420 \begin{itemize} |
|
421 \item \bl{$A$} sends public key to \bl{$B$} --- \bl{$C$} intercepts this message and send his own public key |
|
422 \item \bl{$B$} sends public key to \bl{$A$} --- \bl{$C$} intercepts this message and send his own public key |
|
423 \item \bl{$A$} sends message encrypted with \bl{$C$}'s public key, \bl{$C$} decrypts it |
|
424 with its private key, re-encrypts with \bl{$B$}'s public key |
|
425 \item similar |
|
426 \end{itemize} |
|
427 |
|
428 \end{frame}} |
|
429 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
430 |
|
431 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
432 \mode<presentation>{ |
|
433 \begin{frame}[c] |
|
434 \frametitle{Person-in-the-Middle} |
|
435 |
|
436 Prevention: |
|
437 |
|
438 \begin{itemize} |
|
439 \item \bl{$A$} sends public key to \bl{$B$} |
|
440 \item \bl{$B$} sends public key to \bl{$A$} |
|
441 \item \bl{$A$} encrypts message with \bl{$B$}'s public key, send's {\bf half} of the message |
|
442 \item \bl{$B$} encrypts message with \bl{$A$}'s public key, send's {\bf half} of the message |
|
443 \item \bl{$A$} sends other half, \bl{$B$} can now decrypt entire message |
|
444 \item \bl{$B$} sends other half, \bl{$A$} can now decrypt entire message |
|
445 \end{itemize}\pause |
|
446 |
|
447 \bl{$C$} would have to invent a totally new message |
|
448 |
|
449 \end{frame}} |
|
450 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
451 |
|
452 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
453 \mode<presentation>{ |
|
454 \begin{frame}[c] |
|
455 \frametitle{Motivation} |
|
456 |
|
457 The ISO/IEC 9798 specifies authentication mechanisms which use security |
|
458 techniques. These mechanisms are used to corroborate that an entity is the one |
|
459 that is claimed. An entity to be authenticated proves its identity by showing its |
|
460 knowledge of a secret. The mechanisms are defined as exchanges of information |
|
461 between entities and, where required, exchanges with a trusted third party. |
|
462 |
|
463 \end{frame}} |
|
464 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
465 |
|
466 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
467 \mode<presentation>{ |
|
468 \begin{frame}[c] |
|
469 \frametitle{Motivation} |
|
470 |
|
471 But\ldots\bigskip |
|
472 |
|
473 The ISO/IEC 9798 standard neither specifies a threat model nor defines the security properties that the protocols should satisfy.\pause\bigskip |
|
474 |
|
475 Unfortunately, there are no general precise definitions for the goals of protocols. |
|
476 |
|
477 \end{frame}} |
|
478 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
479 |
|
480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
481 \mode<presentation>{ |
|
482 \begin{frame}[c] |
|
483 \frametitle{Best Practices} |
|
484 |
|
485 {\bf Principle 1:} Every message should say what it means: the interpretation of |
|
486 a message should not depend on the context.\bigskip\pause |
|
487 |
|
488 {\bf Principle 2:} If the identity of a principal is essential to the meaning of a message, it is prudent |
|
489 to mention the principal’s name explicitly in the message (though difficult).\bigskip |
|
490 |
|
491 |
|
492 \end{frame}} |
|
493 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
494 |
|
495 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
496 \mode<presentation>{ |
|
497 \begin{frame}[c] |
|
498 \frametitle{Best Practices} |
|
499 |
|
500 {\bf Principle 3:} Be clear about why encryption is being done. Encryption is not wholly cheap, and not asking precisely why it is being done can lead to redundancy. Encryption is not synonymous with security. |
|
501 |
|
502 \begin{center} |
|
503 Possible Uses of Encryption |
|
504 |
|
505 \begin{itemize} |
|
506 \item Preservation of confidentiality: \bl{$\{X\}_K$} only those that have \bl{$K$} may recover \bl{$X$}. |
|
507 \item Guarantee authenticity: The partner is indeed some particular principal. |
|
508 \item Guarantee confidentiality and authenticity: binds two parts of a message --- |
|
509 \bl{$\{X,Y\}_K$} is not the same as \bl{$\{X\}_K$} and \bl{$\{Y\}_K$}. |
|
510 \end{itemize} |
|
511 \end{center} |
|
512 |
|
513 |
|
514 |
|
515 \end{frame}} |
|
516 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
517 |
|
518 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
519 \mode<presentation>{ |
|
520 \begin{frame}[c] |
|
521 \frametitle{Best Practices} |
|
522 |
|
523 {\bf Principle 4:} The protocol designer should know which trust relations his protocol depends on, and why the dependence is necessary. The reasons for particular trust relations being acceptable should be explicit though they will be founded on judgment and policy rather than on logic.\bigskip |
|
524 |
|
525 |
|
526 Example Certification Authorities: CAs are trusted to certify a key only after proper steps |
|
527 have been taken to identify the principal that owns it. |
|
528 |
|
529 |
|
530 |
|
531 |
|
532 |
|
533 \end{frame}} |
|
534 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
213 |
535 |
214 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
536 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
215 \mode<presentation>{ |
537 \mode<presentation>{ |
216 \begin{frame}[c] |
538 \begin{frame}[c] |
217 \frametitle{Access Control Logic} |
539 \frametitle{Access Control Logic} |
226 \end{quote} |
548 \end{quote} |
227 |
549 |
228 \end{frame}} |
550 \end{frame}} |
229 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
551 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
230 |
552 |
231 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
232 \mode<presentation>{ |
|
233 \begin{frame}[c] |
|
234 |
|
235 \begin{center} |
|
236 \begin{tikzpicture}[scale=1] |
|
237 |
|
238 \draw[line width=1mm] (-.3, 0) rectangle (1.5,2); |
|
239 \draw (-2.7,1) node {\begin{tabular}{l}access\\request\end{tabular}}; |
|
240 \draw (4.2,1) node {\begin{tabular}{l}granted/\\not granted\end{tabular}}; |
|
241 \draw (0.6,1.2) node {\footnotesize \begin{tabular}{l}Access\\Control\\Checker\end{tabular}}; |
|
242 |
|
243 \draw[red, ->, line width = 2mm] (1.7,1) -- (2.7,1); |
|
244 \draw[red,<-, line width = 2mm] (-0.6,1) -- (-1.6,1); |
|
245 \draw[red, <-, line width = 3mm] (0.6,2.2) -- (0.6,3.2); |
|
246 |
|
247 \draw (0.6,3.7) node {\begin{tabular}{l}access policy\end{tabular}}; |
|
248 |
|
249 \end{tikzpicture} |
|
250 \end{center} |
|
251 |
|
252 Assuming one file on my computer contains a virus.\smallskip\\ |
|
253 \only<1>{Q: Given my access policy, can this file ``infect'' my whole computer?}% |
|
254 \only<2>{Q: Can my access policy prevent that my whole computer gets infected.} |
|
255 |
|
256 |
|
257 \end{frame}} |
|
258 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
259 |
|
260 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
261 \mode<presentation>{ |
|
262 \begin{frame}[c] |
|
263 \small |
|
264 \begin{center} |
|
265 \mbox{ |
|
266 \inferrule{\mbox{\begin{tabular}{l} |
|
267 \ldots\\ |
|
268 is\_at\_library (Christian)\\ |
|
269 is\_student (a) $\wedge$ is\_at\_library (a) $\Rightarrow$ may\_obtain\_email (a)\\ |
|
270 is\_staff (a) $\wedge$ is\_at\_library (a) $\Rightarrow$ may\_obtain\_email (a)\medskip\\ |
|
271 \onslide<2->{HoD says is\_staff (a) $\Rightarrow$ is\_staff (a)}\\ |
|
272 \onslide<2->{HoD says is\_staff (Christian)}\medskip\\ |
|
273 \onslide<3->{may\_obtain\_email (a) $\wedge$ sending\_spam (a) $\Rightarrow$\\} |
|
274 \onslide<3->{\hspace{6cm}$\neg$ may\_obtain\_email (a)} |
|
275 \end{tabular} |
|
276 }} |
|
277 {\mbox{? may\_obtain\_email (Christian)}}} |
|
278 \end{center} |
|
279 \end{frame}} |
|
280 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
281 |
|
282 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
283 \mode<presentation>{ |
|
284 \begin{frame}[c] |
|
285 \frametitle{} |
|
286 |
|
287 There are two ways for tackling such problems:\medskip |
|
288 |
|
289 \begin{itemize} |
|
290 \item either you make up our own language in which you can describe |
|
291 the problem,\medskip |
|
292 |
|
293 \item or you use an existing language and represent the problem in |
|
294 this language. |
|
295 \end{itemize} |
|
296 |
|
297 \end{frame}} |
|
298 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
299 |
|
300 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
301 \mode<presentation>{ |
|
302 \begin{frame}[t] |
|
303 \frametitle{\Large\begin{tabular}{@ {}c@ {}}Logic(s)\end{tabular}} |
|
304 |
|
305 \begin{itemize} |
|
306 \item Formulas |
|
307 |
|
308 \begin{center}\color{blue} |
|
309 \begin{tabular}{rcl@ {\hspace{10mm}}l} |
|
310 \isa{F} & \isa{{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3D}{\isacharequal}}} & \isa{true} \\ |
|
311 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{false} \\ |
|
312 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{F\ {\isaliteral{5C3C616E643E}{\isasymand}}\ F} \\ |
|
313 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{F\ {\isaliteral{5C3C6F723E}{\isasymor}}\ F} \\ |
|
314 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{F\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ F} & \textcolor{black}{implies}\\ |
|
315 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{{\isaliteral{5C3C6E6F743E}{\isasymnot}}\ F} & \textcolor{black}{negation}\\ |
|
316 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{p\ {\isaliteral{28}{\isacharparenleft}}t\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5C3C646F74733E}{\isasymdots}}{\isaliteral{2C}{\isacharcomma}}t\isaliteral{5C3C5E697375623E}{}\isactrlisub n{\isaliteral{29}{\isacharparenright}}} & \textcolor{black}{predicates}\\ |
|
317 & \onslide<2->{\isa{{\isaliteral{7C}{\isacharbar}}}} & \onslide<2->{\isa{{\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}x{\isaliteral{2E}{\isachardot}}\ F}} & |
|
318 \onslide<2->{\textcolor{black}{forall quantification}}\\ |
|
319 & \onslide<2->{\isa{{\isaliteral{7C}{\isacharbar}}}} & \onslide<2->{\isa{{\isaliteral{5C3C6578697374733E}{\isasymexists}}x{\isaliteral{2E}{\isachardot}}\ F}} & |
|
320 \onslide<2->{\textcolor{black}{exists quantification}}\\[-7mm] |
|
321 \end{tabular} |
|
322 \end{center} |
|
323 |
|
324 \end{itemize} |
|
325 |
|
326 \begin{textblock}{12}(1,14) |
|
327 Terms \textcolor{blue}{\isa{t\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3D}{\isacharequal}}\ x\ {\isaliteral{5C3C646F74733E}{\isasymdots}}\ {\isaliteral{7C}{\isacharbar}}\ c\ {\isaliteral{5C3C646F74733E}{\isasymdots}}}} |
|
328 \end{textblock} |
|
329 |
|
330 \end{frame}} |
|
331 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
332 % |
|
333 |
|
334 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
335 \mode<presentation>{ |
|
336 \begin{frame}[c] |
|
337 |
|
338 {\lstset{language=Scala}\fontsize{10}{12}\selectfont |
|
339 \texttt{\lstinputlisting{programs/formulas.scala}}} |
|
340 |
|
341 \end{frame}} |
|
342 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
343 |
|
344 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
345 \mode<presentation>{ |
|
346 \begin{frame}[t] |
|
347 \frametitle{Judgements} |
|
348 |
|
349 \begin{center} |
|
350 \LARGE |
|
351 \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F}} |
|
352 \end{center} |
|
353 |
|
354 \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}}} is a collection of formulas, called the \alert{assumptions}\bigskip\pause |
|
355 |
|
356 \begin{itemize} |
|
357 \item Example\mbox{}\\[-8mm] |
|
358 |
|
359 \only<2>{\begin{center}\tiny |
|
360 \textcolor{blue}{ |
|
361 \begin{tabular}{l} |
|
362 \isa{is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}},\\ |
|
363 \isa{is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}},\\ |
|
364 \isa{{\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}x{\isaliteral{2E}{\isachardot}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}}\\ |
|
365 \end{tabular}\isa{{\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}} |
|
366 \end{center}} |
|
367 \only<3>{\small |
|
368 \textcolor{blue}{ |
|
369 \begin{center} |
|
370 \mbox{ |
|
371 \infer{\mbox{\isa{may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}}} |
|
372 {\mbox{\begin{tabular}{@ {}l@ {}} |
|
373 \isa{is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}\\ |
|
374 \isa{is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}\\ |
|
375 \isa{{\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}x{\isaliteral{2E}{\isachardot}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}}\\ |
|
376 \end{tabular}} |
|
377 } |
|
378 } |
|
379 \end{center} |
|
380 }} |
|
381 \only<4>{\small |
|
382 \textcolor{blue}{ |
|
383 \begin{center} |
|
384 \mbox{ |
|
385 \infer{\mbox{\isa{may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}Alice{\isaliteral{29}{\isacharparenright}}}}} |
|
386 {\mbox{\begin{tabular}{@ {}l@ {}} |
|
387 \isa{is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Alice{\isaliteral{29}{\isacharparenright}}}\\ |
|
388 \isa{is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}\\ |
|
389 \isa{is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}\\ |
|
390 \isa{{\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}x{\isaliteral{2E}{\isachardot}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}}\\ |
|
391 \end{tabular}} |
|
392 } |
|
393 } |
|
394 \end{center} |
|
395 }} |
|
396 |
|
397 \end{itemize} |
|
398 |
|
399 \end{frame}} |
|
400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
401 |
|
402 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
403 \mode<presentation>{ |
|
404 \begin{frame}[c] |
|
405 |
|
406 {\lstset{language=Scala}\fontsize{10}{12}\selectfont |
|
407 \texttt{\lstinputlisting{programs/judgement.scala}}} |
|
408 |
|
409 \end{frame}} |
|
410 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
411 |
|
412 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
413 \mode<presentation>{ |
|
414 \begin{frame}[t] |
|
415 \frametitle{Inference Rules} |
|
416 |
|
417 \textcolor{blue}{ |
|
418 \begin{center} |
|
419 \Large |
|
420 \mbox{ |
|
421 \infer{\mbox{\isa{conclusion}}} |
|
422 {\mbox{\isa{premise\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}} & \mbox{\isa{{\isaliteral{5C3C646F74733E}{\isasymdots}}}} & \mbox{\isa{premise\isaliteral{5C3C5E697375623E}{}\isactrlisub n}}}} |
|
423 \end{center}} |
|
424 |
|
425 The conlusion and premises are judgements\bigskip\pause |
|
426 |
|
427 \begin{itemize} |
|
428 \item Examples |
|
429 \textcolor{blue}{ |
|
430 \begin{center} |
|
431 \mbox{ |
|
432 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}}} |
|
433 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}}}} |
|
434 \end{center}}\pause |
|
435 |
|
436 \textcolor{blue}{ |
|
437 \begin{center} |
|
438 \mbox{ |
|
439 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C6F723E}{\isasymor}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}}} |
|
440 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}}}} |
|
441 \hspace{10mm} |
|
442 \mbox{ |
|
443 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C6F723E}{\isasymor}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}}} |
|
444 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}}}} |
|
445 \end{center}} |
|
446 \end{itemize} |
|
447 |
|
448 \end{frame}} |
|
449 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
450 % |
|
451 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
452 \mode<presentation>{ |
|
453 \begin{frame}[t] |
|
454 \frametitle{Implication} |
|
455 \Large |
|
456 |
|
457 \textcolor{blue}{ |
|
458 \begin{center} |
|
459 \mbox{ |
|
460 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}}} |
|
461 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}{\isaliteral{2C}{\isacharcomma}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}}}} |
|
462 \end{center}} |
|
463 |
|
464 \textcolor{blue}{ |
|
465 \begin{center} |
|
466 \mbox{ |
|
467 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}}} |
|
468 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}}}} |
|
469 \end{center}} |
|
470 |
|
471 \end{frame}} |
|
472 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
473 % |
|
474 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
475 \mode<presentation>{ |
|
476 \begin{frame}[t] |
|
477 \frametitle{Universal Quantification} |
|
478 \Large |
|
479 |
|
480 \textcolor{blue}{ |
|
481 \begin{center} |
|
482 \mbox{ |
|
483 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F{\isaliteral{5B}{\isacharbrackleft}}x\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3D}{\isacharequal}}\ t{\isaliteral{5D}{\isacharbrackright}}}}} |
|
484 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ {\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}x{\isaliteral{2E}{\isachardot}}\ F}}}} |
|
485 \end{center}} |
|
486 |
|
487 \end{frame}} |
|
488 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
489 % |
|
490 |
|
491 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
492 \mode<presentation>{ |
|
493 \begin{frame}[t] |
|
494 \frametitle{Start Rules / Axioms} |
|
495 |
|
496 \normalsize |
|
497 \alert{if \textcolor{blue}{\isa{F\ {\isaliteral{5C3C696E3E}{\isasymin}}\ {\isaliteral{5C3C47616D6D613E}{\isasymGamma}}}}} |
|
498 |
|
499 \textcolor{blue}{\Large |
|
500 \begin{center} |
|
501 \mbox{ |
|
502 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F}}}{}} |
|
503 \end{center}}\bigskip\pause |
|
504 |
|
505 \normalsize |
|
506 Also written as: |
|
507 \textcolor{blue}{\Large |
|
508 \begin{center} |
|
509 \mbox{ |
|
510 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}{\isaliteral{2C}{\isacharcomma}}\ F\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F}}}{}} |
|
511 \end{center}}\pause |
|
512 |
|
513 \textcolor{blue}{\Large |
|
514 \begin{center} |
|
515 \mbox{ |
|
516 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ true}}}{}} |
|
517 \end{center}} |
|
518 |
|
519 \end{frame}} |
|
520 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
521 % |
|
522 |
|
523 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
524 \mode<presentation>{ |
|
525 \begin{frame}[t] |
|
526 \frametitle{} |
|
527 |
|
528 \begin{minipage}{1.1\textwidth} |
|
529 Let \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{3D}{\isacharequal}}}\footnotesize\begin{tabular}{l} |
|
530 \isa{is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}},\\ |
|
531 \isa{is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}},\\ |
|
532 \isa{{\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}x{\isaliteral{2E}{\isachardot}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}}\\ |
|
533 \end{tabular}} |
|
534 \end{minipage} |
|
535 |
|
536 \only<2>{ |
|
537 \begin{textblock}{12}(4,3)\footnotesize |
|
538 \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}}\hspace{10mm} |
|
539 \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}} |
|
540 \end{textblock}} |
|
541 |
|
542 \only<3->{ |
|
543 \begin{textblock}{12}(4,3)\footnotesize |
|
544 \mbox{\textcolor{blue}{ |
|
545 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}}} |
|
546 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}} &\hspace{10mm} |
|
547 \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}}} |
|
548 }} |
|
549 \end{textblock}} |
|
550 |
|
551 \only<4>{ |
|
552 \begin{textblock}{14}(0.5,6)\footnotesize |
|
553 \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ {\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}x{\isaliteral{2E}{\isachardot}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}}} |
|
554 \end{textblock}} |
|
555 |
|
556 \only<5->{ |
|
557 \begin{textblock}{14}(0.5,6)\footnotesize |
|
558 \textcolor{blue}{ |
|
559 \infer{\mbox{\begin{tabular}{l}\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}\\ |
|
560 \hspace{40mm}\isa{{\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}\end{tabular}}} |
|
561 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ {\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}x{\isaliteral{2E}{\isachardot}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}}}}} |
|
562 \end{textblock}} |
|
563 |
|
564 \only<6->{ |
|
565 \begin{textblock}{14}(5,10)\footnotesize |
|
566 \textcolor{blue}{ |
|
567 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}}} |
|
568 {\vdots & \hspace{30mm} \vdots}} |
|
569 \end{textblock}} |
|
570 |
|
571 \end{frame}} |
|
572 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
573 % |
|
574 |
|
575 |
|
576 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
577 \mode<presentation>{ |
|
578 \begin{frame}[t] |
|
579 \frametitle{Access Control} |
|
580 \Large |
|
581 |
|
582 \textcolor{blue}{ |
|
583 \begin{center} |
|
584 \isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F} |
|
585 \end{center}}\bigskip |
|
586 |
|
587 \normalsize |
|
588 \begin{itemize} |
|
589 \item If there is a proof \isa{{\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}} yes (granted) |
|
590 \item If there isn't \isa{{\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}} no (denied) |
|
591 \end{itemize}\bigskip\pause |
|
592 |
|
593 \begin{minipage}{1.1\textwidth} |
|
594 \small |
|
595 \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{3D}{\isacharequal}}}\small\begin{tabular}{l} |
|
596 \isa{is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}},\\ |
|
597 \isa{is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}},\\ |
|
598 \isa{{\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}x{\isaliteral{2E}{\isachardot}}\ is{\isaliteral{5F}{\isacharunderscore}}at{\isaliteral{5F}{\isacharunderscore}}library\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C616E643E}{\isasymand}}\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}x{\isaliteral{29}{\isacharparenright}}}\\ |
|
599 \end{tabular}}\medskip |
|
600 |
|
601 \textcolor{blue}{ |
|
602 \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}} $\not\vdash$ \isa{may{\isaliteral{5F}{\isacharunderscore}}obtain{\isaliteral{5F}{\isacharunderscore}}email\ {\isaliteral{28}{\isacharparenleft}}Alice{\isaliteral{29}{\isacharparenright}}}}} |
|
603 \end{minipage} |
|
604 \end{frame}} |
|
605 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
606 % |
|
607 |
|
608 |
|
609 |
|
610 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
611 \mode<presentation>{ |
|
612 \begin{frame}[c] |
|
613 \frametitle{The Access Control Problem} |
|
614 |
|
615 |
|
616 \begin{center} |
|
617 \begin{tikzpicture}[scale=1] |
|
618 |
|
619 \draw[line width=1mm] (-.3, 0) rectangle (1.5,2); |
|
620 \draw (-2.7,1) node {\begin{tabular}{l}access\\request\\ (\bl{$F$})\end{tabular}}; |
|
621 \draw (4.2,1) node {\begin{tabular}{l}granted/\\not granted\end{tabular}}; |
|
622 \draw (0.6,1.2) node {\footnotesize \begin{tabular}{l}Access\\Control\\Checker\end{tabular}}; |
|
623 |
|
624 \draw[red, ->, line width = 2mm] (1.7,1) -- (2.7,1); |
|
625 \draw[red,<-, line width = 2mm] (-0.6,1) -- (-1.6,1); |
|
626 \draw[red, <-, line width = 3mm] (0.6,2.2) -- (0.6,3.2); |
|
627 |
|
628 \draw (0.6,4) node {\begin{tabular}{l}\large Access Policy (\bl{$\Gamma$})\end{tabular}}; |
|
629 |
|
630 \end{tikzpicture} |
|
631 \end{center} |
|
632 |
|
633 \end{frame}} |
|
634 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
635 |
|
636 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
637 \mode<presentation>{ |
|
638 \begin{frame}[c] |
|
639 \frametitle{Bad News} |
|
640 |
|
641 \begin{itemize} |
|
642 \item We introduced (roughly) first-order logic. \bigskip\pause |
|
643 |
|
644 \item Judgements |
|
645 \begin{center} |
|
646 \textcolor{blue} |
|
647 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F}}} |
|
648 \end{center} |
|
649 |
|
650 are in general \alert{undecidable}.\pause\medskip\\ |
|
651 |
|
652 The problem is \alert{semi-decidable}. |
|
653 |
|
654 \end{itemize} |
|
655 |
|
656 |
|
657 \end{frame}} |
|
658 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
659 % |
|
660 |
|
661 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
662 \mode<presentation>{ |
|
663 \begin{frame}[t] |
|
664 \frametitle{\Large\begin{tabular}{@ {}c@ {}}Access Control Logic\end{tabular}} |
|
665 |
|
666 \begin{itemize} |
|
667 \item[] |
|
668 |
|
669 \begin{center}\color{blue} |
|
670 \begin{tabular}[t]{rcl@ {\hspace{10mm}}l} |
|
671 \isa{F} & \isa{{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3D}{\isacharequal}}} & \isa{true} \\ |
|
672 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{false} \\ |
|
673 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{F\ {\isaliteral{5C3C616E643E}{\isasymand}}\ F} \\ |
|
674 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{F\ {\isaliteral{5C3C6F723E}{\isasymor}}\ F} \\ |
|
675 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{F\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ F}\\ |
|
676 & \isa{{\isaliteral{7C}{\isacharbar}}} & \isa{p\ {\isaliteral{28}{\isacharparenleft}}t\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5C3C646F74733E}{\isasymdots}}{\isaliteral{2C}{\isacharcomma}}t\isaliteral{5C3C5E697375623E}{}\isactrlisub n{\isaliteral{29}{\isacharparenright}}} \\ |
|
677 & \isa{{\isaliteral{7C}{\isacharbar}}} & \alert{\isa{P\ says\ F}} & \textcolor{black}{``saying predicate''}\\ |
|
678 \end{tabular} |
|
679 \end{center} |
|
680 |
|
681 where \textcolor{blue}{\isa{P\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3D}{\isacharequal}}\ Alice{\isaliteral{2C}{\isacharcomma}}\ Bob{\isaliteral{2C}{\isacharcomma}}\ Christian{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5C3C646F74733E}{\isasymdots}}}} (principals)\bigskip\pause |
|
682 |
|
683 \item \textcolor{blue}{\isa{HoD\ says\ is{\isaliteral{5F}{\isacharunderscore}}staff\ {\isaliteral{28}{\isacharparenleft}}Christian{\isaliteral{29}{\isacharparenright}}}} |
|
684 \end{itemize} |
|
685 |
|
686 |
|
687 |
|
688 \end{frame}} |
|
689 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
690 % |
|
691 |
|
692 |
|
693 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
694 \mode<presentation>{ |
|
695 \begin{frame}[c] |
|
696 |
|
697 {\lstset{language=Scala}\fontsize{10}{12}\selectfont |
|
698 \texttt{\lstinputlisting{programs/formulas1.scala}}} |
|
699 |
|
700 \end{frame}} |
|
701 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
702 |
|
703 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
704 \mode<presentation>{ |
|
705 \begin{frame}[t] |
|
706 \frametitle{Rules about Says} |
|
707 |
|
708 \textcolor{blue}{ |
|
709 \begin{center} |
|
710 \mbox{ |
|
711 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F}}} |
|
712 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F}}}} |
|
713 \end{center}} |
|
714 |
|
715 \textcolor{blue}{ |
|
716 \begin{center} |
|
717 \mbox{ |
|
718 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}}} |
|
719 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ {\isaliteral{28}{\isacharparenleft}}F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}}} & \hspace{10mm}\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}}}} |
|
720 \end{center}} |
|
721 |
|
722 \textcolor{blue}{ |
|
723 \begin{center} |
|
724 \mbox{ |
|
725 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F}}} |
|
726 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ {\isaliteral{28}{\isacharparenleft}}P\ says\ F{\isaliteral{29}{\isacharparenright}}}}}} |
|
727 \end{center}} |
|
728 |
|
729 \end{frame}} |
|
730 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
731 % |
|
732 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
733 \mode<presentation>{ |
|
734 \begin{frame}[c] |
|
735 \frametitle{} |
|
736 |
|
737 Consider the following scenario: |
|
738 |
|
739 \begin{itemize} |
|
740 \item If \textcolor{blue}{Admin} says that \textcolor{blue}{\isa{file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}} |
|
741 should be deleted, then this file must be deleted. |
|
742 \item \textcolor{blue}{Admin} trusts \textcolor{blue}{Bob} to decide whether |
|
743 \textcolor{blue}{\isa{file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}} should be deleted. |
|
744 \item \textcolor{blue}{Bob} wants to delete \textcolor{blue}{\isa{file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}}. |
|
745 \end{itemize}\bigskip\pause |
|
746 |
|
747 \small |
|
748 \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{3D}{\isacharequal}}}\small\begin{tabular}{l} |
|
749 \isa{{\isaliteral{28}{\isacharparenleft}}Admin\ says\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}},\\ |
|
750 \isa{{\isaliteral{28}{\isacharparenleft}}Admin\ says\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}Bob\ says\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}},\\ |
|
751 \isa{Bob\ says\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}\\ |
|
752 \end{tabular}}\medskip\pause |
|
753 |
|
754 \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}} |
|
755 \end{frame}} |
|
756 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
757 % |
|
758 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
759 \mode<presentation>{ |
|
760 \begin{frame}[c] |
|
761 \frametitle{} |
|
762 |
|
763 \textcolor{blue}{ |
|
764 \begin{center} |
|
765 \mbox{ |
|
766 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F}}} |
|
767 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F}}}}\\\bigskip |
|
768 \mbox{ |
|
769 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}}}} |
|
770 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ {\isaliteral{28}{\isacharparenleft}}F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}}} & \hspace{5mm}\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}}}} |
|
771 \end{center}}\bigskip |
|
772 |
|
773 \small |
|
774 \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{3D}{\isacharequal}}}\small\begin{tabular}{l} |
|
775 \isa{{\isaliteral{28}{\isacharparenleft}}Admin\ says\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}},\\ |
|
776 \isa{{\isaliteral{28}{\isacharparenleft}}Admin\ says\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}Bob\ says\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}},\\ |
|
777 \isa{Bob\ says\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}\\ |
|
778 \end{tabular}}\medskip |
|
779 |
|
780 \textcolor{blue}{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ del{\isaliteral{5F}{\isacharunderscore}}file\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}}} |
|
781 \end{frame}} |
|
782 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
783 % |
|
784 |
|
785 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
786 \mode<presentation>{ |
|
787 \begin{frame}[t] |
|
788 \frametitle{} |
|
789 \small |
|
790 |
|
791 \textcolor{blue}{ |
|
792 \begin{center} |
|
793 \only<1>{$ \underbrace{ |
|
794 \mbox{\infer{\Gamma \vdash \mbox{Admin says (Bob says del\_file)}} |
|
795 {\infer{\Gamma \vdash \mbox{Bob says del\_file}}{}}}}_{X}$} |
|
796 \end{center}} |
|
797 |
|
798 \textcolor{blue}{ |
|
799 \begin{center} |
|
800 \only<1>{ |
|
801 $ \underbrace{ |
|
802 \mbox{\infer{\Gamma \vdash \mbox{Admin says del\_file}} |
|
803 {\infer{\Gamma \vdash \mbox{Admin says (Bob says del\_file \isa{{\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}} del\_file)}}{} |
|
804 & |
|
805 \deduce[$\vdots$]{X}{} |
|
806 }}}_{Y}$} |
|
807 \end{center}} |
|
808 |
|
809 \textcolor{blue}{ |
|
810 \begin{center} |
|
811 \only<1>{\mbox{\infer{\Gamma \vdash \mbox{del\_file}} |
|
812 {\infer{\Gamma \vdash \mbox{(Admin says del\_file) \isa{{\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}} del\_file}}{} |
|
813 & |
|
814 \deduce[$\vdots$]{Y}{} |
|
815 }}} |
|
816 \end{center}} |
|
817 |
|
818 \end{frame}} |
|
819 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
820 % |
|
821 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
822 \mode<presentation>{ |
|
823 \begin{frame}[c] |
|
824 \frametitle{Controls} |
|
825 \small |
|
826 |
|
827 \begin{itemize} |
|
828 \item \bl{\isa{P\ controls\ F\ {\isaliteral{5C3C65717569763E}{\isasymequiv}}\ {\isaliteral{28}{\isacharparenleft}}P\ says\ F{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ F}} |
|
829 |
|
830 \item its meaning ``\bl{P} is entitled to do \bl{F}'' |
|
831 \item if \bl{P controls F} and \bl{P says F} then \bl{F}\pause |
|
832 |
|
833 \begin{center} |
|
834 \bl{\mbox{ |
|
835 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F}}} |
|
836 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ controls\ F}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F}}} |
|
837 }} |
|
838 \end{center}\pause |
|
839 |
|
840 \begin{center} |
|
841 \bl{\mbox{ |
|
842 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F}}} |
|
843 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ {\isaliteral{28}{\isacharparenleft}}P\ says\ F{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ F}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F}}} |
|
844 }} |
|
845 \end{center} |
|
846 \end{itemize} |
|
847 |
|
848 \end{frame}} |
|
849 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
850 % |
|
851 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
852 \mode<presentation>{ |
|
853 \begin{frame}[c] |
|
854 \frametitle{Speaks For} |
|
855 \small |
|
856 |
|
857 \begin{itemize} |
|
858 \item \bl{\isa{P\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ Q\ {\isaliteral{5C3C65717569763E}{\isasymequiv}}\ {\isaliteral{5C3C666F72616C6C3E}{\isasymforall}}F{\isaliteral{2E}{\isachardot}}\ {\isaliteral{28}{\isacharparenleft}}P\ says\ F{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5C3C52696768746172726F773E}{\isasymRightarrow}}\ {\isaliteral{28}{\isacharparenleft}}Q\ says\ F{\isaliteral{29}{\isacharparenright}}}} |
|
859 |
|
860 \item its meaning ``\bl{P} speaks for \bl{Q}'' |
|
861 |
|
862 |
|
863 \begin{center} |
|
864 \bl{\mbox{ |
|
865 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ Q\ says\ F}}} |
|
866 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ Q}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F}}} |
|
867 }} |
|
868 \end{center}\pause |
|
869 |
|
870 \begin{center} |
|
871 \bl{\mbox{ |
|
872 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ controls\ F}}} |
|
873 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ Q}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ Q\ controls\ F}}} |
|
874 }} |
|
875 \end{center} |
|
876 |
|
877 \begin{center} |
|
878 \bl{\mbox{ |
|
879 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ R}}} |
|
880 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ Q}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ Q\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ R}}} |
|
881 }} |
|
882 \end{center} |
|
883 \end{itemize} |
|
884 |
|
885 \end{frame}} |
|
886 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
887 % |
|
888 |
|
889 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
890 \mode<presentation>{ |
|
891 \begin{frame}[c] |
|
892 \frametitle{Tickets} |
|
893 |
|
894 \begin{itemize} |
|
895 \item Tickets control access to restricted objects.\bigskip |
|
896 \end{itemize} |
|
897 \small |
|
898 |
|
899 Example: \bl{Permitted (Bob, enter\_flight)} ? \bigskip |
|
900 |
|
901 \begin{minipage}{1.1\textwidth} |
|
902 \begin{itemize} |
|
903 \item \bl{Bob says Permitted (Bob, enter\_flight)}\\ (access request) |
|
904 \item \bl{Ticket says (Bob controls Permitted (Bob, enter\_flight))} |
|
905 \item \bl{Airline controls (Bob controls Permitted (Bob, enter\_flight))} (access policy)\pause |
|
906 \item \bl{\isa{Ticket\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ Airline}}\\ |
|
907 (trust assumption) |
|
908 \end{itemize} |
|
909 \end{minipage} |
|
910 |
|
911 \end{frame}} |
|
912 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
913 % |
|
914 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
915 \mode<presentation>{ |
|
916 \begin{frame}[c] |
|
917 \frametitle{Tickets} |
|
918 \small |
|
919 |
|
920 \begin{minipage}{1.1\textwidth} |
|
921 \begin{enumerate} |
|
922 \item \bl{Bob says Permitted (Bob, enter\_flight)} |
|
923 \item \bl{Ticket says (Bob controls Permitted (Bob, enter\_flight))} |
|
924 \item \bl{Airline controls (Bob controls Permitted (Bob, enter\_flight))} |
|
925 \item \bl{\isa{Ticket\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ Airline}} |
|
926 \end{enumerate} |
|
927 \end{minipage}\bigskip\bigskip |
|
928 |
|
929 Is \bl{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ Permitted\ {\isaliteral{28}{\isacharparenleft}}Bob{\isaliteral{2C}{\isacharcomma}}\ enter{\isaliteral{5F}{\isacharunderscore}}flight{\isaliteral{29}{\isacharparenright}}}} derivable ? \bigskip |
|
930 |
|
931 |
|
932 \small |
|
933 \begin{minipage}{1.1\textwidth} |
|
934 \begin{center} |
|
935 \bl{\mbox{ |
|
936 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F}}} |
|
937 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ controls\ F}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F}}} |
|
938 }} |
|
939 \bl{\mbox{\hspace{6mm} |
|
940 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ Q\ says\ F}}} |
|
941 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ Q}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F}}} |
|
942 }} |
|
943 \end{center} |
|
944 \end{minipage} |
|
945 |
|
946 \end{frame}} |
|
947 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
948 % |
|
949 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
950 \mode<presentation>{ |
|
951 \begin{frame}[c] |
|
952 \frametitle{Tickets} |
|
953 \small |
|
954 |
|
955 \begin{minipage}{1.1\textwidth} |
|
956 \begin{itemize} |
|
957 \item Access Request: |
|
958 \begin{center} |
|
959 \bl{Person says Object} |
|
960 \end{center} |
|
961 |
|
962 \item Ticket: |
|
963 \begin{center} |
|
964 \bl{Ticket says (Person controls Object)} |
|
965 \end{center} |
|
966 |
|
967 \item Access policy: |
|
968 \begin{center} |
|
969 \bl{Authority controls (Person controls Object)} |
|
970 \end{center} |
|
971 |
|
972 \item Trust assumption: |
|
973 \begin{center} |
|
974 \bl{\isa{Ticket\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ Authority}} |
|
975 \end{center} |
|
976 \end{itemize} |
|
977 \end{minipage} |
|
978 |
|
979 |
|
980 \end{frame}} |
|
981 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
982 % |
|
983 |
|
984 |
|
985 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
986 \mode<presentation>{ |
|
987 \begin{frame}[t] |
|
988 \frametitle{\LARGE Derived Rule for Tickets} |
|
989 \small |
|
990 \mbox{}\\[2cm] |
|
991 |
|
992 \begin{center} |
|
993 \bl{\mbox{\infer{\mbox{F}} |
|
994 {\mbox{\begin{tabular}{l} |
|
995 Authority controls (Person controls F)\\ |
|
996 Ticket says (Person controls F)\\ |
|
997 \isa{Ticket\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ Authority}\\ |
|
998 Person says F |
|
999 \end{tabular}} |
|
1000 }}} |
|
1001 \end{center} |
|
1002 \mbox{}\\[1cm] |
|
1003 |
|
1004 |
|
1005 \small |
|
1006 \begin{minipage}{1.1\textwidth} |
|
1007 \begin{center} |
|
1008 \bl{\mbox{ |
|
1009 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ F}}} |
|
1010 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ controls\ F}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F}}} |
|
1011 }} |
|
1012 \bl{\mbox{\hspace{6mm} |
|
1013 \infer{\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ Q\ says\ F}}} |
|
1014 {\mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ {\isaliteral{5C3C6D617073746F3E}{\isasymmapsto}}\ Q}} & \mbox{\isa{{\isaliteral{5C3C47616D6D613E}{\isasymGamma}}\ {\isaliteral{5C3C7475726E7374696C653E}{\isasymturnstile}}\ P\ says\ F}}} |
|
1015 }} |
|
1016 \end{center} |
|
1017 \end{minipage} |
|
1018 |
|
1019 \end{frame}} |
|
1020 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1021 % |
|
1022 \newcommand{\dn}{\stackrel{\mbox{\scriptsize def}}{=}}% for definitions |
|
1023 |
|
1024 |
|
1025 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1026 \mode<presentation>{ |
|
1027 \begin{frame}[c] |
|
1028 \frametitle{Security Levels} |
|
1029 \small |
|
1030 |
|
1031 \begin{itemize} |
|
1032 \item Top secret (\bl{$T\!S$}) |
|
1033 \item Secret (\bl{$S$}) |
|
1034 \item Public (\bl{$P$}) |
|
1035 \end{itemize} |
|
1036 |
|
1037 \begin{center} |
|
1038 \bl{$slev(P) < slev(S) < slev(T\!S)$}\pause |
|
1039 \end{center} |
|
1040 |
|
1041 \begin{itemize} |
|
1042 \item Bob has a clearance for ``secret'' |
|
1043 \item Bob can read documents that are public or sectret, but not top secret |
|
1044 \end{itemize} |
|
1045 |
|
1046 \end{frame}} |
|
1047 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1048 % |
|
1049 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1050 \mode<presentation>{ |
|
1051 \begin{frame}[c] |
|
1052 \frametitle{Reading a File} |
|
1053 |
|
1054 \bl{\begin{center} |
|
1055 \begin{tabular}{c} |
|
1056 \begin{tabular}{@ {}l@ {}} |
|
1057 \only<2->{\textcolor{red}{$slev($File$)$ $<$ $slev($Bob$)$ $\Rightarrow$}}\\ |
|
1058 \only<2->{\hspace{3cm}}Bob controls Permitted $($File, read$)$\\ |
|
1059 Bob says Permitted $($File, read$)$\only<2->{\\} |
|
1060 \only<2>{\textcolor{red}{$slev($File$)$ $<$ $slev($Bob$)$}}% |
|
1061 \only<3>{\textcolor{red}{$slev($File$)$ $=$ $P$}\\}% |
|
1062 \only<3>{\textcolor{red}{$slev($Bob$)$ $=$ $S$}\\}% |
|
1063 \only<3>{\textcolor{red}{$slev(P)$ $<$ $slev(S)$}\\}% |
|
1064 \end{tabular}\\ |
|
1065 \hline |
|
1066 Permitted $($File, read$)$ |
|
1067 \end{tabular} |
|
1068 \end{center}} |
|
1069 |
|
1070 \end{frame}} |
|
1071 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1072 % |
|
1073 |
|
1074 |
|
1075 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1076 \mode<presentation>{ |
|
1077 \begin{frame}[c] |
|
1078 \frametitle{Substitution Rule} |
|
1079 \small |
|
1080 |
|
1081 \bl{\begin{center} |
|
1082 \begin{tabular}{c} |
|
1083 $\Gamma \vdash slev(P) = l_1$ \hspace{4mm} $\Gamma \vdash slev(Q) = l_2$ |
|
1084 \hspace{4mm} $\Gamma \vdash l_1 < l_2$\\\hline |
|
1085 $\Gamma \vdash slev(P) < slev(Q)$ |
|
1086 \end{tabular} |
|
1087 \end{center}}\bigskip\pause |
|
1088 |
|
1089 \begin{itemize} |
|
1090 \item \bl{$slev($Bob$)$ $=$ $S$} |
|
1091 \item \bl{$slev($File$)$ $=$ $P$} |
|
1092 \item \bl{$slev(P) < slev(S)$} |
|
1093 \end{itemize} |
|
1094 |
|
1095 \end{frame}} |
|
1096 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1097 % |
|
1098 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1099 \mode<presentation>{ |
|
1100 \begin{frame}[c] |
|
1101 \frametitle{Reading a File} |
|
1102 |
|
1103 \bl{\begin{center} |
|
1104 \begin{tabular}{c} |
|
1105 \begin{tabular}{@ {}l@ {}} |
|
1106 $slev($File$)$ $<$ $slev($Bob$)$ $\Rightarrow$\\ |
|
1107 \hspace{3cm}Bob controls Permitted $($File, read$)$\\ |
|
1108 Bob says Permitted $($File, read$)$\\ |
|
1109 $slev($File$)$ $=$ $P$\\ |
|
1110 $slev($Bob$)$ $=$ $T\!S$\\ |
|
1111 \only<1>{\textcolor{red}{$?$}}% |
|
1112 \only<2>{\textcolor{red}{$slev(P) < slev(S)$}\\}% |
|
1113 \only<2>{\textcolor{red}{$slev(S) < slev(T\!S)$}}% |
|
1114 \end{tabular}\\ |
|
1115 \hline |
|
1116 Permitted $($File, read$)$ |
|
1117 \end{tabular} |
|
1118 \end{center}} |
|
1119 |
|
1120 \end{frame}} |
|
1121 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1122 % |
|
1123 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1124 \mode<presentation>{ |
|
1125 \begin{frame}[c] |
|
1126 \frametitle{Transitivity Rule} |
|
1127 \small |
|
1128 |
|
1129 \bl{\begin{center} |
|
1130 \begin{tabular}{c} |
|
1131 $\Gamma \vdash l_1 < l_2$ |
|
1132 \hspace{4mm} $\Gamma \vdash l_2 < l_3$\\\hline |
|
1133 $\Gamma \vdash l_1 < l_3$ |
|
1134 \end{tabular} |
|
1135 \end{center}}\bigskip |
|
1136 |
|
1137 \begin{itemize} |
|
1138 \item \bl{$slev(P) < slev (S)$} |
|
1139 \item \bl{$slev(S) < slev (T\!S)$} |
|
1140 \item[] \bl{$slev(P) < slev (T\!S)$} |
|
1141 \end{itemize} |
|
1142 |
|
1143 \end{frame}} |
|
1144 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1145 % |
|
1146 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1147 \mode<presentation>{ |
|
1148 \begin{frame}[c] |
|
1149 \frametitle{Reading Files} |
|
1150 |
|
1151 \begin{itemize} |
|
1152 \item Access policy for reading |
|
1153 \end{itemize} |
|
1154 |
|
1155 \bl{\begin{center} |
|
1156 \begin{tabular}{c} |
|
1157 \begin{tabular}{@ {}l@ {}} |
|
1158 $\forall f.\;slev(f)$ \only<1>{$<$}\only<2>{\textcolor{red}{$\le$}} $slev($Bob$)$ $\Rightarrow$\\ |
|
1159 \hspace{3cm}Bob controls Permitted $(f$, read$)$\\ |
|
1160 Bob says Permitted $($File, read$)$\\ |
|
1161 $slev($File$)$ $=$ \only<1>{$P$}\only<2>{\textcolor{red}{$T\!S$}}\\ |
|
1162 $slev($Bob$)$ $=$ $T\!S$\\ |
|
1163 $slev(P) < slev(S)$\\ |
|
1164 $slev(S) < slev(T\!S)$ |
|
1165 \end{tabular}\\ |
|
1166 \hline |
|
1167 Permitted $($File, read$)$ |
|
1168 \end{tabular} |
|
1169 \end{center}} |
|
1170 |
|
1171 \end{frame}} |
|
1172 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1173 % |
|
1174 |
|
1175 |
|
1176 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1177 \mode<presentation>{ |
|
1178 \begin{frame}[c] |
|
1179 \frametitle{Writing Files} |
|
1180 |
|
1181 \begin{itemize} |
|
1182 \item Access policy for \underline{writing} |
|
1183 \end{itemize} |
|
1184 |
|
1185 \bl{\begin{center} |
|
1186 \begin{tabular}{c} |
|
1187 \begin{tabular}{@ {}l@ {}} |
|
1188 $\forall f.\;slev($Bob$)$ $\le$ $slev(f)$ $\Rightarrow$\\ |
|
1189 \hspace{3cm}Bob controls Permitted $(f$, write$)$\\ |
|
1190 Bob says Permitted $($File, write$)$\\ |
|
1191 $slev($File$)$ $=$ $T\!S$\\ |
|
1192 $slev($Bob$)$ $=$ $S$\\ |
|
1193 $slev(P) < slev(S)$\\ |
|
1194 $slev(S) < slev(T\!S)$ |
|
1195 \end{tabular}\\ |
|
1196 \hline |
|
1197 Permitted $($File, write$)$ |
|
1198 \end{tabular} |
|
1199 \end{center}} |
|
1200 |
|
1201 \end{frame}} |
|
1202 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1203 % |
|
1204 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1205 \mode<presentation>{ |
|
1206 \begin{frame}[c] |
|
1207 \frametitle{Bell-LaPadula} |
|
1208 \small |
|
1209 |
|
1210 \begin{itemize} |
|
1211 \item \alert{Read Rule}: A principal \bl{$P$} can read an object \bl{$O$} if and only if |
|
1212 \bl{$P$}'s security level is at least as high as \bl{$O$}'s. |
|
1213 \item \alert{Write Rule}: A principal \bl{$P$} can write an object \bl{$O$} if and only if |
|
1214 \bl{$O$}'s security level is at least as high as \bl{$P$}'s.\medskip |
|
1215 |
|
1216 \item Meta-Rule: All principals in a system should have a sufficiently high security level |
|
1217 in order to access an object. |
|
1218 \end{itemize}\bigskip |
|
1219 |
|
1220 This restricts information flow $\Rightarrow$ military\bigskip\bigskip\pause |
|
1221 |
|
1222 Bell-LaPadula: {\bf `no read up'} - {\bf `no write down'} |
|
1223 |
|
1224 \end{frame}} |
|
1225 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1226 % |
|
1227 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1228 \mode<presentation>{ |
|
1229 \begin{frame}[c] |
|
1230 \frametitle{\begin{tabular}{c}Principle of\\[-2mm] Least Privilege\end{tabular}} |
|
1231 |
|
1232 \begin{tikzpicture} |
|
1233 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] |
|
1234 {\normalsize\color{darkgray} |
|
1235 \begin{minipage}{10cm}\raggedright |
|
1236 A principal should have as few privileges as possible to access a resource. |
|
1237 \end{minipage}}; |
|
1238 \end{tikzpicture}\bigskip\bigskip |
|
1239 \small |
|
1240 |
|
1241 \begin{itemize} |
|
1242 \item Bob ($T\!S$) and Alice ($S$) want to communicate |
|
1243 \item[] $\Rightarrow$ Bob should lower his security level |
|
1244 \end{itemize} |
|
1245 |
|
1246 \end{frame}} |
|
1247 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1248 % |
|
1249 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1250 \mode<presentation>{ |
|
1251 \begin{frame}[c] |
|
1252 \frametitle{Biba Policy} |
|
1253 \small |
|
1254 |
|
1255 Data Integrity (rather than data confidentiality) |
|
1256 |
|
1257 \begin{itemize} |
|
1258 \item Biba: {\bf `no read down'} - {\bf `no write up'} |
|
1259 \item \alert{Read Rule}: A principal \bl{$P$} can read an object \bl{$O$} if and only if |
|
1260 \bl{$P$}'s security level is lower or equal than \bl{$O$}'s. |
|
1261 \item \alert{Write Rule}: A principal \bl{$P$} can write an object \bl{$O$} if and only if |
|
1262 \bl{$O$}'s security level is lower or equal than \bl{$P$}'s. |
|
1263 \end{itemize}\bigskip\bigskip\pause |
|
1264 |
|
1265 E.g.~Generals write orders to officers; officers write oders to solidiers\\ |
|
1266 Firewall: you can read from inside the firewall, but not from outside\\ |
|
1267 Phishing: you can look at an approved PDF, but not one from a random email\\ |
|
1268 |
|
1269 \end{frame}} |
|
1270 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1271 % |
|
1272 |
|
1273 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1274 \mode<presentation>{ |
|
1275 \begin{frame}[c] |
|
1276 \frametitle{Point to Take Home} |
|
1277 |
|
1278 \begin{itemize} |
|
1279 \item Formal methods can be an excellent way of finding |
|
1280 bugs as they force the designer |
|
1281 to make everything explicit and thus confront dif$\!$ficult design |
|
1282 choices that might otherwise be fudged. |
|
1283 \end{itemize} |
|
1284 |
|
1285 \end{frame}} |
|
1286 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
1287 |
|
1288 |
|
1289 |
553 |
1290 \end{document} |
554 \end{document} |
1291 |
555 |
1292 %%% Local Variables: |
556 %%% Local Variables: |
1293 %%% mode: latex |
557 %%% mode: latex |