Skip to content

Commit 8640369

Browse files
authored
Merge pull request #145 from dbosk/security-analysis
Security analysis
2 parents 77eeb95 + 31cab4b commit 8640369

11 files changed

+191
-301
lines changed
File renamed without changes.

paper/.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
base-identity-cause-adversary.tikz
2-
base-identity-location-adversary.tikz
1+
base-adversary.tikz
32

43
Jacobs-method.jpg
54
anon.bib

paper/Makefile

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,20 @@ SRC+= contents.tex
88
SRC+= abstract.tex
99
SRC+= intro.tex
1010
SRC+= system-model.tex
11+
SRC+= related-work.tex
12+
SRC+= definitions.tex
1113
SRC+= protest-model.tex
1214
SRC+= verifiability-properties.tex
1315
SRC+= privacy-properties.tex
14-
SRC+= related-work.tex
16+
SRC+= adversary-model.tex
1517
SRC+= building-blocks.tex
1618
SRC+= ZKPK.tex
1719
SRC+= distance-bounding.tex anon-cred.tex DB-anon-cred.tex
1820
SRC+= location-proofs.tex timestamp.tex
1921
SRC+= protocol.tex
2022
SRC+= security-analysis.tex
21-
SRC+= verifiability-adversary-model.tex verifiability-analysis.tex
22-
SRC+= privacy-adversary-model.tex privacy-analysis.tex
23+
SRC+= verifiability-analysis.tex
24+
SRC+= privacy-analysis.tex
2325
SRC+= analysis-performance.tex
2426
SRC+= discussion.tex
2527
SRC+= conclusions.tex
@@ -30,11 +32,8 @@ paper.pdf: ${SRC}
3032
FIGS+= proofshare.tikz
3133
proofshare.tikz: ../fig/proofshare.tikz
3234

33-
FIGS+= base-identity-cause-adversary.tikz
34-
base-identity-cause-adversary.tikz: ../fig/base-identity-cause-adversary.tikz
35-
36-
FIGS+= base-identity-location-adversary.tikz
37-
base-identity-location-adversary.tikz: ../fig/base-identity-location-adversary.tikz
35+
FIGS+= base-adversary.tikz
36+
base-adversary.tikz: ../fig/base-adversary.tikz
3837

3938
${FIGS}:
4039
${LN} $< $@

paper/adversary-model.tex

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
\subsection{Adversary model}%
2+
\label{formal-adversary-model}
3+
4+
We now provide a concretely defined system and adversary model.
5+
We give three definitions, each defines an adversary with increasingly stronger
6+
capabilities (\ie more auxiliary information).
7+
8+
There are three players: the protest participant (with identity) \(P\), a
9+
witness (with identity) \(W\) and the storage \(S\).
10+
The adversary \(A\) controls \(W\) and \(S\).
11+
This is illustrated in \cref{fig:base-adversary}.
12+
13+
\begin{figure}
14+
\centering
15+
\includegraphics{base-adversary.tikz}
16+
\caption{\label{fig:base-adversary}%
17+
An overview of the base adversary model.
18+
The protester with real identity \(P\) and witness with real identity \(W\)
19+
communicate.
20+
They exchange protocol data, \(d_{P,W}(\cid, P)\), and record the time it
21+
happened, \(t_{P,W}\).
22+
The protester submits \(f(d_{P,W}(\cid, P))\), for some function \(f\), to
23+
the storage \(S\), who records the time it happened, \(t_{P,S}\).
24+
Both the witness \(W\) and storage \(S\) are controlled by the adversary
25+
\(A\).
26+
}
27+
\end{figure}
28+
29+
\begin{definition}[Base adversary]%
30+
\label{base-adversary}
31+
The protester \(P\) and the witness \(W\) communicate.
32+
Each learns only the protocol data \(d_{P,W}(\cid, P)\) and when the
33+
communication occurred \(t_{P,W}\)\footnote{%
34+
Specifically, they do \emph{not} learn the real identities \(P\) and \(W\)
35+
directly from the communication medium, only if those appear in the data
36+
\(d_{P,W}(\cid, P)\).
37+
}.
38+
The protester \(P\) communicates with \(S\), in which \(S\) only learns
39+
\(f(d_{P,W}(\cid, P))\), for some function \(f\), and the time of the
40+
communication (\(t_{P,S}\)) but not the real identities.
41+
The adversary controls \(W\) and \(S\) and thus learns everything that they
42+
do, but can additionally correlate what he learns from \(W\) and \(S\).
43+
\end{definition}
44+
45+
The base adversary (\cref{base-adversary}) represents an adversary that has no
46+
access to auxiliary information, \eg inferences that can be done from the
47+
communication layer, which means that it has only the protocol data at its
48+
disposal.
49+
50+
We find \cref{base-adversary} suitable when the protester and witness both move
51+
in a crowd and there is no way for the witness to decide exactly with whom he
52+
or she communicates with.
53+
However, in some situations this might not be the case: \Eg if the crowd is not
54+
dense the witness will likely see the face of the protester.
55+
If the witness is controlled by the adversary, then it is likely that the
56+
witness can capture a picture of the face, which can be turned into an identity
57+
through face recognition.
58+
There are various such scenarios leading to the adversary learning the
59+
protester's identity, we capture this by the following definition.
60+
61+
\begin{definition}[Deanonymizing-witness adversary]%
62+
\label{deanonymizing-witness-adversary}
63+
The situation is the same as in \cref{base-adversary}, but now the witness
64+
\(W\) learns the protester \(P\)'s identity from an auxiliary channel.
65+
(\(P\) will also learn \(W\)'s identity.)
66+
However, \(S\) still does not learn \(P\)'s identity.
67+
\end{definition}
68+
69+
\daniel{The deanonymizing witness captures: a1, a4, a5. (See Simon's notes on
70+
Slack.)}
71+
72+
One reason to not allow \(S\) to learn \(P\)'s identity is that for this communication \(P\) has options, such as Tor~\cite{Tor}, for anonymous communication.
73+
However, given a strong enough adversary, such anonymous communication might not be possible.
74+
We capture such a strong adversary in the following definition.
75+
76+
\begin{definition}[Deanonymizing adversary]%
77+
\label{deanonymizing-adversary}
78+
Everything is the same as in \cref{deanonymizing-witness-adversary}, except
79+
that now \(S\) also learns \(P\)'s identity from an auxiliary channel.
80+
\end{definition}
81+
82+
\daniel{The deanonymizing adversary additionally captures: a2, a3 (\ie a1, a2,
83+
a3, a4, a5).}

paper/definitions.tex

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@ \section{Definitions}
22
We first present an abstraction of a protest and how to count the
33
participation (\cref{protest-model}). Then, we formulate the desired
44
verifiability (\cref{verifiability-properties}) and privacy properties
5-
(\cref{privacy-properties}) \sonja{add? as well as the adversary model (\cref{formal-adversary-model})}.
5+
(\cref{privacy-properties}).
6+
Finally, we define a more concrete adversary model
7+
(\cref{formal-adversary-model}).
68

79
\include*{protest-model}
810
\include*{verifiability-properties}
911
\include*{privacy-properties}
12+
\include*{adversary-model}
1013

1114

1215
% In \cref{building-blocks}, we give the relevant background on the building blocks of
13-
%our solution.
16+
%our solution.

paper/privacy-adversary-model.tex

Lines changed: 0 additions & 124 deletions
This file was deleted.

0 commit comments

Comments
 (0)