123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962 |
- \documentclass[14pt,aspectratio=169]{beamer}
- \usetheme{Minimalist}
- \usepackage{tikz}
- \usetikzlibrary{calc,shapes}
- \usepackage{ulem}
- \title{Network Security}
- \subtitle{with Netsim}
- \author{Vecna\thanks{building on work by Erinn Atwater, Cecylia Bocovich, Miti Mazmudar, Sajin Sasy, Parjanya Vyas, and Bailey Kacsmar}\thanks{with visuals from Simon Oya and Ian Goldberg}}
- \institute{University of Waterloo}
- \date{2024 May 13}
- \newcommand\srccolor{blue}
- \newcommand\dstcolor{purple}
- \newcommand\protocolor{cyan}
- \newcommand\msgcolor{orange}
- \pgfdeclareimage[width=1cm]{router}{router}
- \pgfdeclareimage[width=1cm]{basestation}{basestation}
- \pgfdeclareimage[width=1cm]{mobile}{mobile}
- \pgfdeclareimage[width=1cm]{server}{server}
- \pgfdeclareimage[width=1cm]{desktop}{desktop}
- \pgfdeclareimage[width=1cm]{scroll}{scroll}
- \pgfdeclareimage[width=1cm]{evilscroll}{evilscroll}
- \pgfdeclareimage[width=8cm]{postcard}{postcard}
- \pgfdeclareimage[width=8cm]{envelope}{envelope}
- \pgfdeclareimage[width=2cm]{cat}{cat-instructor}
- \pgfdeclareimage[width=1cm]{alice}{alice}
- \pgfdeclareimage[width=1cm]{bob}{bob}
- \pgfdeclareimage[width=1cm]{carol}{carol}
- \pgfdeclareimage[width=1cm]{dave}{dave}
- \pgfdeclareimage[width=1cm]{eve}{eve}
- \pgfdeclareimage[width=1.25cm]{mallory}{mallory}
- \pgfdeclareimage[width=4cm]{bubble}{bubble1}
- \pgfdeclareimage[width=0.5cm]{lock}{lock}
- \pgfdeclareimage[width=2cm]{key}{key-sec}
- \pgfdeclareimage[width=1.25cm]{apri}{alice-pri}
- \pgfdeclareimage[width=1.25cm]{bpri}{bob-pri}
- \pgfdeclareimage[width=1.25cm]{mpri}{mallory-pri}
- \pgfdeclareimage[width=1.25cm]{apub}{alice-pub}
- \pgfdeclareimage[width=1.25cm]{bpub}{bob-pub}
- \pgfdeclareimage[width=1.25cm]{mpub}{mallory-pub}
- \pgfdeclareimage[width=1cm]{ciphertext}{ciphertext}
- \pgfdeclareimage[height=0.5cm]{x}{x}
- \pgfdeclareimage[height=2.5cm]{crysp}{crysp}
- \newcommand\onenetwork{
- \filldraw [fill=orange!20, draw=black, thick] (-7,1) -- (-3.5,.5) -- (-4,-2) -- (-7,-2) -- cycle;
- \node [inner sep=0pt] (mobile) at (-5,-1.25) {\pgfuseimage{mobile}};
- \node [inner sep=0pt] (desktop) at (-6.5,-1.25) {\pgfuseimage{desktop}};
- \node [inner sep=0pt] (basestation) at (-4.25,-.25) {\pgfuseimage{basestation}};
- \node [inner sep=0pt] (AS1r1) at (-6,0.25) {\pgfuseimage{router}};
- \draw [draw=black,thick] (desktop) -- (basestation);
- \draw [draw=black,thick] (basestation) -- (AS1r1);
- }
- \newcommand\theinternet{
- \filldraw [fill=green!20, draw=black, thick] (-5,4) -- (5,4) -- (3,1) -- (-3,1) -- cycle;
- \filldraw [fill=blue!20, draw=black, thick] (-3,.5) -- (3,.5) -- (3.5,-2) -- (-3.5,-2) -- cycle;
- \filldraw [fill=red!20, draw=black, thick] (-7,4) --(-5.5,4) -- (-3.5,1) -- (-7,1.5);
- \filldraw [fill=purple!20, draw=black, thick] (7,4) --(5.5,4) -- (3.5,1) -- (7,0);
- \filldraw [fill=orange!20, draw=black, thick] (-7,1) -- (-3.5,.5) -- (-4,-2) -- (-7,-2);
- \filldraw [fill=yellow!20, draw=black, thick] (7,-.5) -- (3.5,.5) -- (4,-2) -- (7,-2);
- \node [inner sep=0pt] (mobile) at (-5,-1.25) {\pgfuseimage{mobile}};
- \node [inner sep=0pt] (desktop) at (-6.5,-1.25) {\pgfuseimage{desktop}};
- \node [inner sep=0pt] (basestation) at (-4.25,-.25) {\pgfuseimage{basestation}};
- \node [inner sep=0pt] (AS1r1) at (-6,0.25) {\pgfuseimage{router}};
- \draw [draw=black,thick] (desktop) -- (basestation);
- \draw [draw=black,thick] (basestation) -- (AS1r1);
- \node [inner sep=0pt] (AS2r1) at (-6.25,2) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS2r3) at (-6.25,3.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS2r2) at (-4.6,1.6) {\pgfuseimage{router}};
- \draw [draw=black,thick] (AS2r1) -- (AS1r1);
- \draw [draw=black,thick] (AS2r2) -- (AS2r1);
- \draw [draw=black,thick] (AS2r2) -- (AS2r3);
- \draw [draw=black,thick] (AS2r1) -- (AS2r3);
- \draw [draw=black,thick] (AS2r1) -- ($(-7,1)!(AS2r1)!(-7,0)$);
- \draw [draw=black,thick] (AS2r3) -- ($(-7,1)!(AS2r3)!(-7,0)$);
- \node [inner sep=0pt] (AS3r1) at (-3.5,3.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS3r2) at (-2.5,1.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS3r3) at (-1,2.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS3r4) at (2,1.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS3r5) at (3,3) {\pgfuseimage{router}};
- \draw [draw=black,thick] (AS2r3) -- (AS3r1);
- \draw [draw=black,thick] (AS2r2) -- (AS3r2);
- \draw [draw=black,thick] (AS3r1) -- (AS3r3);
- \draw [draw=black,thick] (AS3r2) -- (AS3r3);
- \draw [draw=black,thick] (AS3r4) -- (AS3r3);
- \draw [draw=black,thick] (AS3r5) -- (AS3r3);
- \draw [draw=black,thick] (AS3r2) -- (AS3r4);
- \node [inner sep=0pt] (AS4r1) at (6.25,3.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS4r2) at (4.75,1.25) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS4basestation) at (6.25,1.2) {\pgfuseimage{basestation}};
- \draw [draw=black,thick] (AS4r1) -- (AS4r2);
- \draw [draw=black,thick] (AS4basestation) -- (AS4r2);
- \draw [draw=black,thick] (AS3r5) -- (AS4r1);
- \node [inner sep=0pt] (AS5r1) at (-2.5,0) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS5r2) at (2,0) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS5server) at (-1,-1) {\pgfuseimage{server}};
- \draw [draw=black,thick] (AS2r2) -- (AS5r1);
- \draw [draw=black,thick] (AS3r2) -- (AS5r1);
- \draw [draw=black,thick] (AS3r4) -- (AS5r2);
- \draw [draw=black,thick] (AS5r1) -- (AS5r2);
- \draw [draw=black,thick] (AS5r1) -- (AS5server);
- \node [inner sep=0pt] (AS6r1) at (4.3,-.3) {\pgfuseimage{router}};
- \node [inner sep=0pt] (server) at (6,-1.2) {\pgfuseimage{server}};
- \draw [draw=black,thick] (AS6r1) -- (AS4r2);
- \draw [draw=black,thick] (AS6r1) -- (server);
- }
- \begin{document}
-
- \frame[plain]{\titlepage}
- \begin{frame}
- \frametitle{Introductions}
- \begin{itemize}
- \item My name is Vecna
- \item My pronouns are they/them
- \item I'm part of the Cryptography, Security, and Privacy (CrySP)\footnote{\url{https://crysp.org}} group
- \item My research focuses on privacy and censorship circumvention
- \item \textbf{Please interrupt me if you have questions}
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node (crysp) {\pgfuseimage{crysp}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Introductions}
- \begin{itemize}
- \item Introduce yourself
- \item Examples of what to say (if you want)
- \begin{itemize}
- \item Name
- \item Pronouns
- \item Something you're passionate about/interested in
- \item Why you wanted to come to SPARCS
- \item If you prefer to work in groups or alone
- \begin{itemize}
- \item We'll be playing a puzzle game
- \item You're welcome to work together or alone
- \item If you want a teammate/group, this may be a time to find one
- \end{itemize}
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Introductions}
- \begin{itemize}
- \item Finally, let's introduce our characters...
- \vspace{1em}
- \begin{columns}
- \column{0.5\textwidth}
- \large Our friends
- \vspace{1em}
- \begin{columns}
- \column{0.5\textwidth}
- \pgfuseimage{alice} \large Alice
- \pgfuseimage{carol} \large Carol
- \column{0.5\textwidth}
- \pgfuseimage{bob} \large Bob
- \pgfuseimage{dave} \large Dave
- \end{columns}
- \column{0.5\textwidth}
- \large Our enemies
- \vspace{1em}
-
- \pgfuseimage{eve} \large Eve \small (an eavesdropper)
- \pgfuseimage{mallory} \large Mallory \small (a malicious attacker)
- \end{columns}
-
- \vspace{1em}
- \item These characters are common in cryptography/security
- \item These drawings are by Simon Oya\footnote{\url{https://simonoya.com/}}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Goals}
- \begin{itemize}
- \item \textit{\textbf{Define}} the foundations of computer networks
- \item \textit{\textbf{Define}} security goals
- \item \textit{\textbf{Explore}} whether these security goals are accomplished on the Internet
- \item \textit{\textbf{Execute}} attacks against a (simulated) network
- \item \textit{\textbf{Identify}} real-world implications and defenses
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Outline}
- \begin{itemize}
- \item Networking background
- \begin{itemize}
- \item Introduction to networking/the Internet: \textbf{2 levels}
- \item ICMP (ping): \textbf{3 levels}
- \end{itemize}
- \item Security goals (and how the Internet fails to accomplish them)
- \begin{itemize}
- \item What are our security goals?
- \item Encryption: \textbf{1 level}
- \item Attacks: \textbf{6 levels}
- \end{itemize}
- \item Real-world implications
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{What is a Network?}
- \begin{itemize}
- \item Computers connected to each other
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \onenetwork
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{What is the Internet?}
- \begin{itemize}
- \item A network of networks that connects computers across the world
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \theinternet
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Packets}
- \begin{columns}
- \column{0.4\textwidth}
- \begin{itemize}
- \item Computers talk to each other using packets
- \item Think of a postcard with
- \begin{itemize}
- \item \color{\srccolor} Source address
- \item \color{\dstcolor} Destination address
- \item \color{\msgcolor} Message
- \end{itemize}
- \end{itemize}
- \column{0.6\textwidth}
- \centerline{
- \begin{tikzpicture}
- \node (postcard) {\pgfuseimage{postcard}};
- \node at (-2.25,1.5) {\color{\srccolor}\large Alice's PC};
- \node at (2.35,0.55) {\color{\dstcolor}\large catpics.com};
- \node[text width=4cm] at (-1.85,-.5) {\color{\msgcolor}\large please send cat pics thx};
- \end{tikzpicture}
- }
- \end{columns}
- \end{frame}
- \begin{frame}
- \frametitle{Sending a Packet}
- \begin{itemize}
- \item Alice sends this packet to catpics.com and gets a response
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \theinternet
- \node [inner sep=0pt] (alice) at (-7.65,-1.25) {\pgfuseimage{alice}};
- \draw [draw=red,line width=3pt] (desktop) -- (basestation);
- \draw [draw=red,line width=3pt] (basestation) -- (AS1r1);
- \draw [draw=red,line width=3pt] (AS1r1) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (server);
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Response Packet}
- \begin{columns}
- \column{0.4\textwidth}
- \begin{itemize}
- \item Again, think of a postcard with
- \begin{itemize}
- \item \color{\srccolor} Source address
- \item \color{\dstcolor} Destination address
- \item \color{\msgcolor} Message
- \end{itemize}
- \end{itemize}
- \column{0.6\textwidth}
- \centerline{
- \begin{tikzpicture}
- \node (postcard) {\pgfuseimage{postcard}};
- \node at (-2.25,1.5) {\color{\srccolor}\large catpics.com};
- \node at (2.35,0.55) {\color{\dstcolor}\large Alice's PC};
- \draw [draw=\msgcolor, line width=3pt] (-3.5,0.5) -- (0,0.5) -- (0,-2) -- (-3.5,-2) -- cycle;
- \node at (-1.75,-.75) {\pgfuseimage{cat}};
- \end{tikzpicture}
- }
- \end{columns}
- \end{frame}
- \begin{frame}
- \frametitle{Takeaways}
- \begin{itemize}
- \item The Internet is just computers across the world talking to each other
- \item Computers send information back and forth in the form of packets
- \item Packets are like postcards
- \begin{itemize}
- \item Source address
- \item Destination address
- \item Message
- \item (all visible)
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Netsim}
- \begin{itemize}
- \item In this session, we will be playing a game called netsim
- \item This game provides a (simplified) simulation of a network to help you learn about networking and security
- \item \textbf{Your task: Register and complete levels 1 -- 5}
- \begin{itemize}
- \item Register at \footnotesize\url{https://vvecna.cs.uwaterloo.ca/netsim/}\normalsize
- \item (Backup link: \footnotesize\url{https://netsim.erinn.io/}\normalsize)
- \item Accounts are not saved long-term (sorry)
- \item Feel free to work together or alone
- \item Ask if you need help
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Goals}
- \begin{itemize}
- \item \sout{\textit{\textbf{Define}} the foundations of computer networks}
- \item \textit{\textbf{Define}} security goals
- \item \textit{\textbf{Explore}} whether these security goals are accomplished on the Internet
- \item \textit{\textbf{Execute}} attacks against a (simulated) network
- \item \textit{\textbf{Identify}} real-world implications and defenses
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Security Goals}
- \begin{itemize}
- \item Confidentiality
- \item Integrity
- \item Availability
- \item Authentication
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Failing to Meet Our Security Goals}
- \begin{itemize}
- \item Suppose Alice sends a message to Bob
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (msg) at (0,0) {\pgfuseimage{scroll}};
- \end{tikzpicture}
- }
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Failing to Meet Our Security Goals}
- \begin{itemize}
- \item Suppose Alice sends a message to Bob
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (msg) at (0,0) {\pgfuseimage{scroll}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \end{tikzpicture}
- }
- \item \textbf{Confidentiality: Protecting data from unauthorized access}
- \item Compromise of confidentiality: Eve reads the message
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Failing to Meet Our Security Goals}
- \begin{itemize}
- \item Suppose Alice sends a message to Bob
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (mallory) at (0,0) {\pgfuseimage{mallory}};
- \draw [-stealth] (alice) -- (mallory);
- \draw [-stealth] (mallory) -- (bob);
- \node [inner sep=0pt] (msg) at (-2,0) {\pgfuseimage{scroll}};
- \node [inner sep=0pt] (badmsg) at (2,0) {\pgfuseimage{evilscroll}};
- \end{tikzpicture}
- }
- \item \textbf{Integrity: Ensuring data is correct/unchanged}
- \item Compromise of integrity: Mallory modifies the message
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Failing to Meet Our Security Goals}
- \begin{itemize}
- \item Suppose Alice sends a message to Bob
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (mallory) at (0,1) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (block) at (0,0) {\pgfuseimage{x}};
- \draw [-stealth] (alice) -- (block);
- \node [inner sep=0pt] (msg) at (-2,0) {\pgfuseimage{scroll}};
- \end{tikzpicture}
- }
- \item \textbf{Availability: Ensuring data/system can be used correctly}
- \item Compromise of availability: Mallory prevents Alice from sending the message to Bob
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Failing to Meet Our Security Goals}
- \begin{itemize}
- \item Suppose Mallory sends a message to Bob
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (mallory) at (-4,0) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \draw [-stealth] (mallory) -- (bob);
- \node [inner sep=0pt] (msg) at (0,0) {\pgfuseimage{evilscroll}};
- \filldraw [fill=red, draw=black, thick] (-4,-0.65) -- (-4.75,-0.65) -- (-4.75,-0.25) -- (-4,-0.25) -- cycle;
- \node[text width=2.5cm,color=white] at (-3.425,-0.35) {\tiny \textbf{HELLO}};
- \node[text width=1.5cm,color=white] at (-4.12,-0.55) {\fontsize{3}{1} \textbf{MY\hspace{2px}NAME\hspace{2px}IS}};
- \filldraw [fill=white, draw=black, thick] (-4,-0.65) -- (-4.75,-0.65) -- (-4.75,-1) -- (-4,-1) -- cycle;
- \node[text width=2.5cm,color=black] at (-3.35,-0.85) {\tiny \textit{Alice}};
- \end{tikzpicture}
- }
- \item \textbf{Authentication: Ensuring data \textit{source} is correct}
- \item Compromise of authentication: Mallory forges a message from Alice
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Goals}
- \begin{itemize}
- \item \sout{\textit{\textbf{Define}} the foundations of computer networks}
- \item \sout{\textit{\textbf{Define}} security goals}
- \item \textit{\textbf{Explore}} whether these security goals are accomplished on the Internet
- \item \textit{\textbf{Execute}} attacks against a (simulated) network
- \item \textit{\textbf{Identify}} real-world implications and defenses
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Security Goals}
- \begin{itemize}
- \item Confidentiality: Protecting data from unauthorized access
- \item Integrity: Ensuring data is correct/unchanged
- \item Availability: Ensuring data/system is available
- \item Authentication: Ensuring data \textit{source} is correct
- \item \textbf{The Internet was not designed with security in mind}
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (eve-bubble) at (-4.75,1) {\pgfuseimage{bubble}};
- \node[text width=2.75cm] at (-5,1) {\small I can break confidentiality.};
- \node [inner sep=0pt] (eve) at (-2,0) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (mallory-bubble) at (1.25,1) {\pgfuseimage{bubble}};
- \node[text width=2.5cm] at (1.25,1) {\small I can break all of these.};
- \node [inner sep=0pt] (mallory) at (4,0) {\pgfuseimage{mallory}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Attacking Confidentiality}
- \begin{itemize}
- \item Who can \textbf{read} the message?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \theinternet
- \node [inner sep=0pt] (alice) at (-7.65,-1.25) {\pgfuseimage{alice}};
- \draw [draw=red,line width=3pt] (desktop) -- (basestation);
- \draw [draw=red,line width=3pt] (basestation) -- (AS1r1);
- \draw [draw=red,line width=3pt] (AS1r1) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (server);
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Attacking Confidentiality}
- \begin{itemize}
- \item Who can \textbf{read} the message?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \filldraw [fill=green!20, draw=black, thick] (-5,4) -- (5,4) -- (3,1) -- (-3,1) -- cycle;
- \filldraw [fill=blue!20, draw=black, thick] (-3,.5) -- (3,.5) -- (3.5,-2) -- (-3.5,-2) -- cycle;
- \filldraw [fill=red!20, draw=black, thick] (-7,4) --(-5.5,4) -- (-3.5,1) -- (-7,1.5);
- \filldraw [fill=purple!20, draw=black, thick] (7,4) --(5.5,4) -- (3.5,1) -- (7,0);
- \filldraw [fill=orange!20, draw=black, thick] (-7,1) -- (-3.5,.5) -- (-4,-2) -- (-7,-2);
- \filldraw [fill=yellow!20, draw=black, thick] (7,-.5) -- (3.5,.5) -- (4,-2) -- (7,-2);
- \node [inner sep=0pt] (mobile) at (-5,-1.25) {\pgfuseimage{mobile}};
- \node [inner sep=0pt] (desktop) at (-6.5,-1.25) {\pgfuseimage{desktop}};
- \node [inner sep=0pt] (basestation) at (-4.25,-.25) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (AS1r1) at (-6,0.25) {\pgfuseimage{eve}};
- \draw [draw=black,thick] (desktop) -- (basestation);
- \draw [draw=black,thick] (basestation) -- (AS1r1);
- \node [inner sep=0pt] (AS2r1) at (-6.25,2) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (AS2r3) at (-6.25,3.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS2r2) at (-4.6,1.6) {\pgfuseimage{eve}};
- \draw [draw=black,thick] (AS2r1) -- (AS1r1);
- \draw [draw=black,thick] (AS2r2) -- (AS2r1);
- \draw [draw=black,thick] (AS2r2) -- (AS2r3);
- \draw [draw=black,thick] (AS2r1) -- (AS2r3);
- \draw [draw=black,thick] (AS2r1) -- ($(-7,1)!(AS2r1)!(-7,0)$);
- \draw [draw=black,thick] (AS2r3) -- ($(-7,1)!(AS2r3)!(-7,0)$);
- \node [inner sep=0pt] (AS3r1) at (-3.5,3.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS3r2) at (-2.5,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (AS3r3) at (-1,2.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (AS3r4) at (2,1.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS3r5) at (3,3) {\pgfuseimage{eve}};
- \draw [draw=black,thick] (AS2r3) -- (AS3r1);
- \draw [draw=black,thick] (AS2r2) -- (AS3r2);
- \draw [draw=black,thick] (AS3r1) -- (AS3r3);
- \draw [draw=black,thick] (AS3r2) -- (AS3r3);
- \draw [draw=black,thick] (AS3r4) -- (AS3r3);
- \draw [draw=black,thick] (AS3r5) -- (AS3r3);
- \draw [draw=black,thick] (AS3r2) -- (AS3r4);
- \node [inner sep=0pt] (AS4r1) at (6.25,3.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (AS4r2) at (4.75,1.25) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (AS4basestation) at (6.25,1.2) {\pgfuseimage{basestation}};
- \draw [draw=black,thick] (AS4r1) -- (AS4r2);
- \draw [draw=black,thick] (AS4basestation) -- (AS4r2);
- \draw [draw=black,thick] (AS3r5) -- (AS4r1);
- \node [inner sep=0pt] (AS5r1) at (-2.5,0) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS5r2) at (2,0) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS5server) at (-1,-1) {\pgfuseimage{server}};
- \draw [draw=black,thick] (AS2r2) -- (AS5r1);
- \draw [draw=black,thick] (AS3r2) -- (AS5r1);
- \draw [draw=black,thick] (AS3r4) -- (AS5r2);
- \draw [draw=black,thick] (AS5r1) -- (AS5r2);
- \draw [draw=black,thick] (AS5r1) -- (AS5server);
- \node [inner sep=0pt] (AS6r1) at (4.3,-.3) {\pgfuseimage{eve}};
-
-
- \node [inner sep=0pt] (server) at (6,-1.2) {\pgfuseimage{server}};
- \draw [draw=black,thick] (AS6r1) -- (AS4r2);
- \draw [draw=black,thick] (AS6r1) -- (server);
- \node [inner sep=0pt] (alice) at (-7.65,-1.25) {\pgfuseimage{alice}};
- \draw [draw=red,line width=3pt] (desktop) -- (basestation);
- \draw [draw=red,line width=3pt] (basestation) -- (AS1r1);
- \draw [draw=red,line width=3pt] (AS1r1) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (server);
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Cryptography}
- \begin{itemize}
- \item How can we defend against this?
- \item Cryptography!
- \begin{itemize}
- \item crypto = hidden, secret
- \item graphy = field of study
- \item Encryption = using math to hide things
- \item Cryptography = encryption and related things
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Recall Packets...}
- \begin{columns}
- \column{0.4\textwidth}
- \begin{itemize}
- \item Like a \textbf{postcard} with...
- \begin{itemize}
- \item \color{\srccolor}{Source address}
- \item \color{\dstcolor}{Destination address}
- \item \color{\msgcolor}{Message}
- \end{itemize}
- \end{itemize}
- \column{0.6\textwidth}
- \centerline{
- \begin{tikzpicture}
- \node (postcard) {\pgfuseimage{postcard}};
- \node at (-2.25,1.5) {\color{\srccolor}\large Alice's PC};
- \node at (2.35,0.55) {\color{\dstcolor}\large Bob's PC};
- \node[text width=4cm] at (-.5,-.5) {\color{\msgcolor}\large HI BOB};
- \end{tikzpicture}
- }
- \end{columns}
- \end{frame}
- \begin{frame}
- \frametitle{We Can Encrypt the Message}
- \begin{columns}
- \column{0.4\textwidth}
- \begin{itemize}
- \item \color{\srccolor}{Source address}
- \item \color{\dstcolor}{Destination address}
- \item \color{\msgcolor}{Encrypted message}
- \end{itemize}
- \column{0.6\textwidth}
- \centerline{
- \begin{tikzpicture}
- \node (postcard) {\pgfuseimage{postcard}};
- \node at (-2.25,1.5) {\color{\srccolor}\large Alice's PC};
- \node at (2.35,0.55) {\color{\dstcolor}\large Bob's PC};
- \node[text width=4cm] at (-.5,-.5) {\color{\msgcolor}\large IJCPC};
- \end{tikzpicture}
- }
- \end{columns}
- \end{frame}
- \begin{frame}
- \frametitle{More Like a Letter than a Postcard}
- \begin{columns}
- \column{0.4\textwidth}
- \begin{itemize}
- \item \color{\srccolor}{Source address}
- \item \color{\dstcolor}{Destination address}
- \item \color{\msgcolor}{Message} \normalcolor (hidden in the sealed envelope)
- \end{itemize}
- \column{0.6\textwidth}
- \centerline{
- \hspace{2em}
- \begin{tikzpicture}
- \node at (0,0) (envelope) {\pgfuseimage{envelope}};
- \node at (-2.5,0.25) {\color{\srccolor}\large Alice's PC};
- \node at (-0.1,-0.5) {\color{\dstcolor}\large Bob's PC};
- \node[text width=1cm,rotate=15,align=right] at (2.7,2.5) {\color{\msgcolor} HI BOB};
- \end{tikzpicture}
- }
- \end{columns}
- \end{frame}
- \begin{frame}
- \frametitle{Confidentiality without Encryption}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (msg) at (0,0) {\pgfuseimage{scroll}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-bubble) at (-2.5,3) {\pgfuseimage{bubble}};
- \node[text width=2.5cm] at (-2.5,3) {I can read this!};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Ensuring Confidentiality with Encryption}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
-
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
-
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (ct) at (0,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
-
-
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Ensuring Confidentiality with Encryption}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
-
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
-
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (ct) at (0,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (eve) at (0,2) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-bubble) at (-2.5,3) {\pgfuseimage{bubble}};
- \node[text width=2.5cm] at (-2.5,3) {\LARGE \textbf{?????}};
-
-
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{How Does Encryption Work?}
- \begin{itemize}
- \item We need a \textbf{key}
- \begin{itemize}
- \item This is just a random number
- \end{itemize}
- \item If the key is secure, the encryption should be secure
- \begin{itemize}
- \item Kerckhoffs's principle: The system should be secure if everything about the system except the key is public knowledge
- \item (Or Shannon's maxim: ``The enemy knows the system")
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Example: Caesar Cipher}
- \begin{itemize}
- \item What should our \textbf{key $k$} be?
- \item Take the message, and replace each letter with the $k$th next letter in the alphabet
- \item For example, if $k = 5$, then NETSIM $\rightarrow$ SJYXNR
- \item Let's encrypt the word ``CRYPTOGRAPHY"
- \item How do we decrypt?
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Example: Caesar Cipher}
- \begin{itemize}
- \item What should our \textbf{key $k$} be? (0--25)
- \item Take the message, and replace each letter with the $k$th next letter in the alphabet
- \item For example, if $k = 5$, then NETSIM $\rightarrow$ SJYXNR
- \item Let's encrypt the word ``CRYPTOGRAPHY"
- \item How do we decrypt?
- \begin{itemize}
- \item \textbf{Also using the key}
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Example: Caesar Cipher}
- \begin{itemize}
- \item What should our \textbf{key $k$} be? (0--25)
- \item Take the message, and replace each letter with the $k$th next letter in the alphabet
- \item For example, if $k = 5$, then \texttt{NETSIM} $\rightarrow$ \texttt{SJYXNR}
- \item Let's encrypt the word \texttt{CRYPTOGRAPHY}
- \item How do we decrypt?
- \begin{itemize}
- \item \textbf{Also using the key}
- \end{itemize}
- \item Why isn't this secure?
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Example: One-Time Pad}
- \begin{itemize}
- \item What if we used a separate Caesar cipher for each letter?
- \item Let's encrypt the word \texttt{NETSIM} with
- \begin{itemize}
- \item $k_1 = 20$
- \item $k_2 = 21$
- \item $k_3 = 18$
- \item $k_4 = 1$
- \item $k_5 = 15$
- \item $k_6 = 6$
- \end{itemize}
- \item \texttt{NETSIM} $\rightarrow$ \texttt{HZLTXS}
- \item Is this secure?
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Example: One-Time Pad}
- \begin{itemize}
- \item What if we used a separate Caesar cipher for each letter?
- \item Let's encrypt the word \texttt{NETSIM} with
- \begin{itemize}
- \item $k_1 = 20$
- \item $k_2 = 21$
- \item $k_3 = 18$
- \item $k_4 = 1$
- \item $k_5 = 15$
- \item $k_6 = 6$
- \end{itemize}
- \item \texttt{NETSIM} $\rightarrow$ \texttt{HZLTXS}
- \item Is this secure?
- \begin{itemize}
- \item \textbf{Only if the key is NEVER reused}
- \end{itemize}
- \item Is this usable?
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Key Exchange}
- \begin{itemize}
- \item We have other (more complicated) cryptography that works if Alice and Bob reuse their key
- \begin{itemize}
- \item We won't be talking about how it works today
- \item Sorry
- \end{itemize}
- \item How does Alice get the key to Bob?
- \item Proposal:
- \begin{enumerate}
- \item Alice sends the key to Bob
- \item Alice and Bob use the key to encrypt future messages
- \end{enumerate}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Key Exchange Proposal}
- \begin{enumerate}
- \item Alice sends the key to Bob
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (alice-shares-key) at (0,0) {\pgfuseimage{key}};
-
- \end{tikzpicture}
- }
- \item Alice and Bob use the key to encrypt future messages
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
-
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
-
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (ct) at (0,0) {\pgfuseimage{ciphertext}};
-
- \node [inner sep=0pt] (alice-key) at (-6,0) {\pgfuseimage{key}};
- \node [inner sep=0pt] (bob-key) at (6,0) {\pgfuseimage{key}};
-
- \end{tikzpicture}
- \item Why doesn't this work?
- \end{enumerate}
- \end{frame}
- \begin{frame}
- \frametitle{Key Exchange Proposal}
- \begin{enumerate}
- \item Alice sends the key to Bob
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (alice-shares-key) at (0,0) {\pgfuseimage{key}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \end{tikzpicture}
- }
- \item Alice and Bob use the key to encrypt future messages
-
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
-
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
-
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (ct) at (0,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (alice-key) at (-6,0) {\pgfuseimage{key}};
- \node [inner sep=0pt] (bob-key) at (6,0) {\pgfuseimage{key}};
- \node [inner sep=0pt] (eve-key) at (1.5,1) {\pgfuseimage{key}};
- \end{tikzpicture}
-
-
- \end{enumerate}
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Instead, we have more cryptography!
- \item With more keys
- \item Alice has...
- \begin{itemize}
- \item Alice's public key
- \item Alice's secret key
- \end{itemize}
- \item Bob has...
- \begin{itemize}
- \item Bob's public key
- \item Bob's secret key
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Instead, we have more cryptography!
- \item With more keys
- \item Alice has...
- \begin{itemize}
- \item Alice's public key (for \textbf{encrypting} messages \textbf{for Alice})
- \item Alice's secret key (for \textbf{decrypting} messages \textbf{for Alice})
- \end{itemize}
- \item Bob has...
- \begin{itemize}
- \item Bob's public key (for \textbf{encrypting} messages \textbf{for Bob})
- \item Bob's secret key (for \textbf{decrypting} messages \textbf{for Bob})
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Let's see it visually...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Let's see it visually...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (alice-share-pub) at (0,0) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Let's see it visually...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Let's see it visually...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (bob) -- (alice);
- \node [inner sep=0pt] (bob-share-pub) at (0,0) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Let's see it visually...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-bob-pub) at (-5.5,1.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve-bob-pub) at (1.5,1.5) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Let's see it visually...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-bob-pub) at (-5.5,1.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (alice-bob-ct) at (0,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (alice-bob-ct-bob-key) at (0.95,0.25) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve-bob-pub) at (1.5,1.5) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Let's see it visually...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-bob-pub) at (-5.5,1.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (alice-bob-ct) at (0,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (alice-bob-ct-bob-key) at (0.95,0.25) {\pgfuseimage{bpub}};
- \draw [color=red] (0.5,0) ellipse (1.5cm and 1cm);
- \draw [color=red] (bob-pri) ellipse (1cm and 0.5cm);
- \node[text width=4cm] at (5,-1.5) {\footnotesize need this key to decrypt};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve-bob-pub) at (1.5,1.5) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Let's see it visually...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-bob-pub) at (-5.5,1.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (bob) -- (alice);
- \node [inner sep=0pt] (bob-alice-ct) at (0,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (bob-alice-ct-alice-key) at (0.95,0.25) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve-bob-pub) at (1.5,1.5) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography}
- \begin{itemize}
- \item Let's see it visually...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-bob-pub) at (-5.5,1.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (bob) -- (alice);
- \node [inner sep=0pt] (bob-alice-ct) at (0,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (bob-alice-ct-alice-key) at (0.95,0.25) {\pgfuseimage{apub}};
- \draw [color=red] (0.5,0) ellipse (1.5cm and 1cm);
- \draw [color=red] (alice-pri) ellipse (1cm and 0.5cm);
- \node[text width=4cm] at (-5,-1.5) {\footnotesize need this key to decrypt};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve-bob-pub) at (1.5,1.5) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Public-Key Cryptography Exercise}
- \begin{itemize}
- \item \textbf{Your task: Complete level 6}
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-bob-pub) at (-5.5,1.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (alice-bob-ct) at (0,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (alice-bob-ct-bob-key) at (0.95,0.25) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve-bob-pub) at (1.5,1.5) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Security Goals}
- \begin{itemize}
- \item Confidentiality
- \begin{itemize}
- \item \textbf{Not default, can be accomplished with encryption}
- \end{itemize}
- \item Integrity
- \item Availability
- \item Authentication
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{No Authentication}
- \begin{itemize}
- \item No check that source is correct
- \end{itemize}
- \vspace{1em}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (mallory) at (-5,0) {\pgfuseimage{mallory}};
- \node (postcard) {\pgfuseimage{postcard}};
- \node at (-2.25,1.5) {\color{\srccolor}\large Alice's PC};
- \node at (3.15,1.7) {\color{\protocolor}\footnotesize ICMP};
- \node at (2.35,0.55) {\color{\dstcolor}\large catpics.com};
- \node[text width=4cm] at (-.5,-.5) {\color{\msgcolor}\large PING};
- \end{tikzpicture}
- }
- \begin{itemize}
- \item \textbf{Your task: Complete levels 7 and 8}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Security Goals}
- \begin{itemize}
- \item Confidentiality
- \begin{itemize}
- \item Not default, can be accomplished with encryption
- \end{itemize}
- \item Integrity
- \item Availability
- \item Authentication
- \begin{itemize}
- \item \textbf{Not default, can be accomplished with cryptography}
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Attacking Integrity}
- \begin{itemize}
- \item Who can \textbf{modify} the message?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \theinternet
- \node [inner sep=0pt] (alice) at (-7.65,-1.25) {\pgfuseimage{alice}};
- \draw [draw=red,line width=3pt] (desktop) -- (basestation);
- \draw [draw=red,line width=3pt] (basestation) -- (AS1r1);
- \draw [draw=red,line width=3pt] (AS1r1) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (server);
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Attacking Integrity}
- \begin{itemize}
- \item Who can \textbf{modify} the message?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \filldraw [fill=green!20, draw=black, thick] (-5,4) -- (5,4) -- (3,1) -- (-3,1) -- cycle;
- \filldraw [fill=blue!20, draw=black, thick] (-3,.5) -- (3,.5) -- (3.5,-2) -- (-3.5,-2) -- cycle;
- \filldraw [fill=red!20, draw=black, thick] (-7,4) --(-5.5,4) -- (-3.5,1) -- (-7,1.5);
- \filldraw [fill=purple!20, draw=black, thick] (7,4) --(5.5,4) -- (3.5,1) -- (7,0);
- \filldraw [fill=orange!20, draw=black, thick] (-7,1) -- (-3.5,.5) -- (-4,-2) -- (-7,-2);
- \filldraw [fill=yellow!20, draw=black, thick] (7,-.5) -- (3.5,.5) -- (4,-2) -- (7,-2);
- \node [inner sep=0pt] (mobile) at (-5,-1.25) {\pgfuseimage{mobile}};
- \node [inner sep=0pt] (desktop) at (-6.5,-1.25) {\pgfuseimage{desktop}};
- \node [inner sep=0pt] (basestation) at (-4.25,-.25) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS1r1) at (-6,0.25) {\pgfuseimage{mallory}};
- \draw [draw=black,thick] (desktop) -- (basestation);
- \draw [draw=black,thick] (basestation) -- (AS1r1);
- \node [inner sep=0pt] (AS2r1) at (-6.25,2) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS2r3) at (-6.25,3.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS2r2) at (-4.6,1.6) {\pgfuseimage{mallory}};
- \draw [draw=black,thick] (AS2r1) -- (AS1r1);
- \draw [draw=black,thick] (AS2r2) -- (AS2r1);
- \draw [draw=black,thick] (AS2r2) -- (AS2r3);
- \draw [draw=black,thick] (AS2r1) -- (AS2r3);
- \draw [draw=black,thick] (AS2r1) -- ($(-7,1)!(AS2r1)!(-7,0)$);
- \draw [draw=black,thick] (AS2r3) -- ($(-7,1)!(AS2r3)!(-7,0)$);
- \node [inner sep=0pt] (AS3r1) at (-3.5,3.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS3r2) at (-2.5,1.5) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS3r3) at (-1,2.5) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS3r4) at (2,1.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS3r5) at (3,3) {\pgfuseimage{mallory}};
- \draw [draw=black,thick] (AS2r3) -- (AS3r1);
- \draw [draw=black,thick] (AS2r2) -- (AS3r2);
- \draw [draw=black,thick] (AS3r1) -- (AS3r3);
- \draw [draw=black,thick] (AS3r2) -- (AS3r3);
- \draw [draw=black,thick] (AS3r4) -- (AS3r3);
- \draw [draw=black,thick] (AS3r5) -- (AS3r3);
- \draw [draw=black,thick] (AS3r2) -- (AS3r4);
- \node [inner sep=0pt] (AS4r1) at (6.25,3.5) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS4r2) at (4.75,1.25) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS4basestation) at (6.25,1.2) {\pgfuseimage{basestation}};
- \draw [draw=black,thick] (AS4r1) -- (AS4r2);
- \draw [draw=black,thick] (AS4basestation) -- (AS4r2);
- \draw [draw=black,thick] (AS3r5) -- (AS4r1);
- \node [inner sep=0pt] (AS5r1) at (-2.5,0) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS5r2) at (2,0) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS5server) at (-1,-1) {\pgfuseimage{server}};
- \draw [draw=black,thick] (AS2r2) -- (AS5r1);
- \draw [draw=black,thick] (AS3r2) -- (AS5r1);
- \draw [draw=black,thick] (AS3r4) -- (AS5r2);
- \draw [draw=black,thick] (AS5r1) -- (AS5r2);
- \draw [draw=black,thick] (AS5r1) -- (AS5server);
- \node [inner sep=0pt] (AS6r1) at (4.3,-.3) {\pgfuseimage{mallory}};
-
-
- \node [inner sep=0pt] (server) at (6,-1.2) {\pgfuseimage{server}};
- \draw [draw=black,thick] (AS6r1) -- (AS4r2);
- \draw [draw=black,thick] (AS6r1) -- (server);
- \node [inner sep=0pt] (alice) at (-7.65,-1.25) {\pgfuseimage{alice}};
- \draw [draw=red,line width=3pt] (desktop) -- (basestation);
- \draw [draw=red,line width=3pt] (basestation) -- (AS1r1);
- \draw [draw=red,line width=3pt] (AS1r1) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (server);
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Security Goals}
- \begin{itemize}
- \item Confidentiality
- \begin{itemize}
- \item Not default, can be accomplished with encryption
- \end{itemize}
- \item Integrity
- \begin{itemize}
- \item \textbf{Not default, can be accomplished with cryptography}
- \end{itemize}
- \item Availability
- \item Authentication
- \begin{itemize}
- \item Not default, can be accomplished with cryptography
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Attacking Availability}
- \begin{itemize}
- \item Who can \textbf{block} (or drop) the message?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \theinternet
- \node [inner sep=0pt] (alice) at (-7.65,-1.25) {\pgfuseimage{alice}};
- \draw [draw=red,line width=3pt] (desktop) -- (basestation);
- \draw [draw=red,line width=3pt] (basestation) -- (AS1r1);
- \draw [draw=red,line width=3pt] (AS1r1) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (server);
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Attacking Availability}
- \begin{itemize}
- \item Who can \textbf{block} (or drop) the message?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \filldraw [fill=green!20, draw=black, thick] (-5,4) -- (5,4) -- (3,1) -- (-3,1) -- cycle;
- \filldraw [fill=blue!20, draw=black, thick] (-3,.5) -- (3,.5) -- (3.5,-2) -- (-3.5,-2) -- cycle;
- \filldraw [fill=red!20, draw=black, thick] (-7,4) --(-5.5,4) -- (-3.5,1) -- (-7,1.5);
- \filldraw [fill=purple!20, draw=black, thick] (7,4) --(5.5,4) -- (3.5,1) -- (7,0);
- \filldraw [fill=orange!20, draw=black, thick] (-7,1) -- (-3.5,.5) -- (-4,-2) -- (-7,-2);
- \filldraw [fill=yellow!20, draw=black, thick] (7,-.5) -- (3.5,.5) -- (4,-2) -- (7,-2);
- \node [inner sep=0pt] (mobile) at (-5,-1.25) {\pgfuseimage{mobile}};
- \node [inner sep=0pt] (desktop) at (-6.5,-1.25) {\pgfuseimage{desktop}};
- \node [inner sep=0pt] (basestation) at (-4.25,-.25) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS1r1) at (-6,0.25) {\pgfuseimage{mallory}};
- \draw [draw=black,thick] (desktop) -- (basestation);
- \draw [draw=black,thick] (basestation) -- (AS1r1);
- \node [inner sep=0pt] (AS2r1) at (-6.25,2) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS2r3) at (-6.25,3.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS2r2) at (-4.6,1.6) {\pgfuseimage{mallory}};
- \draw [draw=black,thick] (AS2r1) -- (AS1r1);
- \draw [draw=black,thick] (AS2r2) -- (AS2r1);
- \draw [draw=black,thick] (AS2r2) -- (AS2r3);
- \draw [draw=black,thick] (AS2r1) -- (AS2r3);
- \draw [draw=black,thick] (AS2r1) -- ($(-7,1)!(AS2r1)!(-7,0)$);
- \draw [draw=black,thick] (AS2r3) -- ($(-7,1)!(AS2r3)!(-7,0)$);
- \node [inner sep=0pt] (AS3r1) at (-3.5,3.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS3r2) at (-2.5,1.5) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS3r3) at (-1,2.5) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS3r4) at (2,1.5) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS3r5) at (3,3) {\pgfuseimage{mallory}};
- \draw [draw=black,thick] (AS2r3) -- (AS3r1);
- \draw [draw=black,thick] (AS2r2) -- (AS3r2);
- \draw [draw=black,thick] (AS3r1) -- (AS3r3);
- \draw [draw=black,thick] (AS3r2) -- (AS3r3);
- \draw [draw=black,thick] (AS3r4) -- (AS3r3);
- \draw [draw=black,thick] (AS3r5) -- (AS3r3);
- \draw [draw=black,thick] (AS3r2) -- (AS3r4);
- \node [inner sep=0pt] (AS4r1) at (6.25,3.5) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS4r2) at (4.75,1.25) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (AS4basestation) at (6.25,1.2) {\pgfuseimage{basestation}};
- \draw [draw=black,thick] (AS4r1) -- (AS4r2);
- \draw [draw=black,thick] (AS4basestation) -- (AS4r2);
- \draw [draw=black,thick] (AS3r5) -- (AS4r1);
- \node [inner sep=0pt] (AS5r1) at (-2.5,0) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS5r2) at (2,0) {\pgfuseimage{router}};
- \node [inner sep=0pt] (AS5server) at (-1,-1) {\pgfuseimage{server}};
- \draw [draw=black,thick] (AS2r2) -- (AS5r1);
- \draw [draw=black,thick] (AS3r2) -- (AS5r1);
- \draw [draw=black,thick] (AS3r4) -- (AS5r2);
- \draw [draw=black,thick] (AS5r1) -- (AS5r2);
- \draw [draw=black,thick] (AS5r1) -- (AS5server);
- \node [inner sep=0pt] (AS6r1) at (4.3,-.3) {\pgfuseimage{mallory}};
-
-
- \node [inner sep=0pt] (server) at (6,-1.2) {\pgfuseimage{server}};
- \draw [draw=black,thick] (AS6r1) -- (AS4r2);
- \draw [draw=black,thick] (AS6r1) -- (server);
- \node [inner sep=0pt] (alice) at (-7.65,-1.25) {\pgfuseimage{alice}};
- \draw [draw=red,line width=3pt] (desktop) -- (basestation);
- \draw [draw=red,line width=3pt] (basestation) -- (AS1r1);
- \draw [draw=red,line width=3pt] (AS1r1) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS2r1);
- \draw [draw=red,line width=3pt] (AS2r2) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r2);
- \draw [draw=red,line width=3pt] (AS3r3) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS3r5);
- \draw [draw=red,line width=3pt] (AS4r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (AS4r2);
- \draw [draw=red,line width=3pt] (AS6r1) -- (server);
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Another Attack on Availability}
- \begin{itemize}
- \item Denial of Service (DoS)
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (mallory) at (-5,0) {\pgfuseimage{mallory}};
- \node (postcard) {\pgfuseimage{postcard}};
- \node at (-2.25,1.5) {\color{\srccolor}\large Mallory's PC};
- \node at (3.15,1.7) {\color{\protocolor}\footnotesize ICMP};
- \node at (2.35,0.55) {\color{\dstcolor}\large catpics.com};
- \node[text width=4cm] at (-.5,-.5) {\color{\msgcolor}\large PING};
- \node[text width=2.5cm] at (5.5,-2) {\LARGE x1000};
- \end{tikzpicture}
- }
- \begin{itemize}
- \item \textbf{Your task: Complete levels 9, 10, and 11}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Security Goals}
- \begin{itemize}
- \item Confidentiality
- \begin{itemize}
- \item Not default, can be accomplished with encryption
- \end{itemize}
- \item Integrity
- \begin{itemize}
- \item Not default, can be accomplished with cryptography
- \end{itemize}
- \item Availability
- \begin{itemize}
- \item \textbf{Not default, can be partially accomplished with firewalls}
- \end{itemize}
- \item Authentication
- \begin{itemize}
- \item Not default, can be accomplished with cryptography
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Takeaways}
- \begin{itemize}
- \item The Internet was not designed with security in mind
- \item We accomplish \textbf{none} of our security goals by default
- \item We can hack on security sometimes, usually through cryptography
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item Recall public-key encryption...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item Recall public-key encryption...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (alice-share-pub) at (0,0) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item Recall public-key encryption...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-bob-pub) at (-5.5,1.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (bob) -- (alice);
- \node [inner sep=0pt] (bob-share-pub) at (0,0) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve-bob-pub) at (1.5,1.5) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item Recall public-key encryption...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-bob-pub) at (-5.5,1.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (alice) -- (bob);
- \node [inner sep=0pt] (alice-bob-ct) at (0,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (alice-bob-ct-bob-key) at (0.95,0.25) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve-bob-pub) at (1.5,1.5) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item Recall public-key encryption...
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-bob-pub) at (-5.5,1.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-alice-pub) at (5.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \draw [-stealth] (bob) -- (alice);
- \node [inner sep=0pt] (bob-alice-ct) at (0,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (bob-alice-ct-alice-key) at (0.95,0.25) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve) at (0,1.5) {\pgfuseimage{eve}};
- \node [inner sep=0pt] (eve-alice-pub) at (-1.5,1.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (eve-bob-pub) at (1.5,1.5) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item What if our enemy does more than just eavesdrop?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \node [inner sep=0pt] (mallory) at (0,0) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (mallory-pri) at (-0.75,1) {\pgfuseimage{mpri}};
- \node [inner sep=0pt] (mallory-pub) at (0.75,1) {\pgfuseimage{mpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item What if our enemy does more than just eavesdrop?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \node [inner sep=0pt] (mallory) at (0,0) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (mallory-pri) at (-0.75,1) {\pgfuseimage{mpri}};
- \node [inner sep=0pt] (mallory-pub) at (0.75,1) {\pgfuseimage{mpub}};
- \draw [-stealth] (alice) -- (mallory);
- \node [inner sep=0pt] (alice-share-pub) at (-2,0) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (mallory-alice-pub) at (-0.75,2) {\pgfuseimage{apub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item What if our enemy does more than just eavesdrop?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \node [inner sep=0pt] (mallory) at (0,0) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (mallory-pri) at (-0.75,1) {\pgfuseimage{mpri}};
- \node [inner sep=0pt] (mallory-pub) at (0.75,1) {\pgfuseimage{mpub}};
- \draw [-stealth] (alice) -- (mallory);
- \node [inner sep=0pt] (alice-share-pub) at (-2,0) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (mallory-alice-pub) at (-0.75,2) {\pgfuseimage{apub}};
- \draw [-stealth] (mallory) -- (bob);
- \node [inner sep=0pt] (mallory-share-pub) at (2,0) {\pgfuseimage{mpub}};
- \node [text width=4cm] at (2.75,-1) {``from Alice"};
- \node [inner sep=0pt] (bob-mallory-pub) at (5.5,1.5) {\pgfuseimage{mpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item What if our enemy does more than just eavesdrop?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \node [inner sep=0pt] (mallory) at (0,0) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (mallory-pri) at (-0.75,1) {\pgfuseimage{mpri}};
- \node [inner sep=0pt] (mallory-pub) at (0.75,1) {\pgfuseimage{mpub}};
- \draw [-stealth] (bob) -- (mallory);
- \node [inner sep=0pt] (bob-share-pub) at (2,0) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (mallory-alice-pub) at (-0.75,2) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (mallory-bob-pub) at (0.75,2) {\pgfuseimage{bpub}};
- \draw [-stealth] (mallory) -- (alice);
- \node [inner sep=0pt] (mallory-share-pub) at (-2,0) {\pgfuseimage{mpub}};
- \node [text width=4cm] at (-1.25,-1) {``from Bob"};
- \node [inner sep=0pt] (bob-mallory-pub) at (5.5,1.5) {\pgfuseimage{mpub}};
- \node [inner sep=0pt] (alice-mallory-pub) at (-5.5,1.5) {\pgfuseimage{mpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item What if our enemy does more than just eavesdrop?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \node [inner sep=0pt] (mallory) at (0,0) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (mallory-pri) at (-0.75,1) {\pgfuseimage{mpri}};
- \node [inner sep=0pt] (mallory-pub) at (0.75,1) {\pgfuseimage{mpub}};
- \draw [-stealth] (alice) -- (mallory);
- \node [inner sep=0pt] (alice-mallory-ct) at (-2.5,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (alice-mallory-ct-mallory-key) at (-1.55,0.25) {\pgfuseimage{mpub}};
- \node [inner sep=0pt] (mallory-alice-pub) at (-0.75,2) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (mallory-bob-pub) at (0.75,2) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-mallory-pub) at (5.5,1.5) {\pgfuseimage{mpub}};
- \node [inner sep=0pt] (alice-mallory-pub) at (-5.5,1.5) {\pgfuseimage{mpub}};
- \draw [-stealth] (mallory) -- (bob);
- \node [inner sep=0pt] (mallory-bob-ct) at (1.5,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (mallory-bob-ct-mallory-key) at (2.45,0.25) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \end{frame}
- \begin{frame}
- \frametitle{Mallory-in-the-Middle}
- \begin{itemize}
- \item What if our enemy does more than just eavesdrop?
- \end{itemize}
- \centerline{
- \begin{tikzpicture}
- \node [inner sep=0pt] (alice) at (-4,0) {\pgfuseimage{alice}};
- \node [inner sep=0pt] (alice-pub) at (-5.5,0.5) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (alice-pri) at (-5.5,-0.5) {\pgfuseimage{apri}};
- \node [inner sep=0pt] (bob) at (4,0) {\pgfuseimage{bob}};
- \node [inner sep=0pt] (bob-pub) at (5.5,0.5) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-pri) at (5.5,-0.5) {\pgfuseimage{bpri}};
- \node [inner sep=0pt] (mallory) at (0,0) {\pgfuseimage{mallory}};
- \node [inner sep=0pt] (mallory-pri) at (-0.75,1) {\pgfuseimage{mpri}};
- \node [inner sep=0pt] (mallory-pub) at (0.75,1) {\pgfuseimage{mpub}};
- \draw [-stealth] (alice) -- (mallory);
- \node [inner sep=0pt] (alice-mallory-ct) at (-2.5,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (alice-mallory-ct-mallory-key) at (-1.55,0.25) {\pgfuseimage{mpub}};
- \node [inner sep=0pt] (mallory-alice-pub) at (-0.75,2) {\pgfuseimage{apub}};
- \node [inner sep=0pt] (mallory-bob-pub) at (0.75,2) {\pgfuseimage{bpub}};
- \node [inner sep=0pt] (bob-mallory-pub) at (5.5,1.5) {\pgfuseimage{mpub}};
- \node [inner sep=0pt] (alice-mallory-pub) at (-5.5,1.5) {\pgfuseimage{mpub}};
- \draw [-stealth] (mallory) -- (bob);
- \node [inner sep=0pt] (mallory-bob-ct) at (1.5,0) {\pgfuseimage{ciphertext}};
- \node [inner sep=0pt] (mallory-bob-ct-mallory-key) at (2.45,0.25) {\pgfuseimage{bpub}};
- \end{tikzpicture}
- }
- \begin{itemize}
- \item \textbf{Your task: Complete level 12}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Wrapping Up Cryptography}
- \begin{itemize}
- \item Cryptography lets us do more than just hide things
- \begin{itemize}
- \item We can ensure integrity of data (has it changed?)
- \item We can ensure authenticity of data (who wrote it?)
- \end{itemize}
- \item We won't talk about it more than that right now
- \item But it's very cool!
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Goals}
- \begin{itemize}
- \item \sout{\textit{\textbf{Define}} the foundations of computer networks}
- \item \sout{\textit{\textbf{Define}} security goals}
- \item \sout{\textit{\textbf{Explore}} whether these security goals are accomplished on the Internet}
- \item \sout{\textit{\textbf{Execute}} attacks against a (simulated) network}
- \item \textit{\textbf{Identify}} real-world implications and defenses
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Real-World Implications}
- \begin{itemize}
- \item These simulated attacks have real-world implications
- \begin{itemize}
- \item The Internet was not designed with security in mind
- \item Security had to be hacked on later
- \item Many parts of the Internet are still insecure by default
- \item Considering security during design can help you later
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Real-World Implications}
- \begin{itemize}
- \item But things are getting better!
- \begin{itemize}
- \item Most web traffic is encrypted now with HTTPS
- \begin{itemize}
- \item (and integrity and authentication are guaranteed)
- \end{itemize}
- \item More instant messengers are using encryption
- \end{itemize}
- \item There's still room for improvement
- \begin{itemize}
- \item Protecting metadata:
- \begin{itemize}
- \item Which sites you visit
- \item Which people you talk to
- \end{itemize}
- \item Censorship
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Real-World Things You Can Do}
- \begin{itemize}
- \item Encrypt your web traffic
- \begin{itemize}
- \item You can set your web browser settings to use HTTPS everywhere\footnote{\url{https://www.eff.org/deeplinks/2021/09/https-actually-everywhere}}
- \end{itemize}
- \item Encrypt your private messages
- \begin{itemize}
- \item Signal\footnote{\url{https://signal.org/}} is easy to use and offers strong encryption
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Real-World Things You Can Do}
- \begin{itemize}
- \item Hide which sites you visit and circumvent censorship
- \begin{itemize}
- \item Tor\footnote{\url{https://torproject.org/}} is better for privacy and anonymity for VPNs
- \item Run the Snowflake\footnote{\url{https://snowflake.torproject.org/}} browser extension to help other people use Tor
- \end{itemize}
- \item Study cryptography, security, and/or privacy and help fix things
- \begin{itemize}
- \item Check out CrySP\footnote{\url{https://crysp.org/}} for the work we do here at UW
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Goals}
- \begin{itemize}
- \item \sout{\textit{\textbf{Define}} the foundations of computer networks}
- \item \sout{\textit{\textbf{Define}} security goals}
- \item \sout{\textit{\textbf{Explore}} whether these security goals are accomplished on the Internet}
- \item \sout{\textit{\textbf{Execute}} attacks against a (simulated) network}
- \item \sout{\textit{\textbf{Identify}} real-world implications and defenses}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Closing}
- \begin{itemize}
- \item Congratulations! You have learned some things about networking, the insecurity of the Internet, and hacking
- \item General advice:
- \begin{itemize}
- \item Privacy matters
- \item Don't trust corporations
- \item Please work on making the world better, not worse
- \end{itemize}
- \item This talk is available at \footnotesize \url{https://vvecna.cs.uwaterloo.ca/2024-uw-sparcs-netsim.pdf}
- \end{itemize}
- \end{frame}
- \end{document}
|