# HG changeset patch # User Christian Urban # Date 1353364762 0 # Node ID df7cf3d07bd85b365b7ce3f4021fd18479091f48 # Parent fb14a8e1b00ddebe6f892fe93df770c7201c7c7e added slides diff -r fb14a8e1b00d -r df7cf3d07bd8 pics/MigInMiddle.jpg Binary file pics/MigInMiddle.jpg has changed diff -r fb14a8e1b00d -r df7cf3d07bd8 pics/dogs.jpg Binary file pics/dogs.jpg has changed diff -r fb14a8e1b00d -r df7cf3d07bd8 slides08.pdf Binary file slides08.pdf has changed diff -r fb14a8e1b00d -r df7cf3d07bd8 slides08.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/slides08.tex Mon Nov 19 22:39:22 2012 +0000 @@ -0,0 +1,293 @@ +\documentclass[dvipsnames,14pt,t]{beamer} +\usepackage{proof} +\usepackage{beamerthemeplainculight} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +\usepackage{mathpartir} +\usepackage{isabelle} +\usepackage{isabellesym} +\usepackage[absolute,overlay]{textpos} +\usepackage{ifthen} +\usepackage{tikz} +\usepackage{courier} +\usepackage{listings} +\usetikzlibrary{arrows} +\usetikzlibrary{positioning} +\usetikzlibrary{calc} +\usepackage{graphicx} +\usetikzlibrary{shapes} +\usetikzlibrary{shadows} +\usetikzlibrary{plotmarks} + + +\isabellestyle{rm} +\renewcommand{\isastyle}{\rm}% +\renewcommand{\isastyleminor}{\rm}% +\renewcommand{\isastylescript}{\footnotesize\rm\slshape}% +\renewcommand{\isatagproof}{} +\renewcommand{\endisatagproof}{} +\renewcommand{\isamarkupcmt}[1]{#1} + +% Isabelle characters +\renewcommand{\isacharunderscore}{\_} +\renewcommand{\isacharbar}{\isamath{\mid}} +\renewcommand{\isasymiota}{} +\renewcommand{\isacharbraceleft}{\{} +\renewcommand{\isacharbraceright}{\}} +\renewcommand{\isacharless}{$\langle$} +\renewcommand{\isachargreater}{$\rangle$} +\renewcommand{\isasymsharp}{\isamath{\#}} +\renewcommand{\isasymdots}{\isamath{...}} +\renewcommand{\isasymbullet}{\act} + + + +\definecolor{javared}{rgb}{0.6,0,0} % for strings +\definecolor{javagreen}{rgb}{0.25,0.5,0.35} % comments +\definecolor{javapurple}{rgb}{0.5,0,0.35} % keywords +\definecolor{javadocblue}{rgb}{0.25,0.35,0.75} % javadoc + +\lstset{language=Java, + basicstyle=\ttfamily, + keywordstyle=\color{javapurple}\bfseries, + stringstyle=\color{javagreen}, + commentstyle=\color{javagreen}, + morecomment=[s][\color{javadocblue}]{/**}{*/}, + numbers=left, + numberstyle=\tiny\color{black}, + stepnumber=1, + numbersep=10pt, + tabsize=2, + showspaces=false, + showstringspaces=false} + +\lstdefinelanguage{scala}{ + morekeywords={abstract,case,catch,class,def,% + do,else,extends,false,final,finally,% + for,if,implicit,import,match,mixin,% + new,null,object,override,package,% + private,protected,requires,return,sealed,% + super,this,throw,trait,true,try,% + type,val,var,while,with,yield}, + otherkeywords={=>,<-,<\%,<:,>:,\#,@}, + sensitive=true, + morecomment=[l]{//}, + morecomment=[n]{/*}{*/}, + morestring=[b]", + morestring=[b]', + morestring=[b]""" +} + +\lstset{language=Scala, + basicstyle=\ttfamily, + keywordstyle=\color{javapurple}\bfseries, + stringstyle=\color{javagreen}, + commentstyle=\color{javagreen}, + morecomment=[s][\color{javadocblue}]{/**}{*/}, + numbers=left, + numberstyle=\tiny\color{black}, + stepnumber=1, + numbersep=10pt, + tabsize=2, + showspaces=false, + showstringspaces=false} + +% beamer stuff +\renewcommand{\slidecaption}{APP 08, King's College London, 20 November 2012} +\newcommand{\dn}{\stackrel{\mbox{\scriptsize def}}{=}}% for definitions +\newcommand{\bl}[1]{\textcolor{blue}{#1}} + +\begin{document} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mode{ +\begin{frame}<1>[t] +\frametitle{% + \begin{tabular}{@ {}c@ {}} + \\ + \LARGE Access Control and \\[-3mm] + \LARGE Privacy Policies (8)\\[-6mm] + \end{tabular}}\bigskip\bigskip\bigskip + + %\begin{center} + %\includegraphics[scale=1.3]{pics/barrier.jpg} + %\end{center} + +\normalsize + \begin{center} + \begin{tabular}{ll} + Email: & christian.urban at kcl.ac.uk\\ + Of$\!$fice: & S1.27 (1st floor Strand Building)\\ + Slides: & KEATS (also homework is there)\\ + \end{tabular} + \end{center} + + +\end{frame}} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \mode{ + \begin{frame}[c] + \frametitle{Last Week} + +Andrew Secure RPC Protocol: +\bl{$A$} and \bl{$B$} share a key \bl{$K_{AB}$} and want to identify +each other\bigskip + + \begin{itemize} + \item \bl{$A \,\text{sends}\, B : A, N_A$} + \item \bl{$B\,\text{sends}\, A : \{N_A, K'_{AB}\}_{K_{AB}}$} + \item \bl{$A \,\text{sends}\, B : \{N_A\}_{K'_{AB}}$} + \end{itemize} + + \end{frame}} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \mode{ + \begin{frame}[t] + \frametitle{Protocols} + +\mbox{} + +\begin{tabular}{l} +{\Large \bl{$A\;\text{sends}\; B : \ldots$}}\\ +\onslide<2->{\Large \bl{$B\;\text{sends}\; A : \ldots$}}\\ +\onslide<2->{\Large \;\;\;\;\;\bl{$:$}}\bigskip +\end{tabular} + + \begin{itemize} + \item by convention \bl{$A$}, \bl{$B$} are named principals \bl{Alice\ldots}\\ + but most likely they are programs, which just follow some instructions\bigskip +\item<2-> indicates one ``protocol run'', or session, which specifies some +order in the communication +\item<2-> there can be several sessions in parallel (think of wifi routers) +\end{itemize} + + \end{frame}} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \mode{ + \begin{frame}[c] + \frametitle{Last Week} + + +\bl{$A$} and \bl{$B$} share the key \bl{$K_{AB}$} and want to identify +each other\bigskip + + \begin{itemize} + \item \bl{$A \,\text{sends}\, B : A, N_A$} + \item \bl{$B\,\text{sends}\, A : \{N_A, K'_{AB}\}_{K_{AB}}$} + \item \bl{$A \,\text{sends}\, B : \{N_A\}_{K'_{AB}}$} + \end{itemize} + \end{frame}} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \mode{ + \begin{frame}[c] + \frametitle{Defeating Challenge-Response} + +\noindent +A \alert{reflection attack}: an intruder \bl{$I$} impersonates \bl{$B$}. + +\begin{center} +\begin{tabular}{@{\hspace{-7mm}}c@{\hspace{1mm}}c@{}} +\begin{tabular}{@{}l@{}} +\onslide<1->{\bl{$A \,\text{sends}\, I : A, N_A$}}\\ +\onslide<4->{\bl{$I \,\text{sends}\, A : \{N_A,\!K'_{\!AB}\}_{K_{\!AB}}$}}\\ +\onslide<5->{\bl{$A \,\text{sends}\, I : \{N_A\}_{K'_{AB}}$}}\\ +\end{tabular} +& +\begin{tabular}{@{}l@{}} +\onslide<2->{\bl{$I \,\text{sends}\, A : B, N_A$}}\\ +\onslide<3->{\bl{$A \,\text{sends}\, I : \{N_A,\!K'_{\!AB}\}_{K_{\!AB}}$}}\\ +\onslide<6->{\bl{$I \,\text{sends}\, A : \{N_A\}_{K'_{AB}}$}}\\ +\end{tabular} +\end{tabular} +\end{center}\bigskip + +\onslide<7->{Sounds stupid: ``\ldots answering a question with a counter question''} + + \end{frame}} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mode{ +\begin{frame}[c] +\frametitle{Identify Friend or Foe} + +\begin{center} +\onslide<2->{\mbox{}\hspace{3.4cm}\includegraphics[scale=0.55]{pics/MigInMiddle.jpg}} +\end{center} + +\begin{textblock}{6}(0.3,2) +198?: war between Angola (supported by Cuba) +and Namibia (supported by SA) +\end{textblock} + +\begin{textblock}{3}(12.5,4.6) + \onslide<2->{ + \begin{tikzpicture} + \node at (0,0) [single arrow, fill=red,text=white, rotate=-50, shape border rotate=180]{``bystander''}; + \end{tikzpicture}} + \end{textblock} + +\begin{textblock}{3}(10.9,10) + \onslide<2->{ + \begin{tikzpicture} + \node at (0,0) [single arrow, fill=red,text=white, rotate=-40, shape border rotate=180]{attacker}; + \end{tikzpicture}} + \end{textblock} + +\only<3->{ +\begin{textblock}{6}(0.3,12) +being outsmarted by Angola/Cuba +ended SA involvement +\end{textblock}} +\end{frame}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \mode{ + \begin{frame}[c] + \frametitle{Encryption to the Rescue?} + + + \begin{itemize} + \item \bl{$A \,\text{sends}\, B : \{A, N_A\}_{K_{AB}}$}\hspace{1cm} encryption\bigskip + \item \bl{$B\,\text{sends}\, A : \{N_A, K'_{AB}\}_{K_{AB}}$}\bigskip + \item \bl{$A \,\text{sends}\, B : \{N_A\}_{K'_{AB}}$}\bigskip + \end{itemize}\pause + +means you need to send a separate ``Hello'' signal (bad), or worse +share a single key between many entities +\end{frame}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mode{ +\begin{frame}[c] +\frametitle{Possible Kinds of Attacks} + +\begin{itemize} +\item reflection attacks +\item man-in-the-middle attacks +\item replay attacks +\item timing attacks +\item changing environment / changing assumptions +\end{itemize} +\end{frame}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + \end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: +