You are on page 1of 6

Anonymizing Censorship Resistant Systems

Andrei Serjantov
Andrei.Serjantov@cl.cam.ac.uk

University of Cambridge Computer Laboratory,


William Gates Building,
JJ Thomson Avenue,
Cambridge CB3 0FD, UK

March 1, 2002

Abstract from documents) which the Church of Scientology


described as their secrets. In cases like this, the
In this paper we propose a new Peer-to-Peer archi- server administrators receive “cease and desist” let-
tecture for a censorship resistant system with user, ters when the censor finds the offending document
server and active-server document anonymity as well on their server.
as efficient document retrieval. The retrieval service Most modern censorship resistant systems, for ex-
is layered on top of an existing Peer-to-Peer infras- ample Publius [WRC00] and Freenet [CSWH01],
tructure, which should facilitate its implementation. have not addressed this problem in a satisfactory
The key idea is to separate the role of document stor- way. It is possible for a malicious reader to find out
ers from the machines visible by the users, which which servers content is stored on, and subsequently
makes each individual part of the system less prone try to pressure the server administrators to remove
to censorship. it. With Publius in particular, the situation is slightly
more complicated as each document is encrypted and
the key is split into n shares, any k of which are re-
1 Introduction combinable to form the document back. In this case,
the attacker needs to remove content from n − k + 1
Many censorship resistant systems have been pro- servers, all of which he can easily locate.1 With the
posed recently, yet most still lack one crucial feature number of servers reasonably small and static, the
– protection of the servers hosting the content. job of censoring documents becomes easier than one
In the past this was not considered an issue. For might expect.
instance, in Anderson’s eternity service [And96], it An alternative approach to dealing with censorship
was deemed sufficient to guarantee that a document resistance is taken by systems like Dagster [SW01]
was always available through the system. However, and Tangler [WM01] which prevent removal of any
many examples indicate that servers hosting content single document from the system by entangling doc-
are vulnerable to censorship, due to “Rubber Hose uments together. However, in our view, these are
Cryptanalysis” – various kinds of pressure applied not effective enough at dealing with the problem ei-
by attackers to shut down servers or remove files. ther: if the offending document was entangled with
Examples of documents subjected to censorship in- 1
Indeed, if one server has been pressured into removal, the
clude DeCSS [DeC], the paper detailing the attack other server administrators may simply follow the precedent and
on SDMI [CMW+ 01], and documents (or quotes remove the offending content themselves.

1
PSfrag replacements

the Declaration of Independence, Das Capital and the h0 h1 h2 h3


Little Red Book, censoring it (thereby removing all s0 s1 s2 s3
of the above from the system) would not be a ma-
jor problem as all the other documents are readily
available from other sources. Given the other doc-
uments are not available, the censor is unlikely to a0 a1 a2 a3
be discerning enough to want to keep some of them.
Furthermore, if the system is run on a single server
(eg. Dagster), then the censor may simply try to shut
down the entire server. P
In our system, we consider the storers of the files
valuable entities, and protect them against “Rub- Figure 1: Publishing
ber Hose Cryptanalysis”. Furthermore, we protect
the documents they are storing by providing active-
server document anonymity (as first introduced in public key infrastructure, so any peer is able to learn
[DFM01]). This is a property which states that the any other peer’s public key. This is further discussed
storer should not be able to determine (parts of) in the next section. Using an existing Peer-to-Peer ar-
which document it is storing, not even by retrieving chitecture allows us to abstract from routing, clients
the document from the system. We now proceed with leaving and joining the network, and other low level
a description of the system and then give an analysis issues. An architecture like PAST also provides ro-
and critique of it. bustness, which is further discussed in the next sec-
tion. We also make use of an anonymous connection
system such as Onion Routing [GRS99] which is ca-
2 System Description pable of handling reply blocks.
As usual in censorship resistant systems, the op-
Our system consists of many identical peers, each of erations available to a node are publishing and re-
which can fulfil four different roles: trieval. There is no search facility, therefore we rely
• Publisher P . The node which has a document on a broadcast mechanism like an anonymous news-
and wishes to make it available and censorship group to transmit retrieval information to potential
resistant. readers. We do not support content deletion or mod-
• Forwarder a. A node which has an anonymous ification.
pointer to a node storing part of a document. The overall publishing process is illustrated in Fig-
• Storer s. A node which stores part of a docu- ure 1. To publish a document (see Figure 2), the pub-
ment. lisher P splits it into n + 1 shares hi , any k + 1 of
• Client c. A node which retrieves a document. which can be combined to form the whole document
again. This can be done using one of the standard
The system is built on top of an existing Peer-to- algorithms like Shamir’s secret sharing [Sha79]. He
Peer file sharing service like PAST [DR01]. PAST then generates n + 1 keys ki and encrypts each share
can be viewed as a network of machines (peers), with the corresponding key. He now picks n+1 peers
each with a unique identifier. Neighbouring ma- a0 . . . an at random to act as forwarders and con-
chines (machines within a certain distance of each structs onions2 to send (via the anonymous connec-
other within a logical name space) share state. The tions layer) each of them the encrypted share {h}ki ,
only thing required to send a message to a machine 2
This is a technique first described in [Cha81]. A (stan-
is its id, furthermore, PAST guarantees that the mes- dard) onion for destination d with message M and peer sequence
sage takes no more than log N hops, where N is the a0 . . . an is {a1 . . . {d, {M }kd }ka . . .}ka which is sent to a0 .
n 0
number of nodes in the system. We also assume a ai is the address of the server and kai is its public key.

2
the corresponding key ki and a random integer vi to-
gether with a return address (reply onion)3 The pub-
lisher can now wait for a confirmation to come back
s0 from each of the ai s (via the reply onion) saying
whether the publishing has been successful or not.
(v00 , {h0 }k0 )
If the operation failed, the publisher should try dif-
PSfrag replacements r a0 ferent ai s.
(v00 , {h0 }k0 , ra0 )
r~s0 Each of the forwarders (take a0 as an example)
receives the message, finding an encrypted share
{h0 }k0 , a key k0 and a random number v0 . He then
a0 picks a storer s0 to store the share and a small num-
ber v00 which the storer would associate the share
(v0 , v00 , k0 , r~s0 ) with. He constructs an onion for delivering these to
P the storer. Thus, he puts the encrypted share, v00 , as
well as its own anonymous return address ra0 into the
00
ok 00
onion as the message and sends it off. If the onion is
Figure 2: Inserting share a0 . All communication received by s0 , it stores the share and issues a num-
is done via the anonymous connection system using ber of different return addresses r~s0 (to be used for
randomly constructed onions. If the message is sent retrieval), sending them back to a0 via the return ad-
using a return address, it is displayed at the base of dress ra0 . Now a0 associates v0 , v00 and k0 with the
the arrow. Anonymous return addresses are denoted return addresses r~s0 , forgets s0 , and replies “ok” to
rag replacements
by r, eg. ra0 the publisher. Once all the shares have been stored,
(v00 , {h0 }k0 , ra0 ) the publisher destroys them and announces the name
of the file, together with the n + 1 pairs (ai , vi ) to
potential users.

To retrieve a document (see Figure 3b), the client c


asks the forwarder a0 (and each ai in the same way)
s0 to retrieve the share h0 by sending them an anony-
0
(v0 , {h0 }k0 ) mous message with v0 and their address c. The for-
warder a0 then picks a random server l to act as a
rl
decrypter and sends it k0 , the key it is storing which
(v00 , rl ) ({h0 }k0 , v00 ) decrypts the stored share, v00 , c, and a return address
r s0 ra0 , getting back a return address for l. Now a0 for-
0
(k0 , ra0 , c, v0 ) wards rl and v00 , which identifies the share, to s0
a0
l via one of the r~s0 (rs0 ). Now s0 looks up the en-
(v0 , v00 , k0 , r~s0 ) rl ra 0 crypted share corresponding to v00 and forwards it
r s0 and v00 to l, which decrypts the share and sends it
(v0 , c)
h0 to the client. The process continues until c has accu-
h0 mulated enough shares to reconstruct the document.
c

Figure 3: Retrieval
3
A return address is a kind of onion which, if included in
an anonymous message, can be used to reply to that message
without revealing the original sender (see [Cha81] for details).

3
3 Discussion the n − k + 1 peers picked as ai being compromised
are small and the peers have to be compromised at
In this section we discuss the limitations of our sys- the time of publication, otherwise the attack fails.
tem. First, one should question the validity of assum- Furthermore, we need to consider what happens
ing a public key infrastructure on a P2P network. We when a particular node goes down. Indeed, this
need each peer to be able to retrieve the public key of may cause problems as a forwarder failing makes
any other peer and verify that the key belongs to that the share behind not accessible. This is handled by
particular peer. The simple solution is to use a global the fact that PAST shares state among neighbour-
repository. However, such a scheme would limit the ing nodes. Therefore, requests will automatically be
scalability of the system. We believe that better solu- routed to nearby nodes which store the same infor-
tions exist, and are actively working on this problem. mation. In particular, the forwarders share the data
Secondly, we should consider the forwarders – they have (v0 , v00 , k0 , r~s0 ) with neighbouring nodes
they are certainly visible to the attacker. However, which can therefore also answer requests. Similarly,
we argue that they are much less likely to be sub- the storer shares (v00 , {h0 }k0 ). The decrypter does
jected to “Rubber Hose Cryptanalysis” than, for ex- not need to share anything as he will only get one re-
ample, Publius servers for the following reasons: quest to decrypt the share and will then give up this
role. It is worth noting that, we are relying on PAST
• They are not storing the offending document, to replicate state on a relatively short time scale to
not even in an encrypted form, so their connec- survive denial of service attacks.
tion with it is somewhat indirect.
Having stated that we provide active server
• They do not store the identities of the si s, so
anonymity, we must pay attention to the amount
an attack to try to get it out of them will not
of information the storer can gain by repeatedly
succeed.
requesting the document and noticing the requests
• The share does not actually go through the peers
coming in for the share it is storing. However, a
ai after publication is completed.
suitable number of random requests generated by the
• The forwarders can deny that the request they
forwarders should weaken this attack. Again, the
received from c had anything to do with a share
precise details are beyond the scope of this paper.
arriving at c some time later.
We also note that we are presenting just one part of
A slight modification to the protocol (which is be- a design of a system. Many questions are left unan-
yond the scope of this paper) can be introduced to swered and a few attacks are not addressed. For ex-
further reduce the role the ai play in the protocol, ample, we do not deal with accountability in any sys-
and therefore reduce the potential for them to be at- tematic way. Consider a scenario where the attacker
tacked. is powerful enough to insert many nodes into the sys-
Thirdly, we must consider the number of compro- tem. Each of these, when asked to act as a forwarder,
mised peers it takes to remove a document from the replies “ok”, but drops the share and fails to answer
system. A possible attack is as follows: each peer ai subsequent requests. In this design, we are relying
remembers (rather than forgetting) the correspond- on the inability of the attacker to insert enough mali-
ing si at the time of publication in the hope of expos- cious nodes to censor documents in this way.
ing si later, if the content turns out to be offending. Another attack is simply trying to flood the censor-
Once the document has been successfully published, ship resistant system with random data so that “real”
ai notes the correspondence between the random in- documents cannot be inserted. Again, this design
teger (vi ) published with the document and one in its does not include protection against this. We felt that
lookup table, and works out the fact that si is storing although standard methods which are summarised in
a share of a particular document. It can now pressure [DFM00] can be used in this system, they will be
si into removing the share. However, the chances of inappropriate in this context or will not provide ade-

4
quate protection. Therefore, we leave this for future hope that the fact that it is based on top of an existing
work. infrastructure will make the job easier.
We have argued for building an anonymous cen-
sorship resistant system on top of a peer to peer ar-
4 Related Work chitecture and demonstrated the feasibility of doing
so to provide strong anonymity and robustness guar-
A variety of censorship resistant systems have been antees.
designed, some of which have also been imple- Having described an anonymity system and
mented. We have already discussed Publius, Dagster claimed that it satisfies some properties, we consider
and Tangler but, perhaps the system closest to ours it worthwhile to formalise those and prove them rig-
in terms of the aims it tries to achieve is Free Haven orously in the future.
[DFM01].
It is built on top of an underlying network
of anonymous remailers and deals with reader 6 Acknowledgements
anonymity, server anonymity and censorship resis- I acknowledge support from EPSRC grant
tance. However, it uses a Gnutella-like search for re- GRN24872 Wide-area Programming and EU
trieval of shares of the document. More specifically, grant PEPITO. A variety of ideas have resulted
a user request to retrieve a particular document gets from conversations with Richard Clayton, George
broadcast from the user node to all the neighbouring Danezis, Peter Pietzuch and Peter Sewell and from
nodes, and so on. When a request arrives at a peer comments by various members of the Cambridge
which has a matching share, it gets sent off to the Security group.
requester via a chain of remailers. This scheme for
locating files is rather inefficient, and, as the Gnutella References
experience has shown, does not scale for large num-
bers of peers. Furthermore, we note that peers fre- [And96] R. J. Anderson. The eternity ser-
quently exchange shares with each other. This is vice. In Pragocrypt. 1996. http:
//www.cl.cam.ac.uk/users/
costly in terms of network bandwidth and makes it
rja14/eternity/eternity.html.
hard to provide guarantees that a document will be
[Cha81] D. Chaum. Untraceable electronic mail,
located. Our system aims to be more efficient both return addresses and digital pseudonyms.
in terms of bandwidth and share retrieval. Finally, Communications of the A.C.M., 24(2):84–
Free Haven has not been implemented, perhaps be- 88, 1981.
cause it contains complex notions of share trading, [CMW+ 01] S. A. Craver, J. P. McGregor, M. Wu, B. Liu,
reputation, etc. We note, however, that moving the A. Stubblefield, B. Swartzlander, D. S. Wal-
individual shares around in the system is an inter- lach, D. Dean, , and E. W. Felten. Reading
esting technique for increasing censorship resistance between the lines: lessons from the SDMI
which may be incorporated into our system. For ex- challenge. In Information Hiding Workshop.
2001.
ample, the shares may be moved periodically, and the
state in the forwarders updated. [CSWH01] I. Clarke, O. Sandberg, B. Wiley, and T. W.
Hong. Freenet: A distributed anonymous in-
formation storage and retrieval system. In
Federrath [Fed01], pages 46–66. http:
5 Conclusion //freenet.sourceforge.net.
[DeC] Gallery of CSS descramblers.
We have presented a design of a system which http://www-2.cs.cmu.edu/˜dst/
deals with censorship resistance and satisfies strong DeCSS/Gallery/.
anonymity requirements. Although (like many other [DFM00] R. Dingledine, M. J. Freedman, and D. Mol-
similar systems) it has not yet been implemented, we nar. Peer-to-Peer: Harnessing the Power

5
of Disruptive Technologies, chapter 16.
O’Reilly, 2000.
[DFM01] R. Dingledine, M. J. Freedman, and D. Mol-
nar. The Free Haven Project: Distributed
anonymous storage service. In Feder-
rath [Fed01], pages 67–95. http://
freehaven.net.
[DR01] P. Druschel and A. Rowstron. Past: A large-
scale, persistent peer-to-peer storage utility.
In The 8th Workshop on Hot Topics in Oper-
ating Systems. 2001.
[Fed01] H. Federrath, editor. Designing Privacy En-
hancing Technologies: International Work-
shop on Design Issues in Anonymity and
Unobservability, volume 2009 of Lec-
ture Notes in Computer Science. Springer-
Verlag, 2001. ISBN 3-540-41724-9.
[GRS99] D. Goldschlag, M. Reed, and P. Syverson.
Onion routing for anonymous and private in-
ternet connections. Communications of the
ACM (USA), 42(2):39–41, 1999.
[Sha79] A. Shamir. How to share a secret. Commu-
nications of the ACM, 22:612–613, 1979.
[SW01] A. Stubblefield and D. Wallach. Dag-
ster: Censorship-resistant publishing with-
out replication. Technical report, Rice Uni-
versity, 2001.
[WM01] M. Waldman and D. Mazieres. Tangler:
A censorship resistant publishing system
based on document entanglements. In 8th
ACM Conference on Computer and Com-
muncation Security (CCS-8). 2001.
[WRC00] M. Waldman, A. D. Rubin, and L. F. Cra-
nor. Publius: A robust, tamper-evident,
censorship-resistant, web publishing sys-
tem. In Proc. 9th USENIX Security Sympo-
sium. 2000.

You might also like