author | Christian Urban <christian dot urban at kcl dot ac dot uk> |
Wed, 29 Oct 2014 13:08:11 +0000 | |
changeset 263 | 8a42736cce27 |
parent 249 | 31a749eba8c1 |
child 264 | 0079db1a1c9d |
permissions | -rw-r--r-- |
245
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
1 |
\documentclass{article} |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
2 |
\usepackage{../style} |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
3 |
\usepackage{../langs} |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
4 |
\usetikzlibrary{patterns,decorations.pathreplacing} |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
5 |
|
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
6 |
\begin{document} |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
7 |
|
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
8 |
\section*{Handout 5 (Protocols)} |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
9 |
|
263
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
10 |
Protocols are the computer science equivalent to fractals and |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
11 |
the Mandelbrot set in mathematics. With the latter you have a |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
12 |
simple formula which you just iterate and then you test |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
13 |
whether a point is inside or outside a region, and voila |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
14 |
something magically |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
15 |
happened.\footnote{\url{http://en.wikipedia.org/wiki/Fractal}, |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
16 |
\url{http://en.wikipedia.org/wiki/Mandelbrot_set}} Protocols |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
17 |
are similar: they are simple exchanges of messages, but in the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
18 |
end something ``magical'' can happen---for example a secret |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
19 |
channel has been established or two entities have |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
20 |
authenticated themselves to each other. The problem with magic |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
21 |
is of course it is poorly understood and even experts often |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
22 |
got, and get, it wrong with protocols. |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
23 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
24 |
To have an idea what kind of protocols we are interested, let |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
25 |
us look at a few examples. One example are (wireless) key |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
26 |
fobs which operate the central locking system and the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
27 |
ignition in a car. |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
28 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
29 |
\begin{center} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
30 |
\includegraphics[scale=0.075]{../pics/keyfob.jpg} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
31 |
\quad |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
32 |
\includegraphics[scale=0.2025]{../pics/startstop.jpg} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
33 |
\end{center} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
34 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
35 |
\noindent The point of these key fobs is that everything is |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
36 |
done over the ``air''---there is no physical connection |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
37 |
between the key, doors and engine. So we must achieve security |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
38 |
by exchanging certain messages between the key fob on one side |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
39 |
and doors and engine on the other. Clearly what we like to |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
40 |
achieve is that I can get into my car and start it, but that |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
41 |
thieves are kept out. The problem is that everybody can |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
42 |
``overhear'' or skim the exchange of messages between the key |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
43 |
fob and car. In this scenario the simplest attack you need to |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
44 |
defend against is a person-in-the-middle attack. Imagine you |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
45 |
park your car in front of a supermarket. One thief follows you |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
46 |
with a strong transmitter. A second thief ``listens'' to the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
47 |
signal from the car and wirelessly transmits it to the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
48 |
``colleague'' who followed you and who silently enquires about |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
49 |
the answer from the key fob. The answer is then send back to |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
50 |
the thief at the car, which then dutifully opens and possibly |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
51 |
starts. No need to steal your key anymore. |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
52 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
53 |
But there are many more such protocols we like to consider. |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
54 |
Other examples are wifi---you might sit at a Starbucks and |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
55 |
talk wirelessly to the free access point there and from there |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
56 |
talk with your bank, for example. Also even if your have to |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
57 |
touch your Oyster card at the reader each time you enter and |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
58 |
exit the Tube, it actually operates wirelessly and with |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
59 |
appropriate equipment over some quite large distance. But |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
60 |
there are many many more examples (Bitcoins, mobile |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
61 |
phones,\ldots). The common characteristics of the protocols we |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
62 |
are interested in here is that an adversary or attacker is |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
63 |
assumed to be in complete control over the network or channel |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
64 |
over which you exchanging messages. An attacker can install a |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
65 |
packet sniffer on a network, inject packets, modify packets, |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
66 |
replay old messages, or fake pretty much everything. In this |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
67 |
hostile environment, the purpose of protocols (that is |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
68 |
exchange of messages) is to achieve some security goal, for |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
69 |
example only allow the owner of the car in but everybody else |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
70 |
should be kept out. |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
71 |
|
245
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
72 |
The protocols we are interested here are generic descriptions |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
73 |
of how to exchange messages in order to achieve a goal, be it |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
74 |
establishing a mutual secure connection or being able to |
263
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
75 |
authenticate to a system. Unlike the distant past where for |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
76 |
example we had to meet a person in order to authenticate him |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
77 |
or her (via a passport for example), the problem we are facing |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
78 |
on the Internet is that we cannot easily be sure who we are |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
79 |
``talking'' to. The obvious reason is that only some electrons |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
80 |
arrive at our computer; we do not see the person, or computer, |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
81 |
behind the incoming electrons (messages). |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
82 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
83 |
To start, let us look at one of the simplest protocols that |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
84 |
are part of the TCP protocol (which underlies the Internet). |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
85 |
This protocol does not do anything security relevant, it just |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
86 |
establishes a ``hello'' from a client to a server which the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
87 |
server answers with ``I heard you'' and the client answers |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
88 |
in turn with something like ``thanks''. This protocol |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
89 |
is often called a \emph{three-way handshake}. Graphically it |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
90 |
can be illustrated as follows |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
91 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
92 |
\begin{center} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
93 |
\includegraphics[scale=0.5]{../pics/handshake.png} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
94 |
\end{center} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
95 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
96 |
\noindent On the left-hand side is a client, say Alice, on the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
97 |
right-hand side is a server, say. Time is running from top to |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
98 |
bottom. Alice initial SYN message needs some time to travel to |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
99 |
the server. The server answers with SYN-ACK, which will |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
100 |
require some time to arrive at Alice. Her answer ACK will |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
101 |
again take some time to arrive at the server. After the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
102 |
messages are exchanged Alice and the server simply have |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
103 |
established a channel to communicate over. Alice does |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
104 |
not know whether she is really talking to the server (somebody |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
105 |
else on the network might have intercepted her message |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
106 |
and replied in place of the server). Similarly, the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
107 |
server has no idea who it is talking to. That this can be |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
108 |
established depends on what is exchanged next and is the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
109 |
point of the protocols we want to study in more detail. |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
110 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
111 |
Before we start in earnest, we need to fix a more |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
112 |
convenient notation for protocols. Drawing pictures like |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
113 |
the one above would be awkward in the long-run. The |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
114 |
notation already abstracts away from a few details we are |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
115 |
not interested in: for example the time the messages |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
116 |
need to travel between endpoints. What we are interested |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
117 |
in is in which order the messages are sent. For the SYN-ACK |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
118 |
protocol we will therefore use the notation |
245
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
119 |
|
263
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
120 |
\begin{center} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
121 |
\begin{tabular}{l@{\hspace{2mm}}l} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
122 |
$A \to S$: & $SYN$\\ |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
123 |
$S \to A$: & $SYN\_ACK$\\ |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
124 |
$A \to S$: & $ACK$\\ |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
125 |
\end{tabular} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
126 |
\end{center} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
127 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
128 |
\noindent The left-hand side specifies who is the sender and |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
129 |
who is the receiver of the message. On the right of the colon |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
130 |
is the message that is send. The order from top to down |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
131 |
specifies in which order the messages are sent. We also |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
132 |
have the convention that messages like above $SYN$ are send |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
133 |
in clear-text over the network. If we want that a message is |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
134 |
encrypted, then we use the notation |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
135 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
136 |
\[ |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
137 |
\{msg\}_{K_{AB}} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
138 |
\] |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
139 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
140 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
141 |
\noindent for messages. The curly braces indicate a kind of |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
142 |
envelope which can only be opened if you know the key $K_{AB}$ |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
143 |
with which the message has been encrypted. We always assume |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
144 |
that an attacker, say Eve, cannot get the content of the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
145 |
message, unless she is also in the possession of the key. We |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
146 |
explicitly exclude in our study that the encryption can be |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
147 |
broken.\footnote{\ldots{}which of course is what a good |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
148 |
protocol designer needs to ensure and more often than not |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
149 |
protocols are broken. For example Oyster cards contain a very |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
150 |
weak encryption mechanism which has been attacked.} It is also |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
151 |
possible that an encrypted message contains several parts. In |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
152 |
this case we would write something like |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
153 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
154 |
\[ |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
155 |
\{msg_1, msg_2\}_{K_{AB}} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
156 |
\] |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
157 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
158 |
\noindent But again Eve would not be able to know |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
159 |
this unless she also has the key. We also allow the |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
160 |
possibility that a message is encrypted twice under |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
161 |
different keys. In this case we write |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
162 |
|
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
163 |
\[ |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
164 |
\{\{msg\}_{K_{AB}}\}_{K_{BC}} |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
165 |
\] |
245
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
166 |
|
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
167 |
|
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
168 |
|
263
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
169 |
Note, however, |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
170 |
while an attacker cannot obtain the content of the message |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
171 |
without the key, this encrypted message can be observed |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
172 |
and be recorded and then replayed at another time. |
8a42736cce27
updated 5th handout
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
249
diff
changeset
|
173 |
|
245
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
174 |
Keyfobs - protocol |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
175 |
|
249
31a749eba8c1
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
245
diff
changeset
|
176 |
{\small |
31a749eba8c1
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
245
diff
changeset
|
177 |
\url{http://www.cs.ru.nl/~rverdult/Gone_in_360_Seconds_Hijacking_with_Hitag2-USENIX_2012.pdf}} |
31a749eba8c1
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
245
diff
changeset
|
178 |
|
245
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
179 |
attack such protocols because they use weak ciphers (Oyster |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
180 |
card) |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
181 |
|
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
182 |
\end{document} |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
183 |
|
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
184 |
%%% Local Variables: |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
185 |
%%% mode: latex |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
186 |
%%% TeX-master: t |
630a3dd1efda
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
187 |
%%% End: |