slides08.tex
changeset 75 df7cf3d07bd8
child 76 dde58256fc35
equal deleted inserted replaced
74:fb14a8e1b00d 75:df7cf3d07bd8
       
     1 \documentclass[dvipsnames,14pt,t]{beamer}
       
     2 \usepackage{proof}
       
     3 \usepackage{beamerthemeplainculight}
       
     4 \usepackage[T1]{fontenc}
       
     5 \usepackage[latin1]{inputenc}
       
     6 \usepackage{mathpartir}
       
     7 \usepackage{isabelle}
       
     8 \usepackage{isabellesym}
       
     9 \usepackage[absolute,overlay]{textpos}
       
    10 \usepackage{ifthen}
       
    11 \usepackage{tikz}
       
    12 \usepackage{courier}
       
    13 \usepackage{listings}
       
    14 \usetikzlibrary{arrows}
       
    15 \usetikzlibrary{positioning}
       
    16 \usetikzlibrary{calc}
       
    17 \usepackage{graphicx} 
       
    18 \usetikzlibrary{shapes}
       
    19 \usetikzlibrary{shadows}
       
    20 \usetikzlibrary{plotmarks}
       
    21 
       
    22 
       
    23 \isabellestyle{rm}
       
    24 \renewcommand{\isastyle}{\rm}%
       
    25 \renewcommand{\isastyleminor}{\rm}%
       
    26 \renewcommand{\isastylescript}{\footnotesize\rm\slshape}%
       
    27 \renewcommand{\isatagproof}{}
       
    28 \renewcommand{\endisatagproof}{}
       
    29 \renewcommand{\isamarkupcmt}[1]{#1}
       
    30 
       
    31 % Isabelle characters
       
    32 \renewcommand{\isacharunderscore}{\_}
       
    33 \renewcommand{\isacharbar}{\isamath{\mid}}
       
    34 \renewcommand{\isasymiota}{}
       
    35 \renewcommand{\isacharbraceleft}{\{}
       
    36 \renewcommand{\isacharbraceright}{\}}
       
    37 \renewcommand{\isacharless}{$\langle$}
       
    38 \renewcommand{\isachargreater}{$\rangle$}
       
    39 \renewcommand{\isasymsharp}{\isamath{\#}}
       
    40 \renewcommand{\isasymdots}{\isamath{...}}
       
    41 \renewcommand{\isasymbullet}{\act}
       
    42 
       
    43 
       
    44 
       
    45 \definecolor{javared}{rgb}{0.6,0,0} % for strings
       
    46 \definecolor{javagreen}{rgb}{0.25,0.5,0.35} % comments
       
    47 \definecolor{javapurple}{rgb}{0.5,0,0.35} % keywords
       
    48 \definecolor{javadocblue}{rgb}{0.25,0.35,0.75} % javadoc
       
    49 
       
    50 \lstset{language=Java,
       
    51 	basicstyle=\ttfamily,
       
    52 	keywordstyle=\color{javapurple}\bfseries,
       
    53 	stringstyle=\color{javagreen},
       
    54 	commentstyle=\color{javagreen},
       
    55 	morecomment=[s][\color{javadocblue}]{/**}{*/},
       
    56 	numbers=left,
       
    57 	numberstyle=\tiny\color{black},
       
    58 	stepnumber=1,
       
    59 	numbersep=10pt,
       
    60 	tabsize=2,
       
    61 	showspaces=false,
       
    62 	showstringspaces=false}
       
    63 
       
    64 \lstdefinelanguage{scala}{
       
    65   morekeywords={abstract,case,catch,class,def,%
       
    66     do,else,extends,false,final,finally,%
       
    67     for,if,implicit,import,match,mixin,%
       
    68     new,null,object,override,package,%
       
    69     private,protected,requires,return,sealed,%
       
    70     super,this,throw,trait,true,try,%
       
    71     type,val,var,while,with,yield},
       
    72   otherkeywords={=>,<-,<\%,<:,>:,\#,@},
       
    73   sensitive=true,
       
    74   morecomment=[l]{//},
       
    75   morecomment=[n]{/*}{*/},
       
    76   morestring=[b]",
       
    77   morestring=[b]',
       
    78   morestring=[b]"""
       
    79 }
       
    80 
       
    81 \lstset{language=Scala,
       
    82 	basicstyle=\ttfamily,
       
    83 	keywordstyle=\color{javapurple}\bfseries,
       
    84 	stringstyle=\color{javagreen},
       
    85 	commentstyle=\color{javagreen},
       
    86 	morecomment=[s][\color{javadocblue}]{/**}{*/},
       
    87 	numbers=left,
       
    88 	numberstyle=\tiny\color{black},
       
    89 	stepnumber=1,
       
    90 	numbersep=10pt,
       
    91 	tabsize=2,
       
    92 	showspaces=false,
       
    93 	showstringspaces=false}
       
    94 
       
    95 % beamer stuff 
       
    96 \renewcommand{\slidecaption}{APP 08, King's College London, 20 November 2012}
       
    97 \newcommand{\dn}{\stackrel{\mbox{\scriptsize def}}{=}}% for definitions
       
    98 \newcommand{\bl}[1]{\textcolor{blue}{#1}}
       
    99 
       
   100 \begin{document}
       
   101 
       
   102 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   103 \mode<presentation>{
       
   104 \begin{frame}<1>[t]
       
   105 \frametitle{%
       
   106   \begin{tabular}{@ {}c@ {}}
       
   107   \\
       
   108   \LARGE Access Control and \\[-3mm] 
       
   109   \LARGE Privacy Policies (8)\\[-6mm] 
       
   110   \end{tabular}}\bigskip\bigskip\bigskip
       
   111 
       
   112   %\begin{center}
       
   113   %\includegraphics[scale=1.3]{pics/barrier.jpg}
       
   114   %\end{center}
       
   115 
       
   116 \normalsize
       
   117   \begin{center}
       
   118   \begin{tabular}{ll}
       
   119   Email:  & christian.urban at kcl.ac.uk\\
       
   120   Of$\!$fice: & S1.27 (1st floor Strand Building)\\
       
   121   Slides: & KEATS (also homework is there)\\
       
   122   \end{tabular}
       
   123   \end{center}
       
   124 
       
   125 
       
   126 \end{frame}}
       
   127  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
   128 
       
   129 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   130   \mode<presentation>{
       
   131   \begin{frame}[c]
       
   132   \frametitle{Last Week}
       
   133 
       
   134 Andrew Secure RPC Protocol:
       
   135 \bl{$A$} and \bl{$B$} share a key \bl{$K_{AB}$} and want to identify
       
   136 each other\bigskip
       
   137 
       
   138  \begin{itemize}
       
   139  \item \bl{$A \,\text{sends}\, B :  A, N_A$} 
       
   140  \item \bl{$B\,\text{sends}\, A : \{N_A, K'_{AB}\}_{K_{AB}}$}
       
   141  \item \bl{$A \,\text{sends}\, B : \{N_A\}_{K'_{AB}}$}
       
   142  \end{itemize}
       
   143  
       
   144   \end{frame}}
       
   145   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
       
   146     
       
   147  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   148   \mode<presentation>{
       
   149   \begin{frame}[t]
       
   150   \frametitle{Protocols}
       
   151  
       
   152 \mbox{} 
       
   153   
       
   154 \begin{tabular}{l}
       
   155 {\Large \bl{$A\;\text{sends}\; B : \ldots$}}\\
       
   156 \onslide<2->{\Large \bl{$B\;\text{sends}\; A : \ldots$}}\\
       
   157 \onslide<2->{\Large \;\;\;\;\;\bl{$:$}}\bigskip
       
   158 \end{tabular}  
       
   159   
       
   160  \begin{itemize}
       
   161  \item by convention \bl{$A$}, \bl{$B$} are named principals \bl{Alice\ldots}\\
       
   162  but most likely they are programs, which just follow some instructions\bigskip
       
   163 \item<2-> indicates one ``protocol run'', or session,  which specifies some 
       
   164 order in the communication
       
   165 \item<2-> there can be several sessions in parallel (think of wifi routers) 
       
   166 \end{itemize} 
       
   167   
       
   168   \end{frame}}
       
   169   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   170   
       
   171    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   172   \mode<presentation>{
       
   173   \begin{frame}[c]
       
   174   \frametitle{Last Week}
       
   175 
       
   176 
       
   177 \bl{$A$} and \bl{$B$} share the key \bl{$K_{AB}$} and want to identify
       
   178 each other\bigskip
       
   179 
       
   180  \begin{itemize}
       
   181  \item \bl{$A \,\text{sends}\, B :  A, N_A$} 
       
   182  \item \bl{$B\,\text{sends}\, A : \{N_A, K'_{AB}\}_{K_{AB}}$}
       
   183  \item \bl{$A \,\text{sends}\, B : \{N_A\}_{K'_{AB}}$}
       
   184  \end{itemize}
       
   185   \end{frame}}
       
   186   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
       
   187      
       
   188  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   189   \mode<presentation>{
       
   190   \begin{frame}[c]
       
   191   \frametitle{Defeating Challenge-Response}
       
   192 
       
   193 \noindent
       
   194 A \alert{reflection attack}: an intruder \bl{$I$} impersonates \bl{$B$}.
       
   195 
       
   196 \begin{center}
       
   197 \begin{tabular}{@{\hspace{-7mm}}c@{\hspace{1mm}}c@{}}
       
   198 \begin{tabular}{@{}l@{}}
       
   199 \onslide<1->{\bl{$A \,\text{sends}\, I :  A, N_A$}}\\ 
       
   200 \onslide<4->{\bl{$I \,\text{sends}\, A :  \{N_A,\!K'_{\!AB}\}_{K_{\!AB}}$}}\\ 
       
   201 \onslide<5->{\bl{$A \,\text{sends}\, I : \{N_A\}_{K'_{AB}}$}}\\
       
   202 \end{tabular}
       
   203 &
       
   204 \begin{tabular}{@{}l@{}}
       
   205 \onslide<2->{\bl{$I \,\text{sends}\, A :  B, N_A$}}\\ 
       
   206 \onslide<3->{\bl{$A \,\text{sends}\, I :  \{N_A,\!K'_{\!AB}\}_{K_{\!AB}}$}}\\ 
       
   207 \onslide<6->{\bl{$I \,\text{sends}\, A : \{N_A\}_{K'_{AB}}$}}\\
       
   208 \end{tabular}
       
   209 \end{tabular}
       
   210 \end{center}\bigskip
       
   211 
       
   212 \onslide<7->{Sounds stupid: ``\ldots answering a question with a counter question''}
       
   213 
       
   214   \end{frame}}
       
   215  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%         
       
   216 
       
   217 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   218 \mode<presentation>{
       
   219 \begin{frame}[c]
       
   220 \frametitle{Identify Friend or Foe}
       
   221 
       
   222 \begin{center}
       
   223 \onslide<2->{\mbox{}\hspace{3.4cm}\includegraphics[scale=0.55]{pics/MigInMiddle.jpg}}
       
   224 \end{center}
       
   225 
       
   226 \begin{textblock}{6}(0.3,2)
       
   227 198?: war between Angola (supported by Cuba)
       
   228 and Namibia (supported by SA)
       
   229 \end{textblock}
       
   230 
       
   231 \begin{textblock}{3}(12.5,4.6)
       
   232   \onslide<2->{
       
   233   \begin{tikzpicture}
       
   234   \node at (0,0) [single arrow, fill=red,text=white, rotate=-50, shape border rotate=180]{``bystander''};
       
   235   \end{tikzpicture}}
       
   236   \end{textblock}
       
   237 
       
   238 \begin{textblock}{3}(10.9,10)
       
   239   \onslide<2->{
       
   240   \begin{tikzpicture}
       
   241   \node at (0,0) [single arrow, fill=red,text=white, rotate=-40, shape border rotate=180]{attacker};
       
   242   \end{tikzpicture}}
       
   243   \end{textblock}
       
   244   
       
   245 \only<3->{
       
   246 \begin{textblock}{6}(0.3,12)
       
   247 being outsmarted by Angola/Cuba
       
   248 ended SA involvement
       
   249 \end{textblock}}
       
   250 \end{frame}}
       
   251 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   252 
       
   253   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   254   \mode<presentation>{
       
   255   \begin{frame}[c]
       
   256   \frametitle{Encryption to the Rescue?}
       
   257 
       
   258 
       
   259  \begin{itemize}
       
   260  \item \bl{$A \,\text{sends}\, B :  \{A, N_A\}_{K_{AB}}$}\hspace{1cm} encryption\bigskip 
       
   261  \item \bl{$B\,\text{sends}\, A : \{N_A, K'_{AB}\}_{K_{AB}}$}\bigskip
       
   262  \item \bl{$A \,\text{sends}\, B : \{N_A\}_{K'_{AB}}$}\bigskip
       
   263  \end{itemize}\pause
       
   264  
       
   265 means you need to send a separate ``Hello'' signal (bad), or worse 
       
   266 share a single key between many entities
       
   267 \end{frame}}
       
   268 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
       
   269 
       
   270 
       
   271   
       
   272 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   273 \mode<presentation>{
       
   274 \begin{frame}[c]
       
   275 \frametitle{Possible Kinds of Attacks}
       
   276 
       
   277 \begin{itemize}
       
   278 \item reflection attacks
       
   279 \item man-in-the-middle attacks
       
   280 \item replay attacks
       
   281 \item timing attacks
       
   282 \item changing environment / changing assumptions
       
   283 \end{itemize}
       
   284 \end{frame}}
       
   285 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   286   
       
   287   \end{document}
       
   288 
       
   289 %%% Local Variables:  
       
   290 %%% mode: latex
       
   291 %%% TeX-master: t
       
   292 %%% End: 
       
   293