slides/slides05.tex
changeset 123 2185acdb43bb
parent 90 d1d07f05325a
child 124 382aad582d8b
equal deleted inserted replaced
122:f0e51ffd2965 123:2185acdb43bb
     1 \documentclass[dvipsnames,14pt,t]{beamer}
     1 \documentclass[dvipsnames,14pt,t]{beamer}
     2 \usepackage{proof}
     2 \usepackage{proof}
     3 \usepackage{beamerthemeplainculight}
     3 \usepackage{beamerthemeplaincu}
     4 \usepackage[T1]{fontenc}
     4 %\usepackage[T1]{fontenc}
     5 \usepackage[latin1]{inputenc}
     5 %\usepackage[latin1]{inputenc}
     6 \usepackage{mathpartir}
     6 \usepackage{mathpartir}
     7 \usepackage{isabelle}
     7 \usepackage{isabelle}
     8 \usepackage{isabellesym}
     8 \usepackage{isabellesym}
     9 \usepackage[absolute,overlay]{textpos}
     9 \usepackage[absolute,overlay]{textpos}
    10 \usepackage{ifthen}
    10 \usepackage{ifthen}
    87 	tabsize=2,
    87 	tabsize=2,
    88 	showspaces=false,
    88 	showspaces=false,
    89 	showstringspaces=false}
    89 	showstringspaces=false}
    90 
    90 
    91 % beamer stuff 
    91 % beamer stuff 
    92 \renewcommand{\slidecaption}{APP 05, King's College London, 23 October 2012}
    92 \renewcommand{\slidecaption}{APP 05, King's College London, 29 October 2013}
    93 
    93 
    94 \newcommand{\bl}[1]{\textcolor{blue}{#1}}
    94 \newcommand{\bl}[1]{\textcolor{blue}{#1}}
    95 \begin{document}
    95 \begin{document}
    96 
    96 
    97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   110 
   110 
   111 \normalsize
   111 \normalsize
   112   \begin{center}
   112   \begin{center}
   113   \begin{tabular}{ll}
   113   \begin{tabular}{ll}
   114   Email:  & christian.urban at kcl.ac.uk\\
   114   Email:  & christian.urban at kcl.ac.uk\\
   115   Of$\!$fice: & S1.27 (1st floor Strand Building)\\
   115   Office: & S1.27 (1st floor Strand Building)\\
   116   Slides: & KEATS (also homework is there)\\
   116   Slides: & KEATS (also homework is there)\\
   117   \end{tabular}
   117   \end{tabular}
   118   \end{center}
   118   \end{center}
   119 
   119 
   120 
   120 
   121 \end{frame}}
   121 \end{frame}}
   122  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   122  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   123 
   123 
   124 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   124 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   125 \mode<presentation>{
   125   \mode<presentation>{
   126 \begin{frame}[c]
   126   \begin{frame}[t]
   127 \frametitle{Satan's Computer}
   127   \frametitle{Last Week}
       
   128  
       
   129 \mbox{} 
       
   130   
       
   131 \begin{tabular}{l}
       
   132 {\Large \bl{$A\;\rightarrow\; B : \ldots$}}\\
       
   133 \onslide<1->{\Large \bl{$B\;\rightarrow\; A : \ldots$}}\\
       
   134 \onslide<1->{\Large \;\;\;\;\;\bl{$:$}}\bigskip
       
   135 \end{tabular}  
       
   136   
       
   137  \begin{itemize}
       
   138  \item by convention \bl{$A$}, \bl{$B$} are named principals \bl{Alice\ldots}\\
       
   139  but most likely they are programs
       
   140 \item indicates one ``protocol run'', or session,  which specifies an 
       
   141 order in the communication
       
   142 \item there can be several sessions in parallel (think of wifi routers) 
       
   143 \item nonces (randomly generated numbers) used only once 
       
   144 \end{itemize} 
       
   145   
       
   146   \end{frame}}
       
   147   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   148   
       
   149 
       
   150 
       
   151 
       
   152 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   153 \mode<presentation>{
       
   154 \begin{frame}[c]
       
   155 \frametitle{Cryptographic Protocol Failures}
   128 
   156 
   129 Ross Anderson and Roger Needham wrote:\bigskip
   157 Ross Anderson and Roger Needham wrote:\bigskip
   130 
       
   131 \begin{quote}
       
   132 In effect, our task is to program a computer which gives 
       
   133 answers which are subtly and maliciously wrong at the most 
       
   134 inconvenient possible moment\ldots{} we hope that the lessons 
       
   135 learned from programming Satan's computer may be helpful 
       
   136 in tackling the more common problem of programming Murphy's.
       
   137 \end{quote}
       
   138 
       
   139 
       
   140 \end{frame}}
       
   141 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   142 
       
   143 
       
   144 
       
   145 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   146 \mode<presentation>{
       
   147 \begin{frame}[c]
       
   148 \frametitle{Protocol Specifications}
       
   149 
       
   150 The Needham-Schroeder Protocol:
       
   151 
       
   152 \begin{center}
       
   153 \begin{tabular}{@ {\hspace{-7mm}}l@{\hspace{2mm}}r@ {\hspace{1mm}}l}
       
   154 Message 1 & \bl{$A \rightarrow S :$} & \bl{$A, B, N_A$}\\
       
   155 Message 2 & \bl{$S \rightarrow A :$} & \bl{$\{N_A, B, K_{AB},\{K_{AB}, A\}_{K_{BS}} \}_{K_{AS}}$}\\
       
   156 Message 3 & \bl{$A \rightarrow B :$} & \bl{$\{K_{AB}, A\}_{K_{BS}} $}\\
       
   157 Message 4 & \bl{$B \rightarrow A :$} & \bl{$\{N_B\}_{K_{AB}}$}\\
       
   158 Message 5 & \bl{$A \rightarrow B :$} & \bl{$\{N_B-1\}_{K_{AB}}$}\\
       
   159 \end{tabular}
       
   160 \end{center}
       
   161 
       
   162 \end{frame}}
       
   163 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   164 
       
   165 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   166 \mode<presentation>{
       
   167 \begin{frame}[c]
       
   168 \frametitle{Cryptographic Protocol Failures}
       
   169 
       
   170 Again Ross Anderson and Roger Needham wrote:\bigskip
       
   171 
   158 
   172 \begin{quote}
   159 \begin{quote}
   173 \textcolor{gray}{
   160 \textcolor{gray}{
   174 A lot of the recorded frauds were the result of this kind of blunder, or from 
   161 A lot of the recorded frauds were the result of this kind of blunder, or from 
   175 management negligence pure and simple.} However, there have been a 
   162 management negligence pure and simple.} However, there have been a 
   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