The Loopix Anonymity System - 2017
The Loopix Anonymity System - 2017
1
forming (n − 1) attacks [38]. 2 Model and Goals
Loopix provides anonymity for private email or instant
messaging applications. For this reason, we adopt and In this section, we first outline the design of Loopix.
leverage an architecture by which users of Loopix are Then we discuss the security goals and types of adver-
associated with service providers that mediate their ac- saries which Loopix guarantees users’ privacy against.
cess to a stratified anonymity system. Such providers
are only semi-trusted2 , and are largely present to ensure 2.1 High-level overview
messages sent to off-line users can be retrieved at a later
time, maintain accounting, and enforce rate limiting. To Loopix is a mix network [7] based architecture allow-
provide maximal flexibility, Loopix only guarantees un- ing users, distinguished as senders and receivers, to route
reliable datagram transmission and is carried over UDP. messages anonymously to each other using an infrastruc-
Reliable transport is left to the application as an end-to- ture of mix servers, acting as relays. These mix servers
end concern [36]. are arranged in a stratified topology [20] to ensure both
horizontal scalability and a sparse topology that concen-
Contributions. In this paper we make the following con- trates traffic on fewer links [11]. Each user is allowed to
tributions: access the Loopix network through their association with
• We introduce Loopix, a new message-based anony- a provider, a special type of mix server. Each provider
mous communication system. It allows for a tun- has a long-term relationship with its users and may au-
able trade-off between latency, genuine and cover thenticate them, potentially bill them or discontinue their
traffic volume, to foil traffic analysis. access to the network. The provider not only serves as an
• As a building block of Loopix we present the Pois- access point, but also stores users’ incoming messages.
son Mix, and provide novel theorems about its prop- These messages can be retrieved at any time, hence users
erties and ways to analyze it as a pool-mix. Pois- do not have to worry about lost messages when they are
son mixing does not require synchronized rounds, off-line. In contrast to previous anonymous messaging
can be used for low-latency anonymous communi- designs [42, 10], Loopix does not operate in determinis-
cation, and provides resistance to traffic analysis. tic rounds, but runs as a continuous system. Additionally,
• We analyze the Loopix system against a strong, Loopix uses the Poisson mixing technique that is based
global passive adversary. Moreover, we show that on the independent delaying of messages, which makes
Loopix provides resistance against active attacks, the timings of packets unlinkable. This approach does
such as trickling and flooding. We also present a not require the synchronization of client-provider rounds
methodology to estimate empirically the security and does not degrade the usability of the system for tem-
provided by particular mix topologies and other se- porarily off-line clients. Moreover, Loopix introduces
curity parameters. different types of cover traffic to foil de-anonymization
• We provide a full implementation of Loopix and attacks.
measure its performance and scalability in a cloud
hosting environment.
2.2 Threat Model
Loopix assumes sophisticated, strategic, and well-
Outline. The remainder of this paper is organized as resourced adversaries concerned with linking users to
follows. In Section 2, we present a brief, high-level their communications and/or their communication part-
overview of Loopix and define the security goals and ner(s). As such, Loopix considers adversaries with three
threat model. In Section 3, we detail the design of Loopix distinct capabilities, that are described next.
and describe Poisson mixes, upon which Loopix is based Firstly, a global passive adversary (GPA) is able to ob-
and introduce their properties. In Section 4, we present serve all network traffic between users and providers and
the analysis of Loopix security properties and discuss the between mix servers. This adversary is able to observe
resistance against traffic analysis and active attacks. In the entire network infrastructure, launch network attacks
Section 5, we discuss the implementation of Loopix sys- such as BGP re-routing [3] or conduct indirect observa-
tem and evaluate the performance. In Section 6, we sur- tions such as load monitoring and off-path attacks [24].
vey related works and compare Loopix with recent de- Thus, the GPA is an abstraction that represents many dif-
signs of anonymity systems. In Section 7, we discuss ferent classes of adversaries able to observe some or all
remaining open problems and possible future work. Fi- information between network nodes.
nally, we conclude in Section 8. Secondly, the adversary has the ability to observe all
of the internal state of some corrupted or malicious mix
2 Details about the threat model are in Section 2.3 relays. The adversary may inject, drop, or delay mes-
2
sages. She also has access to, and operates, using the online honest senders S1 , S2 and honest receivers R1 , R2
secrets of those compromised parties. Furthermore, such of the adversary’s choice.
corrupted nodes may deviate from the protocol, or inject Loopix provides strong sender-receiver third-party
malformed messages. A variation of this ability is where anonymity against the GPA even in collaboration with
the mix relay is also the provider node meaning that corrupt mix nodes. We refer to Section 4.1.3 for our
the adversary additionally knows the mapping between analysis of the unlinkability provided by individual mix
clients and their mailboxes. We say that the provider is nodes, to Section 4.3 for a quantitative analysis of the
corrupt, but is restricted to being honest but curious. In sender-receiver third-party anonymity of Loopix against
Loopix, we assume that a fraction of mix/provider relays the GPA and honest-but-curious mix nodes and to Sec-
can be corrupted or are operated by the adversary. tion 4.2 for our discussion on active attacks.
Finally, the adversary has the ability to participate in
Sender online unobservability. Whether or not senders
the Loopix system as a compromised user, who may de-
are communicating should be hidden from an unautho-
viate from the protocol. We assume that the adversary
rized party. We define sender online unobservability as
can control a limited number of such users—excluding
the inability of an adversary to decide whether a specific
Sybil attacks [21] from the Loopix threat model—since
sender S is communicating with any receiver {S →} or
we assume that honest providers are able to ensure that at
not {S 6→}, for any concurrently online honest sender S
least a large fraction of their users base are genuine users
of the adversary’s choice.
faithfully following all Loopix protocols. Thus, the frac-
Loopix provides strong sender online unobservability
tion of users controlled by the adversary may be capped
against the GPA in collaboration with an insider and even
to a small known fraction of the user base. We further as-
against a corrupt provider. We refer to Section 4.1.2 for
sume that the adversary is able to control a compromised
our analysis of the latter.
user in a conversation with an honest user, and become a
Note, that sender online unobservability directly im-
conversation insider.
plies the notion of sender anonymity where the adver-
An adversary is always assumed to have the GPA ca-
sary tries to distinguish between two possible senders
pability, but other capabilities depend on the adversary.
communicating with a target receiver. Formally, {S1 →
We evaluate the security of Loopix in reference to these
R, S2 6→} or {S1 6→, S2 → R} for any concurrently online
capabilities.
honest senders S1 and S2 and any receiver of the adver-
sary’s choice. Loopix provides sender anonymity even
2.3 Security Goals in light of a conversation insider, i.e., against a corrupt
receiver.
The Loopix system aims to provide the following secu- Receiver unobservability. Whether or not receivers are
rity properties against both passive and active attacks— part of a communication should be hidden from an unau-
including end-to-end correlation and (n − 1) attacks. thorized party. We define receiver unobservability as
These properties are inspired by the formal definitions the inability of an adversary to decide whether there is
from Anoa [2]. All security notions assume a strong ad- a communication from any sender to a specific receiver
versary with information on all users, with up to one bit R {→ R} or not {6→ R}, for any online or offline honest
of uncertainty. In the following we write {S → R} to de- receiver R of the adversary’s choice.
note a communication from the sender S to the receiver
Loopix provides strong receiver unobservability
R, {S →} to denote that there is a communication from S
against the GPA in collaboration with an insider, under
to any receiver and {S 6→} to denote that there is no com-
the condition of an honest provider. We show in Sec-
munication from S to any receiver (S may still send cover
tion 4.1.2 how an honest provider assists the receiver in
messages). Analogously, we write {→ R} to denote that
hiding received messages from third party observers.
there is a communication from any sender to the receiver
Note, that receiver unobservability directly implies the
R and {6→ R} to denote that there is no communication
notion of receiver anonymity where the adversary tries to
from any sender to R (however, R may still receive cover
distinguish between two possible receivers in communi-
messages).
cation with a target sender. Formally, {S → R1 , 6→ R2 }
Sender-Receiver Third-party Unlinkability. The or {6→ R1 , S → R2 } for any concurrently online honest
senders and receivers should be unlinkable by any unau- sender S and any two honest receivers R1 , R2 of the ad-
thorized party. Thus, we consider an adversary that versary’s choice. 3
wants to infer whether two users are communicating. We 3 If the receiver’s provider is honest, Loopix provides a form of
define sender-receiver third party unlinkability as the in- receiver anonymity even in light of a conversation insider: a corrupt
ability of the adversary to distinguish whether {S1 → R1 , sender that only knows the pseudonym of a receiver cannot learn which
S2 → R2 } or {S1 → R2 , S2 → R1 } for any concurrently honest client of a provider is behind the pseudonym.
3
Users’ loop cover traffic
Symbol Description generates traffic
in two directions
N Mix nodes
P Providers
λL Loop traffic rate (user)
λD Drop cover traffic rate (user)
Storage Storage
λP Payload traffic rate (user)
l Path length (user)
µ The mean delay at mix Mi
λM Loop traffic rate (mix) Storage Storage
Providers offer Mixes can detect
Table 1: Summary of notation offline storage n-1 attacks
when user is offline
4
Event i − 1 Event i + 1
receiver’s provider and finally the receiver. For each of
those hops the sender samples a delay from an exponen-
Pool i − 1 Pool i Pool i + 1
tial distribution with parameter µ, and includes it in the
routing information to the corresponding relay. Event i Event i + 2
5
Aggregating Poisson processes results in a Poisson pro- 4 Analysis of Loopix security properties
cess with the sum of their rates, therefore we may model
the streams of traffic received by a Poisson mix as a Pois- In this section we present the analytical and experimental
son process. It is the superposition of traffic streams from evaluation of the security of Loopix and argue its resis-
multiple clients. It has a rate λn depending on the number tance to traffic analysis and active attacks.
of clients and the number of mix nodes.
Since this input process is a Poisson process and each 4.1 Passive attack resistance
message is independently delayed using an exponential
distribution with parameter µ, the Poisson Mix may be 4.1.1 Message Indistinguishability
modeled as an M/M/∞ queuing system – for we have Loopix relies on the Sphinx packet format [15] to provide
a number of well known theorems [4]. We know that bitwise unlinkability of incoming and outgoing messages
output stream of messages is also a Poisson process with from a mix server; it does not leak information about the
the parameter λn as the the input process. We can also number of hops a single message has traversed or the
derive the distribution of the number of messages within total path length; and it is resistant to tagging attacks.
the Poisson Mix [33]: For Loopix, we make minor modifications to Sphinx
to allow auxiliary meta-information to be passed to dif-
Lemma 1. The mean number of messages in the Poisson ferent mix servers. Since all the auxiliary information is
Mix with input Poisson process Pois(λ ) and exponential encapsulated into the header of the packet in the same
delay parameter µ at a steady state follows the Poisson manner as any meta-information was encapsulated in the
distribution Pois (λ /µ). Sphinx design, the security properties are unchanged. An
external adversary and a corrupt intermediate mix node
or a corrupt provider will not be able to distinguish real
Those characteristics give the Poisson Mix its name. messages from cover messages of any type. Thus, the
This allows us to calculate the mean number of messages GPA observing the network cannot infer any information
perfectly mixed together at any time, as well as the prob- about the type of the transmitted messages, and interme-
ability that the number of messages falls below or above diate nodes cannot distinguish real messages, drop cover
certain thresholds. messages or loops of clients and other nodes from each
The Poisson Mix, under the assumption that it approx- other. Providers are able to distinguish drop cover mes-
imates an M/M/∞ queue is a stochastic variant of a pool sage destined for them from other messages, since they
mixing strategy [39]. Conceptually, each message send- learn the drop flag attached in the header of the packet.
ing or receiving leads to a pool within which messages Each mix node learns the delay chosen by clients for this
are indistinguishable due to the memoryless property of particular mix node, but all delays are chosen indepen-
the exponential delay distribution. dently from each other.
6
l additional messages arrive at the mix before any mes-
sage leaves, and the pool now mixes k + l messages. The
adversary then observes exactly one outgoing message
Inbox I m and tries to correlate it with any of the n + l messages
Inbox II which she has observed arriving at the mix node.
The following lemma is based on the memoryless
Inbox III
property of the Poisson mix. It provides an upper bound
on the probability that the adversary A correctly links the
outgoing message m with one of the previously observed
Figure 3: Provider stores messages destined for assigned arrivals in observation on,k,l .
clients in a particular inbox. When users pull messages from
the mix node, the provider generates cover messages to guar- Theorem 1. Let m1 be any of the initial n messages in
antee that the adversary cannot learn how many messages are the mix node in scenario on,k,l , and let m2 be any of the l
in the users inbox. The messages from the inbox and dummies messages that arrive later. Then
are indistinguishable. k
Pr(m = m1 ) = , (1)
n(l + k)
to the client. If the number of messages in client’s inbox 1
Pr(m = m2 ) = . (2)
is smaller than a constant threshold, the provider gen- l +k
erates additional dummy messages. Thus, the adversary Note that the last l messages that arrived at the mix
observing the client-provider connection, as presented on node have equal probabilities of being the outgoing mes-
Figure 3, cannot learn how many messages were in the sage m, independently of their arrival times. Thus, the
user’s inbox. Note that, as long as the providers are hon- arrival and departure times of the messages cannot be
est, the protection and receiver unobservability is perfect correlated, and the adversary learns no additional infor-
and the adversary cannot learn any information about the 1
mation by observing the timings. Note that l+k is an
inbox and outbox of any client. upper bound on the probability that the adversary A cor-
If the provider is dishonest, then they are still uncer- rectly links the outgoing message to an incoming mes-
tain whether a received message is genuine or the result sage. Thus, continuous observation of a Poisson mix
of a client loop – something that cannot be determined leaks no additional information other than the number
from their bit pattern alone. However, further statistical messages present in the mix. We leverage those results
attacks may be possible, and we leave quantifying exact from about a single Poisson Mix to simulate the informa-
security against this threat model as future work. tion propagated withing a the whole network observed by
the adversary (c.f. Section 4.3).
We quantify the anonymity of messages in the mix
node empirically, using an information theory based met-
4.1.3 Poisson mix security ric introduced in [37, 17]. We record the traffic flow
for a single mix node and compute the distribution of
We first show that a single honest Poisson mix provides a probabilities that the outgoing message is the adversary’s
measure of sender-receiver unlinkability. From the prop- target message. Given this distribution we compute the
erties of Poisson mix, we know that the number of mes- value of Shannon entropy (see Appendix A), a measure
sages in the mix server at a steady state depends on the of unlinkability of incoming to outgoing messages. We
ratio of the incoming traffic (λ ) and the delay parameter compute this using the simpy package in Python. All
(µ) (from Section 3.3). The number of messages in each data points are averaged over 50 simulations.
mix node at any time will on average be λµ . However, an Figure 4 depicts the change of entropy against an in-
adversary observing the messages flowing into and out creasing rate of incoming mix traffic λ . We simulate the
of a single mix node could estimate the exact number of dependency between entropy and traffic rate for differ-
messages within a mix with better accuracy – hindered ent mix delay parameter µ by recording the traffic flow
only by the mix loop cover traffic. and changing state of the mix node’s pool. As expected,
We first consider, conservatively, the case where a mix we observe that for a fixed delay, the entropy increases
node is not generating any loops and the adversary can when the rate of traffic increases. Higher delay also re-
count the exact number of messages in the mix. Let us sults in an increase in entropy, denoting a larger potential
define on,k,l as an adversary A observing a mix in which anonymity set, since more messages are mixed together.
n messages arrive and are mixed together. The adversary In case the mix node emits loop cover traffic, the ad-
then observes an outgoing set of n − k messages and can versary with observation on,k,l , tries to estimate the prob-
infer that there are now k < n messages in the mix. Next, ability that the observed outgoing message is a particular
7
16 to the indistinguishability of messages and the memory-
= 0.02 less property of the Poisson mixing strategy. We now in-
14
12 = 0.2 vestigate how Loopix can protect users’ communications
10 against active adversaries conducting the (n − 1) attack.
Entropy
8 =2
6 = 20 4.2.1 Active attacks
4
2 = 200 We consider an attack at a mix node where an adversary
0
100 150 200 250 300 350 400 450 500 blocks all but a target message from entering in order
Rate of incoming traffic ( ) to follow the target message when it exits the mix node.
This is referred to as an (n-1) attack [38].
Figure 4: Entropy versus the changing rate of the incoming A mix node needs to distinguish between an active at-
traffic for different delays with mean µ1 . In order to measure tack and loop messages dropped due to congestion. We
the entropy we run a simulation of traffic arriving at a single assume that each mix node chooses some public param-
Loopix mix node. eter r, which is a fraction of the number of loops that
are expected to return. If the mix node does not see this
fraction of loops returning they alter their behavior. In
target message she observed coming into the mix node. extremis such a mix could refuse to emit any messages
An outgoing message can be either input message or a – but this would escalate this attack to full denial-of-
loop message generated by the mix node – resulting in service. A gentler approach involves generating more
additional uncertainty for the adversary. cover traffic on outgoing links [16].
Theorem 2. Let m1 be any of the initial n messages in To attempt an (n-1) attack, the adversary could simply
the mix node in scenario on,k,l , and let m2 be any of the block all incoming messages to the mix node except for a
l messages that arrive later. Let λM denote the rate at target message. The Loopix mix node can notice that the
which mix node generates loop cover traffic. Then, self-loops are not returning and deduce it is under attack.
Therefore, an adversary that wants to perform a stealthy
k µ attack has to be judicious when blocking messages, to
Pr(m = m2 ) = · ,
n (l + k)µ + λM ensure that a fraction r of loops return to the mix node,
µ i.e. the adversary must distinguish loop cover traffic from
Pr(m = m1 ) = .
(l + k)µ + λM other types of traffic. However, traffic generated by mix
loops is indistinguishable from other network traffic and
We refer to Appendix A for the proof. We conclude they cannot do this better than by chance. Therefore
that the loops generated by the mix node obfuscate the given a threshold r = λsM , s ∈ R>1 of expected returning
adversary’s view and decrease the probability of success- loops when a mix observes fewer returning it deploys ap-
fully linking input and output of the mix node. In Sec- propriate countermeasures.
tion 4.2 we show that those types of loops also protect We analyze this strategy: since the adversary cannot
against active attacks. distinguish loops from other traffic the adversary can do
no better than block traffic uniformly such that a fraction
4.2 Active-attack Resistance R = λs = λR +λs
M
enter the mix, where λR is the rate of
incoming traffic that is not the mix node’s loops. If we
Lemma 1 gives the direct relationship between the ex-
assume a steady state, the target message can expect to
pected number of messages in a mix node, the rate of in- λR
coming traffic, and the delay induced on a message while be mixed with s·µ messages that entered this mix, and
λM
transiting through a mix. By increasing the rate of cover µ loop messages generated at the mix node. Thus, the
traffic, λD and λL , users can collectively maintain strong probability of correctly blocking a sufficient number of
anonymity with low message delay. However, once the messages entering the mix node so as not to alter the be-
volume of real communication traffic λP increases, users havior of the mix is:
can tune down the rate of cover traffic in comparison 1 sµ
to the real traffic, while maintaining a small delay and Pr(x = target) = =
λR /s · µ + λM /µ sλM + λR
be confident their messages are mixed with a sufficient
number of messages. Due to the stratified topology, providers are able to dis-
In the previous section, we analyze the security prop- tinguish mix loop messages sent from other traffic, since
erties of Loopix when the adversary observes the state of they are unique in not being routed to or from a client.
a single mix node and the traffic flowing through it. We This is not a substantial attack vector since mix loop
showed, that the adversary’s advantage is bounded due messages are evenly distributed among all providers, of
8
which a small fraction are corrupt and providers do not 1.0
learn which mix node sent the loop to target it.
0.8
Likelihood difference
0.6
4.3 End-to-End Anonymity Evaluation 0.4
0.8
Likelihood difference
To approximate the probabilities p0 and p1 , we pro-
0.6
ceed as follows. We simulate U = 100 senders that gen-
erate and send messages (both payload and cover mes- 0.4
sages) with a rate λ = 2. Among them are two challenge 0.2
senders S0 and S1 that send payload messages at a con-
0.0
stant rate, i.e, they add one messages to their sending 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
buffer every time unit. Number of layers (l)
Whenever a challenge sender S0 or S1 sends a payload
message from its buffer, we tag the message with a la- Figure 6: Likelihood difference ε depending on the number of
bel S0 or S1 , respectively. All other messages, including layers of mix nodes with 3 mix nodes per layer. We use λ = 2,
messages from the remaining 98 clients and the cover µ = 1, and no corruption.
messages of S0 and S1 are unlabeled. At every mix we
track the probability that an outgoing message is labeled
4.3.1 Results
S0 or S1 , depending on the messages that entered the mix
node and the number of messages that already left the We compare our metric for different parameters: depend-
mix node, as in Theorem 1. Thus, messages leaving a ing on the delay parameter µ, the number of layers in our
mix node carry a probability distribution over labels S0 , topology l and the percentage of corrupted mix nodes in
S1 , or ‘unlabeled’. Corrupt mix nodes, assign to outgoing the network. All of the below simulations are averaged
messages their input distributions. The probabilities nat- over 100 repetitions and the error bars are defined by the
urally add up to 1. For example, a message leaving a mix standard deviation.
can be labeled as {S0 : 12%, S1 : 15%, unlabeled : 73%}.
In a burn-in phase of 2500 time units, the 98 senders
Delay. Increasing the average delay (by decreasing pa-
without S0 or S1 communicate. Then we start the two
rameter µ) with respect to the rate of message sending
challenge senders and then simulate the network for an-
λ immediately increases anonymity (decreases ε) (Fig-
other 100 time units, before we compute the expected
ure 5). For µ = 2.0 and λ /µ = 1, Loopix still provides a
difference in likelihood metric. We pick a final mix node
weak form of anonymity. As this fraction increases, the
and using probabilities of labels S0 and S1 for any mes-
log likelihood ratio grow closer and closer to zero. We
sage in the pool we calculate ε as in Equation (3).
consider values λ /µ ≥ 2 to be a good choice in terms of
This is a conservative approximation: we tell the ad-
anonymity.
versary which of the messages leaving senders S0 and S1
are payload messages; and we do not consider mix or
client loop messages confusing them. 4 However, when Number of layers. By increasing the number of layers
we calculate our anonymity metric at a mix node we as- of mix nodes, we can further strengthen the anonymity of
sume this mix node to be honest. Loopix users. As expected, using only one or two layers
4 The soundness of our simplification can be seen by the fact that we
of mix nodes leads to high values of adversary advantage
could tell the adversary which messages are loops and the adversary
ε. An increasing number of layers ε approaches zero
could thus ignore them. This is equivalent to removing them, as an (Figure 6). We consider a number of 3 or more layers
adversary could also simulate loop messages. to be a good choice. We believe the bump between 5–8
9
10 300
All traffic
200
6
150
4
100
2 50
0 00 20 40 60 80 100 120 140 160
0 10 20 30 40 50 60 70 80 90 100
Rate of sending per client ( ) per minute
Percentage of corrupt mix nodes
Figure 7: Likelihood difference ε depending on the percentage Figure 8: Overall bandwidth and good throughput per second
of (passively) corrupted mix nodes. We use λ = 2, µ = 1 and for a single mix node.
a topology of 3 layers with 3 nodes per layer.
10
4.0 Gamma distribution fit
0.6
3.5
Latency Overhead (ms)
3.0 0.5
2.5
2.0 0.4
Frequency
1.5
1.0 0.3
0.5 0.2
0.0
0 50 100 150 200 250 300 350 400 450 500 0.1
Number of clients
0.00 1 2 3 4 5 6 7
Figure 9: Latency overhead of the system where 50 to 500 Latency (s)
users simultaneously send traffic at rates λP = λL = λD = 10
per minute and mix nodes generate loop cover traffic at rate
λM = 10 per minute. We assume that there is not additional Figure 10: End-to-end latency histogram measured through
delay added to the messages by the senders. timing mix node loops. We run 500 users actively commu-
nicating via Loopix at rates λP = λL = λD = 60 per minute and
λM = 60 per minute. The delay for each hop is drawn from
Exp(2). The latency of the message is determined by the as-
sending messages at rate λ each, which is the sum of pay-
signed delay and fits the Gamma distribution with mean 1.93
load, loop and drop rates, i.e., λ = Pois(λL + λD + λP ). and standard deviation 0.87.
We start our simulation with parameters λL = λD = 1
and λP = 3 messages per minute for a single client. Mix
nodes send loop cover traffic at rate starting from λM = 1.
is dominated by the scalar multiplication of an elliptic
Next, we periodically increase each Poisson rate by an-
curve point and symmetric cryptographic operations. For
other 2 messages per minute.
the end-to-end measurement, we run Loopix with a setup
In order to measure the overall bandwidth, i.e. the where all users have the same rates of sending real and
number of all messages processed by a single mix node, cover messages, such that λP = λD = λL = 10 messages
we use the network packet analyzer tcpdump. Since per minute and mix servers generate loops at rate λM =
real and cover message packets are indistinguishable, we 10 messages per minute. All clients set a delay of 0.0
measure the good throughput by encapsulating an addi- seconds for all the hops of their messages – to ensure
tional, temporary, typeFlag in the packet header for this we only measure the system overhead, not the artificial
evaluation, which leaks to the mix the message type— mixing delay.
real or cover—and is recorded.
Figure 9 shows that increasing the number of online
Figure 8 illustrates the number of total messages and
clients, from 50 to 500, raises the latency overhead by
the number of payload messages that are processed by
only 0.37 ms. The variance of the processing delay in-
a single mix node versus the overall sending rate λ of a
creases with the amount of traffic in the network, but
single user. We observe that the bandwidth of the mix
more clients do not significantly influence the average
node increases linearly until it reaches around 225 mes-
latency overhead. Neither the computational power of
sages per second. After that point the performance of
clients nor mix servers nor the communication between
the mix node stabilizes and we observe a much smaller
them seem to become bottlenecks for these rates. Those
growth. We highlight that the amount of real traffic in the
results show that the increasing number of users in the
network depends on the parameter λP within λ . A client
network does not lead to any bottleneck for our parame-
may chose to tune up the rate of real messages sent, by
ters. The measurements presented here are for a network
tuning down the rate of loops and drop messages – at
of 6 mix nodes, however we can increase the system ca-
the potential loss of security in case less cover traffic is
pacity by adding more servers. Thus, Loopix scales well
present in the system overall. Thus, depending on the
for an increasing number of users.
size of the honest user population in Loopix, we can in-
crease the rate of goodput. We also investigate how increasing the delays through
Poisson Mixing with µ = 2 affects the end-to-end la-
tency of messages. We measure this latency through tim-
Latency Overhead & Scalability. End-to-end latency ing mix heartbeat messages traversing the system. Fig-
overhead is the cost of routing and decoding relayed mes- ure 10 illustrates that when the mean delay 1/µ sec. is
sages, without any additional artificial delays. We run higher than the processing time (∼ 1 ms − 2 ms), the end-
simulations to measure its sensitivity to the number of to-end latency is determined by this delay, and follows
users participating in the system. the Gamma distribution with parameter being the sum of
We measure the time needed to process a single packet the exponential distribution parameter over the number
by a mix node, which is approximately 0.6 ms. This cost of servers on the path. The good fit to a gamma distribu-
11
tion provides evidence that the implementation of Loopix users write their messages into a database, without re-
is faithful to the queuing theory models our analysis as- vealing the row into which they wrote to the database
sumes. server. Riposte enjoys low communication-overhead and
protects against traffic analysis and denial of service at-
tacks, but requires long epochs and a small number of
6 Related Work clients writing into the database simultaneously. In con-
trast to Loopix, it is suitable for high-latency applica-
All anonymous communication designs share the com- tions.
mon goal of hiding users’ communication patterns Dissent [8], based on DC-networks [8], offers re-
from adversaries. Simultaneously minimizing latency silience against a GPA and some active attacks, but at sig-
and communication overhead while still providing high nificantly higher delays and scales to only several thou-
anonymity is challenging. We survey other anonymous sand clients.
systems and compare them with Loopix (a summary is Riffle [30] introduces a new verifiable shuffle tech-
provided in Table 2). nique to achieve sender anonymity. Using PIR, Rif-
fle guarantees receiver anonymity in the presence of an
Early designs. Designs based on Chaum’s mixes [7] active adversary, as well as both sender and receiver
can support both high and low latency communication; anonymity, but it cannot support a large user base. Riffle
all sharing the basic principles of mixing and layered also utilizes rounds protect traffic analysis attacks. Riffle
encryption. Mixmaster [34] supports sender anonymity is not designed for Internet-scale anonymous communi-
using messages encryption but does not ensure receiver cation, like Loopix, but for supporting intra-group com-
anonymity. Mixminion [14] uses fixed sized messages munication.
and supports anonymous replies and ensures forward Finally, Atom [29] combines a number of novel tech-
anonymity using link encryption between nodes. As a niques to provide mid-latency communication, strong
defense against traffic analysis, but at the cost of high- protection against passive adversaries and uses zero
latencies, both designs delay incoming messages by col- knowledge proofs between servers to resist active at-
lecting them in a pool that is flushed every t seconds (if tacks. Performance scales horizontally, however latency
a fixed message threshold is reached). comparisons between Loopix and Atom are difficult due
In contrast, Onion routing [25] was developed for low- to the dependence on pre-computation in Atom. Un-
latency anonymous communication. Similar to mix de- like Loopix, Atom is designed for latency tolerant uni-
signs, each packet is encrypted in layers, and is decrypted directional anonymous communication applications with
by a chain of authorized onion routers. Tor [19], the only sender anonymity in mind.
most popular low-latency anonymity system, is an over-
lay network of onion routers. Tor protects against sender- 7 Discussion & Future Work
receiver message linking against a partially global adver-
sary and ensures perfect forward secrecy, integrity of the As shown in Section 4.1, the security of Loopix heavily
messages, and congestion control. However, Tor is vul- depends on the ratio of the rate of traffic sent through the
nerable to traffic analysis attacks, if an adversary can ob- network and the mean delay at every mix node. Opti-
serve the ingress and egress points of the network. mization of this ratio application dependent. For appli-
Recent designs. Vuvuzela [42] protects against both cations with small number of messages and delay toler-
passive and active adversaries as long as there is one ance, a small amount of cover traffic can guarantee secu-
honest mix node. Since Vuvuzela operates in rounds, of- rity.
fline users lose the ability to receive messages and all Loopix achieves its stated security and performance
messages must traverse a single chain of relay servers. goals. However, there are many other facets of the de-
Loopix does not operate in rounds, allows off-line users sign space that have been left for future work. For in-
to receive messages and uses parallel mix nodes to im- stance, reliable messages delivery, session management,
prove the scalability of the network. and flow control while all avoiding inherent risks, such as
Stadium [41] and AnonPop [23] refine Vuvuzela; both statistical disclosure attacks [12], are all fruitful avenues
operating in rounds making the routing of messages de- of pursuit.
pendent on the dynamics of others. Stadium is scalable, We also leave the analysis of replies to messages as
but it lacks offline storage, whereas AnonPop does pro- future work. Loopix currently allows two methods if
vide offline message storage. Loopix also provides both the receiver does not already know the sender a priori:
properties, and because it operates continuously avoids we either attach the address of the sender to each mes-
user synchronization issues. sage payload, or provide a single-use anonymous reply
Riposte [10] is based on a write PIR scheme in which block [14, 15], which enables different use-cases.
12
Low Low Communication Scalable Asynchronous Active Offline Resistance
Latency Overhead Deployment Messaging† Attack Resistant Storage* to GPA
Loopix X X X X X X X
Dissent [43] X X
Vuvuzela [42] X X X
Stadium [41] X X X X
Riposte [10] X X X
Atom [29] X X X X
Riffle [30] X X X X
AnonPoP [23] X X X X
Tor [19] X X X X
Table 2: Comparison of popular anonymous communication systems. By *, we mean if the design intentionally incorporates
provisions for delivery of messages when a user is offline, perhaps for a long period of time. By †, we mean that the system
operates continuously and does not depend on synchronized rounds for its security properties and users do not need to coordinate
to communicate together.
The Loopix architecture deliberately relies on estab- best-of-breed techniques: we provide definitions inspired
lished providers to connect to and authenticate end-users. by AnoA [2] for our security properties; improve the
This architecture brings a number of potential benefits, analysis of simplified variants of stop-and-go-mixing
such as resistance to Sybil attacks, enabling anonymous as a Poisson mix [28]; we use restricted topologies
blacklisting [26] and payment gateways [1] to mitigate to promote good mixing [20]; we deploy modern ac-
flooding attacks and other abuses of the system, and pri- tive attack mitigations based on loops [16]; and we use
vacy preserving measurements [22, 27] about client and modified modern cryptographic packet formats, such as
network trends and the security stance of the system. All Sphinx [15], for low information leakage. Our design,
of this analysis is left for future work. security and performance analysis, and empirical eval-
It is also apparent that an efficient and secure pri- uation shows they work well together to provide strong
vate lookup system, one that can deliver network state security guarantees.
and keying information to its users, is necessary to sup-
The result of composing these different techniques –
port modern anonymous communications. Proposals
previously explored as separate and abstract design op-
of stand-alone ‘presence’ systems such as DP5 [5] and
tions – is a design that is strong against global net-
MP3 [35] provide efficient lookup methods, however,
work level adversaries without the very high-latencies
we anticipate that tight integration between the lookup
traditionally associated with mix systems [34, 14].
and anonymity systems may bring mutual performance
Thus, Loopix revitalizes message-based mix systems and
and security benefits, which is another avenue for future
makes them competitive once more against onion rout-
work.
ing [25] based solutions that have dominated the field
of anonymity research since Tor [19] was proposed in
8 Conclusion 2004.
13
References Symposium on Security and Privacy (2015), IEEE,
pp. 321–338.
[1] A NDROULAKI , E., R AYKOVA , M., S RIVATSAN ,
S., S TAVROU , A., AND B ELLOVIN , S. M. PAR: [11] DANEZIS , G. Mix-networks with restricted routes.
Payment for Anonymous Routing. In Privacy En- In International Workshop on Privacy Enhancing
hancing Technologies, 8th International Sympo- Technologies (2003), Springer, pp. 1–17.
sium, PETS 2008, Leuven, Belgium, July 23-25,
2008, Proceedings (2008), pp. 219–236. [12] DANEZIS , G. Statistical disclosure attacks. In
Security and Privacy in the Age of Uncertainty.
[2] BACKES , M., K ATE , A., M ANOHARAN , P., Springer, 2003, pp. 421–426.
M EISER , S., AND M OHAMMADI , E. AnoA: A
Framework for Analyzing Anonymous Communi- [13] DANEZIS , G. The Traffic Analysis of Continuous-
cation Protocols. In Computer Security Founda- Time Mixes. In Privacy Enhancing Technologies,
tions Symposium (CSF), 2013 IEEE 26th (2013), 4th International Workshop, PET 2004, Toronto,
IEEE, pp. 163–178. Canada, May 26-28, 2004, Revised Selected Papers
(2004), pp. 35–50.
[3] BALLANI , H., F RANCIS , P., AND Z HANG , X. A
study of prefix hijacking and interception in the In- [14] DANEZIS , G., D INGLEDINE , R., AND M ATHEW-
ternet. In ACM SIGCOMM Computer Communica- SON , N. Mixminion: Design of a type III anony-
tion Review (2007), vol. 37, ACM, pp. 265–276. mous remailer protocol. In Security and Privacy,
2003. Proceedings. 2003 Symposium on (2003),
[4] B OLCH , G., G REINER , S., DE M EER , H., AND IEEE, pp. 2–15.
T RIVEDI , K. S. Queueing networks and Markov
chains: modeling and performance evaluation with [15] DANEZIS , G., AND G OLDBERG , I. Sphinx: A
computer science applications. John Wiley & Sons, compact and provably secure mix format. In Se-
2006. curity and Privacy, 2009 30th IEEE Symposium on
(2009), IEEE, pp. 269–282.
[5] B ORISOV, N., DANEZIS , G., AND G OLDBERG , I.
DP5: A private presence service. Proceedings on [16] DANEZIS , G., AND S ASSAMAN , L. Heartbeat traf-
Privacy Enhancing Technologies 2015, 2 (2015), fic to counter (n-1) attacks: red-green-black mixes.
4–24. In Proceedings of the 2003 ACM workshop on Pri-
[6] C AI , X., Z HANG , X. C., J OSHI , B., AND J OHN - vacy in the electronic society (2003), ACM, pp. 89–
SON , R. Touching from a distance: Website finger-
93.
printing attacks and defenses. In Proceedings of the
[17] D IAZ , C., S EYS , S., C LAESSENS , J., AND P RE -
2012 ACM conference on Computer and communi-
NEEL , B. Towards measuring anonymity. In In-
cations security (2012), ACM, pp. 605–616.
ternational Workshop on Privacy Enhancing Tech-
[7] C HAUM , D. Untraceable Electronic Mail, Re- nologies (2002), Springer, pp. 54–68.
turn Addresses, and Digital Pseudonyms. Commun.
ACM 24, 2 (1981), 84–88. [18] D INGLEDINE , R., AND M ATHEWSON , N.
Anonymity Loves Company: Usability and the
[8] C HAUM , D. The dining cryptographers problem: Network Effect. In WEIS (2006).
Unconditional sender and recipient untraceability.
Journal of cryptology 1, 1 (1988), 65–75. [19] D INGLEDINE , R., M ATHEWSON , N., AND
S YVERSON , P. Tor: The second-generation onion
[9] C HEN , C., A SONI , D. E., BARRERA , D., router. Tech. rep., DTIC Document, 2004.
DANEZIS , G., AND P ERRIG , A. HORNET: High-
speed Onion Routing at the Network Layer. In Pro- [20] D INGLEDINE , R., S HMATIKOV, V., AND S YVER -
ceedings of the 22nd ACM SIGSAC Conference on SON , P. Synchronous batching: From cascades to
Computer and Communications Security, Denver, free routes. In International Workshop on Privacy
CO, USA, October 12-6, 2015 (2015), pp. 1441– Enhancing Technologies (2004), Springer, pp. 186–
1454. 206.
[10] C ORRIGAN -G IBBS , H., B ONEH , D., AND M AZ - [21] D OUCEUR , J. R. The sybil attack. In Interna-
IÈRES , D. Riposte: An anonymous messaging tional Workshop on Peer-to-Peer Systems (2002),
system handling millions of users. In 2015 IEEE Springer, pp. 251–260.
14
[22] E LAHI , T., DANEZIS , G., AND G OLDBERG , I. Computer Communication Review (2015), vol. 45,
Privex: Private collection of traffic statistics for ACM, pp. 639–652.
anonymous communication networks. In Proceed-
[33] M ITZENMACHER , M., AND U PFAL , E. Proba-
ings of the 2014 ACM SIGSAC Conference on Com-
bility and computing: Randomized algorithms and
puter and Communications Security (2014), ACM,
probabilistic analysis. Cambridge university press,
pp. 1068–1079.
2005.
[23] G ELERNTER , N., H ERZBERG , A., AND L EI -
BOWITZ , H. Two Cents for Strong Anonymity:
[34] M ÖLLER , U., C OTTRELL , L., PALFRADER , P.,
AND S ASSAMAN , L. Mixmaster Protocol-Version
The Anonymous Post-office Protocol. Cryptology
ePrint Archive, Report 2016/489, 2016. http: 2. Draft. July, available at: www. abditum.
//eprint.iacr.org/2016/489. com/mixmaster-spec. txt (2003).
[24] G ILAD , Y., AND H ERZBERG , A. Spying in the [35] PARHI , R., S CHLIEP, M., AND H OPPER , N. MP3:
dark: TCP and Tor traffic analysis. In Interna- A More Efficient Private Presence Protocol. arXiv
tional Symposium on Privacy Enhancing Technolo- preprint arXiv:1609.02987 (2016).
gies Symposium (2012), Springer, pp. 100–119. [36] S ALTZER , J. H., R EED , D. P., AND C LARK , D. D.
[25] G OLDSCHLAG , D., R EED , M., AND S YVERSON , End-to-end arguments in system design. ACM
P. Onion routing. Communications of the ACM 42, Transactions on Computer Systems (TOCS) 2, 4
2 (1999), 39–41. (1984), 277–288.
[26] H ENRY, R., AND G OLDBERG , I. Thinking inside [37] S ERJANTOV, A., AND DANEZIS , G. Towards an
the BLAC box: smarter protocols for faster anony- information theoretic metric for anonymity. In In-
mous blacklisting. In Proceedings of the 12th ACM ternational Workshop on Privacy Enhancing Tech-
workshop on Workshop on privacy in the electronic nologies (2002), Springer, pp. 41–53.
society (2013), ACM, pp. 71–82. [38] S ERJANTOV, A., D INGLEDINE , R., AND S YVER -
[27] JANSEN , R., AND J OHNSON , A. Safely Measuring SON , P. From a trickle to a flood: Active attacks
Tor. In Proceedings of the 2016 ACM SIGSAC Con- on several mix types. In International Workshop on
ference on Computer and Communications Secu- Information Hiding (2002), Springer, pp. 36–52.
rity, Vienna, Austria, October 24-28, 2016 (2016), [39] S ERJANTOV, A., AND N EWMAN , R. E. On the
pp. 1553–1567. anonymity of timed pool mixes. In Security and
[28] K ESDOGAN , D., E GNER , J., AND B ÜSCHKES , Privacy in the Age of Uncertainty. Springer, 2003,
R. Stop-and-go-mixes providing probabilistic pp. 427–434.
anonymity in an open system. In International [40] S HANNON , C. E. A mathematical theory of com-
Workshop on Information Hiding (1998), Springer, munication. ACM SIGMOBILE Mobile Computing
pp. 83–98. and Communications Review 5, 1 (2001), 3–55.
[29] K WON , A., C ORRIGAN -G IBBS , H., D EVADAS ,
[41] T YAGI , N., G ILAD , Y., Z AHARIA , M., AND Z EL -
S., AND F ORD , B. Atom: Scalable Anonymity Re-
DOVICH , N. Stadium: A Distributed Metadata-
sistant to Traffic Analysis. CoRR abs/1612.07841
Private Messaging System. Cryptology ePrint
(2016).
Archive, Report 2016/943, 2016. http://
[30] K WON , Y. H. Riffle: An efficient communication eprint.iacr.org/2016/943.
system with strong anonymity. PhD thesis, Mas-
[42] VAN D EN H OOFF , J., L AZAR , D., Z AHARIA , M.,
sachusetts Institute of Technology, 2015.
AND Z ELDOVICH , N. Vuvuzela: Scalable private
[31] L AZAR , D., AND Z ELDOVICH , N. Alpenhorn: messaging resistant to traffic analysis. In Proceed-
Bootstrapping secure communication without leak- ings of the 25th Symposium on Operating Systems
ing metadata. In Proceedings of the 12th Sympo- Principles (2015), ACM, pp. 137–152.
sium on Operating Systems Design and Implemen-
[43] W OLINSKY, D. I., C ORRIGAN -G IBBS , H., F ORD ,
tation (OSDI), Savannah, GA (2016).
B., AND J OHNSON , A. Dissent in numbers:
[32] L E B LOND , S., C HOFFNES , D., C ALDWELL , W., Making strong anonymity scale. In Presented as
D RUSCHEL , P., AND M ERRITT, N. Herd: A Scal- part of the 10th USENIX Symposium on Operat-
able, Traffic Analysis Resistant Anonymity Net- ing Systems Design and Implementation (OSDI 12)
work for VoIP Systems. In ACM SIGCOMM (2012), pp. 179–182.
15
A Appendix remaining delays of all n0 messages in the mix as fresh
random samples from the same exponential distribution.
A.1 Incremental Computation of the En-
tropy Metric Pr [m 6= loop] = 1 − Pr [m = loop]
= 1 − Pr [X < d1 ∧ X < d2 ∧ . . . ∧ X < dn0 ] (7)
Let X be a discrete random variable over the finite set X
= 1 − Pr [X < min{d1 , d2 , . . . dn0 }]
with probability mass function p(x) = Pr(X = x). The
Shannon entropy H(X) [40] of a discrete random vari- We know, that di ∼ Exp(µ) for all i ∈ {1, . . . , n0 } and
able X is defined as X ∼ Exp(λM ). Moreover, we know that the minimum
H(X) = − p(x) log p(x). (4) of n independent exponential random variables with rate
∑ µ is an exponential random variable with parameter
x∈X
0
∑ni µ. Since all the delays di are independent expo-
Let on,k,l be an observation as defined in Section 4.1.3
nential variables with the same parameter, we have for
for a pool at time t. We note that any outgoing message
Y = min{d1 , d2 , . . . dn0 }, Y ∼ Exp(n0 µ). Thus, we obtain
will have a distribution over being linked with past input
the following continuation of Equation (7).
messages, and the entropy Ht of this distribution is our
anonymity metric. Ht can be computed incrementally Pr [m 6= loop] = 1 − Pr [X < Y ]
given the size of the pool l (from previous mix rounds) Z ∞
and the entropy Ht−1 of the messages in this previous = 1− Pr [X < Y |X = x] Pr [X = x] dx
pool, and the number of messages k received since a mes- Z0 ∞
sage was last sent: = 1− Pr [x < Y ] λM e−λM x dx
0
Z ∞
k l 0 (8)
Ht =H , = 1− e−n µx λM e−λM x dx
k+l k+l 0
(5)
k l λM
+ log k + Ht−1 , = 1−
k+l k+l λM + nµ
for any t > 0 and H0 = 0. Thus for sequential obser- n0 µ
= 0
vations we can incrementally compute the entropy met- n µ + λM
ric for each outgoing message, without remembering the
Since the probability to send a loop depends only on the
full history of the arrivals and departures at the Poisson
number of messages in a mix, but not on which messages
mix. We use this method to compute the entropy metric
are in the mix, this probability is independent of the prob-
illustrated in Figure 4.
ability from Theorem 1. Theorem 2 follows directly by
combining Theorem 1 and Equation (8), with n0 = k + l.
A.2 Proof of Theorem 2 We get for messages m1 that previously were in the mix,
Let us assume, that in mix node Mi there are n0 mes- Pr [m = m1 ] = Pr [m 6= loop] · Pr [m = m1 |m 6= loop]
sages at a given moment, among which is a target mes-
sage mt . Each message has a delay di drawn from the ex- (k + l)µ k
= ·
ponential distribution with parameter µ. The mix node (k + l)µ + λM n(k + l)
generates loops with distribution Pois(λM ). The adver- k µ
= · .
sary observes an outgoing message m and wants to quan- n (k + l)µ + λM
tify whether this outgoing message is her target message.
The adversary knows, that the output of the mix node can Analogously, we get for m2 ,
be either one of the messages inside the mix or its loop
Pr [m = m2 ] = Pr [m 6= loop] · Pr [m = m2 |m 6= loop]
cover message. Thus, for any message mt , the following
holds (k + l)µ 1
= ·
(k + l)µ + λM k + l
Pr [m = mt ] = Pr [m 6= loop] · Pr [m = mt |m 6= loop] (6) µ
= .
We note that the next message m is a loop if and only if (k + l)µ + λM
the next loop message is sent before any of the messages This concludes the proof.
within the mix, i.e., if the sampled time for the next loop
message is smaller than any of the remaining delays of all
messages within the mix. We now leverage the memory-
less property of the exponential distribution to model the
16