978 3 642 32946 3
978 3 642 32946 3
Editorial Board
David Hutchison
Lancaster University, UK
Takeo Kanade
Carnegie Mellon University, Pittsburgh, PA, USA
Josef Kittler
University of Surrey, Guildford, UK
Jon M. Kleinberg
Cornell University, Ithaca, NY, USA
Alfred Kobsa
University of California, Irvine, CA, USA
Friedemann Mattern
ETH Zurich, Switzerland
John C. Mitchell
Stanford University, CA, USA
Moni Naor
Weizmann Institute of Science, Rehovot, Israel
Oscar Nierstrasz
University of Bern, Switzerland
C. Pandu Rangan
Indian Institute of Technology, Madras, India
Bernhard Steffen
TU Dortmund University, Germany
Madhu Sudan
Microsoft Research, Cambridge, MA, USA
Demetri Terzopoulos
University of California, Los Angeles, CA, USA
Doug Tygar
University of California, Berkeley, CA, USA
Gerhard Weikum
Max Planck Institute for Informatics, Saarbruecken, Germany
Angelos D. Keromytis (Ed.)
Financial Cryptography
and Data Security
16th International Conference, FC 2012
Kralendijk, Bonaire, February 27-March 2, 2012
Revised Selected Papers
13
Volume Editor
Angelos D. Keromytis
Columbia University
Department of Computer Science
1214 Amsterdam Avenue
New York, NY 10027-7003, USA
E-mail: [email protected]
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is
concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting,
reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication
or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965,
in its current version, and permission for use must always be obtained from Springer. Violations are liable
to prosecution under the German Copyright Law.
The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply,
even in the absence of a specific statement, that such names are exempt from the relevant protective laws
and regulations and therefore free for general use.
Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India
Printed on acid-free paper
Springer is part of Springer Science+Business Media (www.springer.com)
Preface
Program Committee
Mikhail Atallah Purdue University, USA
Konstantin Beznosov UBC, Canada
Mike Bond
Jan Camenisch IBM Research, Zurich Research Laboratory,
Switzerland
Sonia Chiasson Carleton University, Canada
Nicolas Christin Carnegie Mellon University, USA
David Mandell Freeman Stanford University, USA
Virgil Gligor CMU, USA
Dieter Gollmann Hamburg University of Technology, Germany
J. Alex Halderman University of Michigan, USA
John Ioannidis
Sotiris Ioannidis FORTH-ICS, Greece
Stanislaw Jarecki University of California, Irvine, USA
Somesh Jha University of Wisconsin, USA
Jonathan Katz University of Maryland, USA
Angelos Keromytis Columbia University, USA
Engin Kirda Institut Eurecom, France
Tadayoshi Kohno University of Washington, USA
Wenke Lee Georgia Institute of Technology, USA
Corrado Leita Symantec Research
Arjen Lenstra
Ninghui Li Purdue University, USA
Helger Lipmaa Cybernetica AS and Tallinn University, Estonia
Tal Malkin Columbia University, USA
Patrick Mcdaniel Pennsylvania State University, USA
Catherine Meadows NRL
David Molnar Microsoft Research
Fabian Monrose The University of North Carolina at Chapel
Hill, USA
Anil Somayaji Carleton University, Canada
Jessica Staddon Google
Angelos Stavrou George Mason University, USA
Carmela Troncoso IBBT-K.U.Leuven, ESAT/COSIC, Belgium
Lenore Zuck University of Illinois in Chicago, USA
VIII Organization
Additional Reviewers
Computer Laboratory,
University of Cambridge, UK
{hk331,jkt27,rja14}@cam.ac.uk
1 Introduction
Facebook1 recently launched a new user authentication method called “social
authentication” which tests the user’s personal social knowledge [15]. This idea
is neither unique nor novel [18] but Facebook’s implementation is its first large-
scale deployment. A user is presented with a series of photos of their friends and
asked to select their name of a highlighted face from a multiple-choice list (see
Figure 1). The current system is used to authenticate user login attempts from
abroad.
Facebook has invited security experts to find flaws in the current system before
a wider roll-out. If it were deployed for regular authorization and login systems
and attacks were to be found subsequently, this could have wide repercussions
for the many online merchants and websites which use Facebook to identify their
customers, using the Facebook Connect OAuth 2.0 API2 . We therefore set out to
find the best attacks we could on social authentication, and this paper presents
our results.
Social authentication is based on the intuition that the user can recognize
her friends while a stranger cannot. At first glance, this seems rather promising.
However, we argue here that it is not easy to achieve both security and usability:
1
http://www.facebook.com/
2
http://developers.facebook.com/docs/authentication
Fig. 1. Social authentication on Facebook. Facebook typically asks the user to name
people in three photos.
(1) the user’s personal social knowledge is generally shared with people in her
social circle; (2) photo-based social authentication methods are increasingly vul-
nerable to automatic attacks as face recognition and social tagging technologies
develop; and (3) we face the same problems as in previous “personal knowledge
questions”.
In the rest of this article, we will analyse the risk of guessing attacks, then pro-
pose several schemes to mitigate them. In community-based challenge selection
we use social topology; if a user’s friends divide into several disjoint communi-
ties, we can select challenge sets that should not be known to any individual
friend. We can also reduce the risk of impersonation attacks leveraging the mu-
tual friends between the target user and the adversary; we demonstrate this
empirically on realistic data.
Social authentication may be effective against pure strangers. However, the peo-
ple against whom we frequently require privacy protection are precisely those in
our own social circle. For example, if a married man is having an affair, some ran-
dom person in another country is not likely to be interested; the people who are
interested are his friends and his wife’s. In short, users may share a lot of their
Social Authentication: Harder Than It Looks 3
friends with their adversaries. This is nothing new; 2,400 years ago, Sun-Tzu
said ‘Keep your friends close, and your enemies closer’. So a proper assessment
of the protective power of social authentication in real social networks must be
made using real data.
Formally, we view social connections between users in Facebook as an undi-
rected graph G = (U, E), where the set of nodes U represents the users and
the set of edges E represents “friend” relationships. For any user u ∈ U , we use
fu to denote the set of u’s friends. If each challenge image is selected by the
method M, we define the advantage of an adversary a who tries to impersonate
the target user u as:
min{k,|fu |}
M
AdvM,a (u, k, ρ) ≥ Pr ci ∈ fa(i) : ci ←−− fu(i) · ρ (1)
i=1
(i)
where fx = fx − {c1 , · · · , ci−1 } and k is the number of challenges (such that all
k challenges need to be answered correctly) and ρ is the adversary a’s average
success rate to recognize a person in a challenge image ci when ci ∈ fa . It
seems reasonable to introduce ρ less than 1 since it may sometimes be difficult
to recognize friends if tricky images are selected. For simplification, however, we
use ρ as a system parameter.
For any u, k and ρ, we define the impersonation attack advantage of M via
where the maximum is over all potential adversaries a ∈ Au and Au is the set
of users who share mutual friends with u.
In other words, at least one potential adversary a can impersonate the user u
with probability at least AdvM (u, k, ρ) when k challenge images are provided by
the selection method M. If we assume that k challenge images of different friends
are randomly selected, the advantage of the impersonation attack in Equation
(2) can be computed as follows:
⎧ ⎫
⎨min{k,|f
u |} |fua | − (i − 1) ⎬
AdvR (u, k, ρ) ≥ max ·ρ (3)
a∈Au ⎩ |fu | − (i − 1) ⎭
i=1
where fua is the intersection of fu and {fa ∪ a} and R denotes the random
selection method.
For example, in Figure 2, since |fu | = 5 and |fua | = 2, we get the probability
that a chooses the answer correctly for a challenge image about u is at least
(2/5) · ρ when k = 1. The probability decreases to (1/10) · ρ when k = 2.
One might think that authentication might be made arbitrarily secure since
increasing k will lead to an exponential decrease in the adversary success prob-
ability. We decided, however, to use real datasets to explore what value of k
might give a good balance between usability and security. With an ideal ρ value
4 H. Kim, J. Tang, and R. Anderson
Fig. 2. An example graph with u and a. Nodes represent users and links represent
friend relationships. The nodes u and a have five (fu , grey) and three (fa , square)
friends, respectively. They commonly share two friends (fua , grey-square).
(ρ = 0.99), we compute the AdvR (u, k, ρ) value for each user u by varying k
from 1 to 5 on the real Facebook network crawled from both university and
regional sub-networks. These sub-networks are summarised in Table 1.
Table 1. Summary of datasets used. d and ncc represent the “average number of
friends” and the “number of connected components”, respectively. The sub-networks
of universities are highly connected compared to those of regions.
k=1
k=2
k=3
k=4
k=5
Fig. 3. The histograms of AdvR (u, k, ρ) when ρ = 0.99 for the users in the seven
sub-networks of Facebook in Table 1. The black dotted lines represent the mean of
AdvR (u, k, ρ) values over the all users in a sub-network.
sub-networks, respectively, while those ranged from -0.00439 to -0.0425 for the
region sub-networks. These results indicate that social authentication should not
be offered to people with low centrality values.
Another key observation is the correlation between the adversary’s advan-
tages and nodes’ clustering coefficients. We can see there is a clear correlation
(ranged from 0.307 to 0.633) between them although the results are somewhat
inconsistent in the cases of ‘Monterey Bay’ and ‘Santa Barbara’. That is, users
with high clustering coefficients will become more vulnerable than those with low
clustering coefficients. It is natural; the clustering coefficient quantifies how well
a node’s friends are connected to each other — we should conclude that social
authentication is not recommended for users with high clustering coefficients.
Deg
Clo
Bet
CC
Fig. 4. Scatter plot graphs showing the correlation between the adversary’s advantage
(X-axis) and network centrality (Y -axis) over nodes when ρ = 0.99 and k = 3. We also
calculate the Pearson correlation coefficient for each scatter plot. These graphs indicate
that there exists a negative correlation between the adversary’s advantage and network
centrality while there exists a positive correlation between the adversary’s advantage
and clustering coefficient.
usability costs could be nontrivial. For example, if we reduce ρ to 0.9, then even
3
for k = 3 we get an unacceptable user success rate of (0.9) ≈ 0.73.
To make matters worse, face recognition attacks could be easily extended to
large-scale automated attacks by combining the photo collection and recognition
processes. As Facebook provides APIs to get images with Facebook ID easily
from photo albums, an adversary might automatically collect a lot of high-quality
images from the target’s friends since many casual users expose their photos in
public [2,13]. Although some users do have privacy concerns about sharing their
photos, many casual users often struggle with privacy management [14]. Social
networks make it difficult for users to manage privacy; it is in their commercial
interests for most users to stick with the (rather open) default settings. Therefore
an adversary attempting to circumvent social authentication could simply login
to Facebook with her own account, access the photos of the victim’s friends via
the openly available public search listings [6,11]. Acquisti et al. [1] demonstrated
the technical feasibility of this automatic attack. Using a database of images
taken from Facebook profiles, their face recognition software correctly identified
about one third of the subjects in their experiment.
1. Extract the subgraph H induced on the user u’s friends’ nodes fu from the
social graph G.
2. Find the set of community structures S = {η1 , · · · ηl } in H where ηi repre-
sents the ith community structure in H and l = |S|.
3. For ith challenge generation for 1 ≤ i ≤ k, choose randomly c and remove it
from η(i MOD l) where ηl = η0 . After removing c from η(i MOD l) , if η(i MOD l) is
empty, remove it from S and decrease the indices of the following community
structures {ηm : (i MOD l) < m ≤ l} and the total number of community
structures l by 1.
Fig. 5. An example of how the community structures are detected. (a) The subgraph H
is induced on the user u’s friends’ nodes fu (fu , grey). (b) Two community structures
S = {η1 , η2 } are detected in H.
where ηi (v) is the intersection of ηi and {fv ∪ v} and C denotes the community-
based challenge selection method.
To validate the effectiveness of this selection method, we compute the mean val-
ues of AdvC (u, k, ρ) on the preceding datasets in Section 2.1 and compare those
of AdvR (u, k, ρ) with random selection. The experimental results (for ρ = 0.99)
Social Authentication: Harder Than It Looks 9
0 0 0 0
1 3 5 7 9 1 3 5 7 9 1 3 5 7 9 1 3 5 7 9
k k k k
0 0 0
1 3 5 7 9 1 3 5 7 9 1 3 5 7 9
k k k
Fig. 6. Comparison of the mean values of adversary advantage between community-
based challenge selection (red solid line) and the random challenge selection (black
dashed line)
are shown in Figure 6 which shows almost the same slope patterns for all the
datasets. Community-based selection (C, red solid line) performed significantly
better than random selection (R, black dashed line) from k = 2 to 5. But if we
use a single challenge image (i.e. k = 1), it does worse! Since the first challenge
is selected from the first community ηi only, the attack success probability of
anyone in that community ηi is increased. The gap between community-based
and random challenge selection is largest for k = 3 or 4, and the mean values
of the adversary’s advantage tend to converge slowly. In fact, community-based
challenge selection is comparable at k = 3 to random selection at k = 10.
We hypothesised that setting k to the “number of community structures”
would enable community-based selection to get a good tradeoff between security
and usability. In order to test this, we analysed the average number of community
structures for each user’s friends. The results are shown in Table 2 where friends
can be divided into about three or four communities on average except in the
Santa Barbara sub-network.
We verified this hypothesis by calculating the average number of community
structures for each user’s friends and found that indeed friends can be divided
into about three or four communities on average; the exception being Santa
Barbara sub-network which had 5 communities.
We now discuss how adversary advantage may change with the friend recogni-
tion success rate ρ (see Figure 7). To demonstrate this we fix k = 3. As ρ decreases
from 0.99 to 0.84, the advantage values of both selection methods also slightly de-
crease. However, the change of ρ does not significantly affect the advantage values
10 H. Kim, J. Tang, and R. Anderson
0 0 0 0
0.99 0.90 0.84 0.99 0.90 0.84 0.99 0.90 0.84 0.99 0.90 0.84
ρ ρ ρ ρ
0 0 0
0.99 0.90 0.84 0.99 0.90 0.84 0.99 0.90 0.84
ρ ρ ρ
Fig. 7. The adversary advantage between the community-based challenge selection (red
solid line) and the random challenge selection (black dashed line) by varying ρ from
0.99 to 0.84 when k = 3
compared to the change of k or the challenge selection methods. These values were
derived from user success rates for existing image-based CAPTCHAs [12].
In all our experiments, the average number of communities is always a small
number (less than 5). Since we use campus or region networks, the number of
communities might be small compared to real friendship patterns in Facebook,
which could include structures of high school friends, college classmates, work
colleges and so on. Recently, some social networking services such as Google+3
and Facebook have started to encourage users to divide their friends into explicit
community groups; community-based challenge selection should be even more
useful in such situations.
One approach may be to exclude users who make all their photos visible
to everyone or “friends of friends” – an option in Facebook. This will prevent
collection of the training data needed for automatic face recognition tools. There
may be technical options too. As face-recognition software tools improve, they
can be incorporated into the challenge generation system – by rejecting candidate
challenge images whose subjects they can identify.
However, we should be cautious in using a long blacklist of photos; such a
policy may shrink the space of challenge photos to the point that an adversary
can just guess the answer to a given challenge.
In order to reduce the risk of the statistical guessing attacks discussed in Sec-
tion 2.3, and which leverage the probability distribution of people’s names, we
suggest using weighted random sampling instead of uniform random sampling.
Under uniform sampling, a name n is selected with the probability f (n) where
f is the probability density function for a set of names of people P. Alternatively,
in weighted random sampling, n is selected with the following probability:
f (n)−1
w(n) = −1
(5)
p∈P f (p)
Intuitively, in this case, friends with infrequent names will be selected with higher
probability compared to friends with popular names when a challenge image is
chosen. In a global view, the estimated probability density function of the users’
names in challenge images might tend to be the uniform distribution if the number
of users with popular names is much greater than that with unpopular name. So
selecting popular names as challenge answers won’t help the attacker any.
However, if an adversary can crawl all names of a victim’s friends successfully,
weighted random sampling is worse than uniform random sample unlike our
expectation; an attacker can choose a name from the crawled names in proportion
to the above probability since the challenge image is chosen with the probability.
Thus in practice a more complicated weighted random sampling technique should
be considered based on real statistics of privacy settings. As part of the future
work, we plan to design more advanced weighted sampling methods.
4 Related Work
Our work focuses on the security and usability of photo-based social authen-
tication methods. Social authentication was introduced under the belief that
adversaries halfway across the world might know a user’s password, but they
don’t know who the user’s friends are.
Yardi et al. [18] proposed a photo-based authentication framework and discussed
some security issues including Denial of Service (DoS) attacks: an adversary can
spam the system with photos with wrong tagging information so legitimate users
12 H. Kim, J. Tang, and R. Anderson
cannot pass the authentication test. They also mentioned attacks by a network
outlier belonging to the same group as the target. We extended this attack formally
and experimentally measured the level of threat.
In social networks, photo privacy may become even more problematic as social
networking websites such as Facebook have become the primary method of shar-
ing photos between people [17]. Ahern et al. [3] examined users’ decisions when
posting photos to Flickr4 with mobile camera phones, finding that many users
were concerned with protecting their personal images and keeping them out of
public view. Most social networking websites already provide mechanisms for
fine-grained photo sharing control, but user surveys [2,13] have shown that over
80% of social network users do not change their privacy settings at all from the
default. This implies that photo-based social authentication is very vulnerable
in practice to face recognition tools.
5 Conclusion
Formally, we use the standard definition [16] of the degree, closeness and be-
tweenness centrality values of a node u.
Degree centrality simply measures the number of direct connections to
other nodes. This is calculated for a node u as the ratio of the number of edges
of node u to the total number of all other nodes in the network. Degree centrality
can be simply computed but does not take into account the topological positions
of nodes and the weights of edges.
Closeness centrality expands the definition of degree centrality by measur-
ing how close a node is to all the other nodes. That is, this metric can be used to
quantify in practical terms how quickly a node can communicate with all other
nodes in a network. This is calculated for a node u as the average shortest path
length to all other nodes in the network:
1
Clo(u) = dist(u, v) (6)
|V | − 1
v=u∈V
where dist(u, v) is the length of the shortest path from node u to node v. In
an undirected graph, dist(u, v) is the number of hops in the shortest path from
node u to node v.
Betweenness centrality measures the paths that pass through a node and
can be considered as the proportional flow of data through each node. Nodes that
are often on the shortest-path between other nodes are deemed highly central
because they control the flow of information in the network. This centrality is
calculated for a node u as the proportional number of shortest paths between
all node pairs in the network that pass through u:
1 σs,t (u)
Bet(u) = (7)
(|V | − 1) · (|V | − 2) σs,t
s=u,t=u∈V
where σs,t is the total number of shortest paths from source node s to destina-
tion node t, and σs,t (u) is the number of shortest paths from source node s to
destination node t which actually pass through node u. For normalization, it is
divided by the number of all pairs of s and t.
14 H. Kim, J. Tang, and R. Anderson
Fig. 8. The characteristics of network centrality. In this network, Nd has higher degree
centrality than Nc since Nd has five neighbours while Nc has higher closeness centrality
than Nd . We note that Nd is located at the periphery of the network compared to Nc .
Interestingly, Nb has the highest betweenness centrality. We can see that Nb plays a
‘bridge’ role for the rightmost nodes.
References
1. Acquisti, A., Gross, R., Stutzman, F.: Faces of facebook: Privacy in the age of
augmented reality (2011),
http://www.heinz.cmu.edu/~ acquisti/face-recognition-study-FAQ/
2. Acquisti, A., Gross, R.: Imagined Communities: Awareness, Information Sharing,
and Privacy on the Facebook. In: Danezis, G., Golle, P. (eds.) PET 2006. LNCS,
vol. 4258, pp. 36–58. Springer, Heidelberg (2006)
3. Ahern, S., Eckles, D., Good, N.S., King, S., Naaman, M., Nair, R.: Over-exposed?:
privacy patterns and considerations in online and mobile photo sharing. In: CHI
2007: Proceedings of the SIGCHI Conference on Human Factors in Computing
Systems, pp. 357–366. ACM, New York (2007)
4. Becker, B.C., Ortiz, E.G.: Evaluation of face recognition techniques for application
to facebook. In: IEEE International Conference on Automatic Face and Gesture
Recognition, pp. 1–6 (2008)
5. Blondel, V.D., Guillaume, J.L., Lambiotte, R., Lefebvre, E.: Unfolding communities
in large complex networks: Combining defensive and offensive label propagation for
core extraction. Physical Review E 83(3), 036103 (2011)
Social Authentication: Harder Than It Looks 15
6. Bonneau, J., Anderson, J., Anderson, R., Stajano, F.: Eight friends are enough:
social graph approximation via public listings. In: Proceedings of the Second ACM
EuroSys Workshop on Social Network Systems, SNS 2009, pp. 13–18. ACM, New
York (2009)
7. Bonneau, J., Just, M., Matthews, G.: What’s in a Name? Evaluating Statistical
Attacks on Personal Knowledge Questions. In: Sion, R. (ed.) FC 2010. LNCS,
vol. 6052, pp. 98–113. Springer, Heidelberg (2010)
8. Daugman, J.: The importance of being random: statistical principles of iris recog-
nition. Pattern Recognition 36(2), 279–291 (2003)
9. Golle, P.: Machine learning attacks against the Asirra CAPTCHA. In: CCS 2008:
Proceedings of the 15th ACM Conference on Computer and Communications Se-
curity, pp. 535–542. ACM, New York (2008)
10. Just, M.: On the design of challenge question systems. IEEE Security and Privacy 2,
32–39 (2004)
11. Kim, H., Bonneau, J.: Privacy-enhanced public view for social graphs. In: SWSM
2009: Proceeding of the 2nd ACM Workshop on Social Web Search and Mining,
pp. 41–48. ACM, New York (2009)
12. Kluever, K.A., Zanibbi, R.: Balancing usability and security in a video CAPTCHA.
In: SOUPS 2009: Proceedings of the 5th Symposium on Usable Privacy and Secu-
rity, pp. 1–11. ACM, New York (2009)
13. Krishnamurthy, B., Wills, C.E.: Characterizing privacy in online social networks.
In: WOSP 2008: Proceedings of the First Workshop on Online Social Networks,
pp. 37–42. ACM, New York (2008)
14. Lipford, H.R., Besmer, A., Watson, J.: Understanding privacy settings in face-
book with an audience view. In: Proceedings of the 1st Conference on Usability,
Psychology, and Security, pp. 2:1–2:8. USENIX, Berkeley (2008)
15. Rice, A.: A Continued Commitment to Security (January 2011),
http://blog.facebook.com/blog.php?post=486790652130
16. Wasserman, S., Faust, K.: Social Network Analysis: Methods and Applications.
Cambridge University Press (1994)
17. Willinger, W., Rejaie, R., Torkjazi, M., Valafar, M., Maggioni, M.: Research on
online social networks: time to face the real challenges. SIGMETRICS Performance
Evaluation Review 37, 49–54 (2010)
18. Yardi, S., Feamster, N., Bruckman, A.: Photo-based authentication using social
networks. In: WOSP 2008: Proceedings of the First Workshop on Online Social
Networks, pp. 55–60. ACM, New York (2008)
The MVP Web-Based
Authentication Framework
(Short Paper)
1 Introduction
schemes use PHP to communicate with the MVP dispatcher. A mySQL database
stores administrative data to support the schemes.
MVP allows for easy parameterization of schemes so they may be used at dif-
ferent levels of security. User accounts are initially defined by an administrator,
who selects the authentication scheme and the desired parameters for the web-
site. A user may be assigned different schemes for different sites. Tools facilitate
the process of defining multiple accounts. By default, a simple plain-text pass-
word system is used. However, modules for other schemes can easily be written
and added to MVP. Currently, password schemes include PassPoints [16], Cued
Click-Points [9], Persuasive Cued Click-Points [10], Draw-a-Secret [14], GrID-
sure [3], PassTiles [15]; and recognition-based schemes using face, object, house,
and word images. As well, MVP supports various text password systems.
Ecological Validity: MVP is especially designed to allow passwords to be de-
ployed and accessed by users in their regular environments over longer periods
of time. The system allows authentication to become a secondary task, by sup-
porting primary tasks on real websites that require users to log in as part of the
process. This allows the collection of more realistic usage data. MVP exists as
a Wordpress plugin for blogs. We have also modified instances of other popular
open-source systems, including phpBB forums, OSCommerce online stores, and
the MediaWiki platform. Figure 2 provides a screenshot of the login interface
for a Wordpress blog using PCCP as an authentication scheme, while Figure 3
shows the DAS, Face, and Word Recognition login interfaces.
Training: MVP provides an interface for users to practice using new schemes
and receive immediate feedback about whether they are entering passwords cor-
rectly. MVP also supports audio/video tutorials, interactive demo systems, and
static text/image help pages. Some schemes (e.g., PassTiles) include the option
of practicing passwords directly within the password creation interface where
users can show/hide their password and practice it until it is memorized.
Administration Tools: MVP includes several study administration tools. A
notification system automates the process of emailing participants at specific
intervals prompting them to complete at-home tasks. A log query system al-
lows experimenters to retrieve information in real-time from the database about
the activities of specific users. While experiments are in-progress, the query sys-
tem is especially useful to monitor whether users are completing tasks and to
20 S. Chiasson et al.
troubleshoot any problems from users. A modified version of the MRBS [5]
scheduling software allows in-person participants to sign-up for study sessions.
Crowdsourcing Functionality: Online crowdsourcing websites (such as Ama-
zon’s Mechanical Turk [1] — MTurk) are increasingly used as a source of par-
ticipants for usable security studies, and MVP includes tools to help conduct
studies using such systems. Crowdsourcing studies differ from traditional stud-
ies in the volume of system traffic, the pace of the study, and the methods of
communication and payment. An MVP validation protocol verifies that the cor-
rect tasks have been completed, and users must validate their work to receive
payment for that session. MVP tracks user identifiers from the crowdsourcing
site (e.g., MTurk worker ID) and email addresses to reduce the possibility that a
user participates multiple times in the same study or in closely related studies.
The system also ensures that users cannot join partway through a multi-task
study without having completed earlier steps.
Table 1. Summary of MVP user studies. The number of sessions includes the total
number of in-lab sessions and at-home tasks.
MVP also enables fully online user studies with no in-person component. We
have completed two MTurk studies and a third study is in progress.
10. PassTiles - MTurk: Study 6 of PassTiles was replicated using partic-
ipants from MTurk. Instructions were provided entirely through webpages and
email. Results supported those found using the hybrid study.
11. PassTiles - MTurk 2: A second MTurk study of PassTiles used an
8 × 10 grid and 6 tiles. Results were similar to the earlier studies, indicating that
the larger theoretical password space did not negatively affect usability.
12: PCCP - MTurk Training: We are currently investigating different
delivery methods for training in online studies. Three instruction sets have been
compiled for the PCCP authentication system: a static text/image webpage, an
interactive demo webpage, and a video tutorial.
Based on web server log information about their browsers, participants used
MVP on a variety of computers and platforms without problem. The partici-
pation rate was high during the at-home tasks. Several participants mentioned
enjoying the websites and inquired whether they would be available beyond the
study, providing evidence that participants engaged with the web content as
their primary task. When users forgot their passwords, they reset them from
home without intervention from an administrator.
In this section, we outline a number of lessons learned while running studies
using MVP. This list is not comprehensive, but we hope that these findings may
assist other experimenters in designing and conducting similar studies.
Force Logoffs: One problem with using real websites for experimental purposes
is that they may not be configured appropriately for password studies. The
Wordpress blogs were pre-configured to allow users to remain logged in. We
enforced server-side logoffs, so that users would need to log in with each visit.
Ethics: In running user studies of any kind (whether lab, hybrid or online), not
only it is important to obtain permission from the appropriate research ethics
board, but also to give consideration to key issues such as privacy. In our on-
line studies, email address and crowdsourcing identifier were the only identifying
information collected about each participant, and this was never displayed pub-
licly. Consent forms were completed online and included only the participant’s
email address as a “signature”. All data collected in the study (including ques-
tionnaire data) was collected and stored on our servers, allowing us to have
complete control of the data and ensuring that it is accessed only by authorized
researchers. We are considering an email aliasing system to further anonymize
data while still helpind to detect users trying to participate more than once.
Practicing: In an early MVP study, we noticed a few participants with several
logins immediately preceding a required study task. It appeared that before
The MVP Web-Based Authentication Framework 23
returning to the lab, participants were practicing entering their passwords! When
running studies, and considering ecological validity, it is important to consider
that participants may be putting in a different effort (whether greater or less)
than they would in a real life scenario.
Avoiding the Task at Hand: We have occasionally noticed that participants
will develop coping strategies that avoid performing the correct task. In one
study of text passwords, we noticed that instead of remembering their passwords,
participants were resetting their passwords at every login because it was quicker
and easier. In another study (of PassTiles), participants seemed to be coping
with the study tasks by writing all of their passwords down. It is important to
consider how participants may be circumventing your tasks, and either prevent
them from doing so, or collect sufficient information to be aware of these coping
strategies. Such behaviours may in fact reflect real-life behaviour and may offer
important insight into the real usage of authentication systems.
Global Researchers, Global Audience: To our initial surprise, we could not
post tasks on MTurk as non-US citizens. We instead use Crowdflower [2] as a
intermediary that can post tasks to several crowdsourcing systems, including
MTurk. We also had minor issues with international participants who were run-
ning older computer systems and had slow or unreliable internet connections.
Having a robust system that is compatible with a wide variety of environments
is critical. The system should also be able to withstand significant web traffic
when running MTurk studies and be robust enough to withstand users trying to
cheat and circumvent the system in a variety of ways.
5 Conclusions
MVP is a web-based authentication framework which we used for conducting
more ecologically valid user studies of authentication schemes. It uses instances
of real web-based applications that have been modified to require login using
configurable, interchangeable authentication schemes. Now that MVP has been
tested with these shorter studies, we are preparing larger, longer-term (several
months) comparison studies of various authentication schemes.
References
1. Amazon Mechanical Turk, https://www.mturk.com
2. Crowdflower, http://crowdflower.com/
3. GrIDsure corporate website, http://www.gridsure.com
4. LimeSurvey: The open source survey application, http://www.limesurvey.org
5. MRBS, http://mrbs.sourceforge.net/
6. Passfaces Corporation, http://www.passfaces.com/
7. Beautement, A., Sasse, A.M.: Gathering realistic authentication performance data
through field trials. In: SOUPS USER Workshop (2010)
8. Biddle, R., Chiasson, S., van Oorschot, P.C.: Graphical Passwords: Learning from
the First Twelve Years. ACM Computing Surveys 44(4) (in Press)
24 S. Chiasson et al.
9. Chiasson, S., Biddle, R., van Oorschot, P.C.: A second look at the usability of
click-based graphical passwords. In: ACM SOUPS (July 2007)
10. Chiasson, S., Forget, A., Biddle, R., van Oorschot, P.C.: Influencing users towards
better passwords: Persuasive Cued Click-Points. In: BCS-HCI (2008)
11. Chiasson, S., Stobert, E., Forget, A., Biddle, R., van Oorschot, P.C.: Persuasive
Cued Click-Points: Design, implementation, and evaluation of a knowledge-based
authentication mechanism. IEEE Transactions on Dependable and Secure Com-
puting, TDSC (in press, 2012)
12. Davis, D., Monrose, F., Reiter, M.: On user choice in graphical password schemes.
In: USENIX Security Symposium (2004)
13. Hlywa, M., Biddle, R., Patrick, A.: Facing the facts about image type in
recognition-based graphical passwords. In: ACSAC (2011)
14. Jermyn, I., Mayer, A., Monrose, F., Reiter, M., Rubin, A.: The design and analysis
of graphical passwords. In: USENIX Security Symposium (1999)
15. Stobert, E.: Memorability of Assigned Random Graphical Passwords. Master’s the-
sis, Department of Psychology, Carleton University (August 2011)
16. Wiedenbeck, S., Waters, J., Birget, J., Brodskiy, A., Memon, N.: Authentication
using graphical passwords: Effects of tolerance and image choice. In: SOUPS (2005)
17. Wright, N.: Do you see your password? Applying recognition to textual passwords.
Master’s thesis, Department of Psychology, Carleton University (August 2011)
A Birthday Present Every Eleven Wallets?
The Security of Customer-Chosen Banking PINs
Computer Laboratory
University of Cambridge
{jcb82,sdp36,rja14}@cl.cam.ac.uk
1 Introduction
Personal Identification Numbers, or PINs, authenticate trillions of pounds in
payment card transactions annually and are entrenched by billions of pounds
worth of infrastructure and decades of customer experience. In addition to their
banking role, 4-digit PINs have proliferated in a variety of other security appli-
cations where the lack of a full keypad prevents the use of textual passwords
such as electronic door locks, smartphone unlock codes and voice mail access
codes. In this work, we provide the first extensive investigation of the security
implications of human selection and management of PINs.
Barclays-De La Rue system rolled out in June and 4-digit PINs in the National-
Chubb system in September. According to John Shepherd-Barron, leader of the
De La Rue engineering team, after his wife was unable to remember six random
digits he reduced the length to four.
Early cash machines were stand-alone, offline machines which could only ex-
change cash for punched cards (which were kept by the machine). The primary
use case was to cease branch operations on Saturdays and still allow customers to
retrieve cash. Interestingly, cash machines deployed contemporaneously in Japan
and Sweden in 1967 used no PINs and absorbed losses from lost or stolen cards.
As late as 1977, Spain’s La Caixa issued cards without PINs.
PINs were initially bank-assigned by necessity as they were hard-coded onto
cards using steganographic schemes such as dots of carbon-14. Soon a variety of
schemes for storing a cryptographic transformation of the PIN developed.1 The
IBM 3624 ATM controller introduced an influential scheme for deriving PINs in
1977 [5]. PIN verification consisted of a DES encryption of the user’s account
number, converting the first 4 hexadecimal digits of the result into decimal using
a lookup table, adding a 4-digit PIN offset modulo 104 , and comparing to the
entered PIN. Changing the PIN offset stored on the card enabled the user to
choose their own PIN. Banks began allowing customer-chosen PINs in the 1980s
as a marketing tactic, though it required substantial infrastructure changes.
The development of Visa and MasterCard and the interconnection of ATM
networks globally in the 1990s cemented the use of PINs for payment card au-
thentication in both the 1993 ISO 9564 standard [3] and 1995 EMV standard [1].
Today, most cards use the Visa PVV scheme, which stores a DES-based MAC
of the account number and PIN called the pin-verification value (PVV) which
can be re-computed to check if a trial PIN is correct.
The EMV standard further led to PINs taking on the role of authorising
payments at merchant tills, with the card’s chip verifying the customer’s PIN
internally.2 Technically, this use of PINs uses a different mechanism than that
for ATM authentication, though in all practical deployments the two PINs are
the same and may only be changed at an ATM. With the advent of EMV, PINs
must be entered more often and into a plethora of vendor terminals, increasing
the risk of compromise.
Chip cards have also enabled the deployment of hand-held Chip Authentica-
tion Program (CAP) readers since 2008 for verifying Internet transactions [10].
CAP readers allow muggers to verify a PIN demanded from a victim during an
attack; they can also be used to guess offline the PIN on a found or stolen card.
with earlier Visa standards, but makes no mention of PIN selection. Separately,
Visa maintains Issuer PIN Security Guidelines with several recommendations for
users, specifically that they never write down their PIN or use it for any other
purpose. The document is neutral between issuer-assigned PINs or customer-
chosen PINs, providing one sentence about PIN selection [2]: “Select a PIN that
cannot be easily guessed (i.e., do not use birth date, partial account numbers,
sequential numbers like 1234, or repeated values such as 1111).”
ISO 9564 [3] covers PIN security and is largely similar to Visa’s guidelines,
mostly focusing on PIN transmission and storage. It adds a recommendation
against “historically significant dates,” and PINs chosen as words on the keypad.
Neither standard mentions using a “denied PIN list” to blacklist weak PINs, as
is recommended in standards for text passwords [8].
As a result of the vague standards, PIN requirements vary significantly but the
minimal 4-digit length predominates. PIN length appears integrated into cultural
norms: there is rarely variation within competitive regions, while in some locales
most card issuers require PINs longer than 4 digits.3 Similarly, most banks allow
user-chosen PINs, with a few regional exceptions such as Germany.
Because denied PIN lists aren’t publicly advertised, we evaluated several bank-
ing cards by requesting the PIN 1234.4 In the UK, this was denied by Barclays,
HSBC and NatWest but allowed by Lloyds TSB and The Co-op Bank. In the
USA, this was denied by Citibank and allowed by Bank of America, HSBC
and Wells Fargo. We only identified card-specific denied PIN lists; we found no
ATM implementing local restrictions. At one bank we tested, Chase in the USA,
self-service PIN changes are not possible and changes must be made in-person.
Banks’s policies may vary with time or location (note the inconsistency of HSBC
between the USA and UK), but denied PIN lists are clearly not universal.
Table 1. Guessing metrics for 4-digit sequences in RockYou passwords and iPhone
unlock codes. Values are also shown for the regression-model approximation for each
distribution and for a uniform distribution of 4-digit PINs.
distribution H1 G̃ μ̃0.5 λ3 λ6
RockYou 4-digit sequences 10.74 11.50 9.11 8.04% 12.29%
RockYou regression model 11.01 11.79 9.39 5.06% 7.24%
iPhone unlock codes 11.42 11.83 10.37 9.23% 12.39%
iPhone regression model 11.70 12.06 10.73 9.21% 11.74%
random 4-digit PIN 13.29 13.29 13.29 0.03% 0.06%
Thus, we are primarily concerned with estimating λ3 and λ6 , though other values
are of interest if a user has reused a PIN for multiple cards.
The metrics are not directly comparable, as H1 is in units of bits, G and μα
in units of guesses, and λβ is a probability. It can be helpful to convert all of the
metrics into bits by taking the base-2 logarithm of a uniform distribution which
would have the same value of the metric, as demonstrated in [6]:
β μα (X )
G̃ = log2 (2 · G(X ) − 1) ; λ̃β = log2 ; μ̃α = log2 (5)
λβ (X ) λμα
For example, a distribution with μ0.5 = 128 would be equivalent by this metric
to an 8-bit random variable, denoted as μ̃0.5 = 8. We may use units of dits (also
called hartleys or bans) by taking base-10 logarithms instead of base-2. This
represents the number of random decimal digits providing equivalent security.
RockYou. The leak of 32 million textual passwords from the social gaming
website RockYou in 2009 has proved invaluable for password research [21]. We
extracted all consecutive sequences of exactly 4 digits from the RockYou pass-
words. There were 1,778,095 such sequences; all possible 4-digit sequences oc-
curred. 1234 was the most common with 66,193 occurrences (3.7%), while 8439
was the least common with 10 occurrences (0.0006%).
Though these sequences occurred as part of longer strings, a manual inspection
of 100 random passwords which include a 4-digit sequence identified only 3 with
an obvious connection between the digits and the text (feb1687, classof2007
and 2003chevy), suggesting that digits and text are often semantically indepen-
dent. Users also show a particular affinity for 4-digit sequences, using them more
significantly more often than 3-digit sequences (1,599,959) or 5-digit sequences
(497,791).
30 J. Bonneau, S. Preibusch, and R. Anderson
18
95
17
90
85 16
80
15
75
70 14
65
Second two PIN digits
13
60
− log2 p(PIN)
55
12
50 11
45
10
40
35 9
30
8
25
20 7
15
6
10
05
5
00 4
00 05 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95
First two PIN digits
Fig. 1. The distribution of 4-digit sequences within RockYou passwords. Each cell
shows the frequency of an individual sequence, a proxy for PIN popularity.
iPhone. Our second dataset was published (in aggregate form) in June 2011 by
Daniel Amitay, an iPhone developer who deployed a screen locking mechanism
which requires entering a 4-digit sequence to unlock. This dataset was much
smaller, with 204,508 PINs. It doesn’t support reliable estimates of low-frequency
PINs, as 46 possible PINs weren’t observed at all. 1234 was again the most
common, representing 4.3% of all PINs. The screen unlock codes were entered
using a square number pad very similar to standard PIN-entry pads. Geometric
patterns, such as PINs consisting of digits which are adjacent on the keypad,
were far more common than in the RockYou sequences.
Plotting the RockYou distribution in a 2-dimensional grid (Figure 1) high-
lights some basic factors influencing popularity. The most prominent features
are the stripe of recent years and the range of calendar dates in MMDD and DDMM
format, which trace the variation in lengths of each month. Many other features,
such as a diagonal line of PINs with the same first and last two digits, and a
horizontal line of PINs ending in 69, can be clearly seen.
To quantitatively measure important factors in PIN selection, we performed
linear regression on each distribution with a number of human-relevant functions
of each PIN as regressors. The datasets were well suited to this analysis, with
nearly 10,000 samples of the response variable (the frequencies of each PIN). The
The Security of Customer-Chosen Banking PINs 31
0.07
RockYou
iPhone
0.06
average
simple model
proportion of year region variance
0.05
0.04
0.03
0.02
0.01
0.00
1900 1920 1940 1960 1980 2000 2020
PIN
Fig. 2. Probability of 4-digit years from 1900–2025 in the RockYou dataset. Some
outliers demonstrate confounding factors: 1937 and 1973 represent the four-corners of
a numeric keypad, 1919 and 2020 are repeated pairs of digits, and 1969 demonstrates
users’ affinity for the number 69.
assumption of a linear model simply means that the population can be divided
into distinct groups of users employing different PIN selection strategies, such
as choosing specific date formats or geometric patterns.
Our process for identifying relevant input functions was iterative: we began
with none, producing a model in which each PIN is equally likely, and progres-
sively added functions which could explain the PINs which were the most poorly
fit. We stopped at the point when we could no longer identify intuitive functions
which increased the fit of the model as measured by the adjusted coefficient of
determination R̄2 , which avoids bias in favour of extra input functions.
We were cautious to avoid over-fitting the training datasets, particularly for
PINs which represent recent years, shown in Figure 2. The popularity of recent
years has peaks between the current year and the year 1990, this range probably
represents recent events like graduations or marriages (or perhaps registration).
There is steady decline for older years, likely due to the drop-off in frequency
of birthdays and events which are still memorable. Due to the large fluctuations
for recent years in both datasets, and a possibly younger demographic for both
datasets compared to the general population, we used a biased model for the
popularity of different years in PIN selection: constant popularity for all years
32 J. Bonneau, S. Preibusch, and R. Anderson
Table 2. Results of linear regression. The percentage of the variance explained by each
input function is shown for the RockYou and iPhone datasets. The final column shows
estimates for the prevalence of each category from our user survey.
in the past 20 years, and linear drop-offs for years from 20–65 years in the past,
and for 5 years into the future. This model, plotted in Figure 2, was used for
PINs representing 4-digit years directly as well as DMYY and MMYY PINs.
After fixing the year model, we removed the range of years from the regression
model to avoid skewing the model’s estimation of other parameters to correct for
the intentionally weakened model of the year distribution. We similarly added
single-element input functions for 1234, 0000, 1111, and 2580 to avoid omitted-
variable bias caused by these significant outliers.
The complete results of our final model with 25 input functions are shown in
Table 2. All of the input functions were binary, except for years, calendar dates
(in which Feb. 29th was discounted), and words spelled on a keypad.7 All of
7
We used the distribution of four-letter passwords in the RockYou dataset to approx-
imate words used in spelled-out PINs. ‘love’ was the most common 4-letter password
by a large margin, and its corresponding PIN 5683 was a significant outlier.
The Security of Customer-Chosen Banking PINs 33
The low frequency of many PINs in the RockYou dataset means a survey of hun-
dreds of thousands of users would be needed to observe all PINs. Additionally,
ensuring that users feel comfortable disclosing their PIN in a research survey is
difficult. We addressed both problems by asking users only if their PINs fall into
the generic classes captured by our regression model.
We deployed our survey online using the Amazon Mechanical Turk platform,
a crowd-sourcing marketplace for short tasks. The study was advertised to US-
based ‘workers’ as a “Short research survey about banking security” intended to
take five minutes. We deliberately displayed the University of Cambridge as the
responsible body to create a trust effect. To reduce the risk of re-identification,
no demographic or contact information was collected. The design was approved
by the responsible ethics committee at the University of Cambridge.
The survey was piloted on 20 respondents and then administered to 1,351 re-
spondents. 1,337 responses were kept after discarding inconsistent ones.8 Re-
spondents were rewarded between US $0.10–0.44 including bonuses for complete
submission and thoughtful feedback. Repeated participation was prohibited.
The 1,177 respondents with a numeric banking PIN were asked a series of ques-
tions about their PIN usage. A summary of the question phrasing and responses
is provided in Appendix A. A surprising number (about 19%) of users rarely
or never use their PIN, relying on cash or cheques and in-person interaction
with bank tellers. Several participants reported in feedback that they distrust
ATM security to the point that they don’t even know their own PINs. Many
8
It is common practice on Mechancial Turk tasks to include carefully-worded “test
questions” to eliminate respondents who have not diligently read the instructions.
34 J. Bonneau, S. Preibusch, and R. Anderson
others stated that they prefer signature verification to typing in their PIN. How-
ever, 41% of participants indicated that PINs were their primary authentication
method for in-store payments, with another 16% using PINs or signatures equally
often. Of these users, nearly all (93%) used their PINs on at least a weekly basis.
Over half of users (53%) reported sharing their PIN with another person,
though this was almost exclusively a spouse, partner, or family member. This
is consistent with a 2007 study which found that about half of online banking
users share their passwords with a family member [18]. Of the 40% of users
with more than one payment card, over a third (34%) reported using the same
PIN for all cards. This rate is lower than that for online passwords, where the
average password is reused across six different sites [11]. The rate of forgotten
PINs was high, at 16%, although this is again broadly consistent with estimates
for online passwords, where about 5% of users forget their passwords every 3
months at large websites [11]. Finally, over a third (34%) of users re-purpose
their banking PIN in another authentication system. Of these, the most common
were voicemail codes (21%) and Internet passwords (15%).
We invited the 1,108 respondents with a PIN of exactly 4 digits to identify their
PIN selection method. This was the most sensitive part of the survey, and users
were able to not provide this information without penalty, removing a further
27% of respondents and leaving us with 805 responses from which to estimate
PIN strength. We presented users with detailed descriptions and examples for
each of the selection strategies identified in our regression model. Users were also
able to provide free-form feedback on how they chose their PIN. The aggregated
results of our survey are shown alongside our regression model in Table 2.
The largest difference between our survey results and the regression models
was a huge increase in the number of random and pseudo-random PINs: almost
64% of respondents in our survey, compared to 23% and 27% estimated for
our example data sets. Of these users, 63% reported that they either used the
PIN initially assigned by their bank or a PIN assigned by a previous bank.9
Another 21% reported the use of random digits from another number assigned
to them, usually either a phone number or an ID number from the government,
an employer, or a university (about 30% for each source).10
Of users with non-random PINs, dates were by far the largest category, repre-
senting about 23% of users (comparable to the iPhone data and about half the
rate of the RockYou data). The choice of date formats was similar to the other
datasets with the exception of 4-digit years, which were less common in our sur-
vey. We also asked users about the significance of the dates in their PINs: 29%
9
We explored the possibility that some of our participants kept their initial PIN
simply because they rarely or never used their card, but the rate was statistically
indistinguishable for users using their PIN at least once per week.
10
While reusing identification numbers and phone numbers in PINs may open a user
to targeted attacks, they should appear random to a guessing attacker.
The Security of Customer-Chosen Banking PINs 35
Table 3. Guessing metrics for banking PINs, using the model computed from our
survey and regression results on the iPhone dataset
used their own birth date, 26% the birth date of a partner or family member,
and 25% an important life event like an anniversary or graduation.
Finally, about 9% of users chose a pattern on the keypad, and 5% a numeric
pattern such as repeated or sequential digits. Our sample size was insufficient to
provide an accurate breakdown of users within these categories.
Table 4. Probability of a successful attack given multiple cards from one user. The
final column is an expected value given the observed rate of card ownership.
Assuming that users with a blacklisted PIN will be re-distributed randomly ac-
cording to the rest of the distribution (as assumed in [21]), the effects of black-
listing the top 100 PINs are substantial—λ6 drops to 0.2%.11 This is equivalent
to λ̃6 = 11.6 bits (3.9 dits) of security, indicating that a very small blacklist may
eliminate most insecurity due to human choice. Unfortunately, as seen in Table 3
and Table 4, blacklisting is much less effective against known birth date attacks,
only reducing λ6 to 5.1% (λ̃6 = 6.9 bits/2.1 dits). With a reasonable blacklist, it
is only possible to block the YYYY format, leaving an attacker to try DDMM, MMDD,
and so on; preventing this would require user-specific blacklists.
We calculate the guessing probability of a thief with multiple stolen cards, for
example from an entire wallet or purse, in Table 4. Though most of our surveyed
users own only one card with a PIN, on expectation stealing a wallet instead of
a single card raises a thief’s guessing chances by over a third. Our survey results
suggest that virtually all payment card users (99%) carry documentation of their
birth date alongside their card.12 Thus, we conclude that a competent thief will
gain use of a payment card once every 11–18 stolen wallets, depending on the
proportion of banks using a denied PIN list.
6 Concluding Remarks
sharing and many users reporting serious thought about PIN security. How-
ever, the skew introduced by user choice may make manual guessing by thieves
worthwhile—a lost or stolen wallet will be vulnerable up to 8.9% of the time in
the absence of denied PIN lists, with birthday-based guessing the most effective
strategy. Blacklisting appears effective only if a thief doesn’t know the user’s
date of birth (or users stop using this to choose their PIN). We advise users not
to use PINs based on a date of birth, and those banks which do not currently
employ blacklists to immediately do so. Still, preventing birthday-based guessing
requires a move away from customer-chosen PINs entirely.
References
1. EMV Integrated Circuit Card Standard for Payment Systems version 4.2. EMVco
(2008)
2. Issuer PIN Security Guidelines. Technical report, VISA (November 2010)
3. ISO 9564:2011 Financial services – Personal Identification Number (PIN) manage-
ment and security. International Organisation for Standardisation (2011)
4. Bátiz-Lazo, B., Reid, R.J.: The Development of Cash-Dispensing Technology in
the UK. IEEE Annals of the History of Computing 33, 32–45 (2011)
5. Bond, M., Zieliński, P.: Decimalisation table attacks for PIN cracking. Technical
Report UCAM-CL-TR-560, University of Cambridge (January 2003)
6. Bonneau, J., Just, M., Matthews, G.: What’s in a Name? Evaluating Statistical
Attacks against Personal Knowledge Questions. In: Sion, R. (ed.) FC 2010. LNCS,
vol. 6052, pp. 98–113. Springer, Heidelberg (2010)
7. Boztas, S.: Entropies, Guessing, and Cryptography. Technical Report 6, Depart-
ment of Mathematics, Royal Melbourne Institute of Technology (1999)
8. Burr, W.E., Dodson, D.F., Polk, W.T.: Electronic Authentication Guideline. NIST
Special Publication 800-63 (April 2006)
9. Cachin, C.: Entropy measures and unconditional security in cryptography. PhD
thesis, ETH Zürich (1997)
10. Drimer, S., Murdoch, S.J., Anderson, R.: Optimised to Fail: Card Readers for
Online Banking. In: Dingledine, R., Golle, P. (eds.) FC 2009. LNCS, vol. 5628,
pp. 184–200. Springer, Heidelberg (2009)
11. Florêncio, D., Herley, C.: A large-scale study of web password habits. In: WWW
2007: Proceedings of the 16th International Conference on World Wide Web, pp.
657–666. ACM, New York (2007)
12. Ivan, A., Goodfellow, J.: Improvements in or relating to Customer-Operated Dis-
pensing Systems. UK Patent #GB1197183 (1966)
13. Kuhn, M.: Probability Theory for Pickpockets—ec-PIN Guessing. Technical report,
Purdue University (1997)
14. Massey, J.L.: Guessing and Entropy. In: Proceedings of the 1994 IEEE International
Symposium on Information Theory, p. 204 (1994)
15. Morris, R., Thompson, K.: Password security: a case history. Commun.
ACM 22(11), 594–597 (1979)
16. Murdoch, S.J., Drimer, S., Anderson, R., Bond, M.: Chip and PIN is Broken. In:
IEEE Symposium on Security and Privacy, pp. 433–446 (2010)
17. Pliam, J.O.: On the Incomparability of Entropy and Marginal Guesswork in
Brute-Force Attacks. In: Roy, B., Okamoto, E. (eds.) INDOCRYPT 2000. LNCS,
vol. 1977, pp. 67–79. Springer, Heidelberg (2000)
38 J. Bonneau, S. Preibusch, and R. Anderson
18. Singh, S., Cabraal, A., Demosthenous, C., Astbrink, G., Furlong, M.: Password
Sharing: Implications for Security Design Based on Social Practice. In: CHI 2007:
Proceedings of the SIGCHI Conference on Human factors in Computing Systems,
pp. 895–904. ACM, New York (2007)
19. Spafford, E.: Observations on Reusable Password Choices. In: Proceedings of the
3rd USENIX Security Workshop (1992)
20. van Oorschot, P.C., Thorpe, J.: On Predictive Models and User-Drawn Graphical
Passwords. ACM Trans. Inf. Syst. Secur. 10(4), 1–33 (2008)
21. Weir, M., Aggarwal, S., Collins, M., Stern, H.: Testing metrics for password creation
policies by attacking large sets of revealed passwords. In: Proceedings of the 17th
ACM Conference on Computer and Communications Security, CCS 2010, pp. 162–
175. ACM, New York (2010)
Do you regularly use a PIN number with your payment cards? (N = 1337)
Overall, how often do you type your PIN when making a purchase in a shop? And
how often do you type your PIN at an ATM/cash machine? (N = 1177)
shop ATM
Multiple times per day 81 (6.9%) 14 (1.2%)
About once per day 117 (9.9%) 19 (1.6%)
Several times a week 342 (29.1%) 118 (10.0%)
About once per week 241 (20.5%) 384 (32.6%)
About once per month 113 (9.6%) 418 (35.5%)
Rarely or never 283 (24.0%) 224 (19.0%)
1 2 3 4 5 6
708 (60.2%) 344 (29.2%) 89 (7.6%) 23 (2.0%) 11 (0.9%) 2 (0.2%)
If you have more than one payment card which requires a PIN, do you use the same
PIN for several cards? (N = 469)
yes no
161 (34.3%) 308 (65.7%)
Have you ever changed the PIN associated with a payment card? (N = 1177)
Never Yes, when I initially received the card Yes, I change periodically
591 (50.2%) 376 (31.9%) 210 (17.8%)
Have you ever forgotten your PIN and had to have your financial institution remind
you or reset your card? (N = 1177)
yes no
186 (15.8%) 991 (84.2%)
Have you ever shared your PIN with another person so that they could borrow your
payment card? (N = 1177)
spouse or significant other 475 (40.4%)
child, parent, sibling, or other family member 204 (17.3%)
friend or acquaintance 40 (3.4%)
secretary or personal assistant 1 (0.1%)
any 621 (52.8%)
Have you ever used a PIN from a payment card for something other than making
a payment or retrieving money? (N = 1177)
password for an Internet account 180 (15.3%)
password for my computer 94 (8.0%)
code for my voicemail 242 (20.6%)
to unlock the screen for mobile phone 104 (8.8%)
to unlock my SIM card 29 (2.5%)
entry code for a building 74 (6.3%)
any 399 (33.9%)
B Suggested Blacklist
According to our computed model, the following blacklist of 100 PINs is optimal:
0000, 0101–0103, 0110, 0111, 0123, 0202, 0303, 0404, 0505, 0606, 0707, 0808,
0909, 1010, 1101–1103, 1110–1112, 1123, 1201–1203, 1210–1212, 1234, 1956–
2015, 2222, 2229, 2580, 3333, 4444, 5252, 5683, 6666, 7465, 7667.
13
This question was sent to a random subset of respondents after the main survey.
40 J. Bonneau, S. Preibusch, and R. Anderson
C Acknowledgements
We thank Mike Bond, Andrew Lewis, Saar Drimer, Steven Murdoch, and Richard
Clayton for helpful discussions about PIN security, Bernardo Bátiz-Lazo for com-
ments about ATM history, Alastair Beresford for assistance with survey design,
and Daniel Amitay for sharing data. We also thank Andra Adams, Jon Ander-
son, Alexandra Bowe, Omar Choudary, William Swan Helvestine, Markus Kuhn,
Niraj Lal, Will Moreland, Frank Stajano, Paul van Oorschot and Robert Wat-
son for help identifying banking practices around the world. Joseph Bonneau
was supported by the Gates Cambridge Trust during this research.
The Postmodern Ponzi Scheme: Empirical
Analysis of High-Yield Investment Programs
1 Introduction
Fig. 1. Screenshot of HYIP macrotrade.com and the corresponding entry on the ag-
gregator hyip.com
core features such as interest rates, minimum investment terms and funding
options. They operate forums in which individuals can report their experiences;
but more significantly, the aggregators appear to make their own investments in
some of the HYIPs and report on when interest payments cease. As an illustrative
example, Figure 1 shows a screenshot of the HYIP macrotrade.com, along with
its entry on the aggregator website hyip.com.
We have spent many months collecting data from HYIP websites and ag-
gregators to measure the extent of HYIP activity, so that we can improve our
understanding of this particular type of online criminality.
In Section 2 we explain our data collection and measurement methodology. In
Section 3 we discuss our evidence as to whether the aggregator sites are making
truthful1 reports. In Section 4 we examine HYIP lifetimes and investigate the
extent to which it is possible to predict their collapse. In Section 5 we discuss the
role of ‘digital currencies’ in this ecosystem and then in Section 6 we estimate
the scale of this particular type of online criminality and discuss various ways
that it might be discouraged, if not entirely stamped out. In Section 7 we survey
related work and finally in Section 8 we summarize what we have learned so far
and consider what further work might reveal.
1
We avoid the word ‘honest’ because this is not an appropriate word to use in con-
junction with criminal activity.
Empirical Analysis of High-Yield Investment Programs 43
We term the websites that provide reputation services for HYIP programs ‘aggre-
gators’. Given that HYIPs are confidence games that keep growing so long as new
investors can be recruited, these ratings are potentially very powerful indicators
of HYIP success or failure. From a Google search for “HYIP” issued in November
2010, we identified 9 aggregator websites to monitor (myhyip.com, maxhyip.com,
iehyip.com, hyipranks.com, hyipmonitor.com, hyipinvestment.com,
hyip.com, hothyips.com, and everyhyip.com).
Between November 17, 2010 and August 21, 2011 we made daily visits to each
aggregator website (with the exception of four days in November and December
2010 due to a bug in our crawler). We parsed the pages we fetched to extract the
key characteristics of the HYIPs they listed: interest rate, investment term(s),
user and aggregator ratings, along with payment status (i.e., paying, not paying).
The names aggregators use for each of these fields varied slightly, so we manually
unified the terminology and stored each observation in a database. A total of
141 014 observations were made.
All the aggregator websites provide links to the HYIPs, though some of these
links pass via an interstitial page. From January 2011 onwards, we determined
the URL of each of the HYIPs and captured the WHOIS record for each HYIP
domain. Our automated system also visited each HYIP website, and stored the
source files linked to or loaded from the home page. These daily visits to the
HYIP websites were made over Tor2 ; its anonymity properties help ensure that
the website would not be able to identify us or trivially connect our visits.
We have used the collected data to derive several key measurements, whose
calculation we now describe.
Measuring HYIP lifetimes. One key measure of HYIP performance is how long
after initial creation the scheme collapses. Identifying when a website is ready for
2
http://www.torproject.org/
44 T. Moore, J. Han, and R. Clayton
Normalizing profit rates, investment terms, and expected payouts. There is enor-
mous variation in the interest rates promised by HYIPs, from the outrageous
440% in 10 minutes offered by top-capital.com to the comparatively modest
1–2% per day offered by macrotrade.com. Many HYIPs offer a menu of invest-
ment choices that vary by investment level and term, just as a legitimate bank
does for their certificates of deposit (CDs).
For this paper, we start by normalizing the published interest rates and in-
vestment terms to a daily rate. We then compute an expected payout value that
is standardized across HYIPs. To arrive at the expected payout, we had to infer
a model of how investments grow over time. Subtly different phrasing must be
interpreted differently, as indicated in the following table:
In every case we do not compound daily on the current value, but compound
on the original principal. In other words, we do not assume that any of the
interest that is paid out will be reinvested. We take this approach because it is
consistent with the returns on investment (ROI) reported by the vast majority of
aggregators. Additionally, if HYIP investors are indeed ‘postmodern’ and know
to take profits as rapidly as possible, then their strategy will be to be put in
their maximum investment at the earliest possible time and never add to it.
The first row of this table reports the fraction of HYIPs where all aggregator
reports are in perfect agreement. As can be seen, for 40% of HYIPs, the maximum
allowed investment values are in agreement, while 87% of the time the minimum
investment value is reported to be the same by different aggregators.
Of course these attributes are all matters of fact, which the aggregator will
have obtained from the HYIP websites (or perhaps from the filling in of a form).
However, the aggregators are imperfect and errors are being made. If there was
collusion between aggregators and HYIPs then we would have expected to see
perfect agreement – either from better channels of communication, or from a
consistent set of mistakes being made.
By contrast, when we consider the amount of money that the aggregators
report that they have in invested into particular HYIPs, we see very little agree-
ment at all:
Aggregator Investment
Perfect Agreement 0.10
Diversity Index 0.51
Any investment at all allows the aggregators to assess whether the HYIP
is paying, and we have just noted there is reasonable agreement about what
the minimum value might be. Therefore, we presume that the amounts being
invested reflect the initial opinion of the aggregator about the prospects for the
HYIP. If there was some kind of universal conspiracy then we would expect to
see consistency here, but the aggregators invest the same amount of money into
HYIPs in only 10% of cases.
Naturally, even when there isn’t unanimous agreement across aggregators, it
could still be the case that almost all of aggregators report the same values.
Consequently, the two tables also report Simpson’s diversity index [1] for each
attribute. This measures the similarity of a sample population and it is computed
as the sum of the squares of all the probabilities for each attribute value, with
a 0 score showing complete diversity and complete uniformity giving a score
of 1. Once again, using this measure, we see a high, but imperfect, agreement
on matters of fact, but continuing diversity in the investment amount.
46 T. Moore, J. Han, and R. Clayton
We now consider the elapsed time between when HYIPs are reported to be
created – or at least when the aggregator learns of their existence – and when
the HYIPs collapse and the aggregator is no longer prepared to track them.
Figure 2 (left) plots the Cumulative Distribution Function (CDF) of the stan-
dard deviations of the reported starting and ending times of HYIPs across ag-
gregators. For around 80% of HYIPs, the standard deviation is very small, at
most a few days. However, for the remaining 20% of HYIPs, there is substantial
disagreement between aggregators. Furthermore, that disagreement is greater
for the last observed time for an HYIP than for the starting time, as indicated
by the slightly lower blue dashed line than solid red line in the graph. This is not
surprising, given that deciding when to drop an HYIP from results is more of a
judgement call for an aggregator than deciding whether to report its existence.
The green dotted line plots the standard deviations for an alternative measure
of HYIP collapse. Aggregators keep track of their own investments in HYIPs,
reporting each day the cumulative return on investment (ROI). Often, the ROI
will ‘flat-line’ – suddenly stop changing – a few days before the aggregator stops
tracking the program, because the HYIP is no longer paying out. Hence, we
can view the time when the ROI stops changing as an alternative indicator
of collapse. As the graph indicates, there is even more variation here – some
aggregators stop receiving payments before others. Again, this is not surprising,
since HYIPs may not stop all payments at once.
Aggregators generally agree on lifetime, but when there are differences they
can be large, so for lifetime value we use the median of the aggregator reports.
By using the median (rather than computing the mean), we are better protected
against a highly divergent aggregator polluting the overall measure.
Overall, our analysis of aggregator reports is that there is no evidence of
collusion, but that their measurements are generally consistent, and that our
further analysis based on the median of aggregator values will be robust.
An HYIP scheme collapses when it can no longer make the interest payments
that it has promised. While it may not have completely run out of money, a
rational HYIP operator will eventually conclude that paying the next round of
interest payments (or refunding someone’s capital) is less lucrative than shutting
the scheme down and absconding. These calculations are slightly different in cy-
berspace than for real world Ponzi schemes because there will be no bankruptcy
and no liquidators checking to see if any value can be salvaged from the ruins.
One subtlety in measuring HYIP lifetimes is that some schemes remained viable
at the end of our study, making it impossible to observe when these schemes
Empirical Analysis of High-Yield Investment Programs 47
1.0 CDF of Std. Deviation of HYIP Lifetime Measures Survival Function of HYIP Lifetimes
1.0
Lifetime (Last Obseved)
Lifetime (Last Obseved)
Fraction of HYIPs with Std. Dev. <= t Days
(95% CI)
0.8
0.8
Fraction HYIPs With Lifetime > t Days
Lifetime (ROI Flat-Line)
0.6
0.6
0.4
0.4
0.2
0.2
HYIP Reported Start Date
HYIP Last Observed Date
HYIP ROI Flat-Line
0.0
0.0
0 20 40 60 80 100 1 5 10 50 500
Std. Deviation (Days) Lifetime (Days)
Fig. 2. CDF of the standard deviations of HYIP lifetimes (left); the graph indicates
that aggregators assess similar lifetimes for around 80% of HYIPs. Survival function of
HYIP lifetime (right); the graph shows that most HYIPs collapse within a few weeks,
but that a small fraction can remain open for several years.
ultimately collapsed. This can be solved using survival analysis: the 187 (12% of
the 1 576 total) HYIPs that were still operational at the end of our investigation
are said to be ‘right-censored’.
A survival function S(t) measures the probability that an HYIP’s lifetime is
greater than time t. This is similar to a complementary cumulative distribution
function, except that the censored data points must be taken into account and
the probabilities estimated. We use the standard Kaplan-Meier estimator [2] to
calculate a survival function for HYIP lifetimes.
Figure 2 (right), has a logarithmic x-axis and plots the observed survival
function for HYIPs (using the median observed lifetimes across all aggregators).
The solid blue line indicates the survival function computed using the HYIP’s
last observed time, while the green dotted line plots the survival function using
the ROI flat-line method described in the previous section. For very short-lived
HYIPs (i.e., less than one week), the lifetime measured using the ROI flat-line
method is considerably shorter. However, for longer-lived schemes, the lifetimes
are nearly indistinguishable, so we ignore the ROI flat-line method for subsequent
analysis, and just use the median of the lifetime values.
The survival function data shows us that the while the median lifetime of
HYIPs is just 28 days, one in four will last more than three months, and one in
ten for more than ten months. That is, although many HYIPs collapse almost
immediately, a substantial minority persist for a very long time.
HYIP Lifetime vs. Daily Interest Rate (pct) HYIP Lifetime vs. Investment Term (Days)
400
300
300
Lifetime (Days)
Lifetime (Days)
200
200
100
100
0 0
1st decile
(<1)
2nd decile
(2−2)
3rd decile
(2−3)
4th decile
(3−6)
5th decile
(6−12)
6th decile
(12−17)
7th decile
(17−23)
8th decile
(23−35)
9th decile
(35−164)
10th decile
(>164)
1st decile
(<0)
2nd decile
(0−1)
3rd decile
(1−2)
4th decile
(2−3)
5th decile
(3−4)
6th decile
(4−7)
7th decile
(7−15)
8th decile
(15−40)
9th decile
(40−100)
10th decile
(>100)
Fig. 3. HYIP lifetimes: HYIPs with lower daily interest rates tend to last longer before
collapsing (left); HYIPs with longer mandatory investment periods tend to survive
longer (right)
Figure 3 examines how the generosity of the HYIP investment terms affects
the observed lifetimes. On the left, box plots for HYIP lifetimes are given that
span different profit rates. When an HYIP offers a less generous profit rate (less
than a few percent daily), there is a greater chance that the HYIP will survive for
longer. Once the profit rates become more outlandish (such as the half of HYIPs
offering more than 10% daily returns), HYIP lifetimes are more consistently
short. We conclude that the offering of higher rates of return does not bring in
sufficient investment to offset the cost of servicing existing commitments.
Another factor is the minimum investment period required by the HYIP.
Figure 3 (right) plots HYIP lifetimes sorted by investment term. As expected,
HYIPs that require longer investment terms tend to be more stable. However,
we note that there is still substantial variation in lifetime even for less gener-
ous interest rates and longer investment terms. Evidently, some HYIPs cannot
attract enough investment to sustain even these more modest programs.
While the ratings have been collected throughout an HYIP’s lifespan, we have
decided to take a closer look at the rating given 7 days prior to each HYIP’s
collapse. A low rating issued at this point would indicate to prospective investors
that the bottom will soon fall out (if it has not already). The results are given
in the following table.
Overall, user ratings are consistently much more positive than aggregator
ratings. Consider the ratings for hyipranks.com: the average user rating one
week prior to collapse is 96%. Across all HYIPs, 96% were awarded a user score
of 80% or higher, but only 4% had a score below 50%. By contrast, the average
assessment directly issued by hyipranks.com is only 35%. Moreover, 89% of
HYIPs are given a low score, compared to just 7% that receive a score over 80%.
Why do we see such divergence in ratings? Those who have already invested
in an HYIP have a very strong incentive to attract new investors. Consequently,
they are highly motivated to vote early and often in support of their invest-
ment. The aggregators, on the other hand, fully expect HYIPs to collapse and
must provide more accurate assessments in order to gain the trust of visitors.
Viewed in this way, it is not surprising that the crowd will not accurately predict
collapse.
HYIPs
Currency # % Country % HYIP Backlinks
Liberty Reserve 1 309 83% Costa Rica 33%
Perfect Money 1 095 70% Panama 72%
AlertPay 397 25% Canada 10%
SolidTrustPay 51 3.2% Canada 60%
Pecunix 21 1.3% Panama 81%
GlobalDigitalPay 20 1.3% Hong Kong 71%
Digital currencies are riskier than traditional currencies for both the investor
and the HYIP operator. When the time comes to cash in and convert back to
hard currency, the exchange rate may have changed significantly, or there may
be no liquidity – if many of the customers of a digital currency simultaneously
ask to cash in their holdings, then the currency’s operators may not be able to
pay up (e.g., the HYIP-associated StrictPay currency appears to have collapsed
in this way [3]).
The digital currencies that HYIPs accept have terms and conditions that
forbid their use with HYIPs. This creates the additional risk that assets could
be frozen or confiscated for violating the rules. Furthermore, any digital currency
that facilitates widespread criminality runs the risk of being shut down by law
enforcement, as happened to e-gold [4].
Liberty Reserve has a warning on its website advising against investing in
HYIPs, noting that payments are ‘non-revocable’ and that they cannot be held
liable for fraudulent activities by its users. Such admonishments raise the ques-
tion: how much of these currencies’ profits come from HYIP activity?
We attempt to shed light on this by examining the backlinks from other
websites into the currency websites. We used Yahoo Site Explorer3 to gather
1 000 backlinks for each of the most common currencies and calculated what
proportion of the incoming links came from HYIP-related websites. The results
are listed in the right-most column of the table.
72% of the backlinks to Perfect Money are from HYIP-related websites, as
are 33% of the backlinks to LibertyReserve. This leads us to conclude that a
substantial proportion of the revenue to these currencies comes from HYIPs.
Note that for AlertPay, the third-most popular currency, only 10% of the incom-
ing links are from HYIPs. Indeed, many of AlertPay’s other incoming links are
from legitimate businesses, such as the web-hosting company prodhosting.net,
which uses AlertPay to process payments. AlertPay is based in Canada, and that
may mean that they are more easily pressured by first world regulators, than
the currencies based in Panama and Costa Rica.
criminality may not be worth pursuing, especially when – as in this case – many
of the investors are aware that the sites are fundamentally fraudulent.
It is difficult to directly measure how many people and how much money are
invested in HYIPs. However, we can use some publicly available proxies to derive
an order-of-magnitude estimate of HYIP impact.
As part of its Adwords program, Google offers a Keyword Tool that returns
similar search phrases to those given as input.4 We entered the phrases “hyip”
and “high yield investment program”, and were returned 100 closely related
phrases. Google also offers a related service called Traffic Estimator that esti-
mates for any phrase the number of global monthly searches. We plugged all 102
HYIP-related phrases into the tool to arrive at an estimate of 441 000 monthly
searches for these terms on Google.
We can use this value to create a rough estimate of the monthly investment
levels to HYIPs using the following formula:
$ HYIP invest # Google mo. searches
= × % invest × invest amount
month Google market share
Google’s global market share in search is known to be 64.4% but the other terms
in this equation are much harder to estimate. We do not have reliable data on
the fraction of users who learn about HYIPs that ultimately invest, or how much
money they put in. A plausible, conservative, guess is that at least 1% of people
who search for HYIPs go on to invest in an HYIP.
Researchers investigating spam-advertised pharmaceuticals found that 0.5% of
site visitors added items to their shopping carts [5], while in an earlier study they
found an approximately 8% conversion rate for non-pharmaceutical goods [6].
Leontiadis et al. estimated that between 0.3% and 3% of people looking for
drugs via web search ultimately purchased the goods from illicit retailers [7].
While the investment rate for HYIPs could undoubtedly differ from that for
pharmaceuticals, these data points do suggest that a 1% conversion rate for
HYIPs is plausible.
From observation of the statistical information that some sites provide, we
will guess that the average investment is $1 000. Plugging these numbers into
the above formula we estimate that HYIPs attract at least $6 million per month
in revenue.
Given that around 600 000 people search for HYIPs each month, we conclude
that HYIPs are indeed a substantial scam worthy of policymakers’ attention. So
what should be done? We now consider a range of interventions and assess their
likely impact.
Option 1: Engage Law Enforcement. Given that HYIPs are illegal in nearly all
jurisdictions, it is logical to seek the support of law enforcement. In the US, the
Commodity Futures Exchange Commission (CFTC) has been given the power
to enforce violations of the Commodities Exchange Act of 1936. The CFTC
regularly uncovers Ponzi schemes whose perpetrators and victims are based in
4
https://adwords.google.com/select/TrafficEstimatorSandbox
52 T. Moore, J. Han, and R. Clayton
the US. International cooperation is possible: the CFTC recently arrested Jeffrey
Lowrance and extradited him from Peru for allegedly running a Ponzi scheme
that solicited investors via the Internet [8]. Consequently, engaging the CFTC
could lead to successful criminal prosecution.
However, the usual warnings about prosecuting online crime [9] apply: col-
lecting evidence across international borders is difficult, slow and expensive; the
perpetrators may be located in countries unwilling to cooperate. Google’s data
shows that that 85% of HYIP-related searches are made from outside the US, so
victims will be spread across the globe, necessitating an international response.
Policy interventions that apply pressure to key intermediaries have histori-
cally been one of the most successful ways to address illicit activity online. For
example, the US Unlawful Internet Enforcement Act of 2006 has largely elimi-
nated online gambling by US residents by requiring payment processors to block
credit-card payments to offshore gambling sites. The Digital Millenium Copy-
right Act of 1998 created a notice-and-takedown regime whereby online service
providers receive immunity for complying with take-down requests issued by
copyright holders. So we now turn to considering potential intermediaries that
might be enlisted to disrupt the HYIP ecosystem.
Option 2: Target Digital Currencies. The digital currencies that HYIPs rely on
for customer accounts are a logical target. As shown in Section 5, a handful
of currencies facilitate most HYIP transactions. The biggest offenders (Liberty
Reserve and Perfect Money) are undoubtedly aware of their role in funding
HYIPs, so bringing it to their attention is unlikely to make any difference. The
banking regulators in their claimed home countries (Costa Rica and Panama)
might be persuaded to cooperate with an outside crackdown. However, even if
they stopped processing HYIP payments, it is likely that alternative currencies
would come to the fore.
HYIP sites. It could be some time before such legislation was in place in the
USA, let alone in all the jurisdictions to which the sites could move.
Alternatively, the aggregators’ income stream could be disrupted. Four of
the nine aggregators we studied – hyip.com, iehyip.com, hyipranks.com and
hyipinvestment.com – are members of the Google Display Network. Google,
and the other advertising networks, might choose not to work with sites that
knowingly link to fraudulent sites. Whether stopping this source of income would
cause all the sites to close cannot be known for certain, but it is relatively
straightforward, and arguably in the best interests of the advertising networks
to cease their financial association with criminality comparison sites.
7 Related Work
During the past decade, online criminality has proliferated [9]. In response, a
number of measurement studies have quantified various frauds and recommended
suitable interventions . Of particular relevance are studies that examine user
susceptibility to various scams, such as fake antivirus [10,11] and extortionate
social-engineering scams [12]. Stajano and Wilson identify seven principles com-
mon to offline scams that often translate into online scams [13]. At least five of
these principles apply to HYIP investment: the herd principle (false safety in
numbers), the dishonesty principle (victim’s own illegal behavior held against
him), deception principle (things are not what they seem), need and greed prin-
ciple (desperation increases vulnerability), and the time principle (time pressures
increase bad choices). Consequently, while we believe that many HYIP investors
are likely to be aware of the fraudulent nature of their investment, they are
nonetheless being masterfully deceived by con artists. Furthermore, it is entirely
plausible that some victims fully believe in the legitimacy of their investment.
The use and abuse of digital currencies has been examined since the inception
of the Financial Cryptography conference. Optimists pointed to the potential to
54 T. Moore, J. Han, and R. Clayton
enhance revenue [14] or freedom through anonymity [15]. However, even in these
early days, others fretted about the potential for abuse of digital cash, such as
money laundering [16]. More recently, Anderson identified non-revocability as
the key feature of digital payments that appeals most to online criminals [17].
Indeed, the non-revocability of payments issued in the currencies underpinning
the HYIP ecosystem is essential for its successful operation.
The security and reliability of crowdsourcing in information security appli-
cations has been investigated by Moore and Clayton [18] (phishing) and Chia
and Knapskog [19] (web security). These papers discuss the distinct challenges
of crowdsourcing applications when participants may be motivated to lie, as we
have found for users promoting flagging HYIPs.
A final area of relevant work is in the examination of interventions to com-
bat online crime. In an expansive study of goods advertised by email spam,
Levchenko et al. [20] found substantial concentration in the registrars used by
spam-advertised websites. They also found that only 3 banks processed the bulk
of payments. We report similar levels of concentration in the HYIP ecosystem.
Clayton described how shutting down hosting providers that facilitate spam
transmission can have a disruptive short term effect [21]. Finally, Liu et al. [22]
examine the prospects of enlisting registrars to suspend ‘known bad’ domains,
concluding that the criminals are more adept at shifting to new domains faster
than the offending domains can be suspended. While this may be true for do-
mains used in email spam, we are more optimistic for registrar-level intervention
in combating HYIPs due to the persistence of successful schemes.
We have presented the first detailed analysis of HYIPs – fraudulent online Ponzi
schemes. We have provided some baseline measurements by leveraging data from
the aggregator sites that exist to help investors pick where to place their money.
We have shown that the aggregators are basically truthful, and used their data
to show that HYIPs last longer with lower interest rates delays before payments
are made. We have also shown that the aggregators are better than ‘the crowd’
in warning of HYIP collapse, which we believe is directly related to the crowd
actively wishing to hype the prospects of the HYIP they are invested in.
Nontheless, this paper has only scraped the surface in measuring and under-
standing HYIPs, and there is much more data to collect and process. It is already
clear to us that many of the sites are related to each other as criminals create
new instances to replace HYIPs that have collapsed. We have been unable, so far,
to use WHOIS data to identify serial offenders but we expect to make headway
when we consider the structure and content of the websites.
We are particularly interested in the subset of HYIPs that provide a running
commentary on the number of accounts opened, and the sums of money being
invested, withdrawn and paid out as interest. We hope to use these to build
a better model of HYIP collapse, and provide better estimates of the sums of
money passing through these criminal enterprises.
Empirical Analysis of High-Yield Investment Programs 55
References
1. Simpson, E.H.: Measurement of diversity. Nature 163, 688 (1949)
2. Kaplan, E., Meier, P.: Nonparametric estimation from incomplete observations.
Journal of the American Statistical Association 53, 457–481 (1958)
3. Lorenzini, M.: Strictpay scam: Thoughts before strictpay shutdown. HYIP News
(June 2010), http://www.hyipnews.com/news/17190/
STRICTPAY-SCAM-THOUGHTS-BEFORE-STRICTPAY-SHUTDOWN/
4. Zetter, K.: Bullion and bandits: The improbable rise and fall of e-gold. Wired (June
2009), http://www.wired.com/threatlevel/2009/06/e-gold/
5. Kanich, C., Weaver, N., McCoy, D., Halvorson, T., Kreibich, C., Levchenko, K.,
Paxson, V., Voelker, G.M., Savage, S.: Show me the money: Characterizing spam-
advertised revenue. In: Proceedings of USENIX Security 2011, San Francisco, CA
(August 2011)
6. Kanich, C., Kreibich, C., Levchenko, K., Enright, B., Voelker, G., Paxson, V.,
Savage, S.: Spamalytics: An empirical analysis of spam marketing conversion. In:
Conference on Computer and Communications Security (CCS), Alexandria, VA
(October 2008)
7. Leontiadis, N., Moore, T., Christin, N.: Measuring and analyzing search-redirection
attacks in the illicit online prescription drug trade. In: Proceedings of USENIX
Security 2011, San Francisco, CA (August 2011)
8. Commission, C.F.E.: Press Release PR6074-11: CFTC charges Jeffery A. Lowrance
and his company, First Capital Savings and Loan, with operating a million dollar
foreign currency Ponzi scheme (July 2011),
http://www.cftc.gov/PressRoom/PressReleases/pr6074-11.html
9. Moore, T., Clayton, R., Anderson, R.: The economics of online crime. Journal of
Economic Perspectives 23(3), 3–20 (2009)
10. Cova, M., Leita, C., Thonnard, O., Keromytis, A.D., Dacier, M.: An Analysis of
Rogue AV Campaigns. In: Jha, S., Sommer, R., Kreibich, C. (eds.) RAID 2010.
LNCS, vol. 6307, pp. 442–463. Springer, Heidelberg (2010)
11. Stone-Gross, B., Abman, R., Kemmerer, R.A., Kruegel, C., Steigerwald, D.G.,
Vigna, G.: The underground economy of fake antivirus software. In: 10th Workshop
on the Economics of Information Security, Fairfax, VA (June 2011)
12. Christin, N., Yanagihara, S., Kamataki, K.: Dissecting one click frauds. In: ACM
Conference on Computer and Communications Security (CCS), Chicago, IL, pp.
15–26 (October 2010)
13. Stajano, F., Wilson, P.: Understanding scam victims: seven principles for systems
security. Commun. ACM 54, 70–75 (2011)
14. Birch, D.G.W., McEvoy, N.A.: Electronic Cash - Technology will Denationalise
Money. In: Hirschfeld, R. (ed.) FC 1997. LNCS, vol. 1318, pp. 95–108. Springer,
Heidelberg (1997)
15. Chaum, D.: Achieving electronic privacy. Scientific American, 96–101 (August
1992)
16. Wayner, P.C.: Money Laundering: Past, Present and Future. In: Hirschfeld, R.
(ed.) FC 1997. LNCS, vol. 1318, pp. 301–306. Springer, Heidelberg (1997)
56 T. Moore, J. Han, and R. Clayton
17. Anderson, R.: Closing the phishing hole: Fraud, risk and nonbanks. In: Federal
Reserve Bank of Kansas City – Payment System Research Conferences (2007)
18. Moore, T., Clayton, R.: Evaluating the Wisdom of Crowds in Assessing Phishing
Websites. In: Tsudik, G. (ed.) FC 2008. LNCS, vol. 5143, pp. 16–30. Springer,
Heidelberg (2008)
19. Chia, P.H., Knapskog, S.J.: Re-evaluating the Wisdom of Crowds in Assessing Web
Security. In: Danezis, G. (ed.) FC 2011. LNCS, vol. 7035, pp. 299–314. Springer,
Heidelberg (2012)
20. Levchenko, K., Chachra, N., Enright, B., Felegyhazi, M., Grier, C., Halvorson, T.,
Kanich, C., Kreibich, C., Liu, H., McCoy, D., Pitsillidis, A., Weaver, N., Paxson, V.,
Voelker, G., Savage, S.: Click trajectories: End-to-end analysis of the spam value
chain. In: IEEE Symposium on Security and Privacy, Oakland, CA, pp. 431–446
(May 2011)
21. Clayton, R.: How much did shutting down McColo help? In: Sixth Conference on
Email and Antispam, CEAS (July 2009)
22. Liu, H., Levchenko, K., Felegyhazi, M., Kreibich, C., Maier, G., Voelker, G.M.,
Savage, S.: On the effects of registrar-level intervention. In: USENIX Workshop on
Large-scale Exploits and Emergent Threats (LEET), Boston, MA (March 2011)
Deploying Secure Multi-Party Computation
for Financial Data Analysis
(Short Paper)
1 Introduction
Financial metrics are collected from companies to analyze the economic situation
of an industrial sector. Since this data is largely confidential, the process can not
be carried out just by sending the data from one company to another. We claim
that the use of secure multi-party computation (MPC) distributes the role of a
trusted third party among many parties so that none of them has to be trusted
unconditionally. The greatest added value for the companies is that no single data
value can be seen by a single outside party after it leaves the user’s computer.
In this paper we describe a secure system for collecting and analyzing financial
data in an industrial consortium. The system was deployed for ITL—an Estonian
non-governmental non-profit organization with the primary goal of promoting
co-operation between companies engaging in the field of information and com-
munication technology. The data collection and analysis system was built using
the Sharemind secure computation framework [7].
Some of the details of this work have been omitted because of space limita-
tions. The extended version of this paper that covers all these details can be
found in the IACR ePrint Archive [8].
MPC has been studied for almost thirty years and recently, many MPC projects
have started reaching practical results [9,10,1,7,13,15,4,11]. However, to the best
This research was supported by the ERDF through EXCS and STACC; the ESF Doc-
toral Studies and Internationalisation Programme DoRa; the target funded theme
SF0012708s06 and the Estonian Science Foundation, grant No. 8124.
of our knowledge, this is the first time where the actual secure multi-party function
evaluation was done over a wide area network (the internet) using real data.
In 2004, J. Feigenbaum et al. implemented a privacy-preserving version of
the Taulbee Survey1 using MPC [11]. Their implementation used secret sharing
at the data source and two parties evaluating a Yao circuit over a wide area
network. However, their implementation was never used with real data [12].
MPC was first used in a large-scale practical application in Denmark in 2008
when a secure double auction system allowed Danish sugar beet farmers to trade
contracts for their production on a nation-wide market [9]. The Danish system
used three secure computation servers. In the farmers’ computers, each share of
private data was encrypted with a public key of one of the computation servers.
The encrypted shares were sent to a central database for storing. In the data
analysis phase, each computation node downloaded their corresponding shares
from the central database and decrypted them. The actual MPC process was
performed in a local area network set up between the three computation nodes.
2 Sharemind
Sharemind [7] is a distributed virtual machine that uses secure multi-party
computation to securely process data. Sharemind is based on the secret sharing
primitive introduced by Blakley [6] and Shamir [16]. In secret sharing, a secret
value s is split into a number of shares s1 , s2 , . . ., sn that are distributed among
the parties. Depending on the type of scheme used, the original value can be
reconstructed only if the shares belonging to some predefined sets of parties are
known. Sharemind uses the additive secret sharing scheme in the ring Z232 as
this allows it to support the efficient 32-bit integer data type.
Sharemind uses three data miners to hold the shares of secret values. Secret
sharing of private data is performed at the source and each share is sent to
a different miner over a secure channel. The miners are connected by secure
channels and run MPC protocols to evaluate secure operations on the data. The
Sharemind protocols are secure in the honest-but-curious model with no more
than one corrupted party. The honest-but-curious model means that security is
preserved when a malicious miner attempts to use the values it sees to deduce
the secret input values of all the parties without deviating from the protocol.
To set up a Sharemind application we first have to find three independent
parties who will host the miner servers. In a distributed data collection and anal-
ysis scenario, it is possible to select the parties from the organizations involved
in the process. Second, we have to implement privacy-preserving data analysis al-
gorithms using a special high-level programming language called SecreC [14]. In
the third step, we use the Sharemind controller library to build end-user applica-
tions that are used for collecting data, starting the analysis process and generating
the reports.
1
Computing Research Association, Taulbee Survey,
http://www.cra.org/statistics
Deploying Secure Multi-Party Computation for Financial Data Analysis 59
After data has been collected from all of the members, the data miners engage
in secure MPC protocols and sort all the collected economic indicators. The
sorted indicators are then published as a spreadsheet and made accessible to the
board members of ITL. The board can then calculate aggregate values and/or
charts and give this edited report to the members. The data flow and visibility
to different parties for this solution is shown on Figure 1.
Fig. 1. Data flow and visibility in the improved solution using the Sharemind frame-
work
4.1 Deployment
In the real-life deployment, the Sharemind miners are hosted by three Esto-
nian companies and ITL members—Cybernetica, Microlink and Zone Media.
Choosing the miner hosts among the consortium members fulfills the following
requirements set for the data miners: a) they are motivated to host the miners,
as this project would also be beneficial for themselves; b) they are independent
and will not collude with each other as they are also inserting their own data into
the system and want to keep it private; c) ITL members act in the field of infor-
mation technology, thus they have the necessary infrastructure and competence
to host a Sharemind server.
As the miner hosts provided their servers with no cost, they wished to reduce
the effort needed to maintain the servers. Thus, all of the three miner hosts were
set up by a single administrator who also regularly executes the computations.
Ideally, each host should be maintained by its respective owner and this should
Deploying Secure Multi-Party Computation for Financial Data Analysis 61
Security. The representatives of an ITL member company can log in to the ITL
member area over an HTTPS connection using either their credentials (username
and password) or more securely, using the Estonian ID-card or Mobile-ID.
We use access tokens to make sure that only representatives of ITL member
companies are able to send shares to the miners. A random access token is
generated by the ITL web server and sent together with the form each time the
financial data submission form is requested by one of the logged-in users. The
JavaScript library used in the submission form sends this token together with
the corresponding shares and other submission data to each miner. Before saving
the received shares into the database, the miner contacts the ITL web server and
confirms that this token was really generated for the current submission form,
the current company and has never been used for any submission before. The
latter means that access tokens also act as nonces to rule out any replay attacks.
All the communication between a miner and the ITL web server is done
over the HTTPS protocol and a unique, previously agreed and pre-configured
passphrase is used to identify each miner to the ITL web server. If a miner re-
ceives a positive reply from the ITL web server, it saves the received shares to
its local database and notifies the submission form. If the latter receives these
notifications from all three miners, it marks this submission form as “submitted”
in the ITL web server. This also invalidates the used nonce.
Security. Sharemind uses the RakNet library2 for its network layer. The RakNet
library provides secure connections between the data miners using efficient 256-
bit elliptic curve key agreement and the ChaCha stream cipher [5]. While the
latter choice is not standard, the best known attacks against ChaCha are still
infeasible in practice [2]. This technique is used to encrypt all the communication
between the Sharemind miners as well as between the miners and the controller
applications (e.g. analysis applications).
The described solution was deployed in the beginning of 2011 and has been al-
ready used to collect financial data for several periods. After each data collection
period, the system used secure MPC protocols to sort each financial indicator
vector and published the results as a spreadsheet for the ITL board.
In addition to this, the ITL board requested a few extra reports. A list of the
analyses performed on the collected financial data, together with the required
computational routines, are listed in Table 1. The implementation was relatively
effortless as we were able to create new algorithms in SecreC and deploy them
at the miners. This justifies the use of a general-purpose secure MPC framework.
We conducted a survey among ITL members in the second data collection
period, asking about the motivation and privacy issues of the participants. While
the number of responders is not large enough to draw statistically significant
conclusions, they still cover the most important players in the Estonian ICT
market. As seen in Figure 2a, most of the participants feel that collecting and
analyzing the sector’s financial indicators is beneficial for themselves. We can
also see that most of the participants are concerned about their privacy as they
familiarized themselves with the security measures taken to protect the privacy of
the collected data (Figure 2d) and about half of the participants submitted their
data only because they felt that the system is secure in that matter (Figure 2c).
2
RakNet – Multiplayer game network engine, http://www.jenkinssoftware.com
Deploying Secure Multi-Party Computation for Financial Data Analysis 63
! " # $ %
(a) Does collecting and analyzing the economic informa- (b) Which extra indicators are you
tion benefit your company in any way? willing to submit for the anonymous
analysis?
(c) Did the explanation of applied security measures (d) Did you familiarize yourself with
make it easier for you to submit your sensitive infor- the provided materials that explained
mation? which security measures were taken to
protect the sensitive information?
The fact that most of the participants are willing to submit even more indicators
(see Figure 2b) shows once more that ITL members are pleased with the security
measures employed in this system to protect the participants’ privacy.
We have described a solution for securely collecting and analyzing financial data
in a consortium of ICT companies. Companies are usually reluctant to disclose
their sensitive financial indicators, as it is difficult for them to trust the parties
who have access to their data for the purpose of analyzing it. The use of secure
MPC means that the companies do not have to trust any one party uncondi-
tionally and their sensitive data stays private throughout the analysis process.
The system was implemented and deployed in the beginning of 2011 and
is in continuous use. To the best of our knowledge, this is the first practical
secure MPC application where the computation nodes are in separate geographic
locations and the actual MPC protocol is run on real data over the internet.
A survey conducted together with one of the collection periods shows that
ICT companies are indeed concerned about the privacy of their sensitive data
and using secure MPC technology gives them enough confidence to actually
participate in the collective sector analysis process. Moreover, thanks to the
increased security and privacy measures, many companies are also willing to
submit some extra indicators during the data collection process in the future.
Based on the experience of the ITL financial statistics application we conclude
that MPC-based applications can be successfully deployed for real-life problems.
Performance of the available implementations is no more a bottleneck, but more
64 D. Bogdanov, R. Talviste, and J. Willemson
References
1. SecureSCM. Technical report D9.1: Secure Computation Models and Frameworks
(July 2008), http://www.securescm.org
2. Aumasson, J.-P., Fischer, S., Khazaei, S., Meier, W., Rechberger, C.: New Features
of Latin Dances: Analysis of Salsa, ChaCha, and Rumba. In: Nyberg, K. (ed.) FSE
2008. LNCS, vol. 5086, pp. 470–488. Springer, Heidelberg (2008)
3. Batcher, K.E.: Sorting networks and their applications. In: Proc. of AFIPS 1968,
pp. 307–314. ACM (1968)
4. Ben-David, A., Nisan, N., Pinkas, B.: FairplayMP: a system for secure multi-party
computation. In: Proc. of CCS 2008, pp. 257–266. ACM (2008)
5. Bernstein, D.J.: ChaCha, a variant of Salsa20 (2008),
http://cr.yp.to/chacha.html
6. Blakley, G.R.: Safeguarding cryptographic keys. In: Proc. of AFIPS 1979, pp. 313–
317. AFIPS Press (1979)
7. Bogdanov, D., Laur, S., Willemson, J.: Sharemind: A Framework for Fast Privacy-
Preserving Computations. In: Jajodia, S., Lopez, J. (eds.) ESORICS 2008. LNCS,
vol. 5283, pp. 192–206. Springer, Heidelberg (2008)
8. Bogdanov, D., Talviste, R., Willemson, J.: Deploying secure multi-party compu-
tation for financial data analysis. Cryptology ePrint Archive, Report 2011/662
(2011)
9. Bogetoft, P., Christensen, D.L., Damgård, I., Geisler, M., Jakobsen, T., Krøigaard,
M., Nielsen, J.D., Nielsen, J.B., Nielsen, K., Pagter, J., Schwartzbach, M., Toft,
T.: Secure Multiparty Computation Goes Live. In: Dingledine, R., Golle, P. (eds.)
FC 2009. LNCS, vol. 5628, pp. 325–343. Springer, Heidelberg (2009)
10. Burkhart, M., Strasser, M., Many, D., Dimitropoulos, X.: SEPIA: Privacy-
Preserving Aggregation of Multi-Domain Network Events and Statistics. In: Proc.
of USENIX Security Symposium 2010, pp. 223–239 (2010)
11. Feigenbaum, J., Pinkas, B., Ryger, R., Saint-Jean, F.: Secure computation of sur-
veys. In: EU Workshop on Secure Multiparty Protocols (2004)
12. Feigenbaum, J., Pinkas, B., Ryger, R., Saint-Jean, F.: Some requirements for adop-
tion of privacy-preserving data mining. PORTIA Project White Paper (2005)
13. Henecka, W., Kögl, S., Sadeghi, A.-R., Schneider, T., Wehrenberg, I.: TASTY: tool
for automating secure two-party computations. In: Proc. of CCS 2010, pp. 451–462.
ACM (2010)
14. Jagomägis, R.: SecreC: a privacy-aware programming language with applications
in data mining. Master’s thesis, Inst. of Comp. Sci., Tartu University (2010)
15. Malka, L., Katz, J.: VMCrypt - modular software architecture for scalable secure
computation. Cryptology ePrint Archive, Report 2010/584 (2010)
16. Shamir, A.: How to share a secret. Commun. ACM 22, 612–613 (1979)
17. Talviste, R.: Deploying secure multiparty computation for joint data analysis — a
case study. Master’s thesis, Inst. of Comp. Sci., Tartu University (2011)
Cryptographic Rule-Based Trading
(Short Paper)
General Cryptography
{cat,swillis}@generalcryptography.com
1 Introduction
In [19,18] Thorpe and Parkes introduced cryptographic exchanges for individual secu-
rities and baskets of securities, motivated by increasing transparency without the un-
favorable price impact and possible exploitation of information associated with full
disclosure. The cryptographic securities exchanges they describe require market partic-
ipants to submit specific intended trades to a marketplace. Our protocol is designed to
enable a marketplace in which participants send firm commitments to rules that trigger
trades rather than the trades themselves.
Our work is motivated by growing demand for algorithmic trading, including in the
context of alternative trading systems (ATSs) and electronic clearing networks (ECNs)
for block trading. Many of these systems, known as “dark pools”, keep trade infor-
mation secret, and instead introduce counterparties interested in trading with one an-
other. They typically trade large positions that would result in significant price impact
if traded on a primary securities exchange like the NASDAQ or New York Stock Ex-
change. Some of these systems also offer participants the ability to indicate interest in a
transaction for a defined quantity of one particular security. This limitation implies that
orders are nonbinding, which means that sometimes trades don’t work out and parties
feel like they disclosed information unnecessarily.
Disclosure typically has a cost; academic and applied finance accepts that foreknowl-
edge of an large trade can be exploited for financial gain [11,9]. On the other hand,
binding orders at a fixed price result in the free trading option problem: a limit order
grants other market participants an option to buy or sell securities at that price, for free.
We illustrate the problem with an example: Say Alice places an order in a dark pool
to buy 100,000 shares of XYZ Corp. at $9.00. The stock is currently trading at $10.00.
Then Alice goes away for lunch and returns to discover that XYZ’s CFO resigned due to
accounting irregularities and the stock immediately dropped 25% to $8.00 with trading
volume at several times the 90-day average. Since she was literally out to lunch and
unable to cancel her buy order, Alice’s order would have been immediately filled as the
price dropped, as her free trading option was exercised by someone in the market. (She
loses $100,000.) Harris’ Trading & Exchanges [8] offers a detailed description of the
free trading option.
Our exchange allows Alice to submit a rule-based trade rather than a simple limit
order, still in the context of a dark pool where her intentions can remain secret from
other market participants. The exchange executes (or does not execute) every order
based on its rules, and proves that every action was based on the committed rules,
rather than requiring that participants simply trust its activities. This, in the context
of hardware and network security, can reduce the risk of unauthorized disclosure or
trading.
These are not theoretical risks: the SEC has already settled with a major dark pool
operator and two of its executives after alleging it was facilitating client trades using a
subsidiary without disclosing that conflict, and leaking information to internal staff [3].
There are clearly dangers in such a system, though these exist already in modern al-
gorithmic trading. For example, algorithmic trading is likely to have led to a “flash
crash” where computers programmed to exit in panic sold significant holdings all at
once [20,10]. Algorithms could create circular trading patterns that simply trade with
each other absent other information entering the market. Other risks include the secu-
rity of the computer operating the exchange and its cryptographic keys, the particular
implementation of the underlying cryptographic scheme, and other standard security
risks associated with an applied cryptographic system.
Finally, although a collection of algorithms can lead to unintended consequences, a
model in which the exchange hosts the algorithms may actually help to alleviate mar-
ket risk.1 Armed with the suite of algorithms defining how its participants behave, the
exchange could run tests on the entire market to identify areas of instability without
revealing any particular participant’s algorithms. The ability to simulate a cohort of
trading agents in various market conditions could eventually lead to better risk manage-
ment for participating institutions and improve overall market stability.
In fact, U.S. senators who regulated and investigated financial markets have argued
for the necessity of better audit trails and protections against future flash crashes [10].
Practical technologies may offer important solutions to these very real problems.
1.2 Preliminaries
For convenience and brevity, we assume a set of primitive operations for provably cor-
rect secure computation based on homomorphic cryptography as set forth in various
sources, e.g. [18]. Most important is the ability to prove that a ciphertext is the en-
cryption of the result of a polynomial function over multiple encrypted values and/or
constants known to a verifier (and whose corresponding plaintexts are neither known
nor learned.)
In addition, these systems permit proving inequalities: which of two ciphertexts rep-
resents a larger value; and equality: that two ciphertexts represent the same value; with-
out revealing any further information about the ciphertexts. Interval proofs (see, for
example, [2,12,15]) make this possible.
If a homomorphic cryptosystem used for the computations is homomorphic only in
addition, such as the system described by Paillier [14] and elaborated by Damgård in
[5] and Parkes et al. in [15], then additional preparation is required to prove results of
computations employing both additions and multiplications. Rabin et al.’s scheme [16]
based on splitting values into hashes of random pairs also enjoys the provably cor-
rect secrecy on addition and multiplication necessary to perform these computations.
Gentry’s “fully homomorphic” scheme [6,7] and related systems [21,4] do not require
the prover to prove multiplications correct, simplifying the verification operations. Al-
though they have been implemented and tested, in practice they seem to be less efficient
than Paillier’s scheme.
Finally, we observe that in high-frequency implementations the ability to pre-
and post-process the bulk of the cryptography is critical. For example, in Paillier
1 Szydlo [17] introduced the idea of homomorphic cryptography for risk analysis, though his
work is limited only to an individual portfolio and not market risk.
68 C. Thorpe and S.R. Willis
2 The Protocol
We describe an example protocol with sample rules to illustrate our idea. Our objective
is not to define the only way to implement such an exchange, but to show how market
designers may design an exchange in our framework.
is beyond the scope of the short paper format, but because arbitrary computations can be
proven correct, many tiebreaking functions are possible; some of these include random
precedence, global welfare maximization, or precedence by submission time.
An alert is a “panic button” in which a rule may indicate that the computer has
encountered an unexpected market situation and seeks human intervention or guidance.
For our example, we define a simple language in which each rule may be built. We
propose a simple language to illustrate what this might look like. Each executed action
results in an id, e.g. a confirmation number so that an order may be canceled later.
Some orders are easily encoded, e.g. stop loss orders, which are a trigger to sell when
the market prices drop below the stop loss. It would be straightforward to extend to more
complex orders, e.g. “fill or kill” that required immediate and complete execution.
RULE: ACTION
RULE: if TRIGGER ACTION
RULE: if TRIGGER ACTION else RULE
ACTION: ACTION, ACTION -- an action may be a sequence
ACTION: trade VECTOR -- market order: shares
ACTION: trade VECTOR at VECTOR -- limit order: shares at prices
ACTION: cancel ACTION_ID
ACTION: alert
TRIGGER: (TRIGGER)
TRIGGER: TRIGGER and|or|xor TRIGGER
TRIGGER: now between BEFORE and AFTER -- date/time comparison
TRIGGER: prices > VECTOR
TRIGGER: volume > VECTOR
VECTOR: [AMOUNT, AMOUNT, ... AMOUNT] -- one for each security
AMOUNT: +|- (${dollar amount}|{integer} shares)
SYMBOL: { universe of securities }
ACTION:ID: { id of previously executed action }
So, for example, one rule might be “At each round, I’d like to buy 1,000 shares of
security #2 for up to $50 per share if volume is less than 10,000 shares, or up to $45 per
share if volume is less than 20,000 shares.”2
if ( volume < [NA, 10000, ...] and prices <= [NA, 50, ...] )
or ( volume < [NA, 20000, ...] and prices <= [NA, 45, ...] )
trade [0, +1000, ...]
A market maker might guarantee certain securities can be traded at all points in time
at some cost with simple price-bounded rules.
For her part, Alice, to avoid losing her lunch upon returning to the office, might have
submitted an order like the following:
if ( price <= [NA, 9.00, ...] and volume < [NA, 20000000, ...] )
id = trade [0, +100000, ...] at [NA, 9.00, ...]
if ( volume > [NA, 20000000, ...] )
cancel id
2 A participant may wish to trade a smaller number of shares in several trades over time to obtain
an average price.
70 C. Thorpe and S.R. Willis
Alice places a conditional order to buy 100,000 shares if the price drops to $9.00 per
share and volume is within 2x of normal. However, she also places an order to cancel
her limit order if it is triggered and volume later exceeds normal trading volume. Alice
can keep her orders secret but retain protection against the free trading option of a limit
order.
In practice, NA values will be implemented by an extremely large (functionally infi-
nite) positive integer for upper bounds, and an extremely large negative integer for lower
bounds, so that those elements of each vector are always matched. Care should be taken
if encoding these values in a finite field commonly used by homomorphic encryption
schemes to ensure that the interval proofs remain valid.
of security 0 is less than NA (a huge integer) and the price of security 1 is less than $50.
This adds the (encrypted) trade vector [0, 1000, ...] to the list of executed trades for
that participant. Because the trade vectors can be encrypted, an aggregate trade vector
across all trades can be printed. This can further mask a trading algorithm while still
providing transparency and auditability.
Step 4 (offline). The exchange publishes a record (“prints the ticker”) of the accepted
trades in accordance with regulation and notifies the participants whose rules generated
trades. The exchange issues a proof that the encrypted trade vectors of all executed
trades sum to the zero vector [0, 0, ... 0] (assuming no public offerings!).
Afterward, anyone can verify the proof using the encrypted trading rules.
3 Conclusions
When compared to existing dark pools, our protocol offers a few material advantages.
First, it permits participants to see that their trades are being executed according to
the rules without favoring particular parties (e.g. clients with other business.) Second,
it protects them from having to monitor exchange movements in real time on their
own. Third, it enables the exchange to examine systemic risks or even simulate various
scenarios on the market in a fundamentally new way.
There are rich implications for risk management. Participants are able to judge for
themselves what “bad news” looks like based on market information ahead of time and
have those rules within the exchange before a big event. That also means that partici-
pants don’t have to worry about whether their connection to the exchange will be up or
whether they can get trade execution during a crisis moment.
On the other hand, it is not known whether market participants will be willing to
share trading rules with a third party, even if it is a locked down computer system. This
information may be simply too sensitive for some. Based on the evidence that some
institutions share meaningful information with ECN’s like LiquidNet and Pipeline, we
believe that an exchange that offers better liquidity, lower price, or reduced disclosure
may be interesting.
It may also be challenging to craft a set of rules that offer sufficient expressiveness
while still working within our provably correct framework. Nonetheless, we view this
novel approach as an interesting continuation of past research in applications of cryp-
tography in exchanges of assets.
Future work on this topic might include a richer set of trading rules, a prototype
implementation of an exchange with performance analysis, and additional discussion
with market participants about what features they would like to see.
References
1. Bogetoft, P., Damgård, I., Jakobsen, T., Nielsen, K., Pagter, J., Toft, T.: A Practical Imple-
mentation of Secure Auctions Based on Multiparty Integer Computation. In: Di Crescenzo,
G., Rubin, A. (eds.) FC 2006. LNCS, vol. 4107, pp. 142–147. Springer, Heidelberg (2006)
2. Boudot, F.: Efficient Proofs that a Committed Number Lies in an Interval. In: Preneel, B.
(ed.) EUROCRYPT 2000. LNCS, vol. 1807, pp. 431–444. Springer, Heidelberg (2000)
72 C. Thorpe and S.R. Willis
3. Bunge, J.: ’dark pool’ settlement shines light on potential abuses. The Wall Street Journal
(October 25, 2011)
4. Coron, J.-S., Mandal, A., Naccache, D., Tibouchi, M.: Fully Homomorphic Encryption
over the Integers with Shorter Public Keys. In: Rogaway, P. (ed.) CRYPTO 2011. LNCS,
vol. 6841, pp. 487–504. Springer, Heidelberg (2011)
5. Damgård, I., Jurik, M.: A Generalisation, a Simplification and Some Applications of Pail-
lier’s Probabilistic Public-key System. In: Kim, K. (ed.) PKC 2001. LNCS, vol. 1992,
pp. 119–136. Springer, Heidelberg (2001)
6. Gentry, C.: Fully homomorphic encryption using ideal lattices. In: STOC, pp. 169–178
(2009)
7. Gentry, C., Halevi, S.: Implementing Gentry’s Fully-Homomorphic Encryption Scheme.
In: Paterson, K.G. (ed.) EUROCRYPT 2011. LNCS, vol. 6632, pp. 129–148. Springer,
Heidelberg (2011)
8. Harris, L.: Trading and Exchanges. Oxford University Press (2003)
9. Johnson, J., Tabb, L.: Groping in the dark: Navigating crossing networks and other dark pools
of liquidity (January 31, 2007)
10. Kaufman, E.E., Levin, C.M.: Preventing the next flash crash. The New York Times (May 5,
2011)
11. Keim, D.B., Madhavan, A.: The upstairs market for large-block transactions: Analysis and
measurement of price effects. Review of Finacial Studies 9, 1–36 (1996)
12. Kiayias, A., Yung, M.: Efficient Cryptographic Protocols Realizing E-Markets with Price
Discrimination. In: Di Crescenzo, G., Rubin, A. (eds.) FC 2006. LNCS, vol. 4107,
pp. 311–325. Springer, Heidelberg (2006)
13. Madhavapeddy, A., Singh, S.: Reconfigurable data processing for clouds. In: Proc. IEEE
19th Annual International Symposium on Field-Programmable Custom Computing Ma-
chines (FCCM), May 1-3 (2011)
14. Paillier, P.: Public-Key Cryptosystems Based on Composite Degree Residuosity Classes. In:
Stern, J. (ed.) EUROCRYPT 1999. LNCS, vol. 1592, pp. 223–239. Springer, Heidelberg
(1999)
15. Parkes, D.C., Rabin, M.O., Shieber, S.M., Thorpe, C.A.: Practical secrecy-preserving, verifi-
ably correct and trustworthy auctions. In: Electronic Commerce Research and Applications
(2008) (to appear)
16. Rabin, M.O., Servedio, R.A., Thorpe, C.: Highly efficient secrecy-preserving proofs of cor-
rectness of computations and applications. In: Proc. IEEE Symposium on Logic in Computer
Science (2007)
17. Szydlo, M.: Risk Assurance for Hedge Funds Using Zero Knowledge Proofs. In: Patrick,
A.S., Yung, M. (eds.) FC 2005. LNCS, vol. 3570, pp. 156–171. Springer, Heidelberg (2005)
18. Thorpe, C., Parkes, D.C.: Cryptographic Combinatorial Securities Exchanges. In: Dingle-
dine, R., Golle, P. (eds.) FC 2009. LNCS, vol. 5628, pp. 285–304. Springer, Heidelberg
(2009)
19. Thorpe, C., Parkes, D.C.: Cryptographic Securities Exchanges. In: Dietrich, S., Dhamija, R.
(eds.) FC 2007 and USEC 2007. LNCS, vol. 4886, pp. 163–178. Springer, Heidelberg (2007)
20. U.S. CFTC and U.S. SEC. Findings Regarding the Market Events of May 6, 2010 (September
30, 2010)
21. van Dijk, M., Gentry, C., Halevi, S., Vaikuntanathan, V.: Fully homomorphic encryption over
the integers. Cryptology ePrint Archive, Report 2009/616 (2009)
Efficient Private Proximity Testing
with GSM Location Sketches
Abstract. A protocol for private proximity testing allows two mobile users com-
municating through an untrusted third party to test whether they are in close phys-
ical proximity without revealing any additional information about their locations.
At NDSS 2011, Narayanan and others introduced the use of unpredictable sets of
“location tags” to secure these schemes against attacks based on guessing another
user’s location. Due to the need to perform privacy-preserving threshold set in-
tersection, their scheme was not very efficient. We provably reduce threshold set
intersection on location tags to equality testing using a de-duplication technique
known as shingling. Due to the simplicity of private equality testing, our result-
ing scheme for location tag-based private proximity testing is several orders of
magnitude more efficient than previous solutions. We also explore GSM cellular
networks as a new source of location tags, and demonstrate empirically that our
proposed location tag scheme has strong unpredictability and reproducibility.
1 Introduction
The ability to test for physical proximity to one’s friends, co-workers, family, or ac-
quaintances can be useful in a variety of settings. For example, proximity testing has
been found to facilitate in-person collaboration and thus increase work productivity
[17]. It also has potential for building social networks, since sharing proximity fre-
quently over time indicates common activities and interests, an important factor in
friendship [25]. Narayanan et al. [22] list a variety of further scenarios in which it might
be useful.
Although RF-based Inter-personal awareness devices (IPAD) were developed in 1991
[17], proximity awareness did not gain much attention until the proliferation of smart-
phones and online social networking sites. Equipped with GPS receivers and/or base
station triangulation, most smartphones are able to pinpoint their geographic coordi-
nates. As a result, several social networking services have been built to use these fea-
tures. These location-based services ask phone users to submit their presence in a given
venue (“check-in”) so that friends can interact based on the location proximity. While
these services offer many benefits, they also carry significant risks: users must trust the
service providers and their friends to handle this location data properly. Unfortunately,
it is well-established that indiscriminate handling of location information can lead to a
variety of undesirable outcomes, including threats to the physical safety and well-being
2 Related Work
Proximity Awareness Devices. Wireless RF-based devices that detect physical proxim-
ity, called Inter-Personal Awareness Devices (IPAD), were introduced by Holmquist et
al. in 1991 [17]. A prototype, Hummingbird, [17] was developed: wearable devices that
hummed when two of them were close enough, e.g. within 100 meters. The humming-
bird provided continuous updates while complementing the usage of phones, pagers
and computers since it did not require infrastructure support.
3 System Overview
In this section we first give a brief high-level overview
of our approach. Details of the new building blocks are
discussed in sections 4 and 5. The overall architecture
is shown in Figure 1. It has three major ingredients, the
first two of which are new in this work:
1. GSM paging channel dumping: mobile phones
record all messages received on a special broadcast
channel used by all phones in range of the same cel-
lular tower, or in the same location area.
2. Location sketch generation by shingling: phones
use the shingling document de-duplication tech-
nique to produce a short string (a sketch) that rep-
resents the set of broadcast messages received, such
that if two sets are similar, then they will have the
captured). Since the TMSIs are local to a given LAC and one mobile phone only be-
longs to one LAC at a time, a mobile phone will get a new random TMSI once it travels
from one LAC to another. As a consequence, two phones on the same LAC will likely
observe the same set of TMSIs on paging requests. On the contrary, two phones on dif-
ferent LACs will likely see disjoint sets of TMSIs. This makes the set of TMSIs seen
on the paging channel a good candidate for location tags. In addition, the Immediate
Assignment traffic is specific to each base tower within an LAC and can be combined
with the TMSIs of paging requests to produce finer-grained location tags.
To measure the similarity between two sets of location tags, we adopt a mechanism
called “Shingling” from the area of text mining/fingerprinting, which originally was
used to detect (almost-)identical documents. The intuition is that we derive a sketch
from a document such that the similarity between sketches will be high with a high
probability when two documents are close to identical. Rather than viewing documents
as ordered lists, we consider sets by simply reducing each document to a canonical
sorted collection of elements. In this paper, the shingling process is shown in Figure 2.
We define the following concepts adopted from document shingling:
For example, the 3-shingling of set { step, on, no, pets, } is the set {(no, on, pets), (on,
pets, step) }.1 It is not hard to see that nearly identical sets will generate nearly identical
shingling. Furthermore, each unique shingle can be indexed by a numerical unique id
(UID). By shingling we convert a set D into SD , a set of uids. We reduce similarity
testing on sets to similarity testing on shinglings.
The “resemblance” between sets A and B is defined by r(A, B) = |S A ∩SB |
|SA ∪SB | Note
that the resemblance definition is different than classical Jaccard index [18] of A and
B, which is J(A, B) = |A∩B| |A∪B| . It is, however, the Jaccard index on shingling sets SA
and SB . With a random permutation π: {0, 1}n → {0, 1}n, it is not hard to see that
|SA ∩SB |
Proof. With the union bound, Pr[min{SA } = min{SB }] = r(A, B) = |SA ∪SB | ≥
1 − k(1 − J(A, B)) ≈ 1
Now we define min{SA } as the sketch of SA , denoted as tA in Figure 2. If users A and
B have similar sets of location tags, then with high probability tA = tB , and if their
location tag sets are distinct, then with all but negligible probability, tA = tB . Thus
similarity testing can be achieved by equality testing on sketches.
which is the case with location tags, PET outperforms PSI by several orders of magni-
tude. With location sketches, we achieve the “best of both worlds,” allowing the use of
a simple PET with unpredictable location sketches.
4 Cellular Networks
The use of cellular phones is already pervasive with 5 billion users worldwide in 2010
[2]. A side effect of the protocols currently in use is that base stations are constantly
broadcasting the unique or pseudorandom identifiers of mobile stations they are trying
to contact. In this work, we focus on the GSM network with over 3.5 billion worldwide
subscribers in 2009 [1], but the techniques are applicable to other cellular networks with
broadcast paging channels similar to GSM. Since the paging traffic depends on the mo-
bile stations (phones) being served in a geographic area, the paging channel will be dif-
ferent for phones in different LACs, but similar in the same LAC. Since an LAC can cover
areas of up to 100km2, it is useful to have another test to determine proximity with higher
granularity. The Immediate Assignment message traffic is specific to a BTS since it is an
allocation of radio resources from that tower. Devices camped on different towers will
observe different Immediate Assignment message traffic. In an urban environment, we
have observed that the typical range of a BTS is around 1km2 . We use those broadcast
messages at the LAC and base station level to increase the area covered by location tags.
For the purposes of this work, we can view a typical cellular network as being composed
of a number of towers (BTS) belonging to an LAC and connected to a core network.
That central network contains a location register (HLR) that keeps track of each mobile
station’s last known location. The cellular network is then connected to the regular
phone Public Switched Telephone Network (PSTN) system [5].
Most of the messages between a BTS and a mobile station including voice and data
transmissions, are done with frequencies and codes unique to that BTS-mobile station
Paging request
Channel request
MS BTS
Immediate Assignment
Paging response
Setup and data
Fig. 3. Overview of a cellular network con- Fig. 4. Sequence diagram for the air interface
nected to the PSTN between the MS and the BTS
80 Z. Lin, D. Foo Kune, and N. Hopper
pair [4]. However, there are dedicated broadcast channels that all mobile stations have to
listen to. In particular, the broadcast paging channel downlink is used to notify a mobile
station that it needs to contact the BTS [4]. Mobile stations tune or camp on a particular
frequency for their service providers and are able to hear all the pages being issued in
the LAC as well as Immediate Assignment messages allocating radio resources for a
particular BTS. Each paging request message contains the unique identifier of the in-
tended destination. The set of identifiers are unique per geographic region due to the
set of mobile stations in that region. Similarly, the Immediate Assignment traffic, espe-
cially the time at which those messages are broadcasted is unique by BTS as observed
by mobile stations camped on those base stations.
The logical flow for the radio interface in a GSM network during an incoming call works
as follows [4]. The BTS attempts to find the mobile station over the broadcast paging
channel downlink by issuing a paging request with the mobile station’s identifier [4],
which should be the TMSI, but can also be the IMSI. Upon receiving the paging request
and matching the identifier, the mobile station will contact the BTS over the random ac-
cess channel uplink which is separate from the downlink channel. The BTS will then
indicate the frequency and code for the mobile station with an immediate assignment
message, possibly over the same paging channel downlink. The mobile station then re-
sponds with a paging reply over another random access uplink. The rest of the protocol
allows the mobile station and the BTS to negotiate the security level and other setup
parameters, before data (text or voice) can be transmitted. The initial protocol proceeds
as shown in Figure 4.
The paging channel carries different messages including System Information, Immedi-
ate Assignment and Paging Requests. The paging requests can be of 3 types. By far the
most common paging requests are of type 1 that allow a single or two mobile identities
to be paged per message [4] (clause 9.1.22). Those paging requests are issued for every
call or text message being sent to a mobile station within range of the BTS. Due to its
frequent use and unique traffic pattern depending on the mobile stations served in the
area, the paging channel offers a good medium that is unique in time and location. Pag-
ing requests are broadcast to every mobile station within a location area. The location
area consists of several nearby BTSes. In contrast, immediate assignments are issued
locally by an individual BTS. In other words, two mobile stations belonging to the same
location area will hear almost the same paging requests. If they are not covered by the
same BTS, they will hear completely different immediate assignments.
In our evaluation in section 6, we observe that the traffic on the paging channel is a
perfect candidate for LAC-level proximity testing: devices in the same LAC see very
Efficient Private Proximity Testing with GSM Location Sketches 81
similar sets of TMSIs while devices in different (neighboring) LACs see disjoint sets.
Similarly, devices camped on the same BTS hear the same Immediate Assignment traf-
fic, but devices camped on different BTSes do not. We thus built our location tag algo-
rithm to compare the conditions monitored by two different mobile stations.
We note that it is possible for an attacker to use high-powered directional antennae
to eavesdrop on IA and PCCH traffic over longer distances. Clear lines of sight to the
towers will likely be required. However, this does not guarantee that the victim’s phone
will be camped on that same tower, forcing the attacker to record all possible towers in the
area. Moreover, interference from nearby towers using the same frequency is possible,
reducing the ability to effectively eavesdrop on the target tower. In any case, this enforces
that the attacker must have a device that is in physical proximity to the victim.
Generally speaking, location sketch privacy is indeed location tag privacy. As Narayanan
et al. point out, location tags should meet two key requirements as follows:
– Reproducibility. Two measurements taken in the same place and same time pro-
duces two almost-identical tags t1 and t2 .
– Unpredictability. Without presence at a certain location and time, a malicious
party should not be able to produce the tag for that location and time. Note we re-
quire location tags to be varying with time otherwise an adversary can pre-compute
all location tags and a brute-force attack can reveal the victim’s location trajectory.
The cellular mobile network broadcasts paging request messages through its base sta-
tions to alert the target mobile phone in the case of an incoming phone calls or text
messages. In addition, each tower broadcasts the allocation messages to mobile stations
requesting radio resources. Thus, two phones within the same location area should hear
near-identical paging requests. If those phones are listening on the same tower, they
will also hear near-identical immediate assignment message traffic. Heuristically, like
the WiFi channel in [22], the GSM paging channel is a rich source of location tags.
Narayanan et al. reduce the similarity test to the private threshold set intersection
(PTSI) problem [22]. In PTSI, Alice and Bob will execute a protocol that returns ’1’
(as success) when the set A and B have an intersection C of size > t , and returns
’0’ (as failure) when C is of size < t. Note that we require t > t. When |C| ∈ [t, t ],
we expect the probability of success to gradually decrease from 100% to 0%. Here we
apply shingling technique to accomplish the similarity test.
One issue on unpredictability is the entropy of location tags. Among paging requests,
we use TMSIs which are 32-bit IDs locally randomly assigned to a mobile phone. These
IDs display some redundancy but still retain 24 bits of entropy. Thus with k-shingles,
the location sketch presumably has 24k-bits of entropy. With large enough k, the ad-
versary cannot brute-force test the tag and the proximity before the victim moves to the
next location. However, with larger k, reproducibility is decreased. With the same level
of differences between two tag sets, a larger k will create more unique shingles and
decrease the resemblance between shinglings. A proper choice of k will thus be needed
to balance the tradeoff.
As described above, shingling the paging channel provides a certain level of time
sensitivity because intuitively it’s rare for a k-shingle to appear twice at different time
epochs. However, exceptions do occur; some subscribers receive frequent calls or text
messages and may produce many paging requests for the same TMSI over time. To cope
with such issues, we append timestamps to each paging request so that the same paging
request at different times will be tagged with a different UID. Because different phones
will record paging requests in slightly different times, we restrict the timestamps to
10-second granularity to strike a balance between unpredictability and reproducibility.
However, we can quickly boost the probability by repeating the protocol multiple
times. After m repetitions, the probability of getting at least one positive increases to
1−k m (1−f )m . The boosting effect is shown in Figure 5. Such boosting only requires a
small value of m to significantly weaken the required synchronization between phones.
Therefore, we modify our protocol so that users compute m sketches for each epoch
(partitioned evenly into m sub-epochs) and execute m individual PETs. If there is at
least one positive, they conclude they are co-located.
1500
1
1000
0.9
0.8
500
0.7 k = 3, m = 1
k = 3, m = 3
k = 3, m = 5 0
0.6 0 100 300 500 700
0.9 0.95 1
Fraction of common readings Time since start of experiment/seconds
Fig. 5. The boosting effect on m executions Fig. 6. TMSI requests recorded in an 11-
with k-shingling minute period
6 Evaluation
To test our design, we used modified Motorola C118 cell phones connected to laptops
and logging the paging channel traffic at varying distances. On our system, we ran the
open source baseband project OsmocomBB [3]. We used the custom firmware from that
project to reflash the phone, thereby acting as the layer 1 of the GSM communication
stack. Using a serial link, the phone relays each message heard to a laptop running the
upper layer 2 and 3 of the GSM stack. By default, upon startup, this system would scan
all available frequencies, and select the one with the strongest signal. We configured
our two cell phone-laptop systems to listen on the same GSM mobile network operator,
but let the phone choose the appropriate frequencies based on the RSSI level. Once
the system was started and selected the appropriate frequencies, it would start to listen
on the broadcast paging channel (PCCH). A normal phone would ignore all paging
requests and immediate assignment messages that were not intended for it. In our case,
we made a small modification to the layer 3 of the system to log all those messages
heard on the PCCH.
For our experiments, we selected the largest GSM cellular network service provider
in our area and we listened to the paging channel in several geographic locations. We
had two devices listening simultaneously at different distances apart, namely 1m, 100m
and 7km. For the experiment involving the largest distance apart, we observed that the
84 Z. Lin, D. Foo Kune, and N. Hopper
devices were reporting cells with a different Location Area Code (LAC) for the chosen
operator. Devices located close together report the same LAC and if very close, they
choose the same frequency. The paging request logs were recovered from the laptops
and filtered for the TMSIs. Figure 6 shows a plot of unique TMSI we heard over a
period of 700 seconds. A unique TMSI heard multiple times will appear as multiple
dots horizontally on the plot. We have three datasets: Room (1m), Campus(100m) and
and Far-away (7km). Each of them consists of two traffic logs from two systems. Each
log keeps a 10-minute record of the paging channel traffic, including the paging requests
and immediate assignment messages.
k = 3 k = 4 k = 5
1.0 1.0 1.0
Success rate
Success rate
0.6 0.6 0.6
k = 3 k = 4 k = 5
1.0 1.0 1.0
Success rate
Success rate
0.6 0.6 0.6
Fig. 7. First row is the plots on dataset Room, and the second row is those on dataset Campus. We
omit the plots on dataset Far-away because they are simply blank ones. As k increases, resem-
blances drops faster and faster as the offset drifts from zero. Also even when the offset is smaller
than 1 second, the resemblance is no more than 85% for either dataset.
0.8 0.8
Success rate
Success rate
0.6 0.6
0.4 0.4
0.2 0.2
Fig. 8. With boosting parameter m = 5, shingling parameter k = 3 and 5-minute epoch time, the
probability of success is almost 1 within 3-second offset for both datasets
we want to point out that the unpredictability of IA messages is not as strong, because
of non-random channel assignment and some other issues. We will discuss this further
in Section 7.
7 Discussion
Broder et al. in [8, 9] use shingling and threshold set intersection together to identify
nearly identical documents. For each document, the smallest k elements are chosen.
If two documents have resemblance p, the (lower-bound) probability that they share t
common top-k elements can be calculated. With proper choices of (k, t) the probability
86 Z. Lin, D. Foo Kune, and N. Hopper
0.8 0.8
Success rate
Success rate
0.6 0.6
0.4 0.4
0.2 0.2
function acts very similar to a high-pass filter, i.e. only highly resemble documents
should have an intersection of size > t with a high probability. In practice k is usually
as small as 6, and t is as small as 2. In this way, it is possible to only keep the k shingle
for each document as a sketch and execute a private set intersection protocol to figure
out if two documents are near-identical.
With the same idea, shingling can be adopted to improve the efficiency of private
threshold set intersection on location tag proximity. Now we shrink each location tag
set to a k-element sketch set so the communication and computation cost can be greatly
improved as well.
paging requests on the PCCH traffic for short periods of time. While small, this change
will probably require an update of the baseband firmware on the phones in order to
support our protocol. We note that there are no changes required at layers 1 and 2 of the
GSM protocol stack.
Baseband firmware updates have been deployed on iPhone and Android smartphones
as bug fixes are rolled out. Indeed, a number of baseband updates from Apple were
intended to limit the ability to jailbreak the iPhones. With this update infrastructure in
place, it would be possible to package support for our protocol in one such baseband
firmware update. However, baseband updates for feature phones are far less common,
making a migration of the baseband firmware to support our protocol less likely.
8 Conclusion
References
9. Broder, A.Z., Glassman, S.C., Manasse, M.S., Zweig, G.: Syntactic clustering of the web.
Computer Networks and ISDN Systems 29(8-13), 1157–1166 (1997); Papers from the Sixth
International World Wide Web Conference
10. De Cristofaro, E., Tsudik, G.: Practical Private Set Intersection Protocols with Linear Com-
plexity. In: Sion, R. (ed.) FC 2010. LNCS, vol. 6052, pp. 143–159. Springer, Heidelberg (2010)
11. Di Qiu, D., Lo, S., Enge, P.: Robust location tag generation from noisy location data for
security applications. The Institute of Navigation International Technical Meeting (2009)
12. Fagin, R., Naor, M., Winkler, P.: Comparing information without leaking it. Commun. ACM,
77–85 (1996)
13. Freedman, M.J., Nissim, K., Pinkas, B.: Efficient Private Matching and Set Intersection. In:
Cachin, C., Camenisch, J.L. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 1–19. Springer,
Heidelberg (2004)
14. Gruteser, M., Grunwald, D.: Anonymous usage of location-based services through spatial
and temporal cloaking. In: Proceedings of the 1st International Conference on Mobile Sys-
tems, Applications and Services, MobiSys 2003, pp. 31–42. ACM, New York (2003)
15. Hazay, C., Lindell, Y.: Efficient Protocols for Set Intersection and Pattern Matching with
Security Against Malicious and Covert Adversaries. In: Canetti, R. (ed.) TCC 2008. LNCS,
vol. 4948, pp. 155–175. Springer, Heidelberg (2008)
16. Hazay, C., Nissim, K.: Efficient Set Operations in the Presence of Malicious Adversaries. In:
Nguyen, P.Q., Pointcheval, D. (eds.) PKC 2010. LNCS, vol. 6056, pp. 312–331. Springer,
Heidelberg (2010)
17. Holmquist, L.E., Falk, J., Wigstrm, J.: Supporting group collaboration with interpersonal
awareness devices. Personal and Ubiquitous Computing 3 (1991)
18. Jaccard, P.: Étude comparative de la distribution florale dans une portion des Alpes et des
Jura. Bulletin del la Société Vaudoise des Sciences Naturelles 37, 547–579 (1901)
19. Jarecki, S., Liu, X.: Efficient Oblivious Pseudorandom Function with Applications to Adap-
tive OT and Secure Computation of Set Intersection. In: Reingold, O. (ed.) TCC 2009. LNCS,
vol. 5444, pp. 577–594. Springer, Heidelberg (2009)
20. Jarecki, S., Liu, X.: Fast Secure Computation of Set Intersection. In: Garay, J.A., De Prisco,
R. (eds.) SCN 2010. LNCS, vol. 6280, pp. 418–435. Springer, Heidelberg (2010)
21. Kissner, L., Song, D.: Privacy-Preserving Set Operations. In: Shoup, V. (ed.) CRYPTO 2005.
LNCS, vol. 3621, pp. 241–257. Springer, Heidelberg (2005)
22. Narayanan, A., Thiagarajan, N., Lakhani, M., Hamburg, M., Boneh, D.: Location privacy via
private proximity testing. In: Network and Distributed System Security Symposium. Internet
Society (February 2011)
23. Qiu, D., Lo, S., Enge, P., Boneh, D., Peterson, B.: Geoencryption using loran. The Institute
of Navigation International Technical Meeting (2007)
24. Shokri, R., Troncoso, C., Diaz, C., Freudiger, J., Hubaux, J.-P.: Unraveling an old cloak:
k-anonymity for location privacy. In: Proceedings of the 9th Annual ACM Workshop on
Privacy in the Electronic Society, WPES 2010, pp. 115–118. ACM, New York (2010)
25. Terry, M., Mynatt, E.D., Ryall, K., Leigh, D.: Social net: using patterns of physical proximity
over time to infer shared interests. In: CHI 2002 Extended Abstracts on Human Factors in
Computing Systems, CHI EA 2002, pp. 816–817. ACM, New York (2002)
26. Yao, A.C.: Protocols for secure computations. In: Proceedings of the 23rd Annual Sym-
posium on Foundations of Computer Science, SFCS 1982, pp. 160–164. IEEE Computer
Society, Washington, DC (1982)
27. Zhong, G., Goldberg, I., Hengartner, U.: Louis, Lester and Pierre: Three Protocols for Lo-
cation Privacy. In: Borisov, N., Golle, P. (eds.) PET 2007. LNCS, vol. 4776, pp. 62–76.
Springer, Heidelberg (2007)
Metrics for Measuring ISP Badness: The Case of Spam
(Short Paper)
Abstract. We consider the problem of ISP targeting for spam prevention through
disconnection. Any such endeavor has to rely on adequate metrics that consider
both the badness of an ISP as well as the risk of collateral damage. We propose a
set of metrics that combines the two. Specifically, the metrics compare each ISP’s
“spamcount” with its “disconnectability”. We offer a concrete methodological ap-
proach to compute these metrics, and then illustrate the methodology using datasets
involving spam statistics and autonomous system relationships. This analysis rep-
resents the first step in a broader program to assess the viability of economic coun-
termeasures to spam and other types of malicious activity on the Internet.
decisive cues in the fight against spam [24]. Other contributions are the development
of behavior-driven or signature-driven spam classification systems which are desirable
given the transient nature of spam origins [12, 14, 25, 27, 33].
A number of studies have investigated the problem of botnet identification [11, 23,
34]. Ehrlich et al. proceed with a two-step methodology. First, they identify individual
botnet nodes. Second, they continue their investigation to determine the command-and-
control infrastructure of the botnet. In related projects, research groups have worked on
building infrastructures to identify rogue networks [15, 28].
Finally, a growing number of research studies is concerned with the better under-
standing of spam economics, by studying large-scale spam campaigns [1, 4, 16], and by
tracing click trajectories to better understand the spam value chain [20].
Several reports have explored the economic incentives of Internet Service Providers to
invest in security measures [3,32]. A key observation is that ISPs respond differently to
emerging threats leading to varying degrees of botnet infestations in their user popula-
tion [3]. Some ISPs may act vigorously, while others appear to be slacking [5]. Finally,
a residual group aims to derive a profit from providing a safe harbor for undesirable
activities [8].
ISPs are in an excellent position to address security problems [2]. However, it is an
open debate whether or to what degree liability can be assigned to them for insufficient
or even detrimental behaviors [21].
But even from the perspective of well-motivated ISPs it is not obvious how to address
security threats in a cost-efficient manner [26]. ISPs can incentivise users to higher secu-
rity vigilance, but there are tradeoffs. Some incentive schemes target higher individual
security effort levels [29], while others focus more on group-level security outcomes [13].
Another approach is to reduce the autonomy of individual users by installing secu-
rity client software that monitors and controls network access. However, the majority of
consumer-oriented ISPs shy away from direct technical intervention involving access to
the users’ home resources. Some argue this to be a government’s role [7]. We are only
aware of one US consumer ISP experimentally testing a similar approach [22]. How-
ever, several ISPs utilize redirection and quarantining techniques to encourage users to
engage in clean-up efforts [17].
The rest of the paper is organized as follows. In Section 2, we define several met-
rics for use in ranking autonomous systems according to their miscreant behavior and
discuss their key properties. In Section 3, we briefly describe our methodology for com-
puting the proposed metrics on real data. Section 4 contains examples and illustrations
pertaining to the ASes responsible for the most spam volume in our dataset. We discuss
plans for future work and conclude in Section 5.
2 Proposed Metrics
In this section, we introduce metrics to formally quantify the badness and discon-
nectability of autonomous systems, along with the cost-benefit tradeoff that can be used
as part of a formal basis for decisions involving AS targeting.
Metrics for Measuring ISP Badness: The Case of Spam 91
3 Methodology
that data collection was previously used and is described in an earlier publication [24]. We
processed these emails to obtain a best guess source IP for each email; and then used the
bulk Whois query tools provided by Team Cymru [30] to associate IP addresses obtained
from the spam dataset with their associated autonomous system numbers.
Due to current limitations of our data on the badness side, our true proscription to-
wards actually targeting VPNT Corp is perhaps not very strong. The intent of this pa-
per is not to make targeting proscriptions, but rather to introduce and illustrate a useful
methodology. We have shown that well-motivated targetability metrics can be computed
and applied to real ASes, using plausible data, with interesting and highly variable re-
sults. As our badness measurements become better quantified with higher quality data,
proscriptive targeting arguments can be supported on this basis.
4.4 Discussion
What are the relative advantages of the different metrics? Our view is that it depends on
the application and the quality of the datasets involved. The metrics invoking badness
only at the IP level are more robust in the sense that they are less likely to change quickly
over time, (since, for example, it may be easier to send additional spam messages from
the same compromised IP address, then to compromise an additional IP address), and
are also more applicable to the problem of diagnosing the source of badness. On the
other hand, metrics equating badness with direct aggregate features such as raw spam
volume are in better correspondence with the negative effects imposed on the rest of
the network. In a similar fashion, metrics involving the exclusive customer cone size
and exclusive customer cone prefix size, are more robust in the sense that they are less
likely to change significantly if connectivity relations change by not too much. Further,
if the data being used is accurate and not likely to change, then metrics involving the
exclusive customer cone address size most directly correspond to the aggregate benefit
to the network that would be lost if an autonomous system were targeted.
We want to emphasize that each of these metrics, based on exclusive customer cones,
is a conservative metric, in the sense that the metric will generally paint an ISP as “less
targetable” than it would be painted if more edges were included. This feature is impor-
tant, as the connectivity data we use is approximate and is known to err on the side of
omitting edges from the graph [10]. A practitioner might worry that targeting a particu-
lar AS might cause more collateral damage than expected. This would likely be the case
if we used a metric based on customer cone. In such circumstance, an ISP who might
94 B. Johnson et al.
otherwise be subject to targeting would have an incentive to simply add more customer
edges to lower their disconnectability measure. But because we are using the exclusive
customer cone, such a strategy would not be effective. Moreover, the customers of a bad
AS would have the ability to adopt an alternative provider, resulting in a simultaneous
decrease in target risk for the customer, and an increase in the disconnectability of the
bad provider. The idea is that by publishing a metric, we create an incentive structure
that tends to isolate the bad guys from the good guys. As miscreant behavior of an AS
increases, the good guys have more and more of an incentive to line up an alternate
provider, to avoid becoming collateral damage.
Today’s spam problem involves many players with competing interests; and any so-
lution requires numerous tradeoffs. In our study of this problem, we have focused our
attention on the players we see as having the most power to resolve the problem, namely
the ISPs. This approach has lead us to an investigation of metrics applicable to ISP tar-
geting through disconnection. Policy makers must consider a wide variety of technical,
policy, and incentive-relevant challenges to realizing ISP disconnections in practice.
Our contribution to this effort has involved demonstrating the tractability of developing
an objective framework for addressing the problem.
Our goal is to continue advancing research on the prevention of Internet-related mis-
behavior through the publication of metrics that can affect an ISP’s reputation. We con-
sider our program as parallel to more direct technological approaches for combatting
spam, such as botnet targeting and spam filtering. By developing an objective frame-
work for considering ISP targeting through disconnection, we advance the tools avail-
able to economic researchers for use in the modeling of the Internet ecosystem, and
help to foster a better understanding of the problem from crucial perspectives.
References
1. Anderson, D., Fleizach, C., Savage, S., Voelker, G.: Spamscatter: Characterizing internet
scam hosting infrastructure. In: Proceedings of 16th USENIX Security Symposium, Boston,
MA, pp. 135–148 (August 2007)
2. Anderson, R.: Why information security is hard - an economic perspective. In: Proceedings
of the 17th Annual Computer Security Applications Conference (ACSAC 2001), New Or-
leans, LA (December 2001)
3. Asghari, H.: Botnet mitigation and the role of ISPs: A quantitative study into the role and
incentives of internet service providers in combating botnet propagation and activity, Master
Thesis, Delft University of Technology (January 2010)
4. Böhme, R., Holz, T.: The effect of stock spam on financial markets. In: Proceedings of the
Fifth Annual Workshop on Economics and Information Security, WEIS 2006, Cambridge,
UK (June 2006)
5. Clayton, R.: Using early results from the ‘spamHINTS’ project to estimate an ISP Abuse
Team’s task. In: Proceedings of the Conference on E-Mail and Anti-Spam (CEAS), Mountain
View, CA (July 2006)
Metrics for Measuring ISP Badness: The Case of Spam 95
6. Clayton, R.: How much did shutting down McColo help? In: Proceedings of the Conference
on E-Mail and Anti-Spam (CEAS), Mountain View, CA (July 2009)
7. Clayton, R.: Might governments clean-up malware? In: Proceedings of the Ninth Annual
Workshop on Economics and Information Security, WEIS 2010, Cambridge, MA (May
2010)
8. Danchev, D.: Bad, bad, cybercrime-friendly ISPs (March 4, 2009),
http://blogs.zdnet.com/security/?p=2764
9. DiBenedetto, S., Massey, D., Papadopoulos, C., Walsh, P.: Analyzing the aftermath of the
McColo shutdown. In: Proceedings of the Ninth Annual International Symposium on Appli-
cations and the Internet (SAINT), Seattle, WA, pp. 157–160 (July 2009)
10. Dimitropoulos, X., Krioukov, D., Fomenkov, M., Huffaker, B., Hyun, Y., Claffy, K., Ri-
ley, G.: AS relationships: Inference and validation. ACM Computer Communication Re-
view 37(1), 29–40 (2007)
11. Ehrlich, W., Karasaridis, A., Liu, D., Hoeflin, D.: Detection of spam hosts and spam bots us-
ing network flow traffic modeling. In: Proceedings of the 3rd USENIX Workshop on Large-
scale Exploits and Emergent Threats (LEET), San Jose, CA (April 2010)
12. Esquivel, H., Mori, T., Akella, A.: Router-level spam filtering using TCP fingerprints: Ar-
chitecture and measurement-based evaluation. In: Proceedings of the Conference on E-Mail
and Anti-Spam (CEAS), Mountain View, CA (July 2009)
13. Grossklags, J., Radosavac, S., Cárdenas, A.A., Chuang, J.: Nudge: Intermediaries’ Role in In-
terdependent Network Security. In: Acquisti, A., Smith, S.W., Sadeghi, A.-R. (eds.) TRUST
2010. LNCS, vol. 6101, pp. 323–336. Springer, Heidelberg (2010)
14. Hao, S., Syed, N.A., Feamster, N., Gray, A.G., Krasser, S.: Detecting spammers with
SNARE: Spatio-temporal network-level automatic reputation engine. In: USENIX Security
Symposium, pp. 101–118. USENIX Association (2009)
15. Kalafut, A., Shue, C., Gupta, M.: Malicious hubs: Detecting abnormally malicious au-
tonomous systems. In: Proceedings of the 29th IEEE International Conference on Computer
Communications (INFOCOM), San Diego, CA, pp. 326–330 (March 2010)
16. Kanich, C., Kreibich, C., Levchenko, K., Enright, B., Voelker, G., Paxson, V., Savage, S.:
Spamalytics: An empirical analysis of spam marketing conversion. In: Proceedings of the
Conference on Computer and Communications Security (CCS), Alexandria, VA, pp. 3–14
(October 2008)
17. Kirk, J.: ISPs report success in fighting malware-infected PCs (June 2009),
http://www.pcworld.com/businesscenter/article/166444/
isps report success in fighting malwareinfected pcs.html
18. KnujOn. Registrar Report (February 2009), http://knujon.com/registrars/
#feb09RegistrarReport
19. Krebs, B.: Takedowns: The shuns and stuns that take the fight to the enemy. McAfee Security
Journal 6, 5–8 (2010)
20. Levchenko, K., Chachra, N., Enright, B., Felegyhazi, M., Grier, C., Halvorson, T., Kanich,
C., Kreibich, C., Liu, H., McCoy, D., Pitsillidis, A., Weaver, N., Paxson, V., Voelker, G.M.,
Savage, S.: Click Trajectories: End-to-End Analysis of the Spam Value Chain. In: Proceed-
ings of 32nd Annual Symposium on Security and Privacy (May 2011)
21. Lichtman, D., Posner, E.: Holding Internet Service Providers accountable. Supreme Court
Economic Review 14, 221–259 (2006)
22. Mills, E.: Comcast pop-ups alert customers to PC infections. CNet (October 2009),
http://news.cnet.com/8301-27080_3-10370996-245.html
23. Mori, T., Esquivel, H., Akella, A., Shimoda, A., Goto, S.: Understanding large-scale spam-
ming botnets from internet edge sites. In: Proceedings of the Conference on E-Mail and
Anti-Spam (CEAS), Redmond, WA (July 2010)
96 B. Johnson et al.
24. Ramachandran, A., Feamster, N.: Understanding the network-level behavior of spammers.
In: Proceedings of the ACM Conference on Applications, Technologies, Architectures,
and Protocols for Computer Communications (SIGCOMM 2006), Pisa, Italy, pp. 291–302
(September 2006)
25. Ramachandran, A., Feamster, N., Vempala, S.: Filtering spam with behavioral blacklisting.
In: Proceedings of the ACM Conference on Computer and Communications Security (CCS
2007), Alexandria, VA, pp. 342–351 (October 2007)
26. Rowe, B., Reeves, D., Gallaher, M.: The role of Internet Service Providers in cyber security
(June 2009); Available from the Institute for Homeland Security Solutions
27. Shin, Y., Gupta, M., Myers, S.: The Nuts and Bolts of a Forum Spam Automator. In: Proceed-
ings of the 4th USENIX Workshop on Large-Scale Exploits and Emergent Threats, LEET
(March 2011)
28. Stone-Gross, B., Kruegel, C., Almeroth, K., Moser, A., Kirda, E.: FIRE: FInding Rogue
nEtworks. In: Proceedings of the 25th Annual Computer Security Applications Conference
(ACSAC), Honolulu, HI, pp. 231–240 (December 2009)
29. Takahashi, Y., Ishibashi, K.: Incentive Mechanism for Prompting ISPs to Implement Out-
bound Filtering of Unwanted Traffic. In: NetGCOOP 2011: International Conference on
Network Games, Control and Optimization, Paris, France (October 2011)
30. Team Cymru Research NFP. IP to ASN mapping,
http://www.team-cymru.org/Services/ip-to-asn.html
31. The Cooperative Association for Internet Data Analysis. The CAIDA AS relationships
dataset, http://www.caida.org/data/active/as-relationships/
32. van Eeten, M., Bauer, J. M.: Economics of malware: Security decisions, incentives and ex-
ternalities. STI Working Paper (May 2008)
33. Venkataraman, S., Sen, S., Spatscheck, O., Haffner, P., Song, D.: Exploiting network struc-
ture for proactive spam mitigation. In: Proceedings of 16th USENIX Security Symposium,
pp.11:1–11:18. USENIX Association, Berkeley (2007)
34. Zhao, Y., Xie, Y., Yu, F., Ke, Q., Yu, Y., Chen, Y., Gillum, E.: BotGraph: Large scale spam-
ming botnet detection. In: Proceedings of the 6th USENIX Symposium on Networked Sys-
tems Design and Implementation (NSDI), Boston, MA, pp. 321–334 (April 2009)
Metrics for Measuring ISP Badness: The Case of Spam 97
A Appendix
(a). The exclusive customer cone of ASN 4134 (b). The exclusive customer cone of ASN 4837
Fig. 1. The size of each node relates linearly to its spamcount. The color of each node relates to
the ratio of its spamipcount to its individual prefix size.
cumulative
spamcountspamipcount spamcountspamipcount
10 000
1.5 106
8000
spamipcount
spamipcount
spamcount spamcount
6000
6
1.0 10
4000
500 000
2000
rank of asn rank of asn
0
0 50 100 150 200 250 300 by spamcount 2000 4000 6000 by spamcount
(a.) This graph shows the raw number of spam (b.) This graph shows the cumulative number
messages (spamcount) sent by the ASN with of spam messages (spamcount) sent by all ISPs
the given rank, and the raw number of dis- below the given rank, and number of distinct
tinct IP addresses (spamipcount) sending at IP addresses sending at least one spam mes-
least one spam message from the ASN with sage (spamipcount) from an ASN below the
the given rank. given rank.
1 Introduction
Tor is an anonymity network that preserves clients’ online privacy [6]. Today, it
serves hundreds of thousands of clients on a daily basis [13]. Despite its popular-
ity, Tor suffers from a variety of performance problems that result in high and
variable delays for clients [7]. These delays are a strong disincentive to use Tor,
reducing the size of the network’s user base and ultimately harming Tor users’
anonymity [5]. One reason why Tor is slow is due to the challenges of balancing
its dynamic traffic load over the network’s available bandwidth. In this work, we
propose a new approach to load balancing that can reduce congestion, improve
performance, and consequently encourage wider Tor adoption.
Path Selection in Tor. The current path selection algorithm selects nodes
based on the bandwidth of the nodes (adjusted by the current distribution of
bandwidth in the network among entry guards, exits and other nodes), giving a
higher probability of being chosen to nodes with higher bandwidth. It also takes
into account a number of constraints designed to promote network diversity.
However, peer-to-peer file sharing users, while discouraged from using Tor, may
still do so and consume a significant portion of the available bandwidth [15]. Even
though the number of such users is likely small, when these bulk downloaders
An extended version of this paper is available [22].
use nodes with insufficient bandwidth, they may affect the performance of other
clients using the nodes by introducing high delays due to congestion.
Latency as a Congestion Signal. Congestion occurs at the node level ei-
ther when a node reaches its bandwidth rate limit configured in Tor, or when a
node’s connection to the Internet is congested. When a node is congested, out-
going cells must wait in the node’s output queue. We find that this node latency
is sometimes significantly larger than the link latency, which is dominated by
the propagation delay between two nodes. Delays that do not originate from
propagation effects have been found to be quite common [3]; they have also been
found to be large [18]. From measurements and analysis of the live Tor network,
we find that Tor’s token bucket rate limiting implementation often contributes to
congestion delays of up to one second per node. These delays are detrimental to
interactive web browsing users, who are the most common type of Tor user [15].
Congestion-Aware Path Selection. To reduce congestion and improve Tor’s
load balancing, we introduce node latency as a new metric to be used when
selecting nodes to form a circuit. Our approach uses a combination of lightweight
active and opportunistic methods to obtain this information. Clients measure
the overall latency of their circuits and use an inference technique to extract
the component latencies due to congestion for each individual node along the
circuit. Live experiments indicate that a typical client’s circuit latency can be
reduced by up to 40% if congestion information is taken into account during
path selection. We also argue that the security and anonymity implications of
our scheme are minimal.
Contributions. This paper contributes the following:
2 Tor Background
Tor is the third-generation onion routing design providing source and destination
anonymity for TCP traffic. A client wanting to connect to an Internet destination
through Tor first contacts a directory server to obtain the list of Tor nodes. Next,
the client constructs a circuit of three Tor routers (or nodes) and forwards traffic
through the circuit to a desired Internet destination using a layered encryption
scheme based on onion routing [10]. To balance the traffic load across the routers’
bandwidth, clients select routers in proportion to their bandwidth capacities.
100 T. Wang et al.
To mitigate the predecessor attack [23], the first router on the circuit (called
an “entry guard”) is selected among nodes with high stability and bandwidth.
Clients choose precisely three entry guards to use for all circuits and new entry
guards are selected every 30 to 60 days. The last router (called an “exit router”)
is chosen to allow delivery of the client’s traffic to the destination. All data is
transmitted through Tor in fixed-size 512-byte units called cells. More details
about Tor’s design can be found in its design document [6] and its protocol
specification [4].
3 Related Work
Tor requires a good path selection algorithm to effectively distribute its traf-
fic load across its nodes. Currently, Tor uses an algorithm that chooses routers
in proportion to their bandwidth capacities. Different criteria have been pro-
posed as possible factors in the path selection algorithm, such as autonomous
system awareness [8] and application awareness [20]. In this paper, we describe a
modification to Tor’s existing path selection algorithm to incorporate congestion
information, which improves load balancing.
Using latency as a path selection criterion has been investigated by Sherr et
al. [19]. In their paper, a case is made for link-based path selection, which uses
link-based properties (e.g., latency, jitter, loss). Panchenko and Renner [17] pro-
pose using round-trip time as a link-based measure to choose paths. They give a
technique to obtain round-trip time and roughly analyze the increase in perfor-
mance by using this criterion. In this paper, however, we look into considering
latency as a node-based property instead of a link-based property. Link-based
latency includes propagation delay, so only using link-based latency as a measure
may bias path selection against circuits with nodes that are geographically far
apart or on diverse networks.
Latency in Tor has also been considered from other perspectives. Hopper et
al. [12] looked into how network latency can be used to deanonymize clients.
Evans et al. [9] investigate using long paths to congest routers, thus revealing
the identities of those connected to the router due to the change in round-trip
time. Since our congestion-informed path selection approach allows clients to
detect congested routers, our proposal may be a defense against such attacks;
we do not, however, focus on defense mechanisms in this paper, but rather on
improving Tor’s performance.
Lastly, in contrast to proposals that seek to reduce congestion by redesign-
ing Tor’s congestion control mechanisms [1, 18], our work is focused solely on
identifying and avoiding congested routers.
We next define a latency model for nodes. Table 1. Node-based latency model
Our latency measurements on the Tor
network suggest that latency measure- tmin the minimum round-trip time
ments on a node can be cleanly divided tc the congestion time
into a non-congested component and con- t the round-trip time
gestion time. When a node is not con- γ a smoothing constant
gested, the latency can be attributed to
propagation delays, which are nearly constant. Non-congested measurements can
therefore be defined as measurements that are very close to the minimum of all
measurements on the same node. For many nodes, this accounts for most of the
data. When a node is congested, an amount of congestion time is added to the
round-trip time before it can reach the client. This amount of time is frequently
much larger than the non-congested measurements.
In Table 1 we define terms with respect to a node. tmin is the minimum round-
trip time for all measurements of round-trip time t of a node. It is a constant,
assuming all measurements are done from the same client; the chief component
of tmin is the propagation delay. We define the congestion time tc = t − tmin .
By removing tmin from the round-trip time, we isolate the congestion time. γ
is a small smoothing constant added to the measurements to allow for quick
reactions to transient congestion, as detailed further in Section 4.4. Thus, the
actual congestion time is tc = t − tmin + γ.
T = Tmin + (Tc − γ)
Tc = 2tc1 + 2tc2 + tc3
Tci = Ti − Tmin + γ
of nodes r1 , r2 , r3 in this circuit are respectively tc1 , tc2 , tc3 . The entry guard is
r1 , the middle router is r2 , and the exit router is r3 . Next, suppose the round-trip
time taken for some cell to return across this circuit is T ; then the total circuit’s
congestion time is Tc = T − Tmin + γ. For r1 and r2 , we assign the following
congestion time:
2tci
tc i ← T c ·
2tc1 + 2tc2 + tc3
Here i = 1 for node r1 and i = 2 for node r2 . For r3 , we assign the following
congestion time:
tc 3
tc 3 ← T c ·
2tc1 + 2tc2 + tc3
Details. A technical issue emerges when a node becomes congested after a long
period of being non-congested. In this scenario, the estimated congestion time
would be very close to zero and the algorithm would not respond fast enough
to assign a high congestion time to this node. This is where the term γ comes
into play. By ensuring that the minimum estimated congestion time is at least
γ, we can guarantee that even nodes without a history of congestion will not
be immune to blame when congestion occurs in a circuit with such a node. We
empirically find γ = 0.02 s to be a good value; this is not large enough to cover
the differential between congested and non-congested nodes, yet it ensures that
convergence will not take too long.
When a new estimated congestion time has been assigned to a node, the
node’s mean estimated congestion time should be updated. We maintain a list
of congestion time measurements for each node, L; when this amount of data
has been recorded, we push out old data whenever new data comes in. If L is
chosen to be large, then the client’s preference for a node will not change as
quickly, and vice versa.2
user’s experience. Two circuits are built that are capable of exiting to each port
used in the past hour (a circuit can count for multiple ports). Only one of those
circuits is chosen as the next circuit when the user’s circuit times out or breaks.
A reasonable scheme, therefore, is to test all of those circuits before choosing
which to use. As stated above, those tests can be done quickly and with minimal
overhead using active probing. We suggest that five active probing measurements
per pre-built circuit is sufficient to choose the best, as we observe in our exper-
iments (in Section 6). Since the circuits are pre-built, these measurements will
not cause the client any further delay.
Switching to another Circuit. While using the circuit, a client may continue
to measure the circuit and obtain congestion times. This can be done with no
overhead to the Tor network by opportunistically leveraging Tor’s stream-level
and circuit-level SENDME cells, or the stream BEGIN and CONNECTED cell pairs (as
described in Section 4.2). This gives us the round-trip time T , from which we
can follow the procedure given in Section 4.3 to isolate the nodes’ congestion
time. If the estimated congestion time is large, the client should stop using this
circuit and choose another circuit instead.
Comparison. Tor currently takes into account the circuit build time adaptively
and drops circuits that take too long to build [2]. This approach, however, cannot
identify circuits that may become congested after they are constructed, and
the client will not learn to avoid attempting to build circuits over nodes that
are consistently congested. Furthermore, propagation delays are included in the
circuit building time, which is undesirable. Our two schemes improve upon Tor’s
circuit building timeout mechanism.
1
P (Cr ) ∝
α + tc r
where Cr is the event of node r being chosen. α is a constant that prevents very
low congestion nodes from dominating the path selection algorithm.
The effect of this scheme on the user’s experience and the Tor network itself
depends in part on the choice of the constant α. A smaller α will impact the
load balancing more as nodes with less estimated congestion become more likely
to be chosen.
Advantages. Our approach is simple and efficient. Furthermore, this scheme
requires no further infrastructure to support, and it is incrementally deployable
in the sense that any client who chooses to use this scheme can immediately
do so. The long term path selection scheme adds no further overhead on the
network over the instant response scheme, as it can share the few measurements
used to support the instant response scheme.
6 Experiments
We designed a number of experiments that aim to validate our assertions about
latency and congestion in Tor. For all experiments, we use the Tor control pro-
tocol to instrument Tor. We use the final pair of circuit construction cells to
measure the round-trip time of a circuit (as described in Section 4.2). In the
remainder of this section, we present experiments and results that show that
congestion is a property of Tor nodes, explore the relationship between a node’s
consensus bandwidth and its estimated congestion, and evaluate the performance
improvements offered by our congestion-aware router selection proposal.
0.50 1.00
Complementary cumulative distribution
0 10 20 30 40 50 60 70
Measurement duration (hours)
routers (bottom). We note that these delays tend to be low. However, there
exists noticeable variability regardless of a node’s flags or bandwidth, and many
of the delays are close to one second (Figure 2(a) also illustrates these one second
delays where the CCDF lines become vertical). These one second delays are the
result of Tor’s token bucket rate limiting with a once-per-second token refilling
policy (see the extended version of this manuscript [22] for more details).3 These
one-second delays indicate that nodes are being asked to forward more traffic
than they are configured to handle, resulting in congestion. Thus, we conclude
that congestion is a property of the Tor router itself, motivating the need for
clients to consider congestion when selecting nodes for a circuit.
To investigate the possible relationship between a node’s bandwidth and its
congestion, we analyze the nodes’ consensus bandwidth as reported by Tor’s
directory servers. We observe no correlation between a node’s bandwidth and
congestion (the Pearson’s r value between log of the bandwidth and the conges-
tion time is −0.00842).4 This implies that considering only a node’s bandwidth
during path selection may not be sufficient to achieve optimal load balancing.
1.0
1.0
0.8
0.8
Cumulative fraction
Cumulative fraction
0.6
0.6
0.4
0.4
0.2
0.2
Congestion−awareness Congestion−awareness
Tor’s default path selection Tor’s default path selection
0.0
0.0
0.0 0.5 1.0 1.5 2.0 2.5 0.0 0.5 1.0 1.5 2.0 2.5
Congestion time (s) Round trip time (s)
(a) Congestion time comparison (b) Round-trip time comparison
Fig. 3. Improvements in congestion time and round-trip time for instant response
In these experiments, an unmodified Tor client used the current path selection
algorithm in Tor. At the same time, a modified client uses the instant response
components of our scheme (from Section 5.1) to determine which circuit it should
use. The original client builds 225 circuits and measures each one precisely 30
times to obtain round-trip times. The modified client determines which circuits
it should use based on the same data.
Choosing the Best Pre-built Circuits. We first tested how much of an im-
provement we would see if the client simply tested each circuit five times when
building them preemptively and chose the one with the lowest congestion. For
simplicity we assumed that the client always had three circuits to choose from.
The original client tested each of its circuits 30 times, and took the mean of the
congestion times as its experience with the circuit. The modified client chose the
best among every three circuits to use by only looking at the first five measure-
ments; after choosing the best out of three, all 30 measurements of that circuit
are revealed to the modified client and it is taken as its experience of the circuit.
Without the scheme, the mean circuit congestion time was about 0.276 s. With
the scheme, it was about 0.119 s. We find that this large improvement was be-
cause most circuits were non-congested, except a minority where the congestion
time was very high. Those circuits also clearly exhibited congestion in the first
five measurements. This experiment demonstrates that just a few measurements
are needed to effectively identify congested circuits.
Switching to Another Circuit. We next tested how much of an improvement
we would get if the client switches to a better circuit when the current one
becomes too congested. This time both the original client and the modified
client can see all measurements. The modified client dropped a circuit if the last
five measurements had a mean of more than 0.5 s of congestion; 73 of the 225
circuits were eventually dropped. This sufficed to improve the mean congestion
experienced from 0.276 s to 0.137 s.
Congestion-Aware Path Selection for Tor 109
Finally, we combined the two instant response schemes. 75 of the 225 circuits
were chosen using the first scheme, and later 11 of the 75 circuits chosen were
eventually dropped using the second scheme. We achieved a mean congestion
time of 0.077 s, compared to the original 0.276 s. The total round-trip time was
reduced from a mean of 0.737 s to 0.448 s. Figure 3(a) shows the distribution of
congestion times for the client when it used our improvements compared to the
original selection scheme, and Figure 3(b) shows the distribution of round-trip
time for the same comparison. Note that such a reduction in congestion delays
would result in a faster time-to-first-byte for interactive clients (e.g., web brows-
ing clients), which positively affects the users’ perceived quality of service [16].
Overhead. One may worry that these
1.0
schemes will add too much overhead be-
cause they drop existing circuits and
0.8
Cumulative fraction
build new ones. With the first scheme
0.6
we are not dropping any circuits. With
the second scheme, in our experiment we
0.4
found that we would need to build about
26% more circuits, which is a relatively
0.2
modest increase.5
0.0
Long-Term Path Selection. We eval- −2.5 −2.0 −1.5 −1.0 −0.5 0.0 0.5
uate the long-term path selection algo- Error (s)
rithm as follows. We ran a client that
builds many circuits over the entire Tor Fig. 4. Distribution of errors when
network using the original path selec- learning individual node congestion
tion scheme. In total 13,458 circuits were over a large number of trials
built, for which the round-trip time was
obtained 5 times each. One-third of the circuit build times were used as testing
data; the rest were used in training the client to learn the estimated congestion
times for each relay. By using the long-term path selection scheme, we observed
a decrease in the mean congestion time for this experiment from 0.41 s to 0.37 s
over the testing data. The improvement is not as large as in the instant response
schemes, because the long-term path selection scheme tackles more persistent
factors which adversely affect node performance rather than short-term bursts
of congestion.
The long-term path selection scheme offers an improvement nonethe-
less because it is capable of deducing the congestion time of individual
nodes while only measuring the congestion times of random circuits, al-
lowing it to choose uncongested nodes. We performed a total of 379 tri-
als where we compared deduced congestion (by building three-hop circuits)
to directly measured congestion (by building one-hop circuits). Figure 4
shows the distribution of errors. We found that nearly 90% of the errors
5
Circuit building cells are much rarer than data transfer cells; further, the Tor Project
is working to decrease the computation required for circuit building by a factor of
four [14].
110 T. Wang et al.
were within -0.5 s to 0.5 s, and 65% of the errors were within -0.1 s to 0.1 s.
The scheme very rarely overestimated node congestion, but sometimes under-
estimated it, as shown by the large number of negative errors. The mean error
was therefore -0.2 s. This may be because high congestion is somewhat random
in nature, so the scheme is less accurate in predicting the extent of a node’s
congestion while only given a previous record.
6
Note that nodes are less likely to be chosen if they do not have the “stable” and
“fast” flags. The stable flag is a barrier for malicious nodes, as it requires the node
to demonstrate high stability before they can be effective. We neglect this barrier in
the following analysis, giving more power to the attacker.
Congestion-Aware Path Selection for Tor 111
example, the attacker will attempt to keep each malicious node up for as long
as it takes to smear other nodes five times for each client measuring the nodes,
then take it down and replace it with another node. We take tc as the mean
performance of the nodes (including the malicious node) and tmax as the max-
imum time the client performing the latency measurement will wait for before
timing out. The estimation is done by running a simulation with the simplifying
assumption that all nodes can be selected in all positions.
Figure 5 shows how much bandwidth the malicious nodes must possess in order
to affect the measurements of the congestion time of the non-malicious nodes.
The attacker can indeed smear other nodes and gain an advantage by coming
up with fresh, non-smeared nodes. We also note that the advantage gained is
temporary; when the adversary stops performing the attack and uses all their
bandwidth to acquire control of the network, clients will start measuring the
other nodes’ non-smeared congestion times as well, so their estimated congestion
times will slowly return to their non-smeared levels.
Information leakage could also cause anonymity loss. The list of latencies
stored on a user’s computer may compromise anonymity if divulged. If the
list of latencies for all users is known to an attacker, he can perform an at-
tack by only controlling the exit node, and using the lists to probabilistically
guess who is connecting by checking the frequency of connections; this will give
him some amount of information. Our scheme, however, gives no reason to di-
rectly divulge the list of latencies at any point. Furthermore, this list is up-
dated based on client behavior and measurements, which the attacker cannot
easily observe or manipulate without controlling a substantial portion of the
network.
While we recognize that our scheme introduces a small risk due to the smear-
ing attack, we believe that reducing congestion would result in increased re-
silience to attacks that utilize congestion to identify the set of routers used by a
client [9]. Due to space constraints, a full investigation is future work.
References
1. AlSabah, M., Bauer, K., Goldberg, I., Grunwald, D., McCoy, D., Savage, S.,
Voelker, G.M.: DefenestraTor: Throwing Out Windows in Tor. In: Fischer-Hübner,
S., Hopper, N. (eds.) PETS 2011. LNCS, vol. 6794, pp. 134–154. Springer, Heidel-
berg (2011)
2. Chen, F., Perry, M.: Improving Tor path selection (July 2008),
https://gitweb.torproject.org/torspec.git/blob plain/HEAD:/
proposals/151-path-selection-improvements.txt
3. Dhungel, P., Steiner, M., Rimac, I., Hilt, V., Ross, K.W.: Waiting for anonymity:
Understanding delays in the Tor overlay. In: Peer-to-Peer Computing, pp. 1–4.
IEEE (2010)
4. Dingledine, R., Mathewson, N.: Tor Protocol Specification,
https://gitweb.torproject.org/tor.git/blob plain/HEAD:/doc/spec/
tor-spec.txt (accessed August 2011)
5. Dingledine, R., Mathewson, N.: Anonymity loves company: Usability and the net-
work effect. In: WEIS (June 2006)
6. Dingledine, R., Mathewson, N., Syverson, P.: Tor: The second-generation onion
router. In: USENIX Security (2004)
7. Dingledine, R., Murdoch, S.: Performance improvements on Tor or, why Tor is slow
and what we’re going to do about it (March 2009), http://www.torproject.org/
press/presskit/2009-03-11-performance.pdf
8. Edman, M., Syverson, P.F.: AS-awareness in Tor path selection. In: Proceedings
of CCS, pp. 380–389 (2009)
9. Evans, N., Dingledine, R., Grothoff, C.: A practical congestion attack on Tor using
long paths. In: Proceedings of the 18th USENIX Security Symposium (August
2009)
10. Goldschlag, D.M., Reed, M.G., Syverson, P.F.: Hiding routing information. In:
Anderson, R. (ed.) IH 1996. LNCS, vol. 1174, pp. 137–150. Springer, Heidelberg
(1996)
11. Gummadi, K.P., Saroiu, S., Gribble, S.D.: King: Estimating latency between arbi-
trary Internet end hosts. SIGCOMM Comput. Commun. Rev. 32(3) (2002)
12. Hopper, N., Vasserman, E.Y., Chan-Tin, E.: How much anonymity does network
latency leak. In: CCS (2007)
13. Loesing, K.: Measuring the Tor network: Evaluation of client requests to the di-
rectories. Tor Project Technical Report (2009)
14. Mathewson, N.: New paper by Goldberg, Stebila, and Ostaoglu with pro-
posed circuit handshake, https://lists.torproject.org/pipermail/tor-dev/
2011-May/002641.html (accessed June 2011)
15. McCoy, D., Bauer, K., Grunwald, D., Kohno, T., Sicker, D.C.: Shining Light in
Dark Places: Understanding the Tor Network. In: Borisov, N., Goldberg, I. (eds.)
PETS 2008. LNCS, vol. 5134, pp. 63–76. Springer, Heidelberg (2008)
16. Nah, F.F.-H.: A study on tolerable waiting time: How long are web users willing
to wait? Behaviour Information Technology 23(3), 153–163 (2004)
Congestion-Aware Path Selection for Tor 113
17. Panchenko, A., Renner, J.: Path selection metrics for performance-improved onion
routing. In: Proceedings of the 2009 Ninth Annual International Symposium on
Applications and the Internet, pp. 114–120. IEEE Computer Society, Washington,
DC (2009)
18. Reardon, J., Goldberg, I.: Improving Tor using a TCP-over-DTLS tunnel. In:
USENIX Security (2009)
19. Sherr, M., Blaze, M., Loo, B.T.: Scalable Link-Based Relay Selection for Anony-
mous Routing. In: Goldberg, I., Atallah, M.J. (eds.) PETS 2009. LNCS, vol. 5672,
pp. 73–93. Springer, Heidelberg (2009)
20. Sherr, M., Mao, A., Marczak, W.R., Zhou, W., Loo, B.T., Blaze, M.: A3: An
Extensible Platform for Application-Aware Anonymity. In: 17th Annual Network
and Distributed System Security Symposium (NDSS) (February 2010)
21. Tschorsch, F., Scheuermann, B.: Proposal 182: Credit bucket,
https://gitweb.torproject.org/torspec.git/blob plain/HEAD:/proposals/
182-creditbucket.txt (accessed August 2011)
22. Wang, T., Bauer, K., Forero, C., Goldberg, I.: Congestion-aware path selection for
Tor. Technical Report CACR 2011-20 (December 2011),
http://www.cacr.math.uwaterloo.ca/techreports/2011/cacr2011-20.pdf
23. Wright, M.K., Adler, M., Levine, B.N., Shields, C.: The predecessor attack: An
analysis of a threat to anonymous communications systems. ACM Trans. Inf. Syst.
Secur. 7(4), 489–522 (2004)
Attacking the Washington,
D.C. Internet Voting System
1 Introduction
Conducting elections for public office over the Internet raises grave security
risks. A web-based voting system needs to maintain both the integrity of the
election result and the secrecy of voters’ choices, it must remain available and
uncompromised on an open network, and it has to serve voters connecting from
untrusted clients. Many security researchers have cataloged threats to Internet
voting (e.g. [11,15]), even as others have proposed systems and protocols that
may be steps to solutions someday (e.g. [6,12]); meanwhile, a growing number
of states and countries have been charging ahead with systems to collect votes
online. Estonia [1] and Switzerland [2] have already adopted online voting for
national elections. As of 2010, 19 U.S. states employed some form of Internet
voting [5], and at least 12 more were reportedly considering adopting it [4].
Among the jurisdictions considering Internet voting, one of the most enthu-
siastic proponents was the District of Columbia. In 2010, the Washington, D.C.
Board of Elections and Ethics (BOEE) embarked on a Federally-funded pilot
project that sought to allow overseas voters registered in the District to vote
over the web starting with the November 2010 general election [16]. Though the
D.C. system, officially known as the “D.C. Digital Vote-by-Mail Service,” was
technologically similar to parallel efforts in other states, BOEE officials adopted
a unique and laudable level of transparency. The system was developed as an
open source project, in partnership with the nonprofit Open Source Digital Vot-
ing (OSDV) Foundation [3]. Most significantly, prior to collecting real votes with
the system, the District chose to operate a mock election and allow members of
the public to test its functionality and security.
We participated in this test, which ran for four days in September and October
2010. Our objective was to approach the system as real attackers would: starting
from publicly available information, we looked for weaknesses that would allow
us to seize control, unmask secret ballots, and alter the outcome of the mock
election. Our simulated attack succeeded at each of these goals and prompted
the D.C. BOEE to discontinue its plans to deploy digital ballot return in the
November election.
In this paper, we provide a case study of the security of an Internet voting
system that, absent our participation, might have been deployed in real elections.
Though some prior investigations have analyzed the security of proposed Internet
voting systems by reviewing their designs or source code, this is the first instance
of which we are aware where researchers have been permitted to attempt attacks
on such a system in a realistic deployment intended for use in a general election.
We hope our experiences with the D.C. system will aid future research on
secure Internet voting. In particular, we address several little-understood practi-
cal aspects of the problem, including the exploitability of implementation errors
in carefully developed systems and the ability of election officials to detect, re-
spond, and recover from attacks. Our successful penetration supports the widely
held view among security researchers that web-based electronic voting faces high
risks of vulnerability, and it cautions against the position of many vendors and
election officials who claim that the technology can readily be made safe. The
remainder of this paper is organized as follows: Section 2 introduces the archi-
tecture and user interface of the Digital Vote-By-Mail System. In Section 3, we
describe how we found and exploited vulnerabilities in the web application soft-
ware to compromise the mock election. Section 4 describes further vulnerabilities
that we found and exploited in low-level network components. Section 5 discusses
implications of our case study for other Internet voting systems and future public
trials. We survey related work in Section 6 and conclude in Section 7.
Public Network
Allowed TCP ports : 80 and 443 Allowed TCP port : 80
digital-vbm.dc.gov
Fig. 1. Network architecture — The front-end web server receives HTTPS requests
from users and reverse-proxies them to the application server, which hosts the DVBM
election software and stores both blank and completed ballots. A MySQL database
server stores voter credentials and tracks voted ballots. Multiple firewalls reduce the
attack surface and complicate attacks by disallowing outbound TCP connections. The
intrusion detection system in front of the web server proved ineffective, as it was
unable to decrypt the HTTPS connections that carried our exploit. (Adapted from
http://www.dcboee.us/DVM/Visio-BOEE.pdf.)
(PIN). The letters instructed voters to visit the D.C. Internet voting system
website, which guided them through the voting process.
Upon arrival, the voter selects between a digital or postal ballot return. Next,
the voter is presented with an overview of the voting process. The voter then
logs in with the credentials provided in the mail, and confirms his or her identity.
Next, the voter is presented with a blank ballot in PDF format. In the postal
return option, the voter simply prints out the ballot, marks it, and mails it to the
provided address. For the digital return, the voter marks the ballot electronically
using a PDF reader, and saves the ballot to his or her computer. The voter then
uploads the marked ballot to the D.C. Internet voting system, which reports
that the vote has been recorded by displaying a “Thank You” page. If voters try
to log in a second time to cast another ballot, they are redirected to the final
Thank You page, disallowing them from voting again.
We exploited the shell injection vulnerability to carry out several attacks that
illustrate the devastating effects attackers could have during a real election if
they gained a similar level of access:
Stealing secrets. We retrieved several cryptographic secrets from the application
server, including the public key used for encrypting ballots. Despite the use of
4
The patch in question is available at https://github.com/thoughtbot/paperclip/
commit/724cc7. It modifies run to properly quote its arguments using single quotes.
Attacking the Washington, D.C. Internet Voting System 119
the term “public key,” this key should actually be kept secret, since it allows
attackers to substitute arbitrary ballots in place of actual cast ballots should
they gain access to the storage device. We also gained access to the database
by finding credentials in the bash history file (mysql -h 10.1.143.75 -udvbm
-pP@ssw0rd).
Changing past and future votes. We used the stolen public key to replace all of
the encrypted ballot files on the server at the time of our intrusion with a forged
ballot of our choosing. In addition, we modified the ballot-processing function to
append any subsequently voted ballots to a .tar file in the publicly accessible
images directory (where we could later retrieve them) and replace the originals
with our forged ballot. Recovery from this attack is difficult; there is little hope
for protecting future ballots from this level of compromise, since the code that
processes the ballots is itself suspect. Using backups to ensure that compromises
are not able to affect ballots cast prior to the compromise may conflict with
ballot secrecy in the event that the backup itself is compromised.
Revealing past and future votes. One of the main goals of a voting system is
to protect ballot secrecy, which means not only preventing an attacker of the
system from determining how a voter voted, but also preventing a voter from
willingly revealing their cast ballot to a third party, even if they are coerced or
incentivized to do so. While any absentee system that allows voters to vote where
they choose allows a voter to reveal his or her vote voluntarily, our attack on
the D.C. system allowed us to violate ballot secrecy and determine how nearly
all voters voted.
Our modifications to the ballot processing function allowed us to learn the
contents of ballots cast following our intrusion. Revealing ballots cast prior to
our intrusion was more difficult, because the system was designed to store these
ballots in encrypted form, and we did not have the private key needed to decipher
them. However, we found that the Paperclip Rails plugin used to handle file
uploads stored each ballot file in the /tmp directory before it was encrypted. The
web application did not remove these unencrypted files, allowing us to recover
them. While these ballots do not explicitly specify the voter’s ID, they do indicate
the precinct and time of voting, and we were able to associate them with voters
by using login events and ballot filenames recorded in the server application logs.
Thus, we could violate the secret ballot for past and future voters.
be delivered via postal mail, it would be infeasible for officials to send updated
ones to the voters in time for the election.
Hiding our tracks. We were able to hide the evidence of our intrusion with
moderate success. We downloaded the DVBM application logs, altered them to
remove entries corresponding to our malicious ballot uploads, and, as our final
actions, overwrote the application log with our sanitized version and removed
our uploaded files from the /tmp and images directories.
Our calling card. To make our control over the voting system more tangible
to nontechnical users, we left a “calling card” on the final screen of the digital
voting workflow: we uploaded a recording of “The Victors” (the University of
Michigan fight song) and modified the confirmation page to play this recording
after several seconds had elapsed. We hoped that this would serve as a clear
demonstration that the site had been compromised, while remaining discreet
enough to allow the D.C. BOEE system administrators a chance to exercise
their intrusion detection and response procedures.
We also identified other attack strategies that we ultimately did not need to
pursue. For instance, the “crypto workstation” (see Section 2) used for decrypting
and tabulating ballots is not directly connected to the Internet, but attackers
may be able to compromise it by exploiting vulnerabilities in PDF processing
software. PDF readers are notoriously subject to security vulnerabilities; indeed,
the Crypto Workstation’s lack of Internet connectivity may reduce its security
by delaying the application of automated updates in the time leading up to
the count. If the Crypto Workstation is compromised, attackers would likely be
able to rewrite ballots. Furthermore, the web application allowed uploaded PDF
ballots to contain multiple pages. If the printing is done in an automated fashion
without restricting printouts to a single page, an attacker could vote multiple
ballots.
access to download the terminal server’s /etc/shadow and /etc/passwd files for
cracking using the “John the Ripper” password cracker6. After about 3.5 hours
using the cracker’s default settings, we recovered the secondary administrator
password cisco123 from a salted MD5 hash.
Evidence of other Attackers. When we inspected the terminal server’s logs,
we noticed that several other attackers were attempting to guess the SSH login
passwords. Such attacks are widespread on the Internet, and we believe the ones
we observed were not intentionally directed against the D.C. voting system.
However, they provide a reminder of the hostile environment in which Internet
voting applications must operate.
The first SSH attack we observed came from an IP address located in Iran
(80.191.180.102), belonging to Persian Gulf University. We realized that one of
the default logins to the terminal server (user: admin, password: admin) would
likely be guessed by the attacker in a short period of time, and therefore decided
to protect the device from further compromise that might interfere with the
voting system test. We used iptables to block the offending IP addresses and
changed the admin password to something much more difficult to guess. We
later blocked similar attacks from IP addresses in New Jersey, India, and China.
5 Discussion
5.1 Attack Detection and Recovery
After we completed our attack—including our musical calling card on the “Thank
You” page—there was a delay of approximately 36 hours before election officials
responded and took down the pilot servers for analysis. The attack was appar-
ently brought to officials’ attention by an email on a mailing list they monitored
that curiously asked, “does anyone know what tune they play for successful vot-
ers?” Shortly after another mailing list participant recognized the music as “The
Victors,” officials abruptly suspended the public examination period, halting the
tests five days sooner than scheduled, citing “usability issues.”
Following the trial, we discussed the attack with D.C. officials. They explained
that they found our modifications to the application code by comparing the disk
image of the server to a previous snapshot, although this required several days
of analysis. They confirmed that they were unable to see our attacks in their
intrusion detection system logs, that they were unable to detect our presence
in the network equipment until after the trial, and that they did not discover
the attack until they noticed our intentional calling card. We believe that at-
tack detection and recovery remain significant challenges for any Internet voting
system.
testing of Internet voting applications is not necessary to show that they are
likely to be weak. The architectural flaws inherent in Internet voting systems in
general and the potential disastrous implications of a single vulnerability were
known and expected by researchers prior to the D.C. trial [11]. We hope not to
have to repeat this case study in order to highlight these limitations once again.
The key drawback to adversarial testing is that a lack of problems found in
testing does not imply a lack of problems in the system, despite popular per-
ception to the contrary. It is likely that testers will have more limited resources
and weaker incentives than real attackers—or they may simply be less lucky. A
scarcity of testers also seems to have been an issue during the D.C. trial. During
our compromise of the DVBM server, we were able to view the web access logs,
which revealed only a handful of attack probes from other testers, and these
were limited to simple failed SQL and XSS injection attempts.
One reason for the lack of participation may have been ambiguity over the legal
protections provided to testers by the BOEE. Another possible reason is that
the test began on short notice—the final start date was announced only three
days in advance. If such a trial must be repeated, we hope that the schedule
will be set well in advance, and that legal protections for participants will be
strongly in place. In addition to the short notice, the scheduled conclusion of
the test was only three days before the system was planned to be opened for use
by real voters. Had the test outcome been less dramatic, election officials would
have had insufficient time to thoroughly evaluate testers’ findings.
Despite these problems, one of the strongest logistical aspects of the D.C.
trial was that access to the code—and to some extent, the architecture—was
available to the testers. While some observers have suggested that this gave us
an unrealistic advantage while attacking the system, there are several reasons
why such transparency makes for a more realistic test. Above and beyond the
potential security benefits of open source code (pressure to produce better code,
feedback from community, etc.), in practice it is difficult to prevent a motivated
attacker from gaining access to source code. The code could have been leaked by
the authors through an explicit sale by dishonest insiders, as a result of coercion,
or through a compromised developer workstation. Since highly plausible attacks
such as these are outside the scope of a research evaluation, it is not only fair
but realistic to provide the code to the testers.
for COTS developers is still “penetrate and patch.” While this approach is suit-
able for the economic and risk environment of typical home and business users,
it is not appropriate for voting applications due to the severe consequences of
failure.
Inherited DRE threats. Relatively simple Internet voting systems like D.C.’s
DVBM strongly resemble direct recording electronic (DRE) voting machines, in
that there is no independent method for auditing cast ballots. If the voting sys-
tem software is corrupt, recovery is likely to be impossible, and even detection
can be extremely difficult. DRE voting is highly susceptible to insider attacks as
well as external compromise through security vulnerabilities. In previous work
[7,8,10,13,17], the closed, proprietary nature of DREs has been held as an ad-
ditional threat to security, since there is no guarantee that even the intended
code is honest and correct. In contrast, the DVBM system was open source, but
the public would have had no guarantee that the deployed voting system was
actually running the published code.
Tensions between ballot secrecy and integrity. One of the fundamental reasons
that voting systems are hard to develop is that two fundamental goals of a secret
ballot election—ballot secrecy and ballot integrity—are in tension. Indeed, the
D.C. system attempted to protect integrity through the use of logs, backups and
intrusion detection, yet these systems can help an intruder compromise ballot
secrecy. Other security mechanisms put in place to protect ballot secrecy, such as
encrypting completed ballots and avoiding incremental backups make detecting
and responding to compromise much more difficult.
Architectural brittleness in web applications. The main vulnerability we ex-
ploited resulted from a tiny oversight in a single line of code and could have
been prevented by using single quotes instead of double quotes. Mistakes like
this are all too common. They are also extremely hard to eradicate, not because
of their complexity, but because of the multitude of potential places they can
exist. If any one place is overlooked, an attacker may be able to leverage it to
gain control of the entire system. In this sense, existing web application frame-
works tend to be brittle. As our case study shows, the wrong choice of which
type of quote to use—or countless other seemingly trivial errors—can result in
an attacker controlling the outcome of an election.
Internet-based threats. Internet voting exposes what might otherwise be a small,
local race of little global significance to attackers from around the globe, who
may act for a wide range of reasons varying from politics to financial gain to sheer
malice. In addition to compromising the central voting server as we did, attackers
can launch denial-of-service attacks aimed at disrupting the election, they can
redirect voters to fake voting sites, and they can conduct widespread attacks on
voters’ client machines [9]. These threats correspond to some of the most difficult
unsolved problems in Internet security and are unlikely to be overcome soon.
Comparison to online banking. While Internet-based financial applications,
such as online banking, share some of the threats faced by Internet voting, there
126 S. Wolchok et al.
6 Related Work
Although this is, to the best of our knowledge, the first public penetration test
of an Internet voting system scheduled for use in a general election, we are not
the first to caution against the adoption of Internet voting.
The most closely related work is the 2004 security analysis of the Secure Elec-
tronic Registration and Voting Experiment (SERVE) by Jefferson et al. [11].
Like the D.C. DVBM project, SERVE was an Internet voting “pilot” that was
slated for use in an actual election by absentee overseas voters. Jefferson et al. re-
viewed the system design and pointed out many architectural and conceptual
weaknesses that apply to remote Internet voting systems in general, though they
did not have an opportunity to conduct a penetration test of a pilot system. On
the basis of these weaknesses, Jefferson et al. recommended “shutting down the
development of SERVE immediately and not attempting anything like it in the
future until both the Internet and the world’s home computer infrastructure
have been fundamentally redesigned.” We emphatically reaffirm that recommen-
dation. Despite incremental advances in computer security in the last eight years,
the fundamental architectural flaws Jefferson et al. identified remain largely the
same to this day.
More recently, Esteghari and Desmedt [9] developed an attack on the Helios
2.0 [6] open-audit Internet voting system. Their attack exploits an architectural
weakness in home computer infrastructure by installing a “browser rootkit” or
“man-in-the-browser attack” that detects the ballot web page and modifies votes.
Esteghari and Desmedt note that Helios 3.0 is capable of posting audit informa-
tion to an external web server before ballot submission, which can, in theory, be
checked using a second trusted computer to detect the action of the rootkit, but
it is not clear that such a second computer will be available or a sufficiently large
number of nontechnical voters will take advantage of this audit mechanism.
7 Conclusions
Our experience with the D.C. pilot system demonstrates one of the key dangers
in many Internet voting designs: one small mistake in the configuration or imple-
mentation of the central voting servers or their surrounding network infrastruc-
ture can easily undermine the legitimacy of the entire election. We expect that
other fielded Internet voting systems will fall prey to such problems, especially
if they are developed using standard practices for mass-produced software and
Attacking the Washington, D.C. Internet Voting System 127
websites. Even if the central servers were somehow eliminated or made imper-
vious to external attack, Internet voting is likely to be susceptible to numerous
classes of threats, including sabotage from insiders and malware placed on client
machines. The twin problems of building secure software affordably and prevent-
ing home computers from falling prey to malware attacks would both have to be
solved before systems like D.C.’s could be seriously considered. Although new
end-to-end verifiable cryptographic voting schemes have the potential to reduce
the trust placed in servers and clients, these proposals are significantly more
advanced than systems like D.C.’s and may prove even more difficult for devel-
opers and election officials to implement correctly. Securing Internet voting in
practice will require significant fundamental advances in computer security, and
we urge Internet voting proponents to reconsider deployment until and unless
major breakthroughs are achieved.
Acknowledgments. We are grateful to the many people who helped make this
work possible, including Jeremy Epstein, Susannah Goodman, Nadia Heninger,
David Jefferson, Bryan Sivak, Pamela Smith, David Robinson, and especially
Joseph Lorenzo Hall. We thank the anonymous reviewers for their constructive
feedback and Konstantin Beznosov for shepherding this paper to publication.
The authors also wish to thank Rokey Suleman and Paul Stenbjorn of the D.C.
BOEE for having the courage to allow the public to test its voting system.
References
1. Internet voting in Estonia. Vabariigi Valimiskomisjon (February 2007),
http://www.vvk.ee/public/dok/Internet_Voting_in_Estonia.pdf
2. Uncovering the veil on Geneva’s Internet voting solution. Republique Et
Canton De Geneve (February 2009), http://www.geneve.ch/evoting/english/
doc/Flash_IT_vote_electronique_SIDP_final_english.pdf
3. District of Columbia’s Board of Elections and Ethics adopts open source
digital voting foundation technology to support ballot delivery. OSDV
Press Release (June 2010), http://osdv.org/wp-content/uploads/2010/06/
osdv-press-release-final-62210.pdf
4. Internet voting, still in beta. The New York Times editorial (January 2010),
http://www.nytimes.com/2010/01/28/opinion/28thu4.html
5. Internet voting. Verified Voting (May 2011), http://www.verifiedvoting.org/
article.php?list=type&type=27
6. Adida, B.: Helios: Web-based open-audit voting. In: Proc. 17th USENIX Security
Symposium (July 2008)
7. Appel, A.W., Ginsburg, M., Hursti, H., Kernighan, B.W., Richards, C.D., Tan, G.,
Venetis, P.: The New Jersey voting-machine lawsuit and the AVC Advantage DRE
voting machine. In: Proc. 2009 Electronic Voting Technology Workshop/Workshop
on Trustworthy Elections (EVT/WOTE) (August 2009)
8. Butler, K., Enck, W., Hursti, H., McLaughlin, S., Traynor, P., McDaniel, P.: Sys-
temic issues in the Hart InterCivic and Premier voting systems: Reflections on
project EVEREST. In: Proc. 2008 Electronic Voting Technology Workshop/Work-
shop on Trustworthy Elections (EVT/WOTE) (July 2008)
128 S. Wolchok et al.
Rainer Böhme
1 Introduction
Information technology has spurred innovation and productivity gains [8], but
the flip side is the emergence of cyber risk. A characteristic feature that distin-
guishes this “new” kind of risk from traditional risks is the sensitivity to inter-
dependence between decisions of individual actors [16]. Therefore, a profound
understanding of the particularities of cyber risk is essential to guide the design
of secure systems as well as supporting organizational measures. Security audits
belong to the set of organizational tools to manage and regulate risk-taking in
the internet society. This paper sets out to rigorously analyze why and under
which conditions security audits can be most effective.
components, libraries, development tools, and the transitive closure thereof (i. e.,
libraries used by components, development tools used to build libraries, etc.).
Also service-oriented architectures provide a wide range of examples for interde-
pendence. In supply chains and other kinds of outsourcing relations, including all
types of cloud computing, the confidentiality, availability, and oftentimes also the
integrity of business-relevant data depends on the security level of all involved
parties. As a final example, take the internet as a whole. Botnets are the back-
bone for a range of threat scenarios. Their existence and growth is only possible
because not all nodes connected to the network make sufficient efforts to secure
their systems. So the insecurity of a victim partly depends on the inaptitude of
others—that is a clear case of interdependence.
The issues arising from interdependent security, notably free-riding and lack
of incentives to invest in security, are not always reflected in the literature dis-
cussing the potentials of interconnection for the sake of sharing information, ser-
vices, and other resources. If not fully ignored, these issues are often described
as open yet solvable (e. g., [3]). Or the problem is deferred informally to security
audits and certification (e. g., [23,18]). These organizational measures would en-
sure high enough security standards. Such claims motivate us to take a closer
look at security audits and interdependence to see if the hopes are realistic.
way, the result of an examination is verifiable and can serve as a credible signal to
other market participants. Pure security examinations without certification are
not subject of this paper because they cannot contribute to solve the problems
arising from interdependent cyber risk.
In practice, security audits with subsequent certification are very common and
cause substantial costs to the industry. Examples include the Common Criteria
(where audits may last up to one year and cost up to a million dollars) and
their predecessors Orange Book (U. S.) and ITSEC (Europe). These standards
were designed for public procurement. Other security audits are laid down in
industry standards, such as PCI DSS for payment systems or ISO 17799, re-
spectively ISO 27001. In addition, there exists a market for a variety of quality
seals issued by for-profit and non-profit organizations alike. Examples include
VeriSign, TrustE, or the European data protection seal EuroPriSe.
Economic theory suggests two channels through which security audits can gen-
erate positive utility:
one step ahead. The very objective of our analysis is to scrutinize the economic
justification of existing or future legal and contractual obligations because of
their potential to prevent market failures.
Now we can formulate the research question: Under which conditions do security
audits (defined in Sect. 1.2) generate positive utility by solving the coordination
problems (see Sect. 1.3), which would otherwise hinder the reduction of interde-
pendent cyber risks?
The response to this question is relevant for security managers who decide
whether commissioning security audits is profitable1 given:
Our contribution in this paper is a new analytical model to answer this re-
search question. The model can also be employed for decision support whenever
a change in one of the conditions (a–c) is anticipated. The latter mainly concerns
decisions to increase interconnectivity, for instance by supporting more interfaces
or integrating new services. Each affects the degree of interdependence.
Solving the coordination problem not only increases individual utility, but also
leads to improvements in social welfare. Therefore, our model and its analysis is
equally relevant for regulators. For example, regulations requesting mandatory
audits should be designed such that audits are only required when it is eco-
nomical. Moreover, the model can help to formulate high-level requirements for
security audits such that audits have a welfare-maximizing effect.
Everything that has been said for the regulator can be applied to market
situations in which one market participant defines the standards for an industrial
sector. This can be an industrial organization (such as in the case of PCI), or a
blue chip company orchestrating its supply chain.
1.5 Roadmap
The next section presents our model, which is designed parsimoniously without
omitting properties necessary for the interpretation. The model is solved and
all pure strategy equilibria identified. Section 3 analyzes the equilibria with re-
gard to the utility generated by security audits. We will explain under which
condition security audits are helpful, and when they are not needed to solve the
coordination problem. Section 4 discusses relations to prior art, both in terms of
the subject area and the analytical methodology. A critical discussion and our
outlook precede the final conclusion (Sect. 5).
1
We are agnostic about defining a price for the security audit. Hence “profitable”
should be read in the sense of strictly positive utility.
Security Audits Revisited 133
2 Model
The result of the audit shall be verifiable by third parties. In practice this can be
ensured by issuing a (paper) certificate or by having the auditor sign the result
cryptographically. In any case, the result is just a snapshot in time and has to be
annotated with a time stamp if state changes of X are of interest. Our analysis
in this paper is limited to one-shot games with fixed states.
The assumption of a threshold t can be justified with the common practice
to conduct security audits along semi-standardized checklists where the thor-
oughness of the audit has to be defined beforehand. It is certainly conceivable to
consider a family of functions SecAuditt from which the appropriate function is
selected depending on the situation. A real-world example for this are the seven
Evaluation Assurance Levels (EAL) specified in the Common Criteria. However,
it most cases the number of different thresholds will be small and countable. So
we cannot assume that t can be chosen from a continuous interval.
Note that we simplify the audit problem to a single summative measure of
security level. In practice, different aspects (e. g., protection goals, security tar-
gets in the Common Criteria terminology, etc.) or components of a system can
have different levels of security. This view is compatible with our approach if one
considers each system as a bundle of objects X and a given security audit as a
collection of functions, one for each property of the bundle.
134 R. Böhme
Our abstraction ignores that practical audits may cause side effects. Audits
impose costs, which typically depend on X and t. There is also a risk of hid-
den information leakage as the auditor and its staff may get to know sensitive
information about X. In a dynamic setting, there might be a non-negligible lag
between the time when the audit decision is taken and the time when the output
is available. All these side effects are not considered in this paper. Therefore, our
simplifications may let security audits appear more useful in our analysis than
they actually are in practice. Conversely, we err on the side of caution in cases
where security audits turn out useless in our analysis. The reader is advised to
keep this bias in mind when interpreting our results.
p(s) = β −s . (2)
This model is good enough to find optimal levels of security investment for a
single firm. However, without interdependence, this is not of interest here.
2
For consistency and didactic reasons, we use the term “firm” to refer to a single
rational decision maker. This does not limit the generality of the model. Firm stands
as placeholder for any entity conceivable in a given context, e. g., “organization”,
“defender”, “nation state”, “player”, or “user”.
Security Audits Revisited 135
1 1
Probability of loss p0 (s0 , s1 )
s1 = 0 α = 1/2
1/2 1/2
s1 = 1/
α=0
s1 = 1
s1 = s0
0 0
0 1/2 1 0 1/2 1
Security investment s0 of firm 0 Security investment s0 = s1
Fig. 1. Interdependent security: firm 0’s probability of loss partly depends on firm 1’s
security investment (left); the probability of loss increases with the degree of interde-
pendence α even if both firms invest equally (right)
This reflects the intuition that a firm evades a loss only if neither it falls victim
to a security breach, nor a breach at an interconnected firm is propagated. Pa-
rameter α ∈ [0, 1] is the degree of interdependence, a property of the environment
of both firms. For α = 0 (no interdependence), Eq. (4) reduces to Eq. (2).
Figure 1a illustrates the effect of interdependence described informally in the
introduction. We set α = 1/2 for moderate interdependence. The black curves
show that the probability of loss of firm 0, for every choice of its own security
investment s0 > 0, also depends on the choice of s1 by firm 1. By contrast,
the gray intersecting curve shows the probability of loss if both firms make
equal security investments. This setting prevails in Figure 1b. Here we show
curves for different settings of the degree of interdependence α. Observe that
the probability of loss grows with the degree of interdependence for every fixed
security investment s0 = s1 > 0.
136 R. Böhme
β=8
1/2
β = 20
Social cost E(c0 + c1 )
β = 100
Social optimum s∗
α=1
2
β = 400
α = 1/2
1/4
α=0 β=8
1 0
0 1/2 1 0 1/2 1
Security investment s0 = s1 Degree of interdependence α
Fig. 2. Security investment s∗ minimizes the expected “social” cost of both firms
For high degrees of interdependence and low security productivity, the social
optima reside at the lower end of the value range of s. The gray dotted curves in
Figs. 2a and 2b visualize this case (for β = 8). We will discuss the implications
of this special case on security audits below in Sect. 3.4.
Figure 2b shows the location of social optima as a function of α for selected
values of β. Observe that the socially optimal security investment does not react
Security Audits Revisited 137
s0 = s1 s0 = s1
Security investment s0
Security investment s0
1/2 1/2
α=0
α=0
1/4
α = 1/2 1/4
Social optimum
α=1
α=1 Nash equilibrium
0 0
0 1/2 1 0 1/2 1
Security investment s1 Security investment s1
Fig. 3. Best response of firm 0 given security investment of firm 1; all fixed points of
this function are pure strategy Nash equilibria
Knowing the location of social optima does not imply that they are reached in
practice. This will only happen if all players have incentives to raise their security
investment to the level of s∗ . The analysis of incentives—which obviously depend
on the actions of the respective other firm—requires a game-theoretic perspective
and the search for Nash equilibria.
Only pure strategies are regarded in this paper. Firm i’s best response s+
given s1−i is the solution to the following optimization problem:
Figure 3 shows the best response as function of s1 for three different degrees of
interdependence (α ∈ {0, 1/2, 1}) and two values of security productivity (β ∈
{20, 100}). Nash equilibria, defined as fixed points of the best response function,
are located on the intersections with the main diagonal. For comparison, we also
plot the social optima as given by Eq. (7).
Depending on the parameters, there exist up to three Nash equilibria at
⎛ ⎞
log(β) ± log2 (β) − 4αlog(β)
s̃1,2 = log ⎝ ⎠ log−1 (β) (12)
2
The parameters in Figure 3 are chosen such that every case of interest is repre-
sented with at least one curve. We will discuss all cases jointly with the interpre-
tation in Section 3. The formal conditions for the various equilibrium situations
are summarized in Appendix A.1.
3 Analysis
For all strictly positive values of α > 0, the Nash equilibria are located below
the social optimum. This replicates a known result: security as a public good
is under-provided in the marketplace [27,16]. The reasons are lack of incentives,
more specifically a coordination problem [24]. If firm i knew for sure that firm
1 − i cooperates and invests s1−i = s∗ , then it would be easier to decide for the
socially optimal level of security investment as well. In practice, however, firm i
can hardly observe the level of s1−i .
Security audits can fix this problem. They allow a firm to signal the own
security level to its peers in a verifiable way. This can convince others of the
willingness to cooperate and stimulate further cooperative responses. Now we
have to distinguish between the case of coordination between multiple equilibria,
and the case of coordination at non-equilibrium points. The former helps to avoid
bad outcomes, the latter in needed to actually reach the social optimum.
Coordination between Multiple Equilibria. If multiple Nash equilibria
exist, the initial conditions determine which equilibrium is chosen. So the co-
ordination problem is to nudge the game into the equilibrium with the lowest
social cost. To do this, it is sufficient if one firm unilaterally signals a security
level in the basin of attraction of the best possible equilibrium. Then the other
firms’ rational selfish reaction is to choose a security level within that basin and
the trajectory of strategic anticipation converges to the desired equilibrium so-
lution. Therefore, in this case, it is sufficient to have unilateral security audits
which may even be voluntary (if the audit costs are not prohibitive).
Security Audits Revisited 139
103
A
Fig. 3 (left)
C
101 D
0 1/2 1
Degree of interdependence α
In region A, there exists exactly one Nash equilibrium (see dashed curves in
Fig. 3). The best response s+ i on security investments s1−i < s̃1 below the Nash
equilibrium of Eq. (12) is always larger than s1−i . Therefore, firms always have
incentives to invest at least s̃1 . Security audits with thoroughness t < s̃1 below
that level do not improve the situation and hence are ineffective. Thorough au-
dits with s̃1 > t ≥ s∗ can improve the security level and social welfare. Since
this involves a coordination at non-equilibrium points, such audits must be bi-
lateral. To specify this, it holds that unilateral audits with thoroughness above
the social optimum for α = 0—this is the only point (+ × in Fig. 3) where the
Nash equilibrium and social optimum concur—can never be more effective than
140 R. Böhme
unilateral security audits at this level. This is so because this value bounds the
best response function from above.
Figures 4 hides the fact that the left edge (α = 0) does not belong to region A.
This edge rather represents the special case of independent firms who optimize
on their own. There exists exactly one Nash equilibrium which concurs with the
social optimum (see solid line in Fig. 3). No firm would conduct security audits
voluntarily. Mandatory audits (with sanctions in case of failure) do not result in
relevant signals if t ≤ s∗ = s̃. They are even counter-productive if t > s∗ = s̃.
In summary, the most salient new result of this analysis is that even in this
stylized model, the usefulness of security audits and the required thoroughness
highly depends on the situation. We deem this an important insight for the
design of audit standards and policies, which in practice are applied in contexts
with many more potentially influential factors.
4 Related Work
We are not aware of any prior work addressing this specific or closely related
research questions. The same holds for the combination of elements used in
our analytical model. Consequently, we structure the discussion of related work
broadly into two categories: works which address similar questions, and works
that use similar methods for different research questions.
Anderson [2] belongs to the first category. He notes perverse incentives for
suppliers of security certifications. This leads vendors who seek certification to
shop for the auditor who has the laxest reading of a standard. Baye and Morgan
[5] study certificates as an indicator of quality in electronic commerce. They pro-
pose an analytical model of strategic price setting in a market where certified and
uncertified products compete. They find support for their model using empiri-
cal data. In another empirical study, Edelman [10] argues that less trustworthy
market participants have more incentives to seek certification (and obtain it). He
could show that this adverse selection inverts the intended function of TrustE
seals as indicators of quality. The appearance of the seal on a representatively
drawn website actually increases the posterior probability that the site is shady.
This is largely driven by the fact that TrustE certification is voluntary, leading to
self-selection. Rice [21], by contrast, recommends mandatory certification of soft-
ware and services. His proposal is clearly inspired by similar efforts in the area of
food and traffic safety. A similar proposal is brought forward by Parameswaran
and Whinston [20], yet with a tighter focus on network intermediaries, such as
Internet Service Providers. Telang and Yang [26] empirically compare the num-
ber of vulnerabilities in software products with and without Common Criteria
certification. They find that certified software fixes more old vulnerabilities, but
also contains more new vulnerabilities so that the net effect is neutral. All this
literature has in common that audits and certification are regarded as tools
to overcome information asymmetries. Interdependent security is not reflected.
Since our work exclusively deals with solutions to the coordination problem in
the presence of interdependence, it complements this strand of literature.
142 R. Böhme
Modeling interdependent risks has quite some tradition in the field of security
economics. Varian [27] as well as Kunreuther and Heal [16] belong to the second
category of related work. Both teams promoted the view of information security
as a public good, suggested formal models, and thus coined the notion of interde-
pendent security. Our model is closer to Kunreuther and Heal. Varian’s approach
is richer if more than two firms interact. He adopts three types of aggregation
functions from the economics literature of public goods [13]: weakest link, total
effort, and best shot. Grossklags et al. [12] take up this idea and extend it in a
series of works. The key difference to our model is the assumption of two kinds
of security investments, one that generates externalities and another one that
does not. Most models of interdependence are designed with the intention to
find ways to internalize the externalities. This has led to literature for different
contexts, including for instance cyber-insurance [19,15] or security outsourcing
with [29] and without [22] risk transfer. The availability of security audits is
sometimes assumed (e. g., in [25]), but their effectiveness is never scrutinized.
5 Discussion
Few analytical models with three parameters can quantitatively predict out-
comes in reality. Nevertheless, the interaction of security productivity, degree of
interdependence, and thoroughness of security audits in our model allows to draw
new conclusions. These conclusions can be transferred to practical situations at
least qualitatively using the insights about the underlying mechanics.
5.3 Conclusion
We have presented a novel analytical model to study the effectiveness of security
audits as tools to incentivize the provision of security by private actors at a
socially optimal level. The model takes parameters for the efficiency of security
investment in risk reduction (security productivity), the exposure to risk from
other peers in a network (degree of interdependence), and the thoroughness of
the security audit. The solution of this model reveals that security audits must
be tailored to the very situation in order to avoid that they are ineffective.
Moreover, “lightweight” security audits certifying a minimum level of security
are not socially beneficial in the large majority of cases. Our results call for the
revision of policies that require mandatory and undifferentiated security audits.
144 R. Böhme
References
1. Anderson, R., Böhme, R., Clayton, R., Moore, T.: Security Economics and the
Internal Market. Study commissioned by ENISA (2008)
2. Anderson, R.J.: Why information security is hard – An economic perspective (2001)
3. Armbrust, M., et al.: Above the clouds: A Berkeley view of cloud computing.
Technical Report EECS–2009–28, University of California, Berkeley (2009)
4. Axelrod, R.: The Evolution of Cooperation. Basic Books, New York (1984)
5. Baye, M.R., Morgan, J.: Red queen pricing effects in e-retail markets. Working
Paper (2003)
6. Böhme, R.: Security Metrics and Security Investment Models. In: Echizen, I., Ku-
nihiro, N., Sasaki, R. (eds.) IWSEC 2010. LNCS, vol. 6434, pp. 10–24. Springer,
Heidelberg (2010)
7. Böhme, R., Moore, T.W.: The iterated weakest link: A model of adaptive secu-
rity investment. In: Workshop on the Economics of Information Security (WEIS).
University College London, UK (2009)
8. Brynjolfsson, E., Hitt, L.: Computing productivity: Firm-level evidence. The Re-
view of Economics and Statistics 85(4), 793–808 (2003)
9. Carr, N.G.: IT doesn’t matter. Harvard Business Review 81(5), 41–49 (2003)
10. Edelman, B.: Adverse selection in online “trust” certifications. In: Workshop on the
Economics of Information Security (WEIS). University of Cambridge, UK (2006)
11. Gordon, L.A., Loeb, M.P.: The economics of information security investment. ACM
Trans. on Information and System Security 5(4), 438–457 (2002)
12. Grossklags, J., Christin, N., Chuang, J.: Secure or insure? A game-theoretic analy-
sis of information security games. In: Proc. of the Int’l Conference on World Wide
Web (WWW), pp. 209–218. ACM Press, Beijing (2008)
13. Hirshleifer, J.: From weakest-link to best-shot: The voluntary provision of public
goods. Public Choice 41, 371–386 (1983)
14. Jacquith, A.: Security Metrics: Replacing Fear, Uncertainty, and Doubt. Addison-
Wesley (2007)
15. Johnson, B., Böhme, R., Grossklags, J.: Security Games with Market Insurance.
In: Baras, J.S., Katz, J., Altman, E. (eds.) GameSec 2011. LNCS, vol. 7037,
pp. 117–130. Springer, Heidelberg (2011)
16. Kunreuther, H., Heal, G.: Interdependent security. Journal of Risk and Uncer-
tainty 26(2-3), 231–249 (2003)
17. Liu, W., Tanaka, H., Matsuura, K.: An empirical analysis of security investment
in countermeasures based on an enterprise survey in Japan. In: Workshop on the
Economics of Information Security (WEIS). University of Cambridge, UK (2006)
18. Molnar, D., Schechter, S.: Self hosting vs. cloud hosting: Accounting for the security
impact of hosting in the cloud. In: Workshop on the Economics of Information
Security (WEIS). Harvard University, Cambridge (2010)
19. Ogut, H., Menon, N., Raghunathan, S.: Cyber insurance and it security investment:
Impact of interdependent risk. In: Workshop on the Economics of Information
Security (WEIS). Harvard University, Cambridge (2005)
20. Parameswaran, M., Whinston, A.B.: Incentive mechanisms for internet security.
In: Rao, H.R., Upadhyaya, S. (eds.) Handbooks in Information Systems, Emerald,
vol. 4, pp. 101–138 (2009)
21. Rice, D.: Geekonomics – The Real Cost of Insecure Software. Addison-Wesley, New
York (2007)
Security Audits Revisited 145
22. Rowe, B.R.: Will outsourcing IT security lead to a higher social level of security?
In: Workshop on the Economics of Information Security (WEIS). Carnegie Mellon
University, Pittsburgh (2007)
23. Sackmann, S., Strüker, J., Accorsi, R.: Personalization in privacy-aware highly
dynamic systems. Communications of the ACM 49(9), 32–38 (2006)
24. Schelling, T.: The Strategy of Conflict. Oxford University Press, Oxford (1965)
25. Shetty, N., Schwartz, G., Felegyhazi, M., Walrand, J.: Competitive cyber-insurance
and internet security. In: Workshop on Economics of Information Security (WEIS).
University College London, UK (2009)
26. Telang, R., Yang, Y.: Do security certifications work? Evidence from Common Cri-
teria certification. In: IEEE International Conference on Technologies for Homeland
Security (2011)
27. Varian, H.R.: System reliability and free riding. In: Workshop on the Economics
of Information Security (WEIS). University of California, Berkeley (2002)
28. Winkler, S., Proschinger, C.: Collaborative penetration testing. In: Busi-
ness Services: Konzepte, Technologien, Anwendungen (9. Internationale Tagung
Wirtschaftsinformatik), vol. 1, pp. 793–802 (2009)
29. Zhao, X., Xue, L., Whinston, A.B.: Managing interdependent information security
risks: A study of cyberinsurance, managed security service and risk pooling. In:
Proceedings of ICIS (2009)
A Proof Sketches
A.1 Formal Conditions of Equilibria
Border between Region A and B
Idea: Take fixed point from Eq. (12) and set it to zero,
α = 1 − log−1 (β).
β = e4α .
Case 1: α = 0
∗
1 = log(β)β −s
s∗ = log(log(β))log−1 (β)
∗
Case 2: α > 0. We obtain the root by substituting u = β −s , solving the
quadratic equation, and subsequent resubstitution:
⎛ ⎞
2 −1
(1 + α) − (1 + α) − 8αlog (β)
s∗ = −log ⎝ ⎠ log−1 (β)
4α
s+ log(β) = log (log(β)) + log 1 − αβ −s1−i
Fixed points are Nash equilibria if they fulfill the constraint s̃ > 0. Because of
the constraint in Eq (10), there exists another corner equilibrium at s̃3 = 0 if
s+ (0) = 0:
Abstract. Due to the forensic value of audit logs, it is vital to provide compro-
mise resiliency and append-only properties in a logging system to prevent ac-
tive attackers. Unfortunately, existing symmetric secure logging schemes are not
publicly verifiable and cannot address applications that require public auditing
(e.g., public financial auditing), besides being vulnerable to certain attacks and
dependent on continuous trusted server support. Moreover, Public Key Cryptog-
raphy (PKC)-based secure logging schemes require Expensive Operations (Ex-
pOps) that are costly for both loggers and verifiers, and thus are impractical for
computation-intensive environments.
In this paper, we propose a new class of secure audit logging scheme called
Log Forward-secure and Append-only Signature (LogFAS). LogFAS achieves the
most desirable properties of both symmetric and PKC-based schemes. LogFAS
can produce publicly verifiable forward-secure and append-only signatures with-
out requiring any online trusted server support or time factor. Most notably, Log-
FAS is the only PKC-based secure audit logging scheme that achieves the high
verifier computational and storage efficiency. That is, LogFAS can verify L log
entries with always a small-constant number of ExpOps regardless of the value
of L. Moreover, each verifier stores only a small and constant-size public key re-
gardless of the number of log entries to be verified or the number of loggers in the
system. In addition, a LogFAS variation allows fine-grained verification of any
subset of log entries and fast detection of corrupted log entries. All these prop-
erties make LogFAS an ideal scheme for secure audit logging in computation-
intensive applications.
1 Introduction
Audit logs have been used to track important events such as user activities and pro-
gram execution in modern computer systems, providing invaluable information about
the state of the systems (e.g., intrusions, crashes). Due to their forensic value, audit
logs are an attractive target for attackers. Indeed, an experienced attacker may erase the
traces of her malicious activities from the logs, or modify the log entries to implicate
other users after compromising the system. Therefore, ensuring the integrity, authentic-
ity and accountability of audit logs in the presence of attackers is critical for any modern
computer system [9, 20, 25, 29].
There are straightforward techniques to protect audit logs from active adversaries:
(i) Using a tamper resistant hardware on each logging machine to prevent the adversary
from modifying audit logs and (ii) transmitting each log entry as soon as it is generated
to a remote trusted server. Unfortunately, these approaches have significant limitations
as identified in [9, 19–21]: First, it is impractical to assume both the presence and the
“bug-freeness” of a tamper resistant hardware on all types of platforms (e.g., wireless
sensors [18], commercial off-the-shelf systems [7]) [17, 20]. Second, it is difficult to
guarantee timely communication between each logging machine and the remote trusted
server in the presence of active adversaries [11, 19, 29].
Limitations of Previous Cryptographic Log Protection Techniques: Cryptograp-hic
mechanisms can protect the integrity of audit logs without relying on such techniques.
In these settings, the log verifiers might not be available to verify the log entries once
they are generated. Hence, a logger may have to accumulate log entries for a period
of time. If the adversary takes full control of the logging machine in this duration, no
cryptographic mechanism can prevent her from modifying the post-attack log entries.
However, the integrity of log entries accumulated before the attack should be protected
(i.e., forward-security property) [1, 7, 9, 12, 17, 19, 20, 29]. Furthermore, this protection
should not only guarantee the integrity of individual log entries but also the integrity
of the log stream as a whole. That is, no selective deletion or truncation of log entries
should be possible (i.e., append-only (aggregate) property [17,18,20]). Forward-secure
and aggregate signatures (e.g., [17,18,20,29,30]) achieve forward-security and append-
only properties simultaneously.
Pioneering forward-secure audit logging schemes [6, 7, 25] rely on symmetric prim-
itives such as Message Authentication Code (MAC) to achieve computationally effi-
cient integrity protection. However, the symmetric nature of these schemes does not
allow public verifiability. This property is necessary for applications such as financial
auditing applications where financial books of publicly held companies need to be ver-
ified by the current and potential future share holders [12, 20]. Furthermore, symmetric
schemes require online remote trusted server support, which entails costly maintenance
and attracts potential attacks besides being a potential single-point of failures. Finally,
these schemes are shown to be vulnerable against the truncation and delayed detection
attacks [19, 20] (no append-only property).
To mitigate the above problems, several PKC-based secure audit logging schemes
have been proposed (e.g., [12, 17, 18, 20, 29]). These schemes are publicly verifiable
and do not require an online TTP support. However, they are costly for loggers (except
for BAF [29]) and extremely costly for the log verifiers. Second, to verify a particular
log entry, all these schemes [17–19, 29] force log verifiers to verify the entire set of log
150 A.A. Yavuz, P. Ning, and M.K. Reiter
Table 1. Comparison of LogFAS schemes and their counterparts for performance, applicability,
availability and security parameters
Criteria
PKC-based SYM
FssAgg/iFssAgg [7, 25]
Computational LogFAS AR BM BLS BAF Logcrypt
Sig&Upd (per item) ExpOp ExpOp H ExpOp H
On- Ver, (L items) ExpOp + O(L · H) O(L · (ExpOp + H)) O(L · H)
line Subset ver (l < L) ExpOp + O(l · H) O(2l (ExpOp + H)) Not immutable O(l · H)
Efficient Search Available Not Available -
Key Generation (Offline) O(L · ExpOp) O(L · H)
Verifier |K| O(S · |K|) O(L · S)|K| O(S · |K|)
Storage Signer O(L · (|D| + |K|)) O(L · |D|) + |K| O(L · |K|) O(L · |K|)
Communication O(L · |D|)
Public Verifiability Y Y N
Offline Server Y Y N
Immediate Verification Y Y N
Immediate Detection Y Y N
Truncation Resilience Y Y N N
LogFAS is the only PKC-based secure audit logging scheme that can verify O(L) items with a
small-constant number of ExpOps; all other similar schemes require O(L) ExpOps. Similarly,
LogFAS is the only one achieving constant number of public key storage (with respect to both
number of data items and log entries to be verified) on the verifier side, while all other schemes
incur either linear or quadratic storage overhead (S, |D|, |K| denote the number of signers in
the system, the approximate bit lengths of a log entry and the bit length of a keying material,
respectively). At the same time, LogFAS is the only scheme that enables truncation-free subset
verification and sub-linear search simultaneously.
entries, which entails a linear number of Expensive Operations (ExpOps)1, and failure
of this verification does not give any information about which log entry(ies) is (are)
responsible for the failure.
Our Contribution: In this paper, we propose a new secure audit logging scheme, which
we call Log Forward-secure and Append-only Signature (LogFAS). We first develop a
main LogFAS scheme, and then extend it to provide additional capabilities. The de-
sirable properties of LogFAS are outlined below. The first three properties show the
efficiency of LogFAS compared with their PKC-based counterparts, while the other
three properties demonstrate the applicability, availability and security advantages over
their symmetric counterparts. Table 1 summarizes the above properties and compares
LogFAS with its counterparts.
1. Efficient Log Verification with O(1) ExpOp: All existing PKC-based secure audit log-
ging schemes (e.g., [12, 17–20, 29, 30]) require O(L · (ExpOp + H)) to verify L log
entries, which make them costly. LogFAS is the first PKC-based secure audit logging
scheme that achieves signature verification with only a small-constant number of Ex-
pOps (and O(L) hash operations). That is, LogFAS can verify L log entries with only
a small-constant number of ExpOps regardless of the value of L. Therefore, it is much
more efficient than all of its PKC-based counterparts, and is also comparably efficient
with symmetric schemes (e.g., [7, 18, 25]) at the verifier side.
1
For brevity, we denote an expensive cryptographic operation such as modular exponentiation
or pairing as an ExpOp.
Efficient, Compromise Resilient and Append-Only Cryptographic Schemes 151
2 Preliminaries
Notation. || denotes the concatenation operation. |x| denotes the bit length of variable
$
x. x ← S denotes that variable x is randomly and uniformly selected from set S. For
$ $ $
any integer l, (x0 , . . . , xl ) ← S means (x0 ← S, . . . , xl ← S). We denote by {0, 1}∗
the set of binary strings of any finite length. H is an ideal cryptographic hash function,
which is defined as H : {0, 1}∗ → {0, 1}|H| ; |H| denotes the output bit length of H.
AO0 ,...,Oi (·) denotes algorithm A is provided with oracles O0 , . . . , Oi . For example,
AScheme.Sig sk (·) denotes that algorithm A is provided with a signing oracle of signature
scheme Scheme under private key sk .
Definition 1. A signature scheme SGN is a tuple of three algorithms (Kg, Sig, Ver)
defined as follows:
2
The truncation attack is a special type of deletion attack, in which the adversary deletes a con-
tinuous subset of tail-end log entries. This attack can be prevented via “all-or-nothing” prop-
erty [18]: The adversary either should remain previously accumulated data intact, or should
not use them at all (she cannot selectively delete/modify any subset of this data [20]). LogFAS
is proven to be secure against the truncation attack in Section 5.
152 A.A. Yavuz, P. Ning, and M.K. Reiter
- (sk , PK ) ← SGN .Kg(1κ ): Key generation algorithm takes the security parameter
1κ as the input. It returns a private/public key pair (sk , PK ) as the output.
- σ ← SGN .Sig(sk , D): The signature generation algorithm takes sk and a data
item D as the input. It returns a signature σ as the output (also denoted as σ ←
SGN .Sig sk (D)).
- c ← SGN .Ver(PK , D, σ): The signature verification algorithm takes PK , D and σ
as the input. It outputs a bit c, with c = 1 meaning valid and c = 0 meaning invalid.
Definition 2. Existential Unforgeability under Chosen Message Attack (EU-CMA) ex-
periment for SGN is as follows:
Experiment Expt EU
SGN
-CMA
(A)
(sk , PK ) ← SGN .Kg(1κ ), (D∗ , σ ∗ ) ← ASGN .Sig sk (·) (PK ),
If SGN .Ver(PK , D∗ , σ ∗ ) = 1 and D∗ was not queried, return 1, else, return 0.
EU-CMA-advantage of A is Adv EU SGN
-CMA
(A) = P r[Expt EU
SGN
-CMA
(A) = 1].
EU -CMA
EU-CMA-advantage of SGN is Adv SGN (t, L, μ) = maxA {Adv EU SGN
-CMA
(A)},
where the maximum is over all A having time complexity t, making at most L oracle
queries, and the sum of lengths of these queries being at most μ bits.
LogFAS is built on the Schnorr signature scheme [26]. It also uses an Incremental
Hash function IH [3] and a generic signature scheme SGN (e.g., Schnorr) as building
blocks. Both Schnorr and IH require that H : {0, 1}∗ → Z∗q is a random oracle.
Definition 3. The Schnorr signature scheme is a tuple of three algorithms (Kg, Sig, Ver)
behaving as follows:
- (y, p, q, α, Y ) ← Schnorr .Kg(1κ ): Key generation algorithm takes 1κ as the input.
It generates large primes q and p > q such that q|(p − 1), and then generates a
$
generator α of the subgroup G of order q in Z∗p . It also generates (y ← Z∗q , Y ←
αy mod p), and returns private/public keys (y, p, q, α, Y ) as the output.
- (s, R, e) ← Schnorr .Sig(y, D): Signature generation algorithm takes private key y
and a data item D as the input. It returns a signature triplet (s, R, e) as follows:
$
R←αr mod p, e←H(D||R), s←(r − e · y) mod q, where r ← Z∗q .
- c ← Schnorr .Ver( p, q, α, Y , D, s, R, e ): Signature verification algorithm takes
public key p, q, α, Y , data item D and signature s, R, e as the input. It returns a
bit c, with c = 1 meaning valid if R = Y e αs mod p, and with c = 0 otherwise.
Definition 4. Given a large random integer q and integer L, incremental hash func-
tion family IH is defined as follows: Given a random key z = (z0 , . . . , zL−1 ), where
$
(z0 , . . . , zL−1 ) ← Z∗q and hash function H, the associated incremental hash function
IHq,Lz takes an arbitrary data item set D0 , . . . , DL−1 as the input. It returns an integer
T ∈ Zq as the output,
Algorithm IHq,L
z (D0 , . . . , DL−1 )
T ← L−1 j=0 H(Dj )zj mod q, return T .
Definition 5. Given IHq,L z , let A0 be an algorithm that returns a set of target mes-
sages, and A1 be an algorithm that returns a bit. Consider the following experiment:
Experiment Expt TCR IHq,L
(A = (A0 , A1 ))
z $
(D0 , . . . , DL−1 ) ← A0 (L), z = (z0 , . . . , zL−1 ) ← Z∗q ,
∗ ∗
T ← IHq,L z (D0 , . . . , DL−1 ), (D0 , . . . , DL−1 ) ← A1 (D0 , . . . , DL−1 , T, IHz )
q,L
∗ ∗ ∗
If T = IHq,L z (D0 , . . . , DL−1 ) ∧ ∃j ∈ {0, . . . , L − 1} : Dj = Dj , return 1, else,
return 0.
TCR-advantage of A is Adv TCR
IHq,L
(A) = P r[Expt TCR
IHq,L
(A) = 1].
z z
LogFAS system model is comprised of a Key Generation Center (KGC) and multiple
signers (i.e., logging machines that could be compromised) and verifiers. As in forward-
secure stream integrity model (e.g., [7, 17, 18]), signers honestly execute the scheme
until they are compromised by the adversary. Verifiers may be untrusted.
The KGC executes LogFAS .Kg once offline before the deployment, and distributes
a distinct private key/token set (auxiliary signature) to each signer, and two long-term
public keys to all verifiers. After the deployment, a signer computes the forward-secure
and append-only signature of log entries with LogFAS .FASig, and verifiers can verify
the signature of any signer with LogFAS .FAVer via two public keys without commu-
nicating with KGC (constant storage overhead at the verifier side).
In LogFAS, the same logger computes the append-only signature of her own log
entries. Note that this form of signature computation is ideal for the envisioned secure
audit logging applications, since each logger is only responsible for her own log entries.
The above experiment does not implement a random oracle for A explicitly. How-
ever, we still assume the Random Oracle Model (ROM) [4], since Schnorr signature
Efficient, Compromise Resilient and Append-Only Cryptographic Schemes 155
scheme [26] on which LogFAS is built requires the ROM. Note that this experiment
also captures the truncation attacks:
(i) The winning condition of A subsumes the truncation attack in addition to data
modification. That is, A wins the experiment when she either modifies a data item or
keeps data items intact but outputs a valid signature on a subset of a given batch query
(i.e., she splits an append-only signature without knowing its individual signatures).
(ii) LogFAS uses a standard signature scheme SGN to prevent truncation attacks
by computing signatures of counter values. Resilience against the traditional data
forgery (without truncation) relies on EU-CMA property of Schnorr and target
collision-freeness of IH. In Theorem 1, we prove that a successful truncation attack
against LogFAS is equivalent to breaking SGN , and a successful data modification
(including re-ordering) against LogFAS is equivalent to breaking Schnorr or IH.
4 LogFAS Schemes
In this section, we first present the intuition and detailed description of LogFAS, and
then describe a LogFAS variation that has additional capabilities.
All existing FSA constructions [17–20, 29] rely on a direct combination of an aggre-
gate signature (e.g., [8]) and a forward-secure signature (e.g., [1, 15]). Therefore, the
resulting constructions simultaneously inherit all overheads of their base primitives:
(i) Forward-secure signatures on individual data items, which are done separately from
the append-only design, force verifiers to perform O(l) ExpOps. (ii) These schemes ei-
ther eliminate ExpOps from the logging phase with pre-computation but incur quadratic
storage overhead to the verifiers (e.g., [29]), or require ExpOps in the logging phase for
each log entry and incur linear storage overhead to the verifiers (e.g., [12, 17, 20]).
The above observations inspired us to design cryptographic mechanisms that can
verify the integrity of entire log entry set once directly (preserving forward-security),
instead of checking the integrity of each data item individually, though the signing
operations have to be performed on individual data items. That is, instead of verifying
each item one-by-one with the corresponding public key(s), verify all of them via a
single set of aggregated cryptographic components (e.g., tokens as auxiliary signatures).
These mechanisms also achieve constant storage overhead at the verifier side3 .
We achieve these goals with a provable security by using Schnorr signature and
incremental hash IH as follows:
a) To compute a forward-secure and append-only Schnorr signature, we aggregate
each individual signature sl on Dl with the previous aggregate signature as s0,l ←
s0,l−1 + sl mod q, (0 < l ≤ L − 1, s0,0 = s0 ). This is done by using a distinct private
key pair (rj , yj ) for j = 0, . . . , L − 1 on each data item.
3
In all existing forward-secure and/or aggregate (append-only) logging schemes (e.g., [7, 12,
17, 19, 20, 29]), the signer side storage overhead is dominated by the accumulated logs, which
already incur a linear storage overhead.
156 A.A. Yavuz, P. Ning, and M.K. Reiter
b) Despite being forward-secure, the above construction still requires an ExpOp for
each data item. To verify the signature on D0 , . . . , Dl with only a small-constant num-
ber of ExpOps, we introduce the notion of token.
In LogFAS, each Schnorr private yj is comprised of a random key pair (aj , dj ) for
j = 0, . . . , L − 1. Random key aj is mutually blinded with another random factor xj
and also a long-term private key b for j = 0, . . . , L − 1. The result of these blinding
operations is called auxiliary signature (token) zj , which can be kept publicly without
revealing information about (aj , xj ) and also can be authenticated with the long-term
public key B by all verifiers. Furthermore, these masked tokens z = z0 , . . . , zl also
serve as a one-time initialization key for the incremental hash as IHq,l z (Definition 4),
which enable verifiers to reduce the integrity of each Dj into the integrity of a final tag
z0,l . This operation preserves the integrity of each Dj and verifiability of each zj (via
public key B) without ExpOps.
c) To verify (s0,l , z0,l ) via B in an aggregate form, verifiers also aggregate tokens
l
Rj as R0,l ← j=0 Rj mod p, where p a large prime on which the group was con-
structed. However, initially, (s0,l , R0,l , z0,l ) cannot be verified directly via B, since the
reduction operations introduce some extra verification information. LogFAS handles
this via auxiliary signature (token) M0,l that bridges (s0,l , R0,l , z0,l ) to B. That is, the
e
signer computes an aggregate token M0,l ← M0,l−1 Ml j mod p, where 0 < l ≤ L − 1
and M0,0 = M0 ), along with s0,l in the signing process. During verification, this ag-
gregate token eliminates the extra terms and bridges (s0,l , R0,l , z0,l ) with B.
This approach allows LogFAS to compute publicly verifiable signatures with only
one ExpOp per-item, and this signature can be verified with only a small-constant num-
ber of ExpOps by storing only two public keys at the verifier side (regardless of the
number of signers). This is much more efficient than all of its PKC-based counterparts,
and also is as efficient as the symmetric schemes at the verifier side.
The detailed description of LogFAS algorithms is given below:
1) LogFAS .Kg(1κ , L): Given 1κ , generate primes q and p > q such that q|(p − 1), and
then generate a generator α of the subgroup G of order q in Z∗p .
$ −1
a) Generate (b ← Z∗q , B ← αb mod p) and (sk , PK
) ← SGN .Kg(1κ ). System-
wide private key of KGC is sk ← (b, sk ). This private key is used to compute the
private key of all signers in the system. System-wide public key of all verifiers is
PK ← {p, q, α, B, PK , L}. This public key can verify any valid signature gener-
ated by a legitimate signer.
$
b) Generate (rj , aj , dj , xj ) ← Z∗q for j = 0, . . . , L − 1. The private key of signer IDi
is sk ← {rj , yj , zj , Mj , Rj , βj }L−1
j=0 , where
- Generate the Schnorr private key of each IDi as yj ← aj − dj mod q. Generate
the masked token of IDi as zj ← (aj − xj )b mod q, which is used for integrity
reduction at the verification phase.
- Rj ← αrj mod p, Mj ← αxj −dj mod p. Each Rj serves as a part of Schnorr
signature and it is aggregated by the verifier upon its receipt. Mj is the aggregate
token and is aggregated by the signer during the logging process.
- βj ← SGN .Sig(sk , H(IDi ||j)). Note that each βj is kept secret initially, and
then released as a part of a signature publicly.
Efficient, Compromise Resilient and Append-Only Cryptographic Schemes 157
tries is divided into subsets along with their corresponding individual signatures. Each
subset is then independently verified by LogFAS .AVer via its corresponding aggregate
signature, which is efficiently computed from individual signatures. Subsets returning
1 are eliminated from the search, while each subset returning 0 is again divided into
subsets and verified by LogFAS .AVer as described. This subset search continues re-
cursively until all the corrupted log entries are identified.
The above strategy can quickly identify the corrupted entries when most log entries
are intact. For instance, if only one entry is corrupted, it can identify the corrupted entry
by performing (2 log2 l) ExpOps + O(l) hash operations. This is much faster than linear
search used in the previous PKC-based schemes, which always requires O(l) ExpOps
+ O(l) hash operations.
Recursive subset strategy remains more efficient than linear search as long as the
number of corrupted entries c satisfies c ≤ 2 log l
. When c > 2 logl
, depending on c
2l 2l
and the distribution of corrupted entries, recursive subset search might be more costly
than linear search. To minimize the performance loss in such an inefficient case, the
verifier can switch from recursive subset search to the linear search if the recursive
division and search step continuously returns 0 for each verified subset. The verifier
can ensure that the performance loss due to an inefficient case does not exceed the
average gain of an efficient case by setting the maximum number of recursive steps to
be executed to l /2 − log2 l for each subset with l entries.
5 Security Analysis
We prove that LogFAS is a FWEU-CMA signature scheme in Theorem 1 below.
Theorem 1. Adv FWEU
LogFAS
-CMA
(t, L, μ) is bounded as follows,
Adv FWEU
LogFAS
-CMA
(t, L, μ) ≤ L · Adv EU -CMA
Schnorr (t , 1, μ )+
Adv EU
SGN (t , L, μ ) + Adv TCR
-CMA
IHq,L
(t ),
z
where t = O(t) + L · O(κ ) and μ = μ/L.
3
The proof of the theorem can be found in our accompanying technical report [31].
Remark 1. Another security concern in audit logging is delayed detection identified
in [19]. In delayed detection, log verifiers cannot detect whether the log entries are
modified until an online TTP provides auxiliary keying information to them. LogFAS
does not rely on an online TTP support or time factor to achieve the signature verifica-
tion, and therefore it is not prone to delayed detection.
Table 2. Execution time (in ms) comparison of LogFAS and its counterparts
PKC-based
Sym.
Criteria LogFAS FssAgg (l) / iFssAgg (l )
Logcrypt BAF
(l = 104 , l < l) BLS / i BM / i AR / i
Off. Kg, L = 104 5.06 × 104 3.3 × 103 8.8 × 104 1.7 × 105 2.6 × 104 4 × 104 2̃0
Sig&Upd (1) 1.2 1.8 / 3.6 13.1 / 26.2 28 / 56 2.05 0.007 0.004
Onl. l = 102 72.87 4.8 × 103 1.8 × 103 1.6 × 105 1.4 × 103 0.2 × 103 0.2
Ver. l = 103 75.2 4.8 × 104 1 × 10 1.8 × 10 1.5 × 10 2.05 × 10 2
4 5 4 3
l = 104 98.12 2.6 × 105 4.7 × 104 1.9 × 105 1.4 × 105 2.04 × 104 19.9
which require one modular exponentiation (or a pairing) per log entry. Besides, it does
not double the verification cost to prevent the truncation attacks, providing further effi-
ciency over iFssAgg schemes [20]. The verification of subsets from these entries with
LogFAS is also much more efficient than all of its counterparts.
From a logger’s perspective, LogFAS is also more efficient than its PKC-based coun-
terparts with the exception of BAF.
We prototyped our schemes and their counterparts on a computer with an Intel(R)
Xeon(R)-E5450 3GHz CPU and 4GB RAM running Ubuntu 9.04. We tested LogFAS,
BAF [29], FssAgg-BLS [18], Logcrypt (with DSA), and the symmetric schemes (e.g.,
[7, 18, 25]) using the MIRACL library [27], and FssAgg-AR/BM using the NTL li-
brary [28] 5 . Table 2 compares the computational cost of LogFAS with its counterparts
numerically in terms of their execution times (in ms). The execution time differences
with LogFAS and its PKC-based counterparts grow linearly with respect to the number
of log entries to be verified. Initially, the symmetric schemes are more efficient than all
PKC-based schemes, including ours. However, since the verification operations of Log-
FAS are dominated by H, their efficiency become comparable with symmetric schemes
as the number of log entries increases (e.g., l = 104 )6 .
Figure 1 and Figure 2 further compare LogFAS and previous schemes that allow
public verification in terms of signature generation and verification times as the number
of log entries increases. These figures demonstrate that LogFAS is the most verifier
computationally efficient scheme among all these choices. It is also more efficient than
its counterparts for the signature generation with the exception of BAF.
All PKC-based schemes require O(L) ExpOps in the key generation phase.
Signature/Key/Data Storage and Transmission Overheads: LogFAS is a verifier
storage friendly scheme; it requires each verifier to store only two public keys and an
index along with system-wide parameters (e.g., |q| + |4p|), regardless of the number of
signers or the number of log entries to be verified.
5
Suggested bit lengths to achieve 80-bit security for each compared schemes are as follows
(based on the parameters suggested by Lenstra et al. in [16] and Ma et al. in [17, 18]): Large
primes (|p| = 2048, |q| = 1600) for LogFAS and Logcrypt, primes (|p | = 512, |q | = 160)
for BAF and FssAgg-BLS, (|n | = 1024, z = 160) for FssAgg-AR and FssAgg-BM, where
n is Blum-Williams integer [17].
6
To achieve TCR property for IH, LogFAS uses relatively larger modulo sizes than its coun-
terparts. However, since LogFAS requires only a small-constant number of ExpOps for the
signature verification and a single ExpOp for the signature generation, the effect of large mod-
ulo size over its performance is negligible.
160 A.A. Yavuz, P. Ning, and M.K. Reiter
6 8
10 10
4
10
6
10
Execution time (in ms)
Fig. 1. Signing time comparison of LogFAS and Fig. 2. Verification time comparison of LogFAS
its counterparts (in ms) and its counterparts (in ms)
Table 3. Key size, signature size and storage overheads of LogFAS and previous schemes
PKC-based Symmetric
Criteria FssAgg Schemes [19, 20] Sym.
LogFAS BAF Logcrypt [12]
BLS [18] BM [17] AR [17] [18, 24, 25]
Key size O(L)(|q| + |p|) 3|q | |q | |n |z 3|n | |q | + |p | |H|
Sig. Sig. size O(l)(|q| + |p|) |q | |p | |n | |n | 2|q | |H|
Storage O(L + l)(|q| + |p|) 4|q | 2|q | + 3|p | |n |l 4|n | O(L)(|q | + |p |) O(V )|H|
Key size |q| + 4|p| 2|p | |q | |n |z 3|n | 2|q | + |p | |H|
Ver.
Storage |q| + 4|p| O(L · S)(2|p |)O(L · S)|q |O(S)|n |zO(S)|3n |O(L)(|q | + |p |) O(S)|H|
The values in this table are simplified by omitting some constant/neglibigle terms. For instance,
the overhead of data items to be transmitted are the same for all compared schemes and therefore
are omitted.
In LogFAS, the append-only signature size is |q|. The key/token and data storage
overheads on the logger side are linear as O(L(5|q| + 2|p|)) + O(l|D|) (assuming SGN
is chosen as Schnorr [26]). LogFAS transmits a token set along with each data item re-
quiring O(l(|q|+ |p|+ |D|)) transmission in total. The fine-grain verification introduces
O(l ) extra storage/communication overhead due to the individual signatures.
From a verifier’s perspective, LogFAS is much more storage efficient than all existing
schemes, which require either O(L · S) storage (e.g., FssAgg-BLS [18] and BAF [29]),
or O(S) storage (e.g., [7, 12, 17, 20, 25]). From a logger’s perspective, all the com-
pared schemes both accumulate (store) and transmit linear number of data items (i.e.,
O(l)|D|) until their verifiers become available to them. This dominates the main stor-
age and communication overhead for these schemes. In addition to this, LogFAS re-
quires linear key storage overhead at the logger side, which is slightly less efficient
than [17, 18, 29]. LogFAS with fine-grained verification and its counterpart iFssAgg
schemes [20] both require linear key/signature/data storage/transmission overhead.
Availability, Applicability and Security: The symmetric schemes [7, 25] are not pub-
licly verifiable and also require online server support to verify log entries. Furthermore,
they are vulnerable to both truncation and delayed detection attacks [19, 20] with the
exception of FssAgg-MAC [18]. In contrast, PKC-based schemes [12, 17–20] are pub-
Efficient, Compromise Resilient and Append-Only Cryptographic Schemes 161
licly verifiable without requiring online server support, and they are secure against the
truncation and delayed detection attacks, with the exception of Logcrypt [12].
7 Related Work
Most closely related are those forward-secure audit logging schemes [6,7,12,17–20,25,
29]. The comparison of these schemes with LogFAS has been presented in Section 6.
Apart from the above schemes, there is a set of works complementary to ours.
Itkis [14] proposed cryptographic tamper resistance techniques that can detect tam-
pering even if all the keying material is compromised. LogFAS can be combined with
Itkis model as any forward-secure signature [14]. Yavuz et al. [30] proposed a Hash-
based Forward-Secure and Aggregate Signature Scheme (HaSAFSS) for unattended
wireless sensor networks, which uses timed-release encryption to achieve computa-
tional efficiency. Davis et al. proposed time-scoped search techniques on encrypted au-
dit logs [10]. There are also authenticated data structures that can be used for audit
logging in distributed systems [9,22]. LogFAS can serve as a digital signature primitive
needed by these constructions.
8 Conclusion
In this paper, we proposed a new forward-secure and append-only audit logging scheme
called LogFAS. LogFAS achieves public verifiability without requiring any online
trusted server support, and is secure against truncation and delayed detection attacks.
LogFAS is much more computationally efficient than all existing PKC-based alterna-
tives, with a performance comparable to symmetric schemes at the verifier side. Log-
FAS is also the most verifier storage efficient scheme among all existing alternatives.
Last, a variation of LogFAS enables selective subset verification and efficient search
of corrupted log entries. Overall, our comparison with the existing schemes shows that
LogFAS is an ideal choice for secure audit logging by offering high efficiency, security,
and public verifiability simultaneously for real-life applications.
References
1. Abdalla, M., Reyzin, L.: A New Forward-Secure Digital Signature Scheme. In: Okamoto, T.
(ed.) ASIACRYPT 2000. LNCS, vol. 1976, pp. 116–129. Springer, Heidelberg (2000)
2. Anderson, R.: Two remarks on public-key cryptology, invited lecture. In: Proceedings of the
4th ACM Conference on Computer and Communications Security (CCS 1997) (1997)
3. Bellare, M., Micciancio, D.: A New Paradigm for Collision-Free Hashing: Incrementality
at Reduced Cost. In: Fumy, W. (ed.) EUROCRYPT 1997. LNCS, vol. 1233, pp. 163–192.
Springer, Heidelberg (1997)
4. Bellare, M., Rogaway, P.: Random oracles are practical: A paradigm for designing efficient
protocols. In: Proceedings of the 1st ACM Conference on Computer and Communications
Security (CCS 1993), pp. 62–73. ACM, NY (1993)
5. Bellare, M., Rogaway, P.: Collision-Resistant Hashing: Towards Making UOWHFs Prac-
tical. In: Kaliski Jr., B.S. (ed.) CRYPTO 1997. LNCS, vol. 1294, pp. 470–484. Springer,
Heidelberg (1997)
162 A.A. Yavuz, P. Ning, and M.K. Reiter
6. Bellare, M., Yee, B.S.: Forward integrity for secure audit logs. Technical report, San Diego,
CA, USA (1997)
7. Bellare, M., Yee, B.S.: Forward-Security in Private-Key Cryptography. In: Joye, M. (ed.)
CT-RSA 2003. LNCS, vol. 2612, pp. 1–18. Springer, Heidelberg (2003)
8. Boneh, D., Gentry, C., Lynn, B., Shacham, H.: Aggregate and Verifiably Encrypted Sig-
natures from Bilinear Maps. In: Biham, E. (ed.) EUROCRYPT 2003. LNCS, vol. 2656,
pp. 416–432. Springer, Heidelberg (2003)
9. Crosby, S., Wallach, D.S.: Efficient data structures for tamper evident logging. In: Proceed-
ings of the 18th Conference on USENIX Security Symposium (August 2009)
10. Davis, D., Monrose, F., Reiter, M.: Time-Scoped Searching of Encrypted Audit Logs. In:
López, J., Qing, S., Okamoto, E. (eds.) ICICS 2004. LNCS, vol. 3269, pp. 532–545. Springer,
Heidelberg (2004)
11. Fall, K.: A delay-tolerant network architecture for challenged internets. In: Proceedings of
the 9th Conference on Applications, Technologies, Architectures, and Protocols for Com-
puter Communications (SIGCOMM 2003), pp. 27–34. ACM (2003)
12. Holt, J.E.: Logcrypt: Forward security and public verification for secure audit logs. In:
Proc. of the 4th Australasian Workshops on Grid Computing and e-Research (ACSW 2006),
pp. 203–211 (2006)
13. Impagliazzo, R., Naor, M.: Efficient cryptographic schemes provably as secure as subset
sum. In: Proceedings of the 30th Annual Symposium on Foundations of Computer Science,
pp. 236–241. IEEE Computer Society, Washington, DC (1989)
14. Itkis, G.: Cryptographic tamper evidence. In: Proc. of the 10th ACM Conference on Com-
puter and Communications Security (CCS 2003), pp. 355–364. ACM, New York (2003)
15. Krawczyk, H.: Simple forward-secure signatures from any signature scheme. In: Proceed-
ings of the 7th ACM Conference on Computer and Communications Security (CCS 2000),
pp. 108–115. ACM (2000)
16. Lenstra, A.K., Verheul, E.R.: Selecting cryptographic key sizes. Journal of Cryptology 14(4),
255–293 (2001)
17. Ma, D.: Practical forward secure sequential aggregate signatures. In: Proceedings of the
3rd ACM Symposium on Information, Computer and Communications Security (ASIACCS
2008), pp. 341–352. ACM, NY (2008)
18. Ma, D., Tsudik, G.: Forward-secure sequential aggregate authentication. In: Proceedings of
the 28th IEEE Symposium on Security and Privacy (S&P 2007), pp. 86–91 (May 2007)
19. Ma, D., Tsudik, G.: A new approach to secure logging. In: Proc. of the 22nd Annual IFIP
WG 11.3 Working Conference on Data and Applications Security (DBSEC 2008), pp. 48–63
(2008)
20. Ma, D., Tsudik, G.: A new approach to secure logging. ACM Transaction on Storage
(TOS) 5(1), 1–21 (2009)
21. Oprea, A., Bowers, K.D.: Authentic Time-Stamps for Archival Storage. In: Backes, M., Ning,
P. (eds.) ESORICS 2009. LNCS, vol. 5789, pp. 136–151. Springer, Heidelberg (2009)
22. Papamanthou, C., Tamassia, R., Triandopoulos, N.: Authenticated hash tables. In: Proc.
of the 15th ACM Conference on Computer and Communications Security (CCS 2008),
pp. 437–448. ACM, New York (2008)
23. Pointcheval, D., Stern, J.: Security Proofs for Signature Schemes. In: Maurer, U.M. (ed.)
EUROCRYPT 1996. LNCS, vol. 1070, pp. 387–398. Springer, Heidelberg (1996)
24. Schneier, B., Kelsey, J.: Cryptographic support for secure logs on untrusted machines. In:
Proc. of the 7th Conference on USENIX Security Symposium. USENIX Association (1998)
25. Schneier, B., Kelsey, J.: Secure audit logs to support computer forensics. ACM Transaction
on Information System Security 2(2), 159–176 (1999)
26. Schnorr, C.: Efficient signature generation by smart cards. Journal of Cryptology 4(3),
161–174 (1991)
Efficient, Compromise Resilient and Append-Only Cryptographic Schemes 163
27. Shamus. Multiprecision integer and rational arithmetic c/c++ library (MIRACL),
http://www.shamus.ie/
28. Shoup, V.: NTL: A library for doing number theory, http://www.shoup.net/ntl/
29. Yavuz, A.A., Ning, P.: BAF: An efficient publicly verifiable secure audit logging scheme
for distributed systems. In: Proceedings of 25th Annual Computer Security Applications
Conference (ACSAC 2009), pp. 219–228 (2009)
30. Yavuz, A.A., Ning, P.: Hash-based sequential aggregate and forward secure signature for
unattended wireless sensor networks. In: Proceedings of the 6th Annual International Con-
ference on Mobile and Ubiquitous Systems (MobiQuitous 2009) (July 2009)
31. Yavuz, A.A., Ning, P., Reiter, M.K.: Efficient, compromise resilient and append-only crypto-
graphic schemes for secure audit logging. Technical Report TR-2011-21, Raleigh, NC, USA
(September 2011)
On Secure Two-Party Integer Division
1 Introduction
et al. [BCD+ 09]), or performing an integer division of sums (essentially the com-
putation of the mean problem of Kiltz et al. [KLM05]).
In this paper we consider the problem of secure integer division – computing
n/d given n and d – in the two-party setting. Immediate applications include
statistics on data from companies in the same line of business, as well as data-
mining tasks, e.g., the k-means clustering protocol of Jagannathan and Wright
[JW05]. Further, since the problem of secure integer division is equivalent to that
of secure modulo reduction – n mod m = n − m · n/m – any such protocol may
be utilized in joint key-generation, e.g., as done by Algesheimer et al. [ACS02].
Related Work. Algesheimer et al. introduced the problem of secure integer di-
vision in the context of passively secure RSA-modulus generation with honest
majority [ACS02]; active security is achievable using standard techinques. Their
solution was based on Newton iteration and required O( ) work and communi-
cation (using the notation of this paper) in O(log ) rounds, where is the bit-
length of the inputs. The protocols were implemented by From and Jakobsen in
the passively secure three-party setting [FJ05]. Recently, Catrina and Dragulin
have used similar ideas to construct secure fixed-point arithmetic [CD09].
Regarding constant-rounds solutions, Kiltz et al. proposed specialised proto-
cols based on Taylor series for the related, but simpler, problem of computing
the means in a two-party setting [KLM05]. Damgård et al. [DFK+ 06] observed
that combining the ideas of [ACS02, KLM05] and bit-decomposition (BD) im-
plied constant-rounds modulo reduction and hence integer division. No details
were presented, though naturally complexity was at least that of BD, O( log ).
The simpler problem where d is known to all parties (a single party) has been
studied by Guajardo et al. [GMS10] and Ning and Xu [NX10] (Veugen [Veu10]).
Finally, we remark that it is possible to “switch technique” mid-protocol and
use homomorphic encryption for arithmetic and (small) Yao circuits for prim-
itives such as integer division as done by Henecka et al. [HKS+ 10]. However,
achieving active security in this setting typically requires the use of cut-and-
choose techniques. Moreover, while it is possible to use generic non-interactive
zero-knowledge proofs to demonstrate correct protocol execution to indepen-
dent observers – e.g. clients which have supplied the inputs as in the Danish
“sugar beet auction” [BCD+ 09] – this will be much more expensive than using
non-generic zero-knowledge proofs as our solution allows.
Though our protocols are presented in the two-party Pailier-based setting, they
are applicable in other settings providing secure arithetmic, e.g. the protocols of
Ben-Or et al. [BGW88]. However, the sub-linear solution requires the presence of
two mutually incorruptible parties, at least with current knowledge.
2 Preliminaries
After presenting Paillier encryption and secure two-party computations we in-
troduce a set of protocols used in our constructions. All sub-protocols are secure
against malicious (i.e., potentially deviating) attackers. Regarding complexity,
we shall use Rπ and Cπ to denote respectively the number of rounds used and
the number of ring elements communicated during a single run of protocol π.
Paillier Encryption. Paillier’s encryption scheme [Pai99] is an additively homo-
morphic, sematically secure public key encryption scheme based on the decisional
composite residuosity assumption of RSA-moduli. Suppressing the randomness
used for encryption, we write [m] to denote an encryption of m.
Secure Computation. Secure multi-party computation can be based on Paillier
encryption with a threshold key using the protocols of Cramer et al. [CDN01].
The threshold sharing can be constructed using the ideas of Damgård and Jurik
[DJ01]. Though not explicitly stated, apart from guaranteed termination, the
protocols of [CDN01] are still valid even if all but a single party are corrupt. In
particular this allows the two-party setting. We assume the following setting:
– Alice and Bob know a public Paillier key and share the decryption key.
– Inputs and intermediary values are held in encrypted form by both parties.
Paillier encryption is additively homomorphic, hence given [m] and [m ] both
parties may compute an encryption [m + m ]. We will use infix operations in the
plaintext space and write [m + m ] ← [m] + [m ] for this operation. To perform
a multiplication, the parties need to run a protocol; see [CDN01] for details.
Zero-Knowledge Proof of Boundedness. In addition to secure arithmetic in ZM
we require a zero-knowledge proof of boundedness, i.e. that Alice and Bob may
demonstrate to each other that the plaintext of an encryption [m] sent to the
other party (where the sender knows m) is smaller than some public bound B.
For Paillier encryption this can be achieved with O(1) communication (of ring
elements) using integer commitments and the fact that any non-negative integer
can be written as a sum of four squares. See [Bou00, Lip03] for further discussion.
Computing the greater-than relation. Given encryptions [m] and [m ] of -bit
values, obtain an encryption [b] of a bit b such that b = 1 iff m > m . A
c
constant-rounds protocol π>? for this can be based off of the comparison protocol
of Nishide and Ohta [NO07]; communication complexity is Cπ>? c = O( ) ring
c c
elements. We use π≤? as syntactic sugar for running π>? with inputs swapped.
On Secure Two-Party Integer Division 167
s s
A sub-linear protocol, denoted π>? and π≤? , is possible due to Toft [Tof11]. Its
complexity is Cπ>? = O ((log )(κ + loglog )) ring elements in Rπ>?
s s = O(log )
rounds, where κ is a correctness parameter.
Powers
! of! a number. Given an encrypted number [x] and public ω ∈ Z, compute
x1 , x2 , . . . , [xω ]. πpre-Π
c
achieves this using Cπpre-Π
c = O(ω) communication
in O(1) rounds using a prefix-product computation, [BB89, DFK+ 06].
In this section we take a high-level view and present the ideas behind the desired
computation. The following sections then explain how to do this securely in the
stated complexity. Assume in the following that n and d are -bit integers, and
let k be a suitable large, public integer. Our solutions then consist of two steps:
I. Compute an encrypted
# approximation $ [ã] of a = 2k /d
II. Compute [n/d] as ([ã] · [n])/2 k
Step I is explained over the reals in Section 3.1. This is then converted to in-
teger computation in Section 3.2 and finally realised using ZM arithmetic in
Section 3.3. Note that the integer division in step II is simpler as 2k is public.
where ω = ∞ i
i=ω+1 (1−α) . This is easily verified for any real 0 < α < 1. Further,
approximating 1/α by keeping only the first ω + 1 terms of the summation
introduces an additive error of ω . If 0 < 1 − α ≤ 1/2 then this error is at most
∞ ∞
1
(1 − α)i ≤ 2−ω−1 · ≤ 2−ω .
ω+1
ω = (1 − α)i = (1 − α) · (2)
i=ω+1 i=0
α
Note that not only is this an integer since k ≥ d (ω + 1) and 2d > d, it may
also be computed as the product of 2k−d (ω+1) and the evaluation of the integer
polynomial with coefficients 2d (ω−i) for 0 ≤ i ≤ ω at point 2d − d. Furthermore,
since 0 < 1 − d/2d ≤ 1/2 we have a bound on the additive error by Eq. (2):
2k−d · ω ≤ 2k−d −ω .
This ensures that the result computed in step II is off by at most 1; we have:
) * + ,
'n( n · ã + 2k−d · ω n · ã n · 2k−d · ω
= = + (4)
d 2k 2k 2k
A: sk A pk = M, [n] , [d] B: sk B
2d ← πBL ([d])
←−−−−−−−−−−−−− −−− −−−−−−−−−−−−−−−−−−−−−−→
2−d ← πinv 2d
←−−−−−−−−−−−−−−− −−−−−−−−−− −−−−−−−−−−−−−→
[p] ← ( 2d − [d]) · 2−d
←−−−−−−−−−−−−−−− − −
−−−−−
− −− −−−−−−−−−−−−−→
[ã] ← 2k · 2−d · πpoly ([p])
←−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→
Correctness. Correctness follows almost entirely from the previous section. For
the plaintext of [q̂], the most significant bits are off by at most 1:
The execution of πtrunc may introduce an additional additive error, i.e. we have
Using r = n − d · q̃ ∈ [−d; 2d[ we can securely determine which case we are in.
Namely, q̃ + 1 = n/d when d ≤ r and q̃ − 1 = n/d when 0 > r. In order to
deal only with positive integers we scale these tests to respectively 2d ≤ r + d
and d > r + d. Letting + and − denote the Boolean outcome of these tests, it
follows that q = q̃ + + − − = n/d.
On Secure Two-Party Integer Division 171
Privacy. The protocol reveals no information about the inputs (other than the
desired encryption of the result). This follows from the fact that no value is
ever decrypted and that we only invoke secure sub-protocols which do not leak
information. We note that πinv and πpoly require the input to be invertible
√ –
this is indeed the case
√ as M is the product of two odd primes, p, q ≈ M , while
2d , 2d − d ≤ 2 M . Further, the input [n · ã] for the truncation is + k-bit
long as n < 2 and ã ≤ 2k /d ≤ 2k , and hence the input is of the correct size.
A formal security proof using the real/ideal paradigm requires the construc-
tion of a simulator for each party. These are straightforward to construct from
the simulators of the sub-protocols; as our protocol consists of the sequential
evaluation of sub-protocols, the overall simulator simply consists of the sequen-
tial execution of the simulators of these.
A: sk A pk = M, [d] B: sk B
c
Fig. 2. Constant-rounds bit-length protocol, πBL ([d]) → 2d
Privacy and Active Security. Follows immediately by the privacy and security
guarantees of the two sub-protocols.
c
Complexity. Since the final step of πBL is a local computation we simply have
that RπBL = RπBD + Rπpre-∨ = O(1) and CπBL
c c c c = CπBD
c + Cπpre-∨
c = O( ).
A: sk A pk = M, [x] B: sk B
1
p , . . . , [pω ] ← πpre-Π
c
([x] , . . . , [x])
←−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→
[y] ← 1 + ω i=1 [pi ]
c
Fig. 3. Constant-rounds polynomial evaluation protocol, πpoly ([x]) → [A(x)]
Correctness, Privacy, Complexity, and Active Security. Noting that the second
c
step of πpoly is a local computation, all properties directly reflect those of the
c
πpre-Π subprotocol. Formally, Rπpoly
c = O(1) and Cπpoly
c = O(ω).
may have an additive error c ≤ 1. It is possible to eliminate this error with a com-
parison [c] ← ([q̃] · 2k >? [q̂]), and computing the correct result as [q] ← [q̃] − [c].
However, instead of comparing two 2 -bit numbers here, we handle the error in
the main protocol with a comparison of two -bit numbers instead.
A: sk A pk = M, [q̂] , k B: sk B
r ∈R Z2k++κ
r ← r/2k
[z] ← [q̂] + r
[z], [r ]
←−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
z ← decrA ([z])
←−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
z ← z/2k
[z ]
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→
[q̃] ← [z ] − [r ]
c
Fig. 4. Constant-rounds truncation protocol, πtrunc ([q̂] , k) → q̂/2k + c
Correctness. When computing z it may happen that r causes a carry bit c from
the k least significant bits to spill over into the + κ most significant bits. In
this case the truncation of z will maintain this carry bit, causing the result of
z − r to be q̂/2k + 1 instead of q̂/2k . For efficiency we allow this error.
Privacy. The only point where information could potentially be leaked is through
A seeing z. However, since r is chosen uniformly at random and κ bit longer than
q̂, z leaks information about q̂ with probability negligible in κ.
c
Complexity. We see that the complexity of πtrunc is Rπtrunc
c = 2 + Rdecr = O(1)
where Rdecr is the round complexity of a decryption, assumed to be constant.
Likewise the communication complexity is Cπtrunc
c = 3 + Cdecr = O(1).
!
Active Security. To obtain active security B must ! also send r⊥ = r mod 2k
to A, who in turn must also send z⊥ = z mod 2k . B can now append a zero-
knowledge proof that z = (r · 2k + r⊥ ) + q̂ as well as proofs that both r and r⊥
are within the correct bounds. Similary, A also appends a proof of z = z ·2k +z⊥
and that z and z⊥ are within bounds.
174 M. Dahl, C. Ning, and T. Toft
Cπdiv
c = CπBL
c + Cπpoly
c + Cπtrunc
c + O( ) = O(ω) + O( ) = O( ).
Correctness and Privacy. Correctness follows from the above description of the
protocol, and privacy follows immediately from the sub-protocols as we only
compute on encrypted values.
Complexity. The protocol requires γ = log2 iterations, each requiring one com-
parison and one multiplication (not counting multiplication by public values).
Hence we get round complexity RπBLs = γ · (Rπ≤?
s + Rπ ) = O(log2 ) and com-
mult
munication complexity CπBL
s = γ · (Cπ≤?
s + Cπmult ) = O (log2 )(κ + loglog ) .
Active Security. Since the sub-protocol is actively secure, we only have to append
zero-knowledge proofs of correctness to every multiplication in order to make the
protocol resistant against active attackers. This increases the number of messages
communicated but only by a constant factor.
On Secure Two-Party Integer Division 175
A: sk A pk = M, [d] B: sk B
[p0 ] ← 1
[c1 ] ← π≤?
s
2/2 · [p0 ] , [d]
←−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− −−−−−−→
[p1 ] ← [p0 ] · [c1 ] · (2/2 − 1) + 1
←−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→
..
.γ
[cγ ] ← π≤?
s
2/2 · [pγ−1 ] , [d]
←−−−−−−−−−−−−−−−−− −−−−−−−−γ−−−−−−−−−−−−−→
[pγ ] ← [pγ−1 ] · [cγ ] · (2/2 − 1) + 1
←−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→
2 d ← 2 · [pγ ]
s
Fig. 5. Sub-linear bit-length protocol, πBL ([d]) → 2d
ω
Evaluating the A(x) = i=0 xi polynomial at a point p can be done by a method
similar to “square and multiply”. We give the protocol in Figure 6 where for
simplicity we have assumed that ω = 2γ for some integer γ. The intuition behind
2j j
the notation is that σj = i=1 xi and xj = x2 – it is not hard to see that
2γ
this is indeed
ω the i case.
Specifically this gives us that σγ = i=1 xi and hence
ω i
σγ + 1 = i=1 x + 1 = i=0 x as required.
Correctness, Privacy, and Complexity. The first two follow respectively from
the description above and from that fact that only arithmetical operations on
encryptions are performed. For complexity we have that the protocol requires
γ = log2 ω iterations with two multiplications in each. Hence the round com-
plexity is Rπpoly
s = γ · (2 · Rπmult ) = O(log ω), and likewise for the communication
complexity Cπpoly
s = γ · (2 · Cπmult ) = O(log ω).
c
The truncation protocol πtrunc of Section 5 is efficient enought to be reused for
s
the sub-linear protocol πtrunc : only a single operation is performed, namely the
decryption of [z]. The remaining operations can be carried out locally.
176 M. Dahl, C. Ning, and T. Toft
A: sk A pk = M, [x] B: sk B
[σ0 ] ← [x]
[x0 ] ← [x]
[σ1 ] ← ([x0 ] + 1) · [σ0 ]
←−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→
..
.
[xγ−1 ] ← [xγ−2 ] · [xγ−2 ]
[σγ ] ← ([xγ−1 ] + 1) · [σγ−1 ]
←−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→
ω
i=0 x
i
← [σγ ] + 1
s
Fig. 6. Sub-linear polynomial evaluation protocol, πpoly ([x]) → [A(x)]
Rπdiv
s = RπBL
s + · · · + O(log ) = O(log2 ) + O(log ω) + O(log ) = O(log2 )
Cπdiv
s = CπBL
s + · · · + O ((log )(κ + loglog )) = O (log2 )(κ + loglog ) .
πBL is based on comparison and arithmetic, and πtrunc is the same as the
constant-rounds case, a sub-linear multiparty protocol is possible too.
Improving the complexity of the sub-linear protocol. Using the other comparison
protocol given in [Tof11] we may obtain slightly better bounds
on our division
√
protocol, namely O(log ) rounds and O (log ) (κ + log ) communications.
References
[ACS02] Algesheimer, J., Camenisch, J., Shoup, V.: Efficient Computation Modulo
a Shared Secret with Application to the Generation of Shared Safe-Prime
Products. In: Yung, M. (ed.) CRYPTO 2002. LNCS, vol. 2442, pp. 417–432.
Springer, Heidelberg (2002)
[BB89] Bar-Ilan, J., Beaver, D.: Non-cryptographic fault-tolerant computing in a
constant number of rounds of interaction. In: Rudnicki, P. (ed.) Proceed-
ings of the Eighth Annual ACM Symposium on Principles of Distributed
Computing, pp. 201–209. ACM Press, New York (1989)
[BCD+ 09] Bogetoft, P., Christensen, D.L., Damgård, I., Geisler, M., Jakobsen,
T., Krøigaard, M., Nielsen, J.D., Nielsen, J.B., Nielsen, K., Pagter, J.,
Schwartzbach, M., Toft, T.: Secure Multiparty Computation Goes Live.
In: Dingledine, R., Golle, P. (eds.) FC 2009. LNCS, vol. 5628, pp. 325–343.
Springer, Heidelberg (2009)
[BGW88] Ben-Or, M., Goldwasser, S., Wigderson, A.: Completeness theorems for
noncryptographic fault-tolerant distributed computations. In: 20th Annual
ACM Symposium on Theory of Computing, pp. 1–10. ACM Press (1988)
[Bou00] Boudot, F.: Efficient Proofs that a Committed Number Lies in an Interval.
In: Preneel, B. (ed.) EUROCRYPT 2000. LNCS, vol. 1807, pp. 431–444.
Springer, Heidelberg (2000)
[CD09] Catrina, O., Dragulin, C.: Multiparty computation of fixed-point multipli-
cation and reciprocal. In: International Workshop on Database and Expert
Systems Applications, pp. 107–111 (2009)
[CDN01] Cramer, R., Damgård, I., Nielsen, J.B.: Multiparty Computation from
Threshold Homomorphic Encryption. In: Pfitzmann, B. (ed.) EURO-
CRYPT 2001. LNCS, vol. 2045, pp. 280–300. Springer, Heidelberg (2001)
[DFK+ 06] Damgård, I.B., Fitzi, M., Kiltz, E., Nielsen, J.B., Toft, T.: Unconditionally
Secure Constant-Rounds Multi-party Computation for Equality, Compar-
ison, Bits and Exponentiation. In: Halevi, S., Rabin, T. (eds.) TCC 2006.
LNCS, vol. 3876, pp. 285–304. Springer, Heidelberg (2006)
178 M. Dahl, C. Ning, and T. Toft
[DJ01] Damgård, I., Jurik, M.: A Generalisation, a Simplification and Some Ap-
plications of Paillier’s Probabilistic Public-Key System. In: Kim, K. (ed.)
PKC 2001. LNCS, vol. 1992, pp. 119–136. Springer, Heidelberg (2001)
[DNT12] Dahl, M., Ning, C., Toft, T.: On secure two-party integer division. Technical
report (2012), http://eprint.iacr.org/2012/164
[FJ05] From, S., Jakobsen, T.: Secure multi-party computation on integers.
Master’s thesis, Aarhus University (2005), http://users-cs.au.dk/tpj/
uni/thesis/
[FSW02] Fouque, P., Stern, J., Wackers, J.: Cryptocomputing with Rationals. In:
Blaze, M. (ed.) FC 2002. LNCS, vol. 2357, pp. 136–146. Springer, Heidel-
berg (2003)
[GMS10] Guajardo, J., Mennink, B., Schoenmakers, B.: Modulo Reduction for Pail-
lier Encryptions and Application to Secure Statistical Analysis. In: Sion, R.
(ed.) FC 2010. LNCS, vol. 6052, pp. 375–382. Springer, Heidelberg (2010)
[HAB02] Hesse, W., Allender, E., Mix Barrington, D.A.: Uniform constant-depth
threshold circuits for division and iterated multiplication. Journal of Com-
puter and System Sciences 65(4), 695–716 (2002)
[HKS+ 10] Henecka, W., Kögl, S., Sadeghi, A., Schneider, T., Wehrenberg, I.: TASTY:
tool for automating secure two-party computations. In: CCS 2010: Pro-
ceedings of the 17th ACM Conference on Computer and Communications
Security, pp. 451–462. ACM, New York (2010)
[JW05] Jagannathan, G., Wright, R.N.: Privacy-preserving distributed k-means
clustering over arbitrarily partitioned data. In: Grossman, R., Bayardo,
R.J., Bennett, K.P. (eds.) KDD, pp. 593–599. ACM (2005)
[KLM05] Kiltz, E., Leander, G., Malone-Lee, J.: Secure Computation of the Mean
and Related Statistics. In: Kilian, J. (ed.) TCC 2005. LNCS, vol. 3378, pp.
283–302. Springer, Heidelberg (2005)
[Lip03] Lipmaa, H.: On Diophantine Complexity and Statistical Zero-Knowledge
Arguments. In: Laih, C.-S. (ed.) ASIACRYPT 2003. LNCS, vol. 2894, pp.
398–415. Springer, Heidelberg (2003)
[NO07] Nishide, T., Ohta, K.: Multiparty Computation for Interval, Equality, and
Comparison Without Bit-Decomposition Protocol. In: Okamoto, T., Wang,
X. (eds.) PKC 2007. LNCS, vol. 4450, pp. 343–360. Springer, Heidelberg
(2007)
[NX10] Ning, C., Xu, Q.: Multiparty Computation for Modulo Reduction without
Bit-Decomposition and a Generalization to Bit-Decomposition. In: Abe, M.
(ed.) ASIACRYPT 2010. LNCS, vol. 6477, pp. 483–500. Springer, Heidel-
berg (2010)
[Pai99] Paillier, P.: Public-Key Cryptosystems Based on Composite Degree Resid-
uosity Classes. In: Stern, J. (ed.) EUROCRYPT 1999. LNCS, vol. 1592,
pp. 223–238. Springer, Heidelberg (1999)
[RT10] Reistad, T., Toft, T.: Linear, Constant-Rounds Bit-Decomposition. In: Lee,
D., Hong, S. (eds.) ICISC 2009. LNCS, vol. 5984, pp. 245–257. Springer,
Heidelberg (2010)
[Sha79] Shamir, A.: How to share a secret. Communications of the ACM 22(11),
612–613 (1979)
[Tof11] Toft, T.: Sub-linear, Secure Comparison with Two Non-colluding Parties.
In: Catalano, D., Fazio, N., Gennaro, R., Nicolosi, A. (eds.) PKC 2011.
LNCS, vol. 6571, pp. 174–191. Springer, Heidelberg (2011)
[Veu10] Veugen, T.: Encrypted integer division. In: IEEE Workshop on Information
Forensics and Security (WIFS 2010). IEEE, Seattle (2010)
A Non-interactive Range Proof
with Constant Communication
1 Introduction
that we break the range proof of [21] where the Lagrange theorem is used in the
bilinear setting with known group order.)
Due to such considerations, one usually considers the second approach. There,
one uses the fact that a ∈ [0, H], if and only if for some well chosen coefficients
n
Gi , there exist bi ∈ [0, u − 1] such that a = i=1 Gi bi . Here, u H and
n is also small. One then proves separately for every bi that bi ∈ [0, u − 1],
and uses additively homomorphic properties of the used commitment scheme to
n
verify that a = i=1 Gi bi . The goal is to minimize the communication (which
is approximately n times the cost of a more basic proof that bi ∈ [0, u − 1]) of
that type of range proofs.
d
Clearly, a ∈ [0, 2d − 1] iff a = i=1 2i−1 bi and bi ∈ {0, 1}. Then one can prove
that a ∈ [0, H] for arbitrary H by showing that both a and H − a belong to
[0, 2log2 H+1 − 1]. Showing that bi ∈ {0, 1} is straightforward, e.g., by using an
AND of two Σ-protocols. This means that one has to execute two basic range
proofs for [0, 2d − 1]. Lipmaa, Asokan and Niemi showed in [16] that by choosing
the coefficients Gi cleverly, one obtains a simpler result that a ∈ [0, H], for any
log H+1
H > 1, iff a = i=1 2 Gi bi and bi ∈ {0, 1}.
In [3], the authors considered the general case u ≥ 2, following the fact that
a ∈ [0, ud −1] iff a = di=1 ui bi and bi ∈ [0, u−1]. They showed that bi ∈ [0, u−1]
by letting the verifier to sign every integer in [0, u − 1], and then letting the
prover to prove that he knows the signature on committed bi . One can show
that a ∈ [0, H] for general H by using an AND of two Σ-protocols. Nontrivially
generalizing [16] (by using methods from additive combinatorics), Chaabouni,
Lipmaa and shelat [4] showed that there exist (efficiently computable) coeffi-
log ((u−1)·H+1)
cients Gi such that (u − 1)a ∈ (u − 1) · [0, H] iff a = i=1 u Gi bi
for some bi ∈ [0, u − 1]. The range proof from [4] has the communication
complexity of Θ(logu H + u) group elements, which obtains the minimal value
Θ(log H/ log log H) if u ≈ log H/ log log H. (See [9] for recent related work.)
Usually, it is desired that the range proof is non-interactive. For example, in
the e-voting scenario, range proof is a part of the vote validity proof that is
verified by various parties without any active participation of the voter. Most of
the previous non-interactive range proofs first construct a Σ-protocol which is
then made non-interactive in the random oracle model by using the Fiat-Shamir
heuristic. While the random oracle model allows to construct efficient protocols,
it is also known that there exist protocols that are secure in the random oracle
models and insecure in the plain model.
Motivated by this, [5,21,18] have proposed non-interactive range proofs with-
out random oracles. The range proof from [5] is of mainly theoretical value. The
range proof from [21] uses Lagrange’s theorem, but we will demonstrate an attack
on it. The range proof from [18] combines the range proof of [3] with the Groth-
Sahai non-interactive zero-knowledge (NIZK) proofs [11] and P-signatures. The
range proof from [18] is not claimed to be zero-knowledge (only NIWI, that is,
non-interactive witness-indistinguishable).
We first show that the protocol from [21] is insecure. Their protocol works in
a group of known order. In this case, using Lagrange’s theorem to prove that a
A Non-interactive Range Proof with Constant Communication 181
non-negative number is the sum of four squares fails. We can only conclude that
the sum of four squares is computed modulo the group order. Hence an attacker
can prove that any number is “non-negative” and completely break the protocol
in [21]. See Sect. 4 for more information.
We then construct a new NIZK range proof (for an encrypted a — if one
needs a to be committed, one can use the same cryptosystem as a perfectly
binding commitment) that works in the common-reference string model. We
do this by using recent NIZK arguments by Groth and Lipmaa [8,15]. We also
use the additive combinatorics results from [4], that is, we base a range proof
n
a ∈ [0, H] on the fact that (u − 1)a ∈ (u − 1) · [0, H] iff a = i=1 Gi bi and
bi ∈ [0, u − 1], where Gi are as defined in [4]. However, differently from [4], we
prove that bi ∈ [0, u−1] by proving (by a recursive use of the method from [16,4])
Gj bji with bji ∈ [0, 1]. Here, nv := log2 (u − 1).
nv
that bi = j=0
By using the commitment scheme of [8,15] that enables to succinctly commit
to a vector (b1 , . . . , bn ), and the Hadamard product argument of [8,15], we can
do all nv + 1 small range proofs in parallel. In addition, in Sect. 5 we construct
a new non-interactive argument that a knowledge-commited value is equal to a
BBS-encrypted [2] value. (Due to the use of knowledge assumptions, this proof
is computationally more efficient than the one constructed by using Groth-Sahai
proofs [11].) The new range proof does not rely on the random oracle model or
use any proofs of knowledge of signatures.
The conceptual novelty of the new range proof as compared to all previous
range proofs of the “second approach” is that in all latter schemes, a ∈ [0, H]
is proven by executing in parallel N ≈ logu H smaller zero-knowledge proofs of
type bi ∈ [0, u − 1]. In the new range proof, N elements bi are arranged in an
nv × n matrix, where it takes only one zero-knowledge proof (the complexity of
which depends on n) to prove that all elements in one row belong to the range
[0, u−1]. By appropriately choosing the values nv and n (and u), one can achieve
different complexity trade-offs.
The complexity of the new range proof is described in Tbl. 1. Setting u = 2
results in a constant argument length (but CRS of Θ((log H)1+o(1) ) group el-
ements). By using an efficient variation of Barreto-Naehrig curves (where the
group elements are either 256 or 512 bits), the communication drops to 14 080
bits. The range proof of [18] does not allow for constant communication. More-
over, if u = 2 then the communication is even smaller than that of the known
range proofs based on the Lagrange’s theorem like [13]. We note that constant
communication is achieved since the new range proof uses permutation argu-
ments only for permutations that do not depend on the statement. On the
other hand, setting u = H results √ in summatory CRS and argument length
of log1/2+o(1) H, and setting u = 2 log H results in prover’s computational com-
plexity dominated by Θ(log H) exponentiations. The previous non-interactive
range proofs did not allow for such a flexibility.
One can obtain a zap (that is, a 2-message public-coin witness-
indistinguishable proof) from the NIZK range proof by first letting the veri-
fier create and send a CRS to the prover, and then letting the prover to send
182 R. Chaabouni, H. Lipmaa, and B. Zhang
Table 1. Comparison of NIZK arguments for range proof. Here, M/E/P means the
number of multiplications, exponentiations and pairings. Communication is given in
group elements. Here, nv = log(u − 1), n ≈ log H/ log u and ε = o(1), and the basis
of all logarithms is 2. To fit in page margins, in this table only, we write h = log2 H.
the range proof to the verifier. This zap works in the standard model (without
needing a CRS since it is generated on run) and has the total communication
log1/2+o(1) H in the case u = H.
2 Preliminaries
Let [L, H] = {L, L + 1, . . . , H − 1, H} and [H] = [1, H]. Let Sn be the set of
permutations from [n] to [n]. By a, we denote the vector a = (a1 , . . . , an ). If A
is a value, then x ← A means that x is set to A. If A is a set, then x ← A means
that x is picked uniformly and randomly from A. If y = hx , then let logh y := x.
Let κ be the security parameter. We abbreviate probabilistic polynomial-time as
PPT, and let negl(κ) be a negligible function. We say that Λ = (λ1 , . . . , λn ) ⊂ Z
is an (n, κ)-nice tuple, if 0 < λ1 < · · · < λi < · · · < λn = poly(κ).
By using notation from additive combinatorics, if Λ1 and Λ2 are subsets of
some additive group (Z or Zp within this paper), then Λ1 + Λ2 = {λ1 + λ2 : λ1 ∈
Λ1 ∧ λ2 ∈ Λ2 } is their sum set and Λ1 − Λ2 = {λ1 − λ2 : λ1 ∈ Λ1 ∧ λ2 ∈ Λ2 } is
their difference set. If Λ is a set, then kΛ = {λ1 + · · · + λk : λi ∈ Λ} is an iterated
sumset, and k · Λ = {kλ : λ ∈ Λ} is a dilation of Λ. Let 2Λ = {λ1 + λ2 : λ1 ∈
Λ ∧ λ2 ∈ Λ ∧ λ1 = λ2 } ⊆ Λ + Λ denote a restricted sumset [20].
A set {λ1 , . . . , λn } ⊂ Z+ is progression-free, if no three of the numbers are
in arithmetic progression, so that λi + λj = 2λk only if i = j = k. Let r3 (N )
denote the cardinality of the largest progression-free set that √ belongs to [N ].
1/4
Recently, Elkin [6] showed that r3 (N ) = Ω((N · log2 N )/22 2 log2 N ). It is also
known that r3 (N ) = O(N (log log N )5 / log N ) [19]. Thus, the minimal N such
that r3 (N ) = n is ω(n), while according to Elkin, N = n1+o(1) .
Fact 1 (Lipmaa [15]). For any fixed n > 0, there exists N = n1+o(1) , such
that [N ] contains a progression-free subset Λ of odd integers of cardinality n.
A Non-interactive Range Proof with Constant Communication 183
Bilinear Groups. Let Gbp (1κ ) be a bilinear group generator that outputs a
description of a bilinear group gk := (p, G1 , G2 , GT , ê) ← Gbp (1κ ) such that p is
a κ-bit prime, G1 , G2 and GT are multiplicative cyclic groups of order p, ê : G1 ×
G2 → GT is a bilinear map (pairing) such that ∀a, b ∈ Z, t ∈ {1, 2} and gt ∈ Gt ,
ê(g1a , g2b ) = ê(g1 , g2 )ab . If gt generates Gt for t ∈ {1, 2}, then ê(g1 , g2 ) generates
GT . Moreover, it is efficient to decide the membership in G1 , G2 and GT , group
operations and the pairing ê are efficiently computable, generators are efficiently
sampleable, and the descriptions of the groups and group elements each are
O(κ) bit long. One can implement an optimal (asymmetric) Ate pairing [12]
over a subclass of Barreto-Naehrig curves [1,17] very efficiently. In that case,
at security level of 128-bits, an element of G1 /G2 /GT can be represented in
respectively 256/512/3072 bits.
A bilinear group generator Gbp is DLIN (decisional linear) secure [2] in group
Gt , for t ∈ {1, 2}, if for all non-uniform PPT adversaries A, the next probability
is negligible in κ:
⎡ ⎤ ⎡ ⎤
gk ← Gbp (1κ ), gk ← Gbp (1κ ),
⎢ ⎥ ⎢ ⎥
Pr ⎣ (f, h) ← (G∗t )2 , (σ, τ ) ← Z2p :⎦ − Pr ⎣ (f, h) ← (G∗t )2 , (σ, τ, z) ← Z3p :⎦ .
A(gk; f, h, f σ , hτ , g σ+τ ) = 1 A(gk; f, h, f σ , hτ , g z ) = 1
t t
Let Λ be an (n, κ)-nice tuple for some n = poly(κ). A bilinear group generator
Gbp is Λ-PSDL secure, if for any non-uniform PPT adversary A,
3 4
gk := (p, G1 , G2 , GT , ê) ← Gbp (1κ ), g1 ← G1 \ {1},
Pr s s = negl(κ) .
g2 ← G2 \ {1}, x ← Zp : A(gk; (g1x , g2x )s∈{0}∪Λ ) = x
Groth [8] proved that the [n]-PKE assumption holds in the generic group model;
his proof can be modified to the general case.
In the case of both the PSDL and PKE assumptions, we will define straight-
forward generalizations in Sect. 5.
(gk; (g1 , ĝ1 )∈{0}∪Λ , (g2 , ĝ2 )∈Λ̂ , D). Let ck1 ← (gk; (g1 , ĝ1 )∈{0}∪Λ ).
Common inputs: (A, Â, B, B̂, B2 , C, Ĉ), where (A, Â) ← Com1 (ck1 ; a; ra ), (B, B̂) ←
Com1 (ck1 ; b; rb ), B2 ← g2rb · n i=1 g2,λi , (C, Ĉ) ← Com (ck1 ; c; rc ), s.t. ai bi = ci for
bi 1
i ∈ [n].
Argument generation P× (crs; (A, Â, B, B̂, B2 , C, Ĉ), (a, ra , b, rb , c, rc )): Let
{(i, j) : i, j ∈ [n] ∧ j = i ∧ λi + λrj r= }. For ra b∈
I1 () := 2 Λ, the prover sets
i +rb ai −rc μ
μ ← (i,j)∈I1 () (ai bj − ci ). He sets ψ ← g2a b · n i=1 g2,λi · ∈2 Λ g2 ,
ra bi +rb ai −rc
and ψ̂ ← ĝ2ra rb · n i=1 ĝ2,λi
μ
· ∈2 Λ ĝ2 . He sends ψ × ← (ψ, ψ̂) ∈ G22 to
the verifier as the argument.
Verification V× (crs; (A, Â, B, B̂, B2 , C, Ĉ), ψ × ): accept iff ê(A, B2 )/ê(C, D) =
ê(g1 , ψ) and ê(g1 , ψ̂) = ê(ĝ1 , ψ).
Protocol 1. Hadamard product argument [[(A, Â)]] ◦ [[(B, B̂, B2 )]] = [[(C, Ĉ)]]
3 Groth-Lipmaa Arguments
In this section, we describe two of our building-blocks, an Hadamard product ar-
gument and a (known) permutation argument. In both cases, Groth [8] proposed
efficient (weakly) sound and non-interactive witness-indistinguishable (NIWI)
arguments that were further refined by Lipmaa [15], who used the theory of
progression-free sets to optimize Groth’s arguments. Since [15] is very new, we
will give here a full description of Lipmaa’s NIWI arguments. We refer to [15]
(and its full version, [14]) for details.
Gbp is Λ̂-PSDL secure, then a non-uniform PPT adversary has negligible chance
of outputting inp× ← (A, Â, B, B̂, B2 , C, Ĉ) and an accepting argument ψ × ←
(ψ, ψ̂) together with an opening witness w× ← (a, ra , b, rb , c, rc , (fs )s∈Λ̂ ), such
that (A, Â) = Com1 (ck 1 ; b; rb ), B2 = g rb · n g bi ,
1 ; a; ra ), (B, B̂) = Com1 (ck
2 i=1 2i
s s
(C, Ĉ) = Com1 (ck 1 ; c; rc ), (ψ, ψ̂) = (g s∈Λ̂ fs x , ĝ s∈Λ̂ fs x ), and for some
2 2
i ∈ [n], ai bi = ci .
For the product argument to be useful in more complex arguments, we must
also assume that the verifier there additionally verifies that ê(A, ĝ2 ) = ê(Â, g2 ),
ê(B, ĝ2 ) = ê(B̂, g2 ), ê(g1 , B2 ) = ê(B, g2 ), and ê(C, ĝ2 ) = ê(Ĉ, g2 ). Note that
(fs )s∈Λ̂ is the opening of (ψ, ψ̂).
Fact 3 (Lipmaa [15]). For any n > 0 and y = n1+o(1) , let Λ ⊂ [y] be a
progression-free set of odd integers from Fact 1, such that |Λ| = n. The commu-
nication (argument size) of the Hadamard product argument is 2 elements from
G2 . The prover’s computational complexity is Θ(n2 ) scalar multiplications in Zp
and n1+o(1) exponentiations in G2 . The verifier’s computational complexity is
dominated by 5 bilinear pairings. The CRS consists of n1+o(1) group elements.
Finally, if a, b and c are Boolean vectors then the prover’s computational com-
plexity is Θ(n2 ) scalar additions in Zp and n1+o(1) exponentiations in G [15].
crs ← (gk; (g1 , ĝ1 , g̃1 )∈{0}∪Λ , (g2 )∈{0}∪Λ̃ , (ĝ2 )∈Λ̂ , (g̃2 )∈Λ̃ , D, D̃) .
Let ck1 ← (gk; (g1 , ĝ1 )∈{0}∪Λ), ck1 ← (gk; (g1 , g̃1 )∈{0}∪Λ ).
Common inputs: (A, Ã, B, B̂, B̃, ), where ∈ Sn , (A, Ã) ← Com1 (ck1 ; a; ra ),
(B, B̂) ← Com1 (ck1 ; b; rb ), and (B, B̃) ← Com1 (ck1 ; b; rb ), s.t. bj = a (j) for j ∈ [n].
Argument generation Pperm (crs; (A, Ã, B, B̂, B̃, ), (a, ra , b, rb )):
T ( −1 (i), ) T ( −1 (i), ) T ( −1 (i), )
1. Let (T ∗ , T̂ ∗ , T2∗ ) ← ( n
i=1
Λ
g1,λ i
, n
i=1
Λ
ĝ1,λ i
, n
i=1
Λ
g2,λ i
).
2. Let ra∗ ← Zp , (A∗ , Â ) ← Com1 (ck1 ; TΛ (−1 (1), ) · a1 , . . . , TΛ (−1 (n), ) ·
∗
an ; ra∗ ). Create an argument ψ × for [[(A, Â)]] ◦ [[(T ∗ , T̂ ∗ , T2∗ )]] = [[(A∗ , Â∗ )]].
3. Let Λ̃ := 2 Λ∪({2λ (j) +λi −λj : i, j ∈ [n]∧i = j}\2·Λ) ⊂ {−λn +1, . . . , 3λn }.
4. For ∈ Λ̃ , I1 () as in Prot. 1, and I2 () := {(i, j) : i, j ∈ [n] ∧ j = i ∧ 2λ (i) +
λj = λi +2λ (j) ∧2λ (j) +λi −λj = }, set μ , ← (i,j)∈I1 () a∗i − (i,j)∈I2 () bi .
5. Let (E , Ẽ ) ← ( n i=1 g2,2λ (i) −λi ,
n
i=1 g̃2,2λ (i) −λi ).
∗ −rb μ ∗ −rb μ
6. Let ψ ← Dra · E · ∈Λ̃ g2 , , ψ̃ ← D̃ra · Ẽ · ∈Λ̃ g̃2 , ,
Send ψ perm ← (A∗ , Â∗ , ψ × , ψ , ψ̃ ) ∈ G21 × G42 to the verifier as the argument.
Verification Vperm (crs; (A, Ã, B, B̂, B̃, ), ψ perm ): Let E and (T ∗ , T̂ ∗ , T2∗ ) be com-
puted as in Pperm . If ψ × verifies, ê(A∗ , D)/ê(B, E ) = ê(g1 , ψ ), ê(A∗ , ĝ2 ) =
ê(Â∗ , g2 ), and ê(g1 , ψ̃ ) = ê(g̃1 , ψ ), then Vperm accepts. Otherwise, Vperm rejects.
Their goal is to prove that a committed secret w is in some range [a, b]. To
do so they prove that both w − a and b − w are non-negative by making use of
Lagrange theorem stating that any non-negative integer can be decomposed as
the sum of four squares. Hence,
4 4
w−a= 2
w1j and b − w = 2
w2j , (1)
j=1 j=1
for some wij . The range proof of [21] is based on (symmetric) bilinear groups of
composite order, i.e., on bilinear groups (n, G, GT , ê), where n = pq. To commit
to a message w, the committer picks a random1 r ∈ Zq and computes C = g w ur ,
where g is a random generator of G (of order n), and u is a random generator of
subgroup Gq (of order q). Given C, w is uniquely determined in Zp as C q = g wq .
In their range proof, the prover finds the witnesses wij in Eq. (1) and
outputs a proof ψ = ({C1j , C2j }j∈[4] , Cw , ϕ1 , ϕ2 ), where Cw ≡ g w urw ∈ G,
4 4
∈ G for i ∈[2] and j ∈ [4], ϕ1 ≡ g −rw +2 j=1 r1j w1j ·u j=1 r1j ∈ G,
2
Cij ≡ g wij u
rij
rw +2 4j=1 r2j w2j 4 2
−1
ϕ2 ≡ g · u j=1 r2j ∈ G. The verifier checks whether ê(g a Cw , g) ·
4 −b
4
j=1 e(C1j , C1j ) = ê(u, ϕ1 ) and ê(Cw g , g) · j=1 ê(C2j , C2j ) = ê(u, ϕ2 ).
Now assume that a malicious prover P picks an integer w∗ ∈ {0, . . . , p − 1} \
[a, b]. We have that either w∗ − a or b − w∗ is negative as an integer. Suppose
b − w∗ < 0, then P chooses {w2j ∗
}j∈[4] such that n + (b − w∗ ) = j=1 (w2j ∗ 2
4
) ,
∗ ∗
4 ∗
sets C ← g w urw , C2j ← g w2j ur2j , ϕ1 as above, and ϕ2 ← g rw +2· j=1 r2j w2j ·
4 w2
u j=1 r2j . Let u = g α for some α. It is easy to see that the second verification
equation still holds:
4
∗ 4 ∗
−b)+αrw + 2
ê(Cw g −b , g)· ê(C2j , C2j ) = ê(g, g)(w j=1 (w2j +αr2j )
j=1
∗ 4 ∗ 2 4 4 ∗
−b)+αrw + α2 r2j
2
=ê(g, g)(w j=1 (w2j ) + j=1 +2 j=1 αr2j w2j
4 ∗ 4 2
=ê(g, g)α·(rw +2 j=1 r2j w2j +α· j=1 r2j )
= ê(u, ϕ2 ) .
In the new range proof of Sect. 6, we need a subargument that if (Ac , Āc ) is a
knowledge-commitment of some a (with n = 1 and some randomness r), and
(Ag , Af , Ah ) is a BBS ciphertext of some a , then a = a . That is, Ac = g1r g1,λ a
1
rf +rh +a
and (Ag , Af , Ah ) = (g1 , f rf , hrh ) for randomness (rf , rh ) and public key
(f, h). (The generator g1,λ1 is required in Sect. 6.)
1
In [21], the scheme uses r ∈ Zn to facilitate their security proof (crs switching).
190 R. Chaabouni, H. Lipmaa, and B. Zhang
crs ←(gk; g1 , g1,λ1 , g2 , g2,λ1 ,g̊1 ,g̊2 , ḡ1 , ḡ1,λ1 , ḡ2 , ḡ2,λ1 ,g̊1,g/c ,g̊2,g/c ,g̊1,f ,g̊2,f ,
g̊1,h ,g̊2,h ) .
R r R r
(Cf , C̄f ) ← (g2 f g2,λ f
1
, ḡ2 f ḡ2,λ
f
1
), (Ch , C̄h ) ← (g2Rh g2,λ
rh
1
, ḡ2Rh ḡ2,λ
rh
1
) ∈ G22 . Let
r+R +R r+R +R
(ψg , ψ̊g ) ← (g1 f h ,g̊1 f h ) ∈ G21 , (ψf , ψ̊f ) ← (f Rf , f˚Rf ) ∈ G21 ,
(ψh , ψ̊h ) ← (hRh , h̊Rh ) ∈ G21 .
Send ψ ce ← (Åg , Åf , Åh , Åc , ψg , ψ̊g , Cf , C̄f , ψf , ψ̊f , Ch , C̄h , ψh , ψ̊h , Åg/c ) to
the verifier.
Verification V(crs; (pk, Ag , Af , Ah , Ac ), ψ ce ): Verify that ê(f˚, g2 ) = ê(f,g̊2,f ),
ê(h̊, g2 ) = ê(h,g̊2,h ), ê(Ag ,g̊2 ) = ê(Åg , g2 ), ê(Af ,g̊2,f ) = ê(Åf , g2 ),
ê(Ah ,g̊2,h ) = ê(Åh , g2 ), ê(Ac , ḡ2 ) = ê(Āc , g2 ), ê(ψg ,g̊2 ) = ê(ψ̊g , g2 ),
ê(ψf ,g̊2,f ) = ê(ψ̊f , g2 ), ê(ψh ,g̊2,h ) = ê(ψ̊h , g2 ), ê(ḡ1 , Cf ) = ê(g1 , C̄f ),
ê(ḡ1 , Ch ) = ê(g1 , C̄h ), and ê(Ag /Ac ,g̊2,g/c ) = ê(Åg/c , g2 ).
Verify that ê(f, Cf ) = ê(ψf , g2 ) · ê(Af , g2,λ1 ), ê(h, Ch ) = ê(ψh , g2 ) ·
ê(Ah , g2,λ1 ), and ê(g1 , Cf Ch ) = ê(ψg A−1 c , g2 ) · ê(Ag , g2,λ1 ).
A Non-interactive Range Proof with Constant Communication 191
is negligible in κ. Groth’s proof [8] that the [n]-PKE assumption holds in the
generic group model can be modified to the general case.
Note that Gbp is Λ-PSDL secure (resp., Λ-PKE secure) iff it is {X λ : λ ∈ Λ}-
PSDL secure (resp., {X λ : λ ∈ Λ}-PKE secure).
PKE assumption (in both G1 and G2 ) hold, then this argument is computation-
ally sound. If the DLIN assumption holds in group G1 , then this argument is
computationally zero-knowledge.
(The proof of this theorem is given in App. A.) Clearly, this argument has CRS
of length Θ(1), its argument consists of 13 elements of G1 and 2 elements of
G2 . The prover’s computational complexity is dominated by 20 exponentiations.
The verifier’s computational complexity is dominated by 33 pairings.
(u,(u−1)H)
where Gi ∈ Z are values defined in [4]. That is, (u−1)·[0, H] = i=1 Gi ·
log 2 H
[0, u − 1]. In particular, [0, H] = i=0 (H + 2i )/2i+1 · [0, 1].
The precise values of (u, H) and Gi are not important in the next description.
It suffices to know that they can be efficiently evaluated. We note that
i−1
Gi = H/ui+1 + (Hi + ( Hj mod (u − 1)) + 1)/u ,
j=0
where H = 2i Hi [4].
The basic idea of the next range proof is as follows. Choose a u > 1, and let
n = (u, (u − 1)H). According to Fact 6, a ∈ [H] iff for Gi computed as in Fact 6,
n
one has (u − 1)a = i=1 Gi bi for some bi ∈ [u − 1]. The prover shows by using a
parallel version of range proof from [16] that for i ∈ [n], bi ∈ [0, u − 1]. The latter
log (u−1)
is done by writing bi as bi = j=02 Gj bji (by again using Fact 6) and then
showing that bji ∈ [0, 1] by using an Hadamard product arguments from [15].
This will be achieved with commitments on (bj1 , . . . , bjn ) for j ∈ [log2 (u − 1)].
n
The prover then commits to the vector (c1 , . . . , cn ), where cj = i=j Gi bi , and
shows that the values cj are correctly computed by using a small constant number
of Hadamard product and permutation arguments. More precisely, he commits to
(G1 b1 , . . . , Gn bn ) (and shows this has been done correctly), then to (c2 , . . . , cn , c1 )
(and shows this was done correctly), then to (c2, . . . , cn , 0) (and shows this was done
correctly), and then shows that (c1 , . . . , cn ) = (G1 b1 , . . . , Gn bn ) + (c2 , . . . , cn , 0).
n
Thus, the verifier is convinced that cj = i=j Gi bi . Then, by Fact 6, c1 =
n
i=1 G i b i ∈ (u − 1) · [H], and thus the prover has to show (by using a single prod-
uct argument) that (Au−1 c , Âu−1
c ) commits to (c 1 , 0, . . . , 0), and that (Ag , Af , Ah )
is a lifted BBS encryption of A with randomizer (rf , rh ) where r = rf + rh .
As in [15], in a few cases, instead of computing two different commit-
ments Comt (ck t ; a; r) = (g r · g ai , ĝ r · ĝ ai ) and Comt (ck 6 t ; a; r) = (g r ·
ai t t,λi t tλi t
gt,λ , g̃
i ati
r
· g̃
ai
t,λi ), we compute
ai a composed commitment Com t
(ck t ; a; r) =
(gtr · gt,λ i
, ĝ r
t ĝ ai
,
t,λi t g̃ r
· g̃ t,λi ).
The common input to both parties is equal to a BBS encryption (Ag , Af , Ah ) of
a, accompanied by (Ac , Âc ) such that (Ac , Âc ) is a knowledge commitment to a.
Theorem 2. Let u > 1. Let H = poly(κ) and n = (u, (u − 1)H) where is
defined as in Fact 6. Let Λ = {λi }i∈[n] be an (n, κ)-nice tuple. Denote λ0 := 0.
A Non-interactive Range Proof with Constant Communication 193
α ·(1−xλ1 ) α ·(1−xλ1 )
ḡ1,λ1 ← g1,λ
ᾱ
1
, ḡ2 ← g2ᾱ , ḡ2,λ1 ← g2,λ
ᾱ
1
, g̊1,g/c ← g1 g/c , g̊2,g/c ← g2 g/c ,
αf αf α α n
g̊1,f ← g1 , g̊2,f ← g2 , g̊1,h ← g1 h , and g̊2,h ← g2 h . Set D ← =1 g1,λi ,
n
Erot ← i=1 g2,2λrot(i) −λi , and Erot ← Erot . The common reference string is crs ←
α̃
(gk; (g1,s , ĝ1,s , g̃1,s )s∈{0}∪Λ , g2 , (ĝ2,s )s∈Λ, (g2,s , g̃2,s )s∈Λ̃ , D, Erot , Erot ).
Set ck1 ← (gk; (g1s , ĝ1s , g̃1s )s∈{0}∪Λ ), ck1 ← (gk; (g1s , ĝ1s )s∈{0}∪Λ ) and ck1 ←
(gk; (g1s , g̃1s )s∈{0}∪Λ ). The prover creates a secret key sk := (sk1 , sk2 ) ← Z2p ,
and sets pk ← (f, h, f˚, h̊) ← (g11/sk1 , g11/sk2 g̊1,f 1/sk1 1/sk
,g̊1,h 2 ). Here, Encpk (m; (rf , rh )) :=
r +r +m
(g1f h , f rf , hrh ).
Common inputs: (pk, Ag , Af , Ah , Ac , Âc ), where (Ag , Af , Ah ) = (g1r+a , f rf , hrh ) and
(Ac , Âc ) = g1r g1,λ
a , ĝ1r ĝ1,λ
a ), for r = rf + rh .
1 1
Argument P(crs; (pk, Ag , Af , Ah , Ac , Âc ), (a, rf , rh )): The prover does the following:
n
1. Compute (b1 , . . . , bn ) ∈ Zn
u such that (u − 1)a = i=1 Gi bi . v
2. For i ∈ [n] do: compute (b0i , . . . , bnv ,i ) ∈ Z2 v
n +1
such that bi = n
j=0 Gj · bji .
3. For j ∈ [0, nv ] do:
r bji
– Let rj ← Zp , (Bj , B̂j ) ← Com1 (ck1 ; bj1 , . . . , bjn ; rj ), Bj2
←g j ·
2
n
i=1 g2,λi .
– Create an argument (ψj , ψ̂j ) for [[(Bj , B̂j )]] ◦ [[(Bj , B̂j , Bj2 )]] = [[(Bj , B̂j )]].
n
4. For i ∈ [n], let ci ← k=i Gk bk .
5. Set r0 , r1 , r2 ← Zp , (B † , B̂ † ) ← Com1 (ck1 ; G1 b1 , . . . , Gn bn ; r0 ), (C, Ĉ, C̃) ←
Com1 (ck1 ; c; r1 ), and (Crot , Ĉrot , C̃rot ) ← Com1 (ck1 ; c2 , . . . , cn−1 , cn , c1 ; r2 ).
6. Create an argument (ψ1× , ψ̂1× ) for [[( n v Gj ,
j=0 (Bj )
nv Gj )]]
j=0 (B̂j ) ◦
[[(Com1 (ck1 ; G1 , . . . , Gn ; 0), n Gi † †
i=1 g2,λi )]] = [[(B , B̂ )]].
∗ ∗ × ×
7. Create an argument (A , Â , ψ2 , ψ̂2 , ψ2 , ψ̂2rot ) for rot([[(C, C̃)]])
rot =
[[(Crot , Ĉrot , C̃rot )]].
8. Create an argument (ψ3× , ψ̂3× ) for [[(Crot , Ĉrot )]] ◦
[[(Com1 (ck n−1 † , Ĉ/B̂ † )]].
1 ; 1, 1, . . . , 1, 0; 0), i=1 g 2,λ i
)]] = [[(C/B
9. Create an argument (ψ4× , ψ̂4× ) for [[(C, Ĉ)]] ◦ [[(Com1 (ck1 ; 1, 0, . . . , 0, 0; 0), g2,λ1 )]] =
u−1 u−1
[[(Ac , Âc )]].
10. Create an argument ψ5ce that Ac commits to the same value that (Ag , Af , Ah )
encrypts.
11. Send ψ ← ((Bj , B̂j , Bj2
, ψ , ψ̂ )
j
† †
j j∈[0,nv ] , (B , B̂ ), (C, Ĉ, C̃), (Crot , Ĉrot , C̃rot ),
× × ∗ ∗ × × × × × ×
(ψ1 , ψ̂1 ), (A , Â , ψ2 , ψ̂2 , ψ2 , ψ̂2 ), (ψ3 , ψ̂3 ), (ψ4 , ψ̂4 ), ψ5ce ) to V .
rot rot
Let Λ := {0} ∪ Λ ∪ 2Λ, and Λ̃ be as in Sect. 3.2. Let rot ∈ Sn be such that
rot(i) = i − 1 if i > 1, and rot(1) = n. Define
7 Gi as
8 in Fact 6. The argument
in Prot. 3 is perfectly complete. If Gbp is 1 − X λ1 -PKE, Λ-PKE and DLIN
secure in G1 , then the argument in Prot. 3 is computationally zero-knowledge.
If Gbp is ({X s }s∈Λ̃ ∪ {1 − X λ1 })-PSDL, Λ-PKE and {1 − X λ1 }-PKE secure in
both G1 and G2 , then the argument in Prot. 3 is computationally sound.
f f
– (ψ3× , ψ̂3× ) = ( s∈Λ̂ g2s(×3,s) , s∈Λ̂ ĝ2s(×3,s) ), and
f f
– (ψ4× , ψ̂4× ) = ( s∈Λ̂ g2s(×4,s) , s∈Λ̂ ĝ2s(×4,s) ).
It will also create the openings that correspond to ψ5ce . If any of the openings
fails, we are done. Since Λ̃-PSDL and {1−X λ1 }-PSDL assumptions are supposed
to hold, all the following is true. (If it is not true, one can efficiently test it, and
thus we have broken the PSDL assumption.)
Since ê(Bj , g2 ) = ê(g1 , Bj2
) for j ∈ [0, nv ], then (Bj1 , B̂j1 , Bj2 ) commits to
bj . Therefore, due to the Λ̂-PSDL assumption, the fact that the adversary knows
the openings of (Bj , B̂j ) and (ψj , ψ̂j ), and the last statement of Fact 2, since
(ψj , ψ̂j ) verifies, then bji ∈ {0, 1} for all j ∈ [0, nv ] and i ∈ [1, n]. Thus, by
Gj bj1 , . . . , j=0 Gj bjn ) ∈ [0, u − 1]n , and thus
nv nv
Fact 6, b = (b1 , . . . , bn ) := ( j=0
nv n
( j=0 (Bj )Gj , j=0 v
(B̂j )Gj ) commits to b with bi ∈ [0, u − 1].
Due to the Λ̂-PSDL assumption, the fact that the adversary knows the open-
ings of (Bj , B̂j ), (B † , B̂ † ) and (ψ1× , ψ̂1× ), and the last statement of Fact 2, since
(ψ1× , ψ̂1× ) verifies, then b†i = Gi bi . Due to the Λ̃-PSDL assumption, the fact that
the adversary knows the openings of (C, C̃), (Crot , Ĉrot ) and
and the last statement of Fact 2, since (A∗ , Â∗ , ψ2× , ψ̂2× , ψ2rot , ψ̂2rot ) verifies, then
crot,1 = cn and crot,i+1 = ci for i ≥ 1.
Due to the Λ̂-PSDL assumption, the fact that the adversary knows the open-
ings of (Crot , C̃rot ), (C, Ĉ), (B † , B̂ † ), and (ψ3× , ψ̂3× ), and the last statement of
Fact 2, since (ψ3× , ψ̂3× ) verifies, then c1 −G1 b1 = 0 and ci −Gi bi = crot,i = ci−1 for
n
i > 1. Therefore, c1 = G1 b1 , c2 = G2 b2 + G1 b1 , and by induction ci = j=1 Gi bi
n
for i ≥ 1. In particular, cn = i=1 Gi bi for bi ∈ [0, u − 1].
Due to the Λ̂-PSDL assumption, the fact that the adversary knows the open-
ings of (C, Ĉ), (Ac , Âc ), and (ψ4× , ψ̂4× ), and the last statement of Fact 2, since
(ψ4× , ψ̂4× ) verifies, then (Ac , Âc ) = (g1r g1,λ
a
1
, ĝ1r ĝ1,λ
a
1
) commits to (a, 0, . . . , 0) such
n
that (u − 1)a = i=1 Gi bi for bi ∈ [0, u − 1], and therefore by Fact 6, a ∈ [0, H].
Due to the {1 − X λ1 }-PSDL assumption and since ψ5ce verifies, then
(Ag , Af , Ah ) encrypts a ∈ [0, H].
Computational zero-knowledge: we construct the following simulator
S = (S1 , S2 ). First, S1 creates a correctly formed common reference string to-
gether with a simulation trapdoor td = (α̂, α̃, . . . , x). After that, the prover
creates a statement inpr := (pk, Ag , Af , Ah , Ac , Âc ) and sends it to the simula-
tor. Second, S2 (crs; inpr ; td) uses a knowledge extractor to extract (a, r) from
the prover’s random coins and (Ac , Âc ). Since we are only interested in the case
of a honest prover, we have that a = (a, 0, . . . , 0) with a ∈ [0, H]. Thus, using
the fact that the knowledge commitment scheme is also trapdoor, the simulator
computes r ← axλn + r; clearly A = g1r . Since both r and r are uniformly
random, r does not leak any information on the prover’s input. After that, the
simulator creates all commitments (Bj , B̂j , Bj2
)j∈[0,nv ] , (B † , B̂ † ), (C, Ĉ, C̃) and
196 R. Chaabouni, H. Lipmaa, and B. Zhang
(Crot , Ĉrot , C̃rot ) as in the argument, but replacing a with 0 and r with r . (Note
that all the mentioned commitments just commit to 0.) Thus, the simulator can
simulate all product and permutation arguments and the argument of Sect. 5.
Clearly, this simulated argument ψ sim is perfectly indistinguishable from the
real argument ψ.
Theorem 3. Let u > 1. Let Λ be as in Fact 1 and let n = (u, (u − 1)H) ≤
logu ((u − 1)H + 1) ≈ log H/ log u + 1, where (·, ·) is defined as in Fact 6.
Let nv = log2 (u − 1). Assume that we use the Hadamard product argument
and the permutation argument from Sect. 3. The range proof in Prot. 3 has a
length-n1+o(1) common reference string, communication of 2nv + 25 elements
from G1 and 3nv + 15 elements from G2 , the prover’s computational complexity
of Θ(n2 nv ) scalar multiplications in Zp and n1+o(1) nv exponentiations in G1 or
G2 . The verifier’s computational complexity is dominated by 9nv + 81 pairings.
Proof. The communication complexity: nv + 1 tuples (Bj , B̂j , Bj2
, ψj ) (each has
2 elements of G1 and 3 elements of G2 ), and then 8 extra elements from G1 ,
3 Hadamard product arguments (2 elements from G2 each), 1 permutation ar-
gument (2 elements from G1 and 4 elements from G2 ), and argument ψ ce (13
elements from G1 and 2 elements from G2 ). In total, thus 2(nv + 1)+ 8 + 2 + 13 =
2nv + 25 elements from G1 and 3(nv + 1) + 3 · 2 + 4 + 2 = 3nv + 15 elements
from G2 .
The prover’s computational complexity is dominated by (nv + 1) + 3 = nv + 4
Hadamard product arguments and 1 permutation argument (Θ(n2 ) scalar mul-
tiplications and bilinear-group n1+o(1) exponentiations each), that is in total
Θ(n2 · nv ) = Θ(n2 · log u) scalar multiplications and n1+o(1) log u exponentia-
tions.
The verifier’s computational complexity is dominated by verifying nv + 4
Hadamard product arguments (5 pairings each), 1 permutation argument (12
pairings), and the argument ψ ce (33 pairings). In addition, the verifier performs
2 · (2(nv + 1) + 6) = 4nv + 16 pairings. The total number of pairings is thus
9nv + 81. The rest follows.
The communication complexity is minimized when nv (and thus u) is as small as
possible, that is, u = 2. Then nv = log2 1 = 0. In this case the communication
consists of 12 elements from G1 and 13 elements from G2 . The same choice u = 2
is also optimal for verifier’s computational complexity (81 pairings). As noted
before, at the security level of 2128 , elements of G1 can be represented in 256
bits, and elements of G2 in 512 bits. Thus, at this security level, if u = 2 then
the communication is 25 · 256 + 25 · 512 = 14 080 bits, that is, only about 4
to 5 times longer than the current recommended length of a 2128 -secure RSA
modulus. Therefore, the communication of the new range proof is even smaller
than that of Lagrange theorem based arguments like [13].
The optimal prover’s computational complexity is achieved when the number
of exponentiations, n1+o(1) ·nv = (log H/ log u)1+o(1) ·log2 (u−1), is minimized.
This happens if u = H, then the prover’s computation is dominated by Θ(log H)
scalar multiplications and exponentiations. Moreover, in this case the CRS length
A Non-interactive Range Proof with Constant Communication 197
n1+o(1) is constant. Finally, we might want the summatory length of the CRS
and the communication to be minimal, that is, n1+o(1) + Θ(nv ). Considering
n ≈ logu H and nv ≈ log2 u, we get that the sum is (log H/ log u)1+o(1)
√
+Θ(log u).
One can approximately minimize the latter by choosing u = e ln H . Then the
summatory length is log1/2+o(1) H. (In this case, it would make sense to change
the role of groups G1 and G2 to get better efficiency.) The efficiency of the new
range proof in all three cases is given in Tbl. 1.
References
1. Barreto, P.S.L.M., Naehrig, M.: Pairing-Friendly Elliptic Curves of Prime Or-
der. In: Preneel, B., Tavares, S. (eds.) SAC 2005. LNCS, vol. 3897, pp. 319–331.
Springer, Heidelberg (2006)
2. Boneh, D., Boyen, X., Shacham, H.: Short Group Signatures. In: Franklin, M. (ed.)
CRYPTO 2004. LNCS, vol. 3152, pp. 41–55. Springer, Heidelberg (2004)
3. Camenisch, J., Chaabouni, R., Shelat, A.: Efficient Protocols for Set Membership
and Range Proofs. In: Pieprzyk, J. (ed.) ASIACRYPT 2008. LNCS, vol. 5350,
pp. 234–252. Springer, Heidelberg (2008)
4. Chaabouni, R., Lipmaa, H., Shelat, A.: Additive Combinatorics and Discrete Log-
arithm Based Range Protocols. In: Steinfeld, R., Hawkes, P. (eds.) ACISP 2010.
LNCS, vol. 6168, pp. 336–351. Springer, Heidelberg (2010)
5. Di Crescenzo, G., Herranz, J., Sáez, G.: Reducing Server Trust in Private Proxy
Auctions. In: Katsikas, S.K., López, J., Pernul, G. (eds.) TrustBus 2004. LNCS,
vol. 3184, pp. 80–89. Springer, Heidelberg (2004)
6. Elkin, M.: An Improved Construction of Progression-Free Sets. Israeli Journal of
Mathematics 184, 93–128 (2011)
7. Groth, J.: Honest Verifier Zero-Knowledge Arguments Applied. PhD thesis, Uni-
versity of Århus, Denmark (October 2004)
8. Groth, J.: Short Pairing-Based Non-interactive Zero-Knowledge Arguments. In:
Abe, M. (ed.) ASIACRYPT 2010. LNCS, vol. 6477, pp. 321–340. Springer, Heidel-
berg (2010)
9. Groth, J.: Efficient Zero-Knowledge Arguments from Two-Tiered Homomorphic
Commitments. In: Lee, D.H., Wang, X. (eds.) ASIACRYPT 2011. LNCS, vol. 7073,
pp. 431–448. Springer, Heidelberg (2011)
10. Groth, J., Sahai, A.: Efficient Non-Interactive Proof Systems for Bilinear Groups.
Technical Report 2007/155, International Association for Cryptologic Research
(April 27, 2007), http://eprint.iacr.org/2007/155 (version 20100222:192509)
(retrieved in December 2011)
11. Groth, J., Sahai, A.: Efficient Non-interactive Proof Systems for Bilinear Groups.
In: Smart, N. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, pp. 415–432. Springer,
Heidelberg (2008)
12. Hess, F., Smart, N.P., Vercauteren, F.: The Eta Pairing Revisited. IEEE Transac-
tions on Information Theory 52(10), 4595–4602 (2006)
198 R. Chaabouni, H. Lipmaa, and B. Zhang
A Proof of Thm. 1
Proof. Perfect completeness: correctness verifications are straightforward.
Clearly,
R r R r
ê(f, Cf ) =ê(f, g2 f g2,λ
f
1
) = ê(f, g2 f ) · ê(f, g2,λ
f
1
) = ê(f Rf , g2 ) · ê(f rf , g2,λ1 )
=ê(ψf , g2 ) · ê(Af , g2,λ1 ) .
−1 a
Since Ac = g1r g1,λ
a
1
, Ag = g1a and Ag /Ac = (g1 g1,λ1
) , we have that g1a =
g1r+a g1,λ
a−a
1
. Thus, if a = a , one can compute xλ1 ← (a − r − a )/(a − a ), and
from this compute x and thus break the {1 − X λ1 }-PSDL assumption. (To verify
whether x is the correct root, one can check whether g1x = g1,λ1 .) Thus a = a ,
λ1
r+a
and thus also a = r + a and Ag = g1 .
R r r
f
Due to Cf = g2 f g2,λ1
, ψf = g1f , Af = f rf and ê(f, Cf ) = ê(ψf , g2 ) ·
R r r λ1
f
ê(Af , g2,λ1 ), we have ê(f, g2 f g2,λ1
) = ê(g1f , g2 )ê(f rf , g2x ) for unknown x. Tak-
ing the discrete logarithm of the both sides of the last equation, we get that
Rf /sk1 + rf xλ1 /sk1 = rf + rf xλ1 /sk1 , or (rf − rf )xλ1 = Rf − rf · sk1 . Thus,
if rf = rf , then we can compute xλ1 , and find from this x, and thus break the
{1 − X λ1 }-PSDL assumption. Thus, rf = rf and therefore also Cf = g2 f g2,λ
f R r
1
.
rf
Moreover, ψf = g1 = f Rf .
Analogously, we get that rh = rh and therefore Ch = g1Rh g1,λ
rh
1
and ψh = hRh .
R r r
Due to Cf = g2 f g2,λ
f
1
, Ch = g1Rh g1,λ
rh
1
, ψg = g1a , Ac = g1r g1,λ
a
1
, Ag = g1r+a and
r+Rf +Rh +(rf +rh )xλ1
ê(g1 , Cf Ch ) = ê(ψg A−1
c , g2 ) · ê(Ag , g2,λ1 ), we have ê(g1 , g2 )=
r r −r+rxλ1
ê(g1a g1−r g1,λ
−a
1
, g2 ) · ê(g1r+a , g2,λ1 )
= ê(g1a , g2 )
for unknown x. Taking the
discrete logarithm of both sides of the last equation, we get r + Rf + Rh + (rf +
rh )xλ1 = ra − r + rxλ1 . Again, if rf + rh = r, then one can compute xλ1 and
thus also x. Thus, r = rf + rh , and thus also ra = r + Rf + Rh . This means that
r +r a r +r +a
Ac = g1f h g1,λ 1
and (Ag , Af , Ah ) = (g1f h , f rf , hrh ).
Computational Zero-knowledge: we construct the next simulator
(S1 , S2 ). S1 creates a CRS according to the protocol together with a trapdoor
td = (αg , αf , αh , ᾱ, αg,c , x). On input td, S2 creates zf , zh ← Zp . He then sets
z λ1 λ1 z +z λ1
Cf ← g2f , ψf ← f zf /Axf , Ch ← g2zh , ψh ← hzh /Axh , and ψg ← g1f h /Axg .
He creates the knowledge elements (Åg , Åf , Åh , Åc , ψ̊g , C̄f , ψ̊f , C̄h , ψ̊h , Åg/c ) by
using the trapdoor. For example, Åg/c ← (Ag /Ac )αg/c . One can now check that
λ1
the verification succeeds. For example, ê(ψf , g2 )ê(Af , g2,λ1 ) = ê(f zf /Axf , g2 ) ·
λ1
ê(Af , g2,λ1 ) = ê(f zf , g2 )/ê(Axf , g2 )ê(Af , g2,λ1 ) = ê(f zf , g2 ) = ê(f, Cf ), and
−z −z
finally, ê(Ac ψg−1 , g2 ) · ê(g1 , Cf Ch ) = ê(g1 f h Axg Ac , g2 ) · ê(g1 , g2f h ) =
λ1 z +z
1 Introduction
Many real-world applications have benefitted tremendously from the ability to collect
and mine data coming from multiple individuals and organizations. These applications
have also spurred numerous concerns over the privacy of user data. In this paper, we
study how an untrusted aggregator can gather information and learn aggregate statis-
tics from a population without harming individual privacy. For example, consider a
smart grid operator who wishes to track the total electricity consumption of a neigh-
borhood every 15 minutes, for scheduling and optimization purposes. Since such power
consumption data can reveal sensitive information about individual’s presence and ac-
tivities, we wish to perform such aggregation in a privacy-preserving manner.
More generally, we consider the periodic distributed stream aggregation model.
Imagine a group of n users. In every time period, each user has some data point within
a certain range (−Δ, +Δ). An untrusted aggregator wishes to compute the sum of all
users’ values in each time period. Each user considers her data as sensitive, and does
not want to reveal the bit to the untrusted aggregator. How can we allow an untrusted
aggregator to periodically learn aggregate information about a group of users, while
preserving each individual’s privacy?
The problem of privacy-preserving stream aggregation was first studied by Rastogi
et al. [13] and Shi et al. [14]. These two works demonstrate how to combine cryptog-
raphy with differential privacy and achieve O(1)
√ error, while using differential privacy
techniques alone would result in at least Ω( N ) error [3] in this setting1 .
1
The lower bound holds when the aggregator sees all the messages in the protocol, for example,
in the case where each user communicates only with the aggregator.
Specifically, these two works [13,14] both employ special encryption schemes which
work as follows: in each aggregation period, each user encrypts its (perturbed) data
value and sends the encrypted value to the aggregator. The aggregator has a crypto-
graphic capability allowing it to decrypt the sum of all users’ values, but learn nothing
else. In constructing such encryptions schemes, both works [13, 14] rely on the follow-
ing key idea: each user would incorporate a random value into their ciphertext; and the
aggregator’s capability also incorporates a random value. All of these random values
sum up to 0, and would cancel out in the decryption step, such that the aggregator can
recover the sum of all users’ values, but learn nothing else.
One major drawback of these earlier works [13, 14] is that these schemes are not
tolerant of user failures. Even if a single user fails to respond in a certain aggregation
round, the server would not be able to learn anything. This can be a big concern in real-
world applications where failures may be unavoidable. For example, in a smart sensing
applications, where data is collected from multiple distributed sensors, it is quite likely
that some sensor might be malfunctioning at some point, and fails to respond. Failure
tolerance is an important challenge left open by Shi et al. [14] and Rastogi et al. [13].
Techniques. Our main technique for achieving failure tolerance may be of independent
interest. Specifically, we build a binary interval tree over n users, and allow the aggre-
gator to estimate the sum of contiguous intervals of users as represented by nodes in
the interval tree. In comparison with Shi et al. [14], the binary-tree technique allows us
to handle user failures, joins and leaves, with a small logarithmic (or polylog) cost in
terms of communication and estimation error.
More Applications. Apart from the smart grid example mentioned earlier, the dis-
tributed stream aggregation problem is also widely applicable in a variety of problem
domains, such as distributed hot item identification, sensing and monitoring, as well as
medical research. We elaborate more on these applications in the online full version [2].
202 T.-H.H. Chan, E. Shi, and D. Song
Table 1. Comparison between existing schemes and our contributions. The asympototic
bounds hide the privacy parameters and δ. The parameter ρ denotes any constant between 0
and 1. The Õ(·) notation hides a log log n factor.
In our full online technical report [2], we also propose two variants of sampling-based con-
structions, in which a random subset of users respond by sending a perturbed version of their
data. The sampling constructions can be useful in applications where bandwidth efficiency is a
major concern. In particular, for arbitrarily small ρ between 0 and 1, we can achieve error O(ρn)
with O( ρ12 ) words of total communication.
in this area. Our Binary Protocol utilizes Shi et al.’s encryption scheme as a building
block, and we successfully solve the node failure problem.
Dwork et al. [7] study distributed noise generation, however, their scheme requires
interactions among all users.
The use of a binary tree in our construction may be reminiscent of Dwork et al. [9]
and Chan et al. [4], where they use a binary-tree-like construction for a completely
different purpose, i.e., to achieve high utility when releasing statistics continually in a
trusted aggregator setting.
Trust Model. We consider the scenario when the aggregator is untrusted. We think
of the aggregator as the adversary from whom we wish to protect the users’ privacy.
The aggregator does not have access to the users’ bits directly, but may have arbitrary
auxiliary information a priori. Such auxiliary information can be harvested in a vari-
ety of ways, e.g., from public datasets online, or through personal knowledge about a
user. Our constructions ensure individual privacy even when the aggregator may have
arbitrary auxiliary information.
Compromise. We assume a semi-honest model, where compromised users can collude
with the aggregator by revealing their input bits or random noises to the aggregator.
However, we assume that all users honestly use their inputs in the aggregation. The data
pollution attack, where users inflate or deflate their input values, is out of the scope of
204 T.-H.H. Chan, E. Shi, and D. Song
this paper, and can be solved using orthogonal techniques such as [12]. In this paper,
we assume a slightly relaxed model of compromise, where the compromised nodes
are chosen independently from the randomness used in the algorithm (more details in
Section 4).
Key Distribution. We assume that any cryptographic keys or privacy parameters re-
quired are already distributed to the aggregator and users in a separate setup phase ahead
of time. The setup phase needs to be performed only once at system initialization, and
need not be repeated during the periodic aggregation rounds.
We define a transcript π to be the sequence of all messages sent by the users and
the aggregator at the end of the protocol. As we consider protocols with no peer-to-
peer communication, i.e., all communication takes place between the users and the
aggregator, the view of the aggregator during the protocol is essentially the transcript
π.
Users (and the aggregator) may contribute randomness to the protocol, for example,
users will add noise to perturb their input bits. Therefore, we can define a distribution
on the transcripts. Formally, we use the notation Π to denote a randomized protocol,
and use Π(x) to denote the random transcript when the input configuration is x.
In this paper, we consider the computational version of differential privacy, as in
practice it suffices to secure the protocol against computationally-bounded adversaries.
We now define computational differential privacy (CDP), similar to the CDP notion
originally proposed by Mironov et al. [11].
In addition to the users’ data x, the protocol Π also takes a security parameter λ ∈
N. We use the notation Π(λ, x) to denote the distribution of the transcript when the
security parameter is λ and the input configuration is x.
3 Preliminaries
Two noise distributions are commonly used to perturb the data and ensure differential
privacy, the Laplace distribution [8], and the Geometric distribution [10]. The advantage
Privacy-Preserving Stream Aggregation with Fault Tolerance 205
of using the geometric distribution over the Laplace distribution is that we can keep
working in the domain of integers. The geometric distribution is particularly useful
when used in combination with a crypto-system, e.g., our Binary Protocol described in
Section 4. Most crypto-systems work in discrete mathematical structures, and are not
designed to work with (truly) real numbers.
We now define the symmetric geometric distribution.
Definition 2 (Geometric Distribution). Let α > 1. We denote by Geom(α) the sym-
metric geometric distribution that takes integer values such that the probability mass
−|k|
α+1 · α
function at k is α−1 .
The following property of Geom distribution is useful for designing differentially pri-
vate mechanisms that output integer values.
Fact 1 Let > 0. Suppose u and v are two integers such that |u − v| ≤ Δ. Let
r be a random variable having distribution Geom(exp( Δ )). Then, for any integer k,
P r[u + r = k] ≤ exp( ) · P r[v + r = k].
In our setting, changing 1 bit can only affect the sum by at most 1. Hence, it suffices
2α
to consider Geom(α) with α = e . Observe that Geom(α) has variance (α−1) 2 . Since
√
α
α−1 ≤ ln1α = 1 , the magnitude of the error added is O( 1 ). The following diluted
geometric distributions is useful in the description of our protocols.
Definition 3 (Diluted Geometric Distribution). Let 0 < β ≤ 1, α > 1. A random
variable has β-diluted Geometric distribution Geomβ (α) if with probability β it is sam-
pled from Geom(α), and with probability 1 − β is set to 0.
4.1 Intuition
Consider the periodic aggregation scheme proposed by Shi et al. [14], henceforth re-
ferred to as the Block Aggregation (BA) scheme. In the BA scheme, every time period,
206 T.-H.H. Chan, E. Shi, and D. Song
[1,8]
[1,8]
[1,4] [5,8]
[1,4] [5,8]
[3,4] [5,6]
[3,4] [5,6] [1,2] [7,8]
[1,2] [7,8]
F
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
(a) The aggregator obtains block esti- (b) When user 5 fails, the aggregator sums up
mates corresponding to all nodes appear- the block estimates corresponding to the black
ing in the binary interval tree. nodes.
Fig. 1. Intuition for the Binary Protocol
each user sends a perturbed and encrypted version of her data to the aggregator. The ag-
gregator has a cryptographic capability to decrypt the sum of all encrypted values, but
can learn nothing else. The BA scheme achieves O(1) error. and guarantees all users’
differential privacy against polynomial-time adversaries.
Unfortunately, the use of cryptography in the BA scheme introduces the all-or-
nothing decryption model. Therefore, the aggregator learns nothing if a single user fails.
√
The Challenge. On one hand, we have the naive scheme which achieves O( n) error,
and is failure tolerant On the other hand, we have the BA Scheme which achieves O(1)
error (by combining cryptography with differential privacy), but is unfortunately not
failure tolerant. Can we seek middle-ground between these approaches, such that we
can obtain the best of both worlds, i.e., achieve both fault tolerance and small error?
Binary Tree Idea. One idea is to form user groups (henceforth referred to as blocks),
and run the BA Scheme for each block. The aggregator is then able to estimate the sum
for each block. If a subset of the users fail, we must be able to find a set of disjoint
blocks to cover the functioning users. In this way, the aggregator can estimate the sum
of the functioning users. The challenge is how to achieve this with only a small number
of groups.
As depicted in Figure 1, our construction is based on a binary interval tree, hence the
name Binary Protocol. For ease of exposition, assume for now that n is a power of 2.
Each leaf node is tagged with a number in [n]. Each internal node in the tree represents
a contiguous interval covering all leaf nodes in its subtree. As a special case, we can
think of the leaf nodes as representing intervals of size 1. For each node in the tree, we
also use the term block to refer to the contiguous interval represented by the node.
Intuitively, the aggregator and users would simultaneously perform the BA Scheme
for every interval (or block) appearing in the binary tree. Hence, the aggregator would
obtain an estimated sum for each of these blocks. Normally, when n is a power of
2, the aggregator could simply output the block estimate for the entire range [1, n].
However, imagine if a user i fails to respond, the aggregator would then fail to obtain
block estimates for any block containing i, including the block estimate for the entire
range [1, n].
Privacy-Preserving Stream Aggregation with Fault Tolerance 207
Fortunately, observe that any contiguous interval within [n] can be covered by
O(log n) nodes in the binary interval tree. If κ users have failed, the numbers 1 through
n would be divided into κ + 1 contiguous intervals, each of which can be covered by
O(log n) nodes. This means that the aggregator can estimate the sum of the remaining
users by summing up O((κ + 1) log n) block estimates.
Privacy-Utility Tradeoff. We now give a quick and informal analysis of the privacy-
utility tradeoff. It is not hard to see that each user is contained in at most O(log n)
blocks. This means that if a user’s bit is flipped, O(log n) blocks would be influenced.
Roughly speaking, to satisfy -differential privacy, it suffices to add noise proportional
to O( log n ) to each block.
If κ users fail, we would be left with κ + 1 intervals. Each interval can be covered
by O(log n) nodes in the binary tree. Therefore, the final estimate would consist of
O((κ + 1) log n) block estimates. Since each block estimate contains O( log n ) noise,
the final estimate would contain O((κ + 1) log n) copies of such noises. As some pos-
itive and negative noises cancel out, the final estimate would contain noise of roughly
1.5 √
O( (log n) κ+1 ) magnitude.
In the remainder of the section, we first give a formal description of the BA Scheme [14]
used as a building block of the Binary Protocol. Then we formally describe the Binary
Protocol and state the theorems on the privacy and utility tradeoff.
– Setup(m, λ): A one-time setup algorithm, run by a trusted dealer, takes the number
of users m, and a security parameter λ as inputs. It outputs the following:
where params are system parameters, e.g., a description of the selected algebraic
group. Capability cap is distributed to the aggregator, and ski (i ∈ [m]) is a secret
key distributed to user i. The users will later use their secret keys to encrypt, and
the aggregator will use its capability to decrypt the sum, in each aggregation period.
The setup algorithm is performed only once at system initialization, and need not
be repeated for each periodic aggregation round.
– Encrypt(ski , xi , t): During time step t, user i uses ski to encrypt its (possibly per-
turbed) data xi . The user uploads the outcome ciphertext ci to the aggregator.
– Decrypt(cap, {ci }i∈[m] , t): During time step t, after the aggregator collects all users’
ciphertexts {ci }i∈[m] , it calls the decryption algorithm Decrypt to retrieve the sum
i∈[m] xi . Apart from this sum, the aggregator is unable to learn anything else.
The BA scheme relies on the following key idea. In the Setup phase, each user i
(1 ≤ i ≤ m) obtains a secret-key which incorporates a random value ri . The ag-
gregator obtains a capability which incorporates a random value r. Furthermore, the
m
condition r + i=1 ri = 0 is satisfied. In every aggregation period, each user incorpo-
rates its random value ri into its ciphertext. After collecting all ciphertexts from users,
the aggregator can homomorphically “sum up” all ciphertexts, such that the random
values r, r1 , . . . , rm cancel out, and the aggregator can thus decrypt the sum of all
users’ encrypted values. The above is a grossly simplied view of the BA scheme in-
tended to capture the intuition. The full construction is more sophisticated, and requires
additional techniques to allow the random values distributed in the Setup phase to be
reusable in multiple aggregation phases, while still maintaining security.
Input Perturbation. Revealing the exact sum to the aggregator can still harm an in-
dividual’s differential privacy. To guarantee differential privacy, each user adds some
noise to her data before encrypting it.
Recall that in the naive scheme, each user must add one copy of geometric noise to
guarantee its own differential privacy. In the BA Scheme, however, the aggregator can
only decrypt the sum, and cannot learn each individual’s perturbed values. Therefore,
as long as the all users’ noises sum up to roughly one copy of geometric noise, each
user’s differential privacy can be guaranteed. This is why the BA Scheme construction
can guarantee O(1) error.
Let , δ denote the privacy parameters. In every time step t, each user i generates
an independent ri from the diluted geometric distribution Geomβ (α) and computes
i := xi + ri . In other words, with probability β, the noise ri is generated from the
x
geometric distribution Geom(α), and with probability 1 − β, ri is set to 0. Specifically,
1
we choose α := e , and β := min{ m ln 1δ , 1}. This ensures that with high probability,
at least one user has added Geom(e ) noise. More generally, if 1 − γ fraction of the
1
users are compromised, then we set β := min( γm ln 1δ , 1).
The user then computes the ciphertext ci := Encrypt(ski , x i , t), where x
i is the
purtubed data, and uploads the ciphertext to the aggregator.
Privacy-Preserving Stream Aggregation with Fault Tolerance 209
` ´
S ETUP(n, λ, , δ): # run by a trusted dealer A LG U SER xi , t, B(i), {ski,B }i∈B(i) , 0 , δ0 :
1: K ← log2 n + 1
2: 0 ← K , δ0 ← K δ
# Periodic aggregation – user i’s algorithm
3: Give 0 and δ0 to all users.
4: for B ∈ T (n) do 1: for B ∈ B(i) do
1
5: (params, capB , {ski,B }i∈B ) ← 2: β ← min( |B| ln δ10 , 1)
BA.Setup(|B|, λ) 3: r ← Geomβ (e0 )
6: Give params to aggregator and all users. 4: bi,B ← xi + r
x
7: Give capB to the aggregator. 5: ci,B ← BA.Encrypt(ski,B , x
bi,B , t)
8: Give ski,B and |B| to each user i ∈ B. 6: Send ci,B to aggregator.
9: end for 7: end for
λ security parameter
` ´ n total number of users
A LG AGGR S, {capB }B∈T (n) , {ci,B }i∈S,B∈B(i) :
t current round
xi user i’s data in current round
# Periodic aggregation – the aggregator’s set of all blocks corresponding to
T (n)
algorthm nodes in a binary tree of size n
1: Find a set of blocks B to uniquely cover S. , δ privacy parameters
2: s ← 0 ski,B user i’s secret key for block B
3: for B ∈ B do where i ∈ B
4: sB ← BA.Decrypt(capB , {ci,B }i∈B ) capB aggregator’s capability for block B
5: s ← s + sB S set of functioning users
6: end for in current round
7: return the estimated sum s B(i) := {B|B ∈ T (n) and i ∈ B}
B(i)
set of blocks containing user i
Theorem 1 (Computational Differential Privacy of BA). Let > 0, 0 < δ < 1 and
1
β := min{ γm ln 1δ , 1}, where γ is the probability that each user remains uncompro-
mised. If each user adds diluted Geometric noise Geomβ (α) (where α = e ), then at
each time step, the Block Aggregation Scheme is computationally ( , δ)-differentially
private against compromised users.
there are n users, we only need to consider the blocks Bjk such that Bjk ⊆ [n]. Define
T (n) to be the set of all relevant blocks when there are n users.
Setup Phase. Like in the BA Scheme, a one-time trusted setup is performed at system
initialization. A trusted dealer distributes O(log n) secret keys to each user. In partic-
ular, each user i ∈ [n] obtains one secret key corresponding to each block containing
the user (i.e., the path from the i-th leaf node to the root). We use the notation ski,B to
denote user i’s secret key corresponding to the block B.
For each block B ∈ T (n), the trusted dealer issues a capability capB to the aggre-
gator. The aggregator thus receives O(n) capabilities. The parties also agree on other
system parameters including the privacy parameters ( , δ).
Periodic Aggregation: User Algorithm. In each time step t ∈ [n], each user i performs
the following:
For each block B containing the user i, the user generates a fresh random noise r
from the diluted geometric distribution Geomβ (e0 ), where the choice of parameters
β and 0 will be explained later. The user adds the noise ri,B to her input bit xi , and
obtains x i,B using ski,B , i.e., her secret key
i,B := xi + ri,B . The user then encrypts x
corresponding to the block B. Specifically, user i computes
i,B , t)
ci,B := BA.Encrypt(ski,B , x
The final ciphertext ci uploaded to the aggregator is the collection of all ciphertexts,
one corresponding to each block containing the user i.
ci := {ci,B |B ∈ T (n), i ∈ B}
As each user is contained in O(log n) blocks, the ciphertext size is also O(log n).
Intuitively, using the diluted geometric distribution, each user effectively adds a ge-
ometric noise with probability β, and adds 0 noise with probability 1 − β. Notice that
β is smaller if the block size is bigger, since we wish to guarantee that at least one user
added a real geometric noise.
More generally, if each user may be compromised with independent probability 1−γ,
then each (uncompromised) user would choose 0 := K , and β := γ|B| 1
ln δ10 for a
block B whose size is |B|, where δ0 := K . δ
Therefore, to recover the noisy sum for an interval [s, t] ⊆ [n], the aggregator first finds
a set of blocks B to uniquely cover [s, t]. Then, the aggregator decrypts the noisy sum for
each block B ∈ B by calling the decryption algorithm: BA.Decrypt(capB , {ci,B }i∈B ).
The sum of all these block estimates is an estimate of the total sum.
One possible optimization for decryption is to leverage the homomorphic property
of the BA Scheme [14]. Instead of decrypting each individual block estimates, the ag-
gregator can rely on the homomorphic property to compute an encryption of the sum
of all block estimates. In this way, only one decryption operation is required to decrypt
the estimated sum. As mentioned √ in Section 4.7 decryption takes O(n) time using the
brute-force approach, and O( n) time using Pollard’s Rho method.
This concludes the description of our Binary Protocol. Earlier in Section 4.1, we
explained the intuition of the above Binary Protocol with a small-sized example. In the
remainder of this section, we will focus on the privacy and utility analysis.
Theorem 2 (Error Bound with κ-Failed Users). Let > 0 and 0 < δ < 1. Sup-
pose each of the n users remains uncompromised independently with probability γ.
Then, the Binary Protocol can be run such that it is computationally ( , δ)-differentially
private. Moreover, when there are κ failed users, for 0 < η < 1 subject to some
technical condition2, with probability at least 1 − η, the aggregator can estimate
the
1.5
sum of the participating users’ bits with additive error at most O( (log n) · κ+1 γ ·
(log log n + log 1δ ) log η1 ).
First, imagine that the system knows beforehand an upper-bound n = 2K on the total
number of users – if n is not a power of 2, assume we round it up to the nearest power of
2. We will later discuss the case when more than n users actually join. In this case, when
a new user i joins, it needs to contact the trusted dealer and obtain a secret key ski,B for
every block B ∈ T (n) that contains i. However, existing users need not be notified. In
this case, the trusted dealer must be available to register newly joined users, but need
not be online for the periodic aggregation phases. The trusted dealer may permanently
erase a user’s secret key (or the aggregator’s capability) after its issuance.
What happens if more users join than the anticipated number n = 2K ? We propose
2 strategies below.
Key Updates at Every Power of Two. When the number of users exceeds the budget
n = 2K , the trusted dealer sets the new budget to be n := 2K+1 , and issues new
keys and capabilities to the users and aggregator as follows. For every new block B that
forms in T (n ) but is not in T (n), a new secret key (or capaiblity) needs to be issued to
every user contained in B (and the aggregator). Notice that the secret keys for existing
blocks in T (n) need not be updated. In this way, each existing user obtains one addi-
tional secret key, the newly joined user obtains O(log n) secret keys, and the aggregator
obtains O(n) capabilities. Notice that such key updates happen fairly infrequently, i.e.,
every time the number of users reach the next power of 2.
Allocate a New Tree. When the number of users reach the next power 2K of two, the
trusted dealer allocates a new tree of size 2K . For every block in the new tree, the trusted
dealer issues a capability to the aggregator corresponding to that block. For the next 2K
users that join the system, each user is issued O(K) secret keys corresponding to blocks
in the new tree. Hence, the sizes of the trees are 1, 1, 2, 4, 8, ... and so on.
When the aggregator estimates the sum, it will simply sum up the estimate cor-
responding to each tree. Suppose the number of current users is n. Then, there are
O(log n) such trees. A straightforward calculation shows that the additive error made
3
by the aggregator will be Õ( (logn) ) with high probability.
The advantage of this approach is that only the aggregator needs to be notified when
the number of users changes. The existing users need not be notified. Therefore, this
(κ+1) log2 n log2 n
2
The following condition is satisfied certainly when n is large enough: γ
ln δ
≥
exp( log n ) ln η2 .
2
Privacy-Preserving Stream Aggregation with Fault Tolerance 213
approach is particularly suited when making push notifications to users may be difficult
(e.g., when users are frequently offline).
5 Discussions
Faster√Decryption. One limitation of the proposed scheme is that the decryption time
is O( n) using Pollard’s Rho method. As a result, we need the plaintext space to be
polynomially sized. While Sections 4.3 and 4.7 have proposed some methods to make
decryption faster in practice, we also point out that another method would be to replace
the encryption scheme entirely with the encryption scheme used by Rastogi et al. [13].
Basically, the binary tree method can be regarded as a generic approach which can
be applied on top of both the works by Rastogi et al. [13] and Shi et al. [14]. If we
use the scheme by Rastogi et al. [13] as a building block, we remove the constraint of
polynomially-sized plaintext space, at the cost of introducing interactions between the
users and the server (however, still, no peer-to-peer interaction would be needed).
6 Conclusion
We investigated how an untrusted aggregator can learn aggregate statistics about a group
of users without harming each individual’s privacy. Our construction addresses fault tol-
erance, a question left open by earlier works in this area [13,14]. Our construction is de-
sirable in the sense that it requires no peer-to-peer communication (unlike the traditional
approach of Secure Multi-Party Computation), and achieves high utility guarantees.
References
1. Blum, A., Ligett, K., Roth, A.: A learning theory approach to non-interactive database pri-
vacy. In: STOC (2008)
2. Chan, H., Shi, E., Song, D.: Privacy-preserving stream aggregation with fault tolerance. Full
online technical report (2011), http://eprint.iacr.org/2011/722.pdf
3. Chan, H., Shi, E., Song, D.: Tight lower bounds for distributed private data analysis (2011)
(submission)
4. Hubert Chan, T.-H., Shi, E., Song, D.: Private and Continual Release of Statistics. In: Abram-
sky, S., Gavoille, C., Kirchner, C., Meyer auf der Heide, F., Spirakis, P.G. (eds.) ICALP 2010.
LNCS, vol. 6199, pp. 405–417. Springer, Heidelberg (2010)
5. Dwork, C.: Differential Privacy. In: Bugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds.)
ICALP 2006. LNCS, vol. 4052, pp. 1–12. Springer, Heidelberg (2006)
6. Dwork, C.: A firm foundation for private data analysis. Communications of the ACM (2010)
7. Dwork, C., Kenthapadi, K., McSherry, F., Mironov, I., Naor, M.: Our Data, Ourselves: Pri-
vacy Via Distributed Noise Generation. In: Vaudenay, S. (ed.) EUROCRYPT 2006. LNCS,
vol. 4004, pp. 486–503. Springer, Heidelberg (2006)
8. Dwork, C., McSherry, F., Nissim, K., Smith, A.: Calibrating Noise to Sensitivity in Private
Data Analysis. In: Halevi, S., Rabin, T. (eds.) TCC 2006. LNCS, vol. 3876, pp. 265–284.
Springer, Heidelberg (2006)
9. Dwork, C., Naor, M., Pitassi, T., Rothblum, G.N.: Differential privacy under continual ob-
servation. In: STOC (2010)
10. Ghosh, A., Roughgarden, T., Sundararajan, M.: Universally utility-maximizing privacy
mechanisms. In: STOC (2009)
11. Mironov, I., Pandey, O., Reingold, O., Vadhan, S.: Computational Differential Privacy. In:
Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 126–142. Springer, Heidelberg (2009)
12. Przydatek, B., Song, D., Perrig, A.: Sia: secure information aggregation in sensor networks.
In: ACM Sensys (2003)
13. Rastogi, V., Nath, S.: Differentially private aggregation of distributed time-series with trans-
formation and encryption. In: SIGMOD 2010, pp. 735–746 (2010)
14. Shi, E., Chan, H., Rieffel, E., Chow, R., Song, D.: Privacy-preserving aggregation of time-
series data. In: NDSS (2011)
15. Whitney, L.: Microsoft urges laws to boost trust in the cloud,
http://news.cnet.com/8301-1009_3-10437844-83.html
Dynamic Accumulator Based Discretionary
Access Control for Outsourced Storage
with Unlinkable Access
(Short Paper)
Daniel Slamanig
1 Introduction
Ensuring confidentiality, integrity and authenticity when outsourcing organiza-
tional data(bases) to untrusted third parties has been a research topic for many
years [7,10,12]. With the growing popularity of cloud computing, security in dis-
tributed access to data outsourced by “ordinary users” becomes also relevant.
This is underpinned by the fact that so called cloud storage services increasingly
gain in popularity. Besides confidentiality issues, i.e. for many types of data it
may be valuable that the cloud provider (CP) solely has access to encrypted data
but is still able to perform operations like searches on encrypted data [11], many
recent works focus on more subtle privacy issues, i.e. unlinkable and potentially
anonymous access to and operations on data stored in the cloud [3,4,9,13,14].
Some works [3,4,8] thereby focus on mandatory access control (MAC), i.e. ac-
cess control policies for stored data are specified by the cloud provider, and others
[9,14] on discretionary access control (DAC). In the latter scenario, clients can
store data in the cloud and delegate access permissions to other clients - thereby
specifying access control on their own - without the CP being able to determine
who is sharing with whom, link operations (reads, writes) of clients together and
to identify the users. Nevertheless, the CP can be sure that access control is
enforced, i.e. clients need to have adequate permissions for the data.
Our Contribution. In the DAC setting, the access control in a system is en-
forced by a trusted reference monitor. A commonly used approach is to employ
access control lists (ACLs), whereas every data item has its associated ACL
representing a list of users with their corresponding permissions which can be
modified dynamically. Thus, data owners can add or remove other users and their
permissions to or from an ACL. A user who wants to perform an operation on a
data item has to authenticate to the system and the reference monitor decides
(using the corresponding ACL) whether he is allowed to perform the operation.
It is straightforward to use pseudonyms in ACLs to hide the real identities of
users in this setting. However, all operations of a user within the system can be
linked to the user’s pseudonym and achieving unlinkability is not that straight-
forward. We solve this problem and basically our approach is to stick with ACLs,
but to “modify” ACLs in a way that the reference monitor 1) can still decide
if a user is allowed to perform the operation, 2) users can delegate/revoke ac-
cess rights to/from other users but 3) the reference monitor (CP) is not able to
identify users as well as link operations conducted by users together.
We provide two solutions to this problem. The first solutions has the drawback
that convincing the “reference monitor” of holding the respective permission
has proof complexity O(k), where k is the number of authorized users. The
key idea is to have one ACL for every type of permission and data item and
the ACL contains commitments to “pseudonyms”. A user essentially proves to
the “reference monitor” that he possesses one valid pseudonym in the ACL
without revealing which one. The second approach reduces the proof complexity
to O(1) and uses a similar idea, whereas ACLs are represented by cryptographic
accumulators [1]. A cryptographic accumulator allows to represent a set by a
single value (the accumulator) whose size is independent of the size of the set. For
every accumulated value of this set one can compute a witness and having this
witness one can prove in zero-knowledge that one holds a witness corresponding
to one accumulated value without revealing which one. Dynamic accumulators
[6] in addition allow an efficient update of an accumulator by adding elements
to (and possibly deleting elements from) it along with efficient update of the
remaining witnesses. In particular, our second construction relies on a dynamic
accumulator with efficient updates proposed by Camenisch et al. in [5], whereas
efficient updates mean that witnesses can be updated without the knowledge of
accumulator-related secret information by any party.
1
http://aws.amazon.com/s3/
218 D. Slamanig
2
When instantiating the accumulator scheme of [5] the values i are actually group
elements gi and can either be made public or the values gi ||i are signed.
Dynamic Accumulator Based Discretionary Access Control 219
versa (for instance by sharing encrypted messages via Amazon’s Simple Queue
Service). Furthermore, we assume the CP to represent an honest but curious
(passive) adversary and that the CP does not collude with clients.
A First Approach. To provide a better understanding, we begin with a first
approach: Consider a data owner cm , who wants to insert a data item di at CP.
He generates a key pair (skdi , pkdi ) of a signature scheme and chooses suitable
random values sm,i,r , rm,i,r , sm,i,w , rm,i,w and sm,i,d , rm,i,d for an uncondition-
ally hiding commitment scheme, i.e. Pedersen commitments. He computes the
commitments cm,i,r = C(sm,i,r , rm,i,r ) as well as cm,i,w and cm,i,d and signs ev-
ery single commitment using skdi . Then he sends di , the verification key pkdi
along with the commitments and respective signatures to CP. CP checks whether
the single signatures are valid and creates three empty ACLs, ACLdi ,r , ACLdi ,w
and ACLdi ,d for r, w and d permissions respectively and adds the commitments
to the corresponding ACLs.
If cm wants to delegate a permission to another client cj for data item di ,
he simply chooses new random values sj,i,x , rj,i,x for permission x ∈ {r, w, d},
computes and signs the commitments and requests CP to add the commitments
to the respective ACLs (who accepts this if the signatures are valid). Then, he
gives (sj,i,x , rj,i,x ) as well as the parameters for the commitment scheme to cj .
Assume a user wants to perform a r operation for data item di , then he
has to retrieve the respective ACL ACLdi ,r (which we assume has k entries)
and perform " an OR-composition of a ZKP of the opening of a commitment, i.e.
k
P K{(α, β) : l=1 (cl,i,x = C(α, β))}. This proof is an efficient OR-composition of
DL-representation proofs in case of Pedersen commitments, can easily be made
non-interactive and succeeds if cj knows at least one opening for a commitment
in ACLdi ,r . If the verification of this proof succeeds, CP can allow the r op-
eration for data item di , but is not able to identify cj . Nor is CP able to link
different operations of cj together due to employing zero-knowledge OR-proofs.
Obviously, if there is only a single commitment in the ACL, then there will be no
unlinkability. However, it is straightforward for the data owner to initially insert
some dummy commitments into the ACLs, which will provide unlinkability - the
CP cannot distinguish between such dummies and real users.
In order to revoke permission x for dj for client cj , the data owner simply
provides the opening information of the commitment (sj,i,x , rj,i,x ) along with
the signature for the respective commitment to the CP. Then, the CP computes
the commitment, checks the signature and if the verification holds removes the
commitment from ACLdi ,x .
Our Main Construction. The above presented approach is very simple, but
has some drawbacks. Let k be the number of clients in an ACL, then 1) the
representation of every ACL has size O(k), 2) clients have to retrieve k commit-
ments prior to every operation and most importantly 3) the proof complexity
of client’s OR-proofs is O(k). In contrast, within the approach presented below
all these complexities are O(1) and thus independent of the number of clients.
Before going into details, we provide an abstract description of the operations.
The additional input paramsAcc will be discussed subsequently.
220 D. Slamanig
Store(idi , di ): The owner of data item di identified by idi stores (idi , di ) at CP.
Delegate(cj , idi , per, paramsAcc ): Delegate permission per ∈ {r, w, d} for data
item identified by idi to client cj .
Revoke(cj , idi , per, paramsAcc ): Revoke permission per ∈ {r, w, d} for data item
identified by idi for client cj .
Read(idi , paramsAcc ): Read data item di identified by idi . If the client holds the
corresponding permission, di will be delivered, otherwise return ⊥.
Write(idi , di , paramsAcc ): Modify data item di identified by idi to di . If the client
has the corresponding permission, di will be written, otherwise return ⊥.
Delete(idi , paramsAcc ): Delete data item di identified by idi . If the client has the
corresponding permission, di will be deleted, otherwise return ⊥.
services, such an access control model is reasonable and can be deployed quite
easily. Due to increasing privacy demands, a mechanism - as the one proposed
in this paper - can be valuable. We leave the gathering of practical experiences
when deploying our construction in this scenario as important future work.
References
1. Benaloh, J.C., de Mare, M.: One-Way Accumulators: A Decentralized Alternative
to Digital Signatures (Extended Abstract). In: Helleseth, T. (ed.) EUROCRYPT
1993. LNCS, vol. 765, pp. 274–285. Springer, Heidelberg (1994)
2. Boneh, D., Boyen, X.: Short Signatures Without Random Oracles. In: Cachin, C.,
Camenisch, J. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 56–73. Springer,
Heidelberg (2004)
3. Camenisch, J., Dubovitskaya, M., Neven, G.: Oblivious Transfer with Access Con-
trol. In: ACM Conference on Computer and Communications Security, pp. 131–140.
ACM (2009)
4. Camenisch, J., Dubovitskaya, M., Neven, G., Zaverucha, G.M.: Oblivious Transfer
with Hidden Access Control Policies. In: Catalano, D., Fazio, N., Gennaro, R., Ni-
colosi, A. (eds.) PKC 2011. LNCS, vol. 6571, pp. 192–209. Springer, Heidelberg (2011)
5. Camenisch, J., Kohlweiss, M., Soriente, C.: An Accumulator Based on Bilinear
Maps and Efficient Revocation for Anonymous Credentials. In: Jarecki, S., Tsudik,
G. (eds.) PKC 2009. LNCS, vol. 5443, pp. 481–500. Springer, Heidelberg (2009)
6. Camenisch, J., Lysyanskaya, A.: Dynamic Accumulators and Application to Effi-
cient Revocation of Anonymous Credentials. In: Yung, M. (ed.) CRYPTO 2002.
LNCS, vol. 2442, pp. 61–76. Springer, Heidelberg (2002)
7. Ciriani, V., De Capitani di Vimercati, S., Foresti, S., Jajodia, S., Paraboschi, S.,
Samarati, P.: Fragmentation and Encryption to Enforce Privacy in Data Storage.
In: Biskup, J., López, J. (eds.) ESORICS 2007. LNCS, vol. 4734, pp. 171–186.
Springer, Heidelberg (2007)
8. Coull, S.E., Green, M., Hohenberger, S.: Access Controls for Oblivious and Anony-
mous Systems. ACM Trans. Inf. Syst. Secur. 14(1), 10 (2011)
9. Franz, M., Williams, P., Carbunar, B., Katzenbeisser, S., Peter, A., Sion, R., So-
takova, M.: Oblivious Outsourced Storage with Delegation. In: Danezis, G. (ed.)
FC 2011. LNCS, vol. 7035, pp. 127–140. Springer, Heidelberg (2012)
10. Hacigümüs, H., Mehrotra, S., Iyer, B.R.: Providing Database as a Service. In:
ICDE. IEEE (2002)
11. Kamara, S., Lauter, K.: Cryptographic Cloud Storage. In: Sion, R., Curtmola, R.,
Dietrich, S., Kiayias, A., Miret, J.M., Sako, K., Sebé, F. (eds.) FC 2010 Workshops.
LNCS, vol. 6054, pp. 136–149. Springer, Heidelberg (2010)
12. Mykletun, E., Narasimha, M., Tsudik, G.: Authentication and Integrity in Out-
sourced Databases. In: NDSS. The Internet Society (2004)
13. Williams, P., Sion, R., Carbunar, B.: Building Castles out of Mud: Practical Access
Pattern Privacy and Correctness on Untrusted Storage. In: ACM Conference on
Computer and Communications Security, pp. 139–148. ACM (2008)
14. Zarandioon, S., Yao, D(D.), Ganapathy, V.: K2C: Cryptographic Cloud Storage
with Lazy Revocation and Anonymous Access. In: Rajarajan, M., et al. (eds.)
SecureComm 2011. LNICST, vol. 96, pp. 59–76. Springer, Heidelberg (2012)
Privacy Enhanced Access Control
for Outsourced Data Sharing
Abstract. Traditional access control models often assume that the en-
tity enforcing access control policies is also the owner of data and re-
sources. This assumption no longer holds when data is outsourced to a
third-party storage provider, such as the cloud. Existing access control
solutions mainly focus on preserving confidentiality of stored data from
unauthorized access and the storage provider. However, in this setting,
access control policies as well as users’ access patterns also become pri-
vacy sensitive information that should be protected from the cloud. We
propose a two-level access control scheme that combines coarse-grained
access control enforced at the cloud, which provides acceptable com-
munication overhead and at the same time limits the information that
the cloud learns from his partial view of the access rules and the ac-
cess patterns, and fine-grained cryptographic access control enforced at
the user’s side, which provides the desired expressiveness of the access
control policies. Our solution handles both read and write access control.
1 Introduction
The emerging trend of outsourcing of data storage at third parties – “cloud stor-
age” – has recently attracted tremendous amount of attention from both research
and industry communities. Outsourced storage makes shared data and resources
much more accessible as users can retrieve them anywhere from personal com-
puters to smart phones. This alleviates data owner from the burden of data
management and leaves this task to service providers with dedicated resources
and more advanced techniques. By adopting the cloud computing solution, gov-
ernment agencies will drastically save budget and increase productivity by utiliz-
ing low-cost and maintenance-free services available on the Internet rather than
purchasing, designing and installing new IT infrastructure themselves. Similar
benefits could be realized in financial services, health care, education, etc [10].
Security remains the critical issue that concerns potential clients, especially
for the banks and government sectors. A major challenge for any comprehensive
access control solution for outsourced data is the ability to handle requests for
resources according to the specified security policies to achieve confidentiality,
and at the same time protect the users’ privacy. Several solutions have been
proposed in the past [6,8,12,13,15], but none of them considers protecting privacy
of the policies and users’ access patterns as an essential goal. In this paper
we address these privacy requirements and propose a mechanism to achieve
a flexible level of privacy guarantee for the client. We introduce a two-level
access control model that combines fine-grained access control, which supports
the precise granularity for access rules, and coarse-grained access control, which
allows the storage provider to manage access requests while learning only limited
information from its inputs. This is achieved by arranging outsourced resources
into units called access blocks and enforcing access control at the cloud only
at the granularity of blocks. The fine-grained access control within each access
block is enforced at the user’s site and remains oblivious to the cloud. The
mapping between files and access blocks is transparent to the users in the sense
that they can submit file requests without knowing in what blocks the files
are contained. While most existing solutions [2,13,15] focus on read request, we
present a solution that provides both read and write access control.
1.1 Motivation
Traditional access control models often make an implicit assumption that the
entity enforcing access control policies is also the owner of data. However, in
many cases of distributed computing, this assumption no longer holds, and access
control policies are enforced at points which should not have direct access to the
data content itself, such as data outsourced to an untrusted third party. Hence
we need to store data in encrypted form and enforce access control over the
encrypted data. The setting of cloud computing falls into this category. The cloud
servers are considered to be honest but curious. They will follow our proposed
protocol in general, but try to find out as much information as possible based on
their inputs. Hence data confidentiality is not the only security concern. Privacy
becomes one of the major reasons that drives big companies to build their own
private cloud infrastructure rather than making use of the public cloud services.
First of all, access control policies defined by the data owner that govern who
can have access to what data become private information with respect to the
storage provider. For example, suppose that a business newspaper reports that
a secretive company has just hired a new top-level executive who has specialized
in a particular field. By watching what other organizations in the company –
perhaps first research, then development, then procurement and manufacturing
– share access groups with this executive, an observer can learn significant details
about the company’s strategy and progress. This is similar to what military
intelligence agencies do when using traffic analysis to determine an enemy’s
order of battle [7]. In fact, protecting access rules against privacy leakage is a
long-standing problem, and has been studied a lot in the past especially for
enforcing access control in databases [3]. This problem is mitigated by the use of
cryptography as an enforcement mechanism, which translates the access control
problem into the question of key management for decryption keys.
A more challenging task, that cannot be solved by data encryption alone, is
to protect data access patterns from careful observations on the inputs of the
storage provider. Even if data is stored and transferred in an encrypted format,
Privacy Enhanced Access Control for Outsourced Data Sharing 225
traffic analysis techniques can reveal privacy sensitive information. For example,
analysis on the length of encrypted traffic could reveal certain properties of the
enclosed data; access history could disclose a particular user’s access habits and
privileges; access to the same data object from multiple users could suggest a
common interest or collaborative relationship; a ranking of data popularity can
also be built upon access requests that the cloud receives. One trivial solution
is to return all encrypted data upon any access request. However, this comes
with prohibitive communication costs for data transfer as well as storage and
computation costs for decryption at the user’s side, which rules out this obvi-
ous solution. The question of hiding access pattern is challenging while avoiding
work proportional to the total size of all stored files. There have been several
cryptographic solutions that realize the notion of oblivious RAM and manage to
achieve improved amortized complexity for queries while hiding access patterns
[4,11,1,5]. However, such solutions are highly interactive and still require com-
munication polylogarithmic in the size of the database, which in the setting of
large storage cloud providers, weak client devices and expensive network commu-
nication will not be practical (e.g., wireless network communication with limited
bandwidth). Furthermore, they assume that the user submitting the query is the
owner of all data, which does not fit into our scenario where access control is
enforced on data shared by multiple users, not limited to the data owner.
An equally important, but often overlooked, aspect of access control for out-
sourced data is to enforce the write access. Existing solutions often handle only
read requests, which is obviously impractical in a more flexible data sharing sce-
nario. For example, co-workers contribute to the same project document in a
collaborative working environment. While data encryption naturally preserves
authorization of the read access through key management, the procession of
a decryption key implies authorized read access but not necessarily the write.
Therefore, different cryptographic schemes are mandatory to manage read and
write accesses separately. Further, a full-fledged access control solution should
assume no relationship between read and write access rules (a user may have
both types of access, only one of them or none).
Therefore we summarize that a privacy-aware access control solution for data
sharing in outsourced storage needs to meet the following requirements:
1. it provides data confidentiality by implementing a fine-grained cryptographic
access control mechanism;
2. it supports practical and flexible data sharing scheme by handling both read
and write operations in the access control model;
3. it enhances data and user privacy by protecting access control rules and
access patterns from the storage provider.
enabled directly at the cloud through appropriate access control rules that allow
users to retrieve all data that they are authorized to access (i.e. not involving the
actual data owner). Further, the access control rules governing the data sharing
and the data that users access are private information of the users and our goal
will be to protect this information from the cloud provider.
We distinguish the following three roles in this access control model: the data
owner who creates data to be stored at the remote storage in an encrypted for-
mat and regulates who has what access to each part of the data; the data user
who may have read and write access to the protected data; the cloud provider
that stores the encrypted data and responds to access requests. While a solution
that enforces access control solely through encryption of the data and appro-
priate decryption key distribution can achieve complete privacy for the access
patterns and access control rules by allowing users to retrieve the whole en-
crypted database, such an approach will be completely impractical requiring an
enormous amount of communication. We suggest a hybrid solution that offers a
way to trade off privacy and efficiency guarantees. The basic idea behind it is to
provide two levels of access control: coarse-grained and fine-grained. The coarse-
grained level access control will be enforced explicitly by the cloud provider and
it would also represent the granularity at which he will learn the access pattern
of users. Even though the cloud provider will learn the access pattern over all
user requests, he will not be able to distinguish requests from different users,
which would come in the form of anonymous tokens. The fine-grained access
control will be enforced obliviously to the cloud through encryption and would
prevent him from differentiating requests that result in the same coarse-grained
access control decision but have different fine-grained access pattern.
We realize the above two levels of access control by introducing division of the
data resources of the same owner into units called access blocks, which would
represent the coarse-level granularity in the system. Now the cloud provider
would be able to map user requests to the respective access blocks containing
the relevant data only if the user has access to the requested data and without
learning which part of the block is accessed. The provider would also not learn
the reason for no match: missing data or no access authorization. Our solution
does not require users to know the exact access blocks that would contain the
data they are searching for. Files might be moved between different blocks, and
the only information that users would need in order to request them will be
a unique file identifier rather than the id of the current block where the file is
residing. We will enable this oblivious mapping of files to blocks using techniques
from predicate encryption and some extensions to the scheme [9]. Once a user
retrieves the content of the matching block, he would be able to decrypt only the
part of the block, which he is authorized to access. We use the ideas of [13] to
minimize the decryption keys that need to be distributed for fine-grained access
control within access blocks.
While the above suffices for read access control, handling write access control
is a little more subtle. The main issue there is that the cloud would need to allow
users to submit updates for different parts of an access block without learning
Privacy Enhanced Access Control for Outsourced Data Sharing 227
which part are updated, and at the same time prevent users authorized to write
to one file in the block from writing to another file. In order to facilitate this
functionality the cloud provider would accept write updates for blocks only from
users that provide tokens granting them write access to some part of the block
(not revealing which part). These updates will be appended to the content of
the block but also the cloud would obliviously tag the updates with the id of the
file for which the user has been authorized, but without learning which this file
is. We achieve this functionality again through a modification of the searchable
ciphertexts in a predicate encryption scheme.
In this section, we present in detail the two-level access control scheme for read
access only after describing the following techniques applied in our protocol.
3.1 Techniques
– Block Access Setup: data owner runs Setup(1n ), publishes the public
parameters and keeps the master secret key SK. For files id1 , . . . , idn in
each block, he computes SKf = GenKeySK (f ) for f (x) = (x−id1 ) · · · (x−
idn ) and sends SKf to the cloud provider.
– File Access Authorization: data owner provides access to a file id by
sending cid = EncSK (id) to an authorized user.
– File Access Request: user generates a token tid = Rand(cid ) for file id.
– File Access Check: upon receiving a request token t, the cloud computes
DecSKf (t) for each block, and returns those blocks that compute to 1.
– System Setup: At the fine-grained level, files are distributed into access
blocks. Generate a tree graph per block by running Publish(r, o, eo , acl) for
each resource r owned by o with initial ACLs, and encrypt resources using keys
from the tree graph. At the coarse-grained level, each data owner computes
parameters for a predicate encryption scheme. Then he constructs a separate tree
graph over all resources he owns to distribute authorization tokens of the form
cid = EncP K (id) (i.e., now tree nodes contain authorizations tokens rather than
file decryption keys). Finally, data owner computes a key SKf = GenKeySK (f )
per block where f is the polynomial derived from the ids of the files contained
in that block as described above, and gives this key to the cloud provider, which
will use it to obliviously check read access on authorization tokens.
230 M. Raykova, H. Zhao, and S.M. Bellovin
authorization token directly as an update identifier will enable users with only
read access to copy and reuse it later to obtain write privilege. To prevent this
undesired situation, we take advantage of the predicate encryption ciphertexts
constituting access tokens, which allows us to use part of the token as identifier.
We generate predicate that allows users with read access to identify relevant
updates, but this identifier on its own is not sufficient to grant write access.
4.1 Techniques
File Encryption. We apply an asymmetric encryption scheme to handle all
possible combinations of read and write access to a file. Since such scheme is
computationally expensive for large size of data, file content is still encrypted
using a symmetric key (e.g., AES), which is further encrypted under the public
key. Two trees are constructed for key distribution per block – one for the public
(encryption) keys and the other for the private (decryption) keys. These two
trees share the same set of internal nodes for an one to one correspondence
between public and private key pair. Only files readable and writable by the
same set of users can share the same public key pair.
Access Authorization Tokens. Two trees are constructed by each data owner
for the distribution of read and write access tokens respectively.
File Identifiers for Write Updates. We observe that the write authorization
token is a valid encryption for a predicate encryption that provides polynomials
evaluation, and the structure of the encrypted plaintext for access to file id is a
vector of the form (1, id, id2 , . . . , idn ), where n is the number of files placed in
a block. The structure of the ciphertext allows it to be split into parts where
one part is an encryption of the vector (1, id, id2 , . . . , idk ) (k < n, n > 2),
which is no longer a valid write access token for that file, but can still be used
identify file updates for users with read privilege. This can be achieved using a
decryption predicate for a polynomial of degree k that has id as a zero point.
(See Appendix A for details.)
with the same set of nodes to store the public key pkn , with edges determined by
aes
write access rule. For each file id generate a AES key skid for encryption, and
aes
append to the ciphertext Encpkn (skid ). At the coarse-grained level, each data
owner generates two sets of parameters (pk , sk ) and (pk”, sk”) for the predicate
encryption. Then he constructs a tree graph, where each node contains read
access token Encpkra (id) (used by the cloud provider to check the read access)
all updates to the file within the retrieved block). Similarly, construct another
tree to distribute write access tokens Encpkwa (id).
– Access Authorization: At the coarse-grained level, extend the trees with
read and write access tokens with new leaves for the new user and update the
edges according to his read and write permissions. This may involve splitting of
nodes and re-encrypting files with new keys if the user has read access only to a
subset of files that have been encrypted with the same key.
– Write Access Request: At the fine-grained level, obtain the encryption key
pkn for the file to be updated from the write tree. Encrypt the new content
for that file with key pkn . At the coarse-grained level, submit to the cloud a
re-randomized copy of the write authorization token for that file.
– Write Access Check: At the fine-grained level, a user can modify a file
only if he has the encryption key and the write authorization token. Upon read
he will check at the end of a block a list of updates with valid write access
tokens. At the coarse-grained level, the cloud finds if there is a block for which
the authorization token grants write access. The write access token is of the form
(C0 , {C1,i , C2,i }ni=1 ), and the cloud uses the first components (C0 , {C1,i , C2,i }2i=1 )
as an identifier for updates appended to a block.
– Write Access Rule Update: Update per-block trees for encryption keys
and the tree for distributing write access tokens accordingly.
4.3 An Example
To facilitate our discussion, consider a system with five users U = {A, B, C, D,
E}. Let Ro denote the set of resources owner by user o ∈ U , and we have
RA = {r1 , r2 , r3 , r4 }, RB = {r5 , r6 , r7 } and RC = RD = RE = ∅. Access control
lists (ACLs) are used to represent fine-grained level access policies, and the owner
of each resource automatically entails both read and write access privilege. At the
coarse-grained level, user A maintains two blocks b1 = {r1 , r2 } and b2 = {r3 , r4 },
and user B maintains a single block b3 = {r5 , r6 , r7 }.
1. acl read(r1 ) = {A, B, C}, acl write(r1 ) = {A, B, C};
2. acl read(r2 ) = {A, B, C}, acl write(r2 ) = {A, B, C};
3. acl read(r3 ) = {A, E}, acl write(r3 ) = {A};
4. acl read(r4 ) = {A, B, C, E}, acl write(r4 ) = {A, D};
Privacy Enhanced Access Control for Outsourced Data Sharing 233
5 Analysis
5.1 Security Guarantees
Our two-leveled access control scheme provides the following privacy guarantees
for data owners and users in the system:
Read Access. For the privacy of the data owners, the cloud provider does
not learn any of the content of the files that he stores. The cloud learns the
frequency of access to particular blocks but not the exact files that have been
accessed within a block. For users’ privacy, the cloud provider cannot relate
access requests to particular users’, neither can he infer which requests were
submitted from the same user. However, he can observe the block access pattern
from the requests of all users. The data owner does not learn anything about
the access requests for the data.
Write Access. For privacy of the data owners, the cloud provider learns how
often update requests are submitted for each block but without finding out which
files have been written. Similarly to the read requests, write requests coming from
the users are anonymous and unlinkable. Thus the cloud provider cannot learn
anything about the access behavior of a particular user, but only a cumulative
view over the requests from all users.
234 M. Raykova, H. Zhao, and S.M. Bellovin
*1'*!+( *1'*!+(
+1',!-( +1',!-(
,1'.!/!0( ,1'.!/!0(
,**%& ,*,%&
, %& , %& , %&
,*+%& ** *+ *,
. ,+* . . ,
+* .
,*-%& ,*.%& , %&
*- , %&
*.
,+*%& / ,++ / , %&
+*
/ ,
++ /
,++%&
% , %&
0 ,,* 0 ++ 0 ,
,* 0
,,*%& , %&
,*
Fig. 3. Tree graphs per block for read and write access at the fine-grained level
!! !" !# !$ ! "! ! !
"! !
" "" " !! !" !# !$ "
"" "
"! "" "# #
# "# # !! #
Fig. 4. Distribution of read and write access tokens at the coarse-grained level
token and each block. We describe in the following optimization section how we
can reduce the costs estimated here.
Write Access. From the perspective of a data owner, the enforcement of write
access control requires duplication of the tree structures that were necessary for
the read access control but this time with credentials necessary for the write
access. This comes as an overhead in the setup phase when these structures
are computed by the data owner and also each update of the access rules will
necessitate update of both types of trees since the encryption and decryption
(relevant for write and read access) need to be synchronized. Also periodically
the data owner would need to process the blocks and compact the updates for
each file back in its initial memory location. For a user, the size of the blocks
that he receives, and hence the time he needs to locate the file and its updates
at read access, will increase depending on the frequency of the updates for a
block as well as the time period at which the data owner processes the blocks
and brings the updates back in place. The cloud provider would need to transfer
larger blocks including both the original files as well as the updates. He would
need to compute the identification tag for each authorized write update, which
requires constant time.
Optimizations. Some optimizations that help improve the performance of the
scheme are as follows. If the user has enough memory, he can cache both autho-
rization tokens and decryption keys for multiple accesses of the same files. This
optimization applies to the read and the write access tokens as well as the de-
cryption key for read. The only exception is the encryption key for write access
— the user should always derive the current public encryption key for the file,
which he wants to update since if the key has been changed, he will not be able
to detect it and will submit an invalid update. Similarly the user can cache the
identifier of the block in which a file is located and use it in repeated requests,
which will save the search time at the cloud avoiding checks of all blocks. Further
the user can trade-off the privacy guarantee for his request within its block for
smaller communication overhead by revealing the exact memory address of the
file after proving that he is authorized to access the block.
5.3 Discussion
Choosing the granularity for the access blocks in the read and write access control
schemes affects the privacy guarantees for the scheme as well as its efficiency
performance. The right granularity for each specific usage scenario will depend
on the privacy and efficiency requirements for it, the expected patterns of access
to the files and the expected frequency of access control rules’ updates. The
following points should be taken into consideration when choosing how to divide
the files into access blocks: the size of a block should depend on the expected
bandwidth of the clients and the acceptable delays for the system. Files that
contain “complementary” information, i.e., a user is likely to access only one of
a these files (e.g. a file to sell stocks, a file to buy stocks) should be located in
the same block since their access pattern is highly sensitive. Data that requires
236 M. Raykova, H. Zhao, and S.M. Bellovin
frequent updates should be split into smaller blocks since the size of those blocks
will grow faster. Accessing files with frequently changing access rules will require
derivation of the corresponding decryption keys, which is proportional to the
number of files in the block, such files should be located in blocks with fewer
items (that can still be of big size). Since the view of the cloud provider of the
access requests amounts to the frequency at which each access block is matched,
files that are expected to have high access rates should be distributed across
different blocks.
6 Related Work
Existing access control solution in outsourced storage usually apply crypto-
graphic methods by disclosing data decryption keys only to authorized users. [8]
proposed a cryptographic storage system, called Plutus, which arranges files with
similar attributes into filegroups, applying two-level file encryption and distin-
guishes read and write access. [6] designed a secure file system to be layered over
insecure network and P2P file system, like NFS. Each file is attached a meta data
containing the file’s access control list. [15] defines and enforces fine-grained ac-
cess control policies based on data attributes, and delegates most of computation
tasks to untrusted cloud server without disclosing data content. [12] proposed
a cloud storage system, called CloudProof, that enables meaningful security
Service Level Agreements (SLAs) by providing a solution to detect violations
of security properties, namely confidentiality, integrity, write-serializability, and
read freshness. The problem presented in this paper shares some similarity with
the proposals in [14,2]. [14] introduced a practical oblivious data access protocol
using pyramid-shaped database layout and an enhanced reordering techniques
to ensure access pattern confidentiality. [2] proposed a shuffle index structure,
adapting traditional B-tree, to achieve content, access and pattern confidential-
ity in the scenario of outsourced data. All those proposals focus on one or more
aspects, such as scalability, efficiency, minimizing key distribution, etc., but none
of them consider privacy issues as well as write access control.
7 Conclusion
References
1. Damgård, I., Meldgaard, S., Nielsen, J.B.: Perfectly Secure Oblivious RAM without
Random Oracles. In: Ishai, Y. (ed.) TCC 2011. LNCS, vol. 6597, pp. 144–163.
Springer, Heidelberg (2011)
2. De Capitani di Vimercati, S., Foresti, S., Paraboschi, S., Pelosi, G., Samarati, P.:
Efficient and private access to outsourced data. In: Proc. of the 31st International
Conference on Distributed Computing Systems (ICDCS 2011), Minneapolis, Min-
nesota, USA (June 2011)
3. De Capitani di Vimercati, S., Foresti, S., Samarati, P.: Recent advances in access
control. In: Gertz, M., Jajodia, S. (eds.) Handbook of Database Security: Applica-
tions and Trends. Springer (2008)
4. Goldreich, O., Ostrovsky, R.: Software protection and simulation on oblivious
RAMs. Journal of the ACM (JACM) 43(3), 473 (1996)
5. Goodrich, M.T., Mitzenmacher, M.: Privacy-Preserving Access of Outsourced Data
via Oblivious RAM Simulation. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP
2011, Part II. LNCS, vol. 6756, pp. 576–587. Springer, Heidelberg (2011)
6. Goh, E.J., Shacham, H., Modadugu, N., Boneh, D.: Sirius: Securing remote un-
trusted storage. In: Proc. Network and Distributed Systems Security (NDSS) Sym-
posium 2003, pp. 131–145 (2003)
7. Kahn, D.: The Codebreakers. Macmillan, New York (1967)
8. Kallahalla, M., Riedel, E., Swaminathan, R., Wang, Q., Fu, K.: Plutus: Scalable se-
cure file sharing on untrusted storage. In: USENIX Conference on File and Storage
Technologies (2003)
9. Katz, J., Sahai, A., Waters, B.: Predicate Encryption Supporting Disjunctions,
Polynomial Equations, and Inner Products. In: Smart, N.P. (ed.) EUROCRYPT
2008. LNCS, vol. 4965, pp. 146–162. Springer, Heidelberg (2008)
10. Kundra, V.: Tight budget? look to the ‘Cloud’. The New York Times (2011),
http://www.nytimes.com/2011/08/31/opinion/
tight-budget-look-to-the-cloud.html? r=1
11. Pinkas, B., Reinman, T.: Oblivious RAM Revisited. In: Rabin, T. (ed.) CRYPTO
2010. LNCS, vol. 6223, pp. 502–519. Springer, Heidelberg (2010)
12. Popa, R.A., Lorch, J.R., Molnar, D., Wang, H.J., Zhuang, L.: Enabling security in
cloud storage slas with cloudproof. In: Proc. USENIX Annual Technical Confer-
ence, ATC 2011 (2011)
13. De Capitani di Vimercati, S., Foresti, S., Jajodia, S., Paraboschi, S., Pelosi, G.,
Samarati, P.: Encryption-based policy enforcement for cloud storage. In: Proceed-
ings of the 2010 IEEE 30th International Conference on Distributed Computing
Systems Workshops, ICDCSW 2010, pp. 42–51 (2010)
14. Williams, P., Sion, R., Carbunar, B.: Building castles out of mud: practical access
pattern privacy and correctness on untrusted storage. In: Proceedings of the 15th
ACM Conference on Computer and Communications Security, CCS 2008, pp. 139–
148. ACM, New York (2008)
15. Yu, S., Wang, C., Ren, K., Lou, W.: Achieving secure, scalable, and fine-grained
data access control in cloud computing. In: Proceedings of the 29th Conference on
Information Communications, INFOCOM 2010, pp. 534–542. IEEE Press, Piscat-
away (2010)
238 M. Raykova, H. Zhao, and S.M. Bellovin
1 Introduction
The goal of recent smart grid initiatives is to increase the electric grid’s efficiency
by reducing both its monetary and environmental cost. One way to increase effi-
ciency is to alter electricity demand by either shifting some of it to off-peak hours
or better aligning it with intermittent renewable generation. Since directly con-
trolling the grid’s electricity consumption, e.g., by forcibly disconnecting loads,
is infeasible, smart grids focus on incentivizing consumers to change their own
consumption patterns by altering the price of electricity to accurately reflect
generation costs and aggregate demand.
On-site Off-site
Additionally, the meter derives from the master key an opening value for the
commitment oi = H1 (K, ti ) where H1 is a hash function.
Certification and encryption. After deriving Ki and oi , the meter both encrypts
the reading ri using Ki and computes a commitment ci for the reading. More
formally, the meter generates an encrypted reading Eri = E(Ki , ri ) using a
symmetric encryption algorithm, and a commitment ci = g ri · hoi using globally
known constants g, h, and their group. The protocol also requires the meter to
generate cryptographic signatures for each commitment ci . To reduce the nec-
essary computations, the protocol computes batch signatures Sigj for multiple
commitments ci , ci+1 , . . . , ci+k .
Network transmission. After the meter encrypts readings and computes batches
of signatures, it transmits the batches to the consumer’s device (the prover)
via the local network. More formally, for each batch j, the meter transmits the
following tuples to the consumer: {{ti }j , {Eri }j , Sigj }. The commitments need
not be transmitted, which keeps the overheads of the protocol low.
Consumer prover computations. The prover computes the bill’s payment
and its corresponding proof of correctness. First, the prover derives the session
keys Ki = H0 (K, ti ) on the basis of times ti and the master key K; decrypts
the readings ri from Eri = E(Ki , ri ), and derives the opening values from each
commitment as oi = H1 (K, ti ). Then all commitments to readings can be recon-
structed as ci = g ri · hoi using the public parameters of the commitment scheme
and the recovered readings and openings. Finally, a batch of commitments are
accepted as authentic after checking the signature Sigj . This ensures that the
received encrypted readings have not been tampered with. After the readings
and their signed commitments are available, an arbitrary billing function can
be applied to each reading (or aggregates of readings) to establish the final bill.
The prover calculates a ZKP of correctness and provides it to the verifier.
Summary. The details of those computations, and families of functions that
can be practically proved and verified in zero-knowledge are provided in [25]
along with the detailed security proofs for the protocol. To summarize, fine-
grained meter readings are only available to the consumer, while simultaneously
allowing the consumer to self-calculate their bill and ensuring the utility that the
consumer has not manipulated or under-reported the payment. Thus, the utility
has a guarantee over each bill’s authenticity, and the consumer has a guarantee
over their data’s privacy. To resolve disputes, the meter may optionally store
readings and decryption keys to permit audits by a trusted third party.
3500
3000
2500 Intel
Multicore
2000
MIPS
Intel
1500
ARM
Application
1000
500 ARM
Embedded
4 MIPS MSP430 25 MIPS
0
1970 1975 1980 1985 1990 1995 2000 2005 2010
Year
SYS/BIOS [30] and MicroC/OS-III [19]. We write the rest of the implementa-
tion in C, with some minimal amount of assembly code. We describe the par-
ticular details of the ECC implementation in Section 3.5. We focus primarily
on the MSP430 family of microcontrollers with a 16-bit RISC architecture. The
motivation behind this focus is that current deployments already include mi-
crocontrollers in this family. We use the evaluation board MSP-EXP430F5438,
in combination with the microcontrollers MSP430BT5190 and MSP430F5438A.
The board includes an LCD screen and connectors for radio components. We also
use the radio stack CC2567-PAN1327. Both microcontrollers are from the same
family (MSP430x5xx). Shared characteristics include the availability of a hard-
ware multiplier supporting 32-bit operations, size of flash (256 KB), frequency
(25 MHz), and power consumption (∼ 230 μA/MHz in active mode). The man-
ufacturers designed the MSP430BT5190 for use with the radio stack; however,
the MSP430F5438A has a larger RAM (16 KB). In our evaluation, we compare
a few ARM microcontrollers and processors. For this we use readily available
ARM ports for all the libraries mentioned above. We compile our code and the
libraries using IAR Embedded Workbench for ARM version 6.30 [15]. The most
significant difference is that the word size for the multi-precision arithmetic is 32
instead of 16, which we use in the MSP430 implementations. The other micro-
controller board we use is the TI Stellaris Evaluation Board EKB-UCOS3-EVM.
The ARM processors we measure are capable of running full Linux distributions;
nevertheless, we perform the measurements using IAR Workbench as well.
The full ZKP based billing protocol requires the selection of various building
blocks, such as commitment schemes and signatures. The security of these build-
ing blocks may depend on either the strong RSA (SRSA) assumption [6], or on
the discrete logarithm (LRSW) assumption [7]. One important side-effect of
the selection of these building blocks is that in order for the SRSA assump-
tion to hold, the cryptographic operations need to be performed over multi-
plicative groups of integers with large moduli (1,024 to 2,048 bits in length).
However, by leveraging modern Elliptic Curve Cryptography, the designer can
load load
Memory Clock Memory Clock
Fig. 3. Main components of a smart meter. On the left we illustrate a simple meter
with a single microcontroller unit (MCU) that controls the metrologic unit, storage and
communication interfaces. On the right we show a smart meter that replaces the analog
front end with an embedded signal processor (ESP) and has an additional application
processor that controls communication, OS, power monitoring, and analytics.
248 A. Molina-Markham et al.
use building blocks that rely on the discrete logarithm assumption employing
considerably smaller key sizes. Therefore, for the ECC based commitments and
ECDSA implementations, we use the NIST curves P-192 and P-224 [9]. For the
ECC versions of the CL Signatures, we use the pairing-friendly elliptic curves
E(F2379 ) : y 2 + y = x3 + x + 1 and E(Fp ) : y 2 = x3 + Ax + B with a 512-bit
prime p as presented in [29].
The criteria for choosing curve parameters for ECDSA and the commitment
scheme that we used are well known. However, choosing appropriate parameters
for pairing-based cryptography is still an active area of research. That is, to use
an elliptic curve implementation for CL-signatures, we require an appropriate
bilinear map e : G × G → H that is non-degenerate and easy to compute. There
is no unique way to obtain this map using elliptic curve groups G, H. While
most protocols, such as signatures and identity based encryption protocols, are
designed using a type-1 pairing, it is often possible to use a type-3 pairing. The
latter are typically more efficient in practice. In other words, protocols often
assume the existence of a pairing e : G × G → H (type-1). However, in some
cases the designer can implement a protocol that assumes the existence of a
pairing e : G1 × G2 → H with G1 = G2 such that there is no isomorphism
ψ : G2 → G1 (type-3). We choose to implement type-1 pairings on a super-
singular curve defined over GF (2m ) using the ηT pairing [3] and on a super-
singular curve defined over GF (p) using a modified Tate pairing [28]. In order
for the curves to provide an adequate security guarantee, the size of the key must
be large enough so that the corresponding dilogarithm problem in H is hard. For
the purposes of the particular billing protocol described in this paper, we note
that a smart meter needs to compute signatures and not necessarily verify them.
Therefore, we want to make operations on the curve as cheap as possible, even
if that means computing more expensive parings on the consumer’s device. For
more details on pairings, we refer the reader to Devegili et al. [10].
4 Experimental Evaluation
In this section, we evaluate the impact of choosing each of the design variables
overviewed in Section 3. We first describe the impact of choosing a family of mi-
crocontrollers on overall computing performance. Next, we discuss the impact of
choosing an approach for multitasking on the RAM requirements and total cost
size. Finally, we discuss the impact of choosing various cryptographic primitives.
Table 1. Running time of commitments and signatures across multiple platforms. The
tasks are run exclusively and uninterrupted on each of the platforms. The signatures
are performed on 16 bytes of data. DSA uses a 1,024-bit prime p, a 160-bit prime q, and
SHA-256. The timing does not include the generation of randomness, which depends
on the source. Prices are in USD (Sept., 2011).
code size of bnlib was 18 KB. The performance of bnlib and Miracl on non-ECC
arithmetic is comparable. In our experiments, the running times of the same
operation using either library differed by less than 5% of the total computation
time of the operation. The RAM footprint for various functions is summarized
in Table 2. As we can see, given a security level, ECC cryptographic primitives
utilize RAM more efficiently. Similarly, Table 2 shows that given a microcon-
troller and a security level, an improvement in performance of about one order
of magnitud can be achieved by using elliptic curve primitives.
Table 2. On the left we show the running time of commitments (single reading) and
signatures (4 reading batches) on an MSP430F5438A at 25 MHz. These times are
obtained when the algorithms are running exclusively and uninterrupted. We use Miracl
for the elliptic curve versions as described in Section 3. The key sizes are in bits. On
the right we show the RAM utilization for the various algorithms we implement on an
MSP430F5438A all using the Miracl library. The measurements do not include RAM
utilization by an RTOS, a radio stack or I/O.
6 Conclusion
Our evidence supports the notion that ZKP-based billing protocols are econom-
ically feasible. We show that evaluating the cost of a cryptographic solution
in an embedded system such as a smart meter depends first on the family of
microcontrollers used, then on the storage and RAM requirements, and finally
on additional features such as communication and user interface. Our empirical
analyses show that with the use of Elliptic Curve Cryptography, it is possible to
reduce the RAM requirements by about 50% and obtain performance improve-
ments of one order of magnitude, thus obtaining a better performance/cost ratio.
References
1. ARM: ARM Company Milestones (2011), http://www.arm.com/about/
company-profile/milestones.php
2. Balasch, J., Rial, A., Troncoso, C., Geuens, C., Preneel, B., Verbauwhede, I.:
PrETP: Privacy-Preserving Electronic Toll Pricing. In: USENIX Security (2010)
3. Barreto, P., Galbraith, S., Ó’hÉigeartaigh, C., Scott, M.: Efficient Pairing Compu-
tation on Supersingular Abelian Varieties. Designs, Codes and Cryptography (2007)
4. Barry, R.: FreeRTOS-a free RTOS for small embedded real time systems (2006)
5. Bichsel, P., Camenisch, J., Groß, T., Shoup, V.: Anonymous Credentials on a Stan-
dard Java Card. In: Proceedings of the 16th ACM Conference on Computer and
Communications Security (2009)
6. Camenisch, J., Lysyanskaya, A.: A Signature Scheme with Efficient Protocols. In:
Cimato, S., Galdi, C., Persiano, G. (eds.) SCN 2002. LNCS, vol. 2576, pp. 268–289.
Springer, Heidelberg (2003)
7. Camenisch, J., Lysyanskaya, A.: Signature Schemes and Anonymous Credentials
from Bilinear Maps. In: Franklin, M. (ed.) CRYPTO 2004. LNCS, vol. 3152, pp.
56–72. Springer, Heidelberg (2004)
Designing Privacy-Preserving Smart Meters with Low-Cost Microcontrollers 253
1 Introduction
Mobile phones are extraordinarily popular, with adoption rates unprecedented
in the history of product adoption by consumers. Smartphones in particular have
been embraced, with over 296 million of these devices shipped in 2010 [4]. The in-
creasing importance of the mobile computing environment requires functionality
tailored to the limited resources available on a phone. Concerns of portability
and battery life necessitate design compromises for mobile devices compared
to servers, desktops, and even laptops. In short, mobile devices will always be
resource-constrained compared to their larger counterparts. However, through
careful design and implementation, they can provide equivalent functionality
while retaining the advantages of ubiquitous access.
Privacy-preserving computing is particularly well suited to deployment on
mobile devices. For example, two parties bartering in a marketplace may wish
to conveal the nature of their transaction from others, and share minimal infor-
mation with each other. Such a transaction is ideally suited for secure function
evaluation, or SFE. Recent work, such as by Chapman et al. [6], demonstrates
the myriad applications of SFE on smartphones.
2 Background
2.1 Secure Function Evaluation with Fairplay
The origins of SFE trace back to Yao’s pioneering work on garbled circuits [18].
SFE enables two parties to compute a function without knowing each other’s
input and without the presence of a trusted third party. More formally, given
256 B. Mood, L. Letaw, and K. Butler
unrolls variables, transforms the instructions into SHDL, and outputs the file,
either immediately or after further circuit optimizations.
Fairplay’s circuit generation process is very memory-intensive. We performed
a port of Fairplay directly to the Android mobile platform (described further
in Section 4) and found that a large number of circuits were completely unable
to be compiled. We examined the results of circuit compilation on a PC to
determine the scope of memory requirements. From tests we performed on a
64-bit Windows 7 machine, we observed that Fairplay needed at least 245 MB of
memory to run the compilation of the keyed database program, a program that
matches database keys with values and employs SFE for privacy preservation
(described further in Section 4). In order to determine the cause of this memory
usage, we began by analyzing Fairplay’s compiler.
From our analysis, Fairplay uses the most memory during the mapping op-
eration from multi-bit to single-bit instructions. During this phase, the memory
requirements increased by 7 times when the keyed database program ran. We
concluded that it would be easier to create a new system for generating the SHDL
circuit file, rather than making extensive modifications to the existing Fairplay
implementation. To accomplish this, we created an intermediate language that
we called PAL, described in detail in section 3.
As with Fairplay, which is secure in the random oracle model implemented using
the SHA-1 hash function, our threat model accounts for an honest-but-curious
adversary. This means the participants will obey the given protocol but may look
at any data the protocol produces. Note that this assumption is well-described
by others considering secure function and secure multiparty computation, such
as Kruger et al.’s OBDD protocol [10], Pinkas et al.’s SFE optimizations [16],
the TASTY proposal for automating two-party communication [5], Jha et al.’s
privacy-preserving genomics [8], Brickell et al.’s privacy-preserving classifiers [3]
and Huang et al.’s recent improvements to evaluating SFE [6]. Similarly, we
make the well-used assumption that parties enter correct input to the function.
3 Design
Possible Operations
Operation Syntax
Addition DEST + V1 V2
Greater than or Equal to DEST >= V1 V2
Equal to DEST == V1 V2
Bitwise AND DEST & V1 V2
If Conditional DEST IF COND V1 V2
Input line INPUT V1 a (or INPUT V1 b)
Output line INPUT V1 a (or INPUT V1 b)
For loop V1 FOR X (an integer) to Y (an integer)
Call a procedure V1 PROC
Call a function DEST,...,DEST = FunctionName(param, ... ,param)
Multiple Set Equals DEST,...,DEST=V,...,V
3.1 PAL
We first describe PAL, our memory-efficient language for garbled circuit cre-
ation. PAL resembles an assembly language where each instruction corresponds
to a pre-optimized circuit. PAL is composed of at least two parts: variable dec-
larations and instructions. PAL files may also contain functions and procedures.
A full table showing all headings can be found in the full technical report [13]
and is elided here because of space constraints.
Table 1 lists an abbreviated set of operations that are available in PAL along
with their instruction signatures. The full set can be found in our technical
report [13]. Each operation consists of a destination, an operator, and one to
three operands. DEST, V1, V2, and COND are variables in our operation listing.
PAL also has operations not found in Fairplay, such as shift and rotate.
Note that conditionals can be reduced to the IF conditional. Unlike in regular
programs, all parts of an IF circuit must be executed on every run.
The first part of a PAL program is the set of variable declarations. These con-
sist of a variable name and bit length, and the section is marked by a Variables:
label. In this low-level language there are no structs or objects, only integer vari-
ables and arrays. Each variable in a PAL file must be declared before it can be
used. Array indices may be declared at any point in the variable name.
Figure 2 shows an example of variables declared in PAL. Alicekey and Bobkey
have a bit length of 6, Bobin and Aliceout have a bit length of 32, COND is a
boolean like variable which has a bit length of 1, and Array[7] is an array of
seven elements where each have a bit length of 5. All declared variables are
Memory-Efficient Garbled Circuit Generation for Mobile Devices 259
Variables : Instructions :
Alicekey 6 Bobin IN b
Bobin 32 Bobkey IN b
Bobkey 6 Alicekey IN a
Aliceout 32 COND == Alicekey Bobkey
COND 1 Aliceout IF COND Bobin Aliceout
Array [7] 5 Aliceout OUT a
3.2 PALC
Circuits generated by our PALC compiler, which generates SHDL files from PAL,
are created using a database of pre-generated circuits matching instructions to
260 B. Mood, L. Letaw, and K. Butler
their circuit representations. These circuits, other than equality, were generated
using simple Fairplay programs that represent equivalent functionality. Any op-
eration that does not generate a gate is considered a free operation. Assignments,
shifts, and rotates are free.
Variables in PALC have two possible states: they are either specified by a
list of gate positions or they have a real numerical value. If an operation is
performed on real value variables, the result is stored as a real value. These real
value operations do not need a circuit to be created and are thus free.
When variables of two different sizes are used, the size of the operation is
determined by the destination. If the destination is 24 bits and the operands are
32 bits, the operation will be performed 24-bit operands. This will not cause an
error but may yield incorrect results if false assumptions are made.
There are currently a number of known optimizations, such as removing static
gates, which are not implemented inside PALC; these optimization techniques
are a subject of future work.
3.3 FPPALC
To demonstrate the feasibility of compileing non-trivial programs on a phone, we
modified Fairplay’s SFDL compiler to compile into PAL and then run PALC to
compile to SHDL. This compiler is called FPPALC. Compiling in steps greatly
reduces the amount of memory that is required for circuit generation.
We note our compiler will not yield the same result as Fairplay’s compiler
in two cases, which we believe demonstrate erroneous behavior in Fairplay. In
these instances, Fairplay’s circuit evaluator will crash or yield erroneous results.
A more detailed explanation can be found in our technical report [13], To sum-
marize, unoptimized constants in SFDL can cause the evaluator to crash, while
programs consisting of a single if statement can produce inconsistent variable
modifications. Apart from these differences, the generated circuits have equiva-
lent functionality.
For our implementation of the SFDL to PAL compiler we took the original
Fairplay compiler and modified it to produce the PAL output by removing all
elements besides the parser. From the parser we built our own type system,
support for basic expressions, assignment statements, and finally if statements
and for loops. All variables are represented as unsigned variables in the output
but input and other operations treat them as signed variables. Our implemen-
tation of FPPALC and PALC, which compile SFDL to PAL and PAL to SHDL
respectively, comprises over 7500 lines of Java code.
Table 2. FPPALC on Android: total memory application was using at end of stages
and the time it took
Because there are no preconditions about the design of the circuit in the de-
scription of our garbled circuit protocol, any circuit that generates a given result
will work: there are often multiple ways of building a circuit with equivalent
functionality. Additionally, the circuit construction is a composition of existing
circuit templates that were themselves generated through Fairplay-like construc-
tions. Note that the security of Fairplay does not rely on how the circuits are
created but on the way garbled circuit constructs work. Therefore, our circuits
will provide the same security guarantees since our circuits also rely on using
the garbled circuit protocol.
4 Evaluation
4.2 Results
Below the results of the compile-time tests performed on the HTC Thunderbolts.
We measured memory allocation and time required to compile, for both the
Fairplay and PAL compilers. In the latter case, we have data for compiling to
and from the PAL language. Our complete compiler is referred to FPPALC in
this section.
Memory Usage & Compilation Time. Table 2 provides memory and execu-
tion benchmarks for circuit generation, taken over at least 10 trials per circuit.
We measure the initial amount of memory used by the application as an SFDL
file is loaded, the amount of memory consumed during the SFDL to PAL com-
pilation, and memory consumed at the end of the PAL to SHDL compilation.
As an example of the advantages of our approach, we successfully compiled a
set intersection of size 90 that had 33,000,000 gates on the phone. The output
file was greater than 2.5 GB. Android has a limit of 4 GB per file and if this was
not the case we believe we could have compiled a file of the size of the memory
card (30 GB). This is because the operations are serialized and the circuit never
has to fully remain in memory.
Although we did not focus on speed, Table 2 gives a clear indication of where
the most time is used per compilation: the PAL to SHDL phase, where the circuit
is output. The speed of this phase is directly related to the size of the program
that is being output, while the speed of the SFDL to PAL compliation is related
to the number of individual instructions.
Memory (KB)
Program Fairplay FPPALC
Millionaires 658 296
Billionaires 1188 441
CoinFlip 1488 384
KeyedDB 16 NA 688
SetInter 2 10667 469
SetInter 4 NA 522
SetInter 8 NA 617
Levenshtein Dist 2 NA 392
Levenshtein Dist 4 NA 405
Levenshtein Dist 8 NA 429
with set 2, FPPALC uses 469 KB of memory versus 10667 KB by Fairplay, a re-
duction of 95.6%. Testing showed that the largest version of the keyed database
problem that Fairplay could handle is with a database of size 10, while we easily
compiled the circuit with a database of size 16 using FPPALC.
Circuit Evaluation. Table 4 depicts the memory and time of the evaluator
running the programs compiled by FPPALC. Consider again the two parties Bob
and Alice, who create and receive the circuit respectively in the garbled circuit
protocol. This table is from Bob’s perspective, who has a slightly higher memory
usage and a slightly lower run time than Alice. We present the time required
to open the circuit file for evaluation and to perform the evaluation using two
different oblivious transfer protocols. Described further below, we used both
Fairplay’s evaluator and an improved oblivious transfer (OT) protocol developed
by Nipane et al. [15]. Note that Fairplay’s evaluator was unable to evaluate
264 B. Mood, L. Letaw, and K. Butler
Table 5. Results from programs compiled with Fairplay on a PC evaluated with Nipane
et al.’s OT
programs with around 20,000 mixed two and three input gates on the phone.
This limit translates to 209 32-bit addition operations in our compiler.
While the circuits we generate are not optimized in the same manner as
Fairplay’s circuits, we wanted to ensure that their execution time would still
be competitive against circuits generated by Fairplay. Because of the limits of
generating Fairplay circuits on the phone, we compiled them using Fairplay on a
PC, then used these circuits to compare evaluation times on the phone. Table 5
shows the results of this evaluation. Programs denoted with a + required edits
to the SHDL to run in the evaluator, in order to prevent their crashing due
to the issues described in Section 3.3. In many cases, evaluating the circuit
generated by FPPALC resulted in faster evaluation. One anomaly to this trend
was Levenshtein distance, which ran about three times slower using FPPALC.
We speculate this is due to the optimization of constant addition operations and
discuss further in Section 5. Note, however, that these circuits are unable to be
generated on the phone using Fairplay and require pre-compilation.
4.3 Interoperability
To show that our circuit generation protocol can be easily used with other im-
proved approaches to SFE, we used the faster oblivious transfer protocol of Nipane
et al. [15], who replace the OT operation in Fairplay with 1-out-of-2 OT scheme
based on a two-lock RSA cryptosystem. Shown in Table 5, these provide an over
24% speedup for the Billionaire’s problem and 26% speedup for the Coin Flip pro-
tocol. On average, there was an 13% decrease in evaluation time across all prob-
lems. For the Millionaires, Billionaires, and CoinFlip programs we disabled Na-
gle’s algorithm as described by Nipane et al., leading to better performance on these
problems. The magnitude of improvement decreased as circuits increased in size,
a situation we continue to investigate. Our main findings, however, are that our
memory-efficient circuit generation is complementary to other approaches that fo-
cus on improving execution time and can be easily integrated.
Memory-Efficient Garbled Circuit Generation for Mobile Devices 265
(a) (b)
5 Discussion
To demonstrate how our memory-efficient compiler can be used in practice, we
developed Android apps capable of generating circuits at runtime. We describe
these below.
If the passwords are ever lost, Alice and Bob can jointly recover the passwords;
both must present their master passwords to decrypt the password file, ensuring
that neither can be individually coerced to retrieve the contents. Figure 5(b)
shows a screenshot of this application. which can encrypt passwords from the
user or decrypt those in the database.
Our evaluation shows that compiling the password SFDL program requires
915 KB of memory and approximately 505 ms, with 60% of that time involving
the PAL to SHDL conversion. Evaluating the circuit is more time intensive.
Opening the file takes 2 seconds, and performing the OTs and gate evaluation
takes 6.5 seconds. We are exploring efficiencies to reduce execution time.
A major takeaway from our implementation was cognizance of the large burden
on mobile devices caused when complete circuits must be kept in memory. Better
solutions only use small amounts of memory to direct the actual computation,
for instance, one copy of each circuit even if n statements are required.
The largest challenge for many other approaches is the need for the full circuit
to be created. Circuits for O(n2 ) algorithms and beyond scale extremely poorly.
A different approach is needed for larger scalability. For instance, doubling the
Levenshtien distance n paremeter increased the circuit size by a factor of about
4.5 (decreasing the larger n grows), when n is 8 there are 11,268 gates, 16 is
51,348 gates, 32 is 218,676 gates, and 64 is 902,004 gates.
Our original version of PAL did not scale well due to its lack of loops, arrays,
procedures, or functions. Once these structures were added, the length of PAL
programs decreased dramatically. Instead of unrolling all programming control
flow constructs we added them for smaller PAL programs, creating largely iden-
tical circuits with much fewer instructions.
6 Related Work
Other research has primarily focused on optimizing the actual evaluation for
SFE, while we focus on generating circuits in a memory efficient manor.
Kolesnikov et al. [9] demonstrated a “free XOR” evaluation technique to im-
prove execution speed, while Pinkas et al. [16] implement techniques to reduce
circuit size of the circuits and computation length. We plan to implement these
enhancements in the next version of the circuit evaluator.
Huang et al. [7] have similarly focused on optimizing secure function evalua-
tion, focusing on execution in resource-constrained environments. The approach
differs considerably from ours in that users build their own functions directly at
the circuit level rather than using high-level abstractions such as SFDL. While
the resulting circuit may execute more quickly, there is a burden on the user
to correctly generate these circuits, and because input files are generated at
the circuit level in Java, compiling on the phone would require a full-scale Java
compiler rather than the smaller-scale SFDL compiler that we use.
Memory-Efficient Garbled Circuit Generation for Mobile Devices 267
Another way to increase the speed of SFE has been to focus on leverag-
ing the hardware of devices. Pu et al. [17] have considered leveraging Nvidia’s
CUDA-based GPU architecture to increase the speed of SFE. We have con-
ducted preliminary investigations into leveraging vector processing capabilities
on smartphones, specifically single-instruction multiple-data units available on
the ARM Cortex processing cores found within many modern smartphones, as
a means of providing better service for certain cryptographic functionality.
Kruger et al. [10] described a way to use ordered binary decision diagrams
(OBDDs) to evaluate SFE, which can provide faster execution for certain prob-
lems. Our future work will involve determining whether the process of preparing
OBDDs can benefit from our memory-efficient techniques. TASTY [5] also uses
different methods of privacy-preserving computation, namely homomorphic en-
cryption (HE) as well as garbled circuits, based on user choices. This approach
requires the user to explicitly choose the computation style, but may also benefit
from our generation techniques for both circuits and the homomorphic construc-
tions. FairplayMP [2] showed a method of secure multiparty computation. We
are examining how to extend our compiler to become multiparty capable.
7 Conclusion
We introduced a memory efficient technique for making SFE tractable on the
mobile platform. We created PAL, an intermediate language, between SFDL and
SHDL programs and showed that by using pre-generated circuit templates we
could make previously intractable circuits compile on a smartphone, reducing
memory requirements for the set intersection circuit by 95.6%. We demonstrate
the use of this compiler with a GUI editor and a password vault application. Fu-
ture work includes incorporating optimizations in the circuit evaluator and de-
termining whether the pre-generated templates may work with other approaches
to both SFE and other privacy-preserving computation primitives.
References
1. Bellare, M., Micali, S.: Non-interactive oblivious transfer and applications. In: Bras-
sard, G. (ed.) CRYPTO 1989. LNCS, vol. 435, pp. 547–557. Springer, Heidelberg
(1990)
268 B. Mood, L. Letaw, and K. Butler
2. Ben-David, A., Nisan, N., Pinkas, B.: FairplayMP: a System for Secure Multi-
Party Computation. In: 15th ACM Conference on Computer and Communications
Security, CCS 2008, pp. 257–266. ACM, New York (2008)
3. Brickell, J., Shmatikov, V.: Privacy-Preserving Classifier Learning. In: Dingledine,
R., Golle, P. (eds.) FC 2009. LNCS, vol. 5628, pp. 128–147. Springer, Heidelberg
(2009)
4. Gartner: Gartner Says Worldwide Mobile Device Sales to End Users Reached 1.6
Billion Units in 2010; Smartphone Sales Grew 72 Percent in 2010 (2011),
http://www.gartner.com/it/page.jsp?id=1543014
5. Henecka, W., Kögl, S., Sadeghi, A.-R., Schneider, T., Wehrenberg, I.: TASTY: Tool
for Automating Secure Two-Party Computations. In: Proc. 17th ACM Symposium
on Computer and Communications Security, CCS 2010, Chicago, IL (October 2010)
6. Huang, Y., Chapman, P., Evans, D.: Privacy-Preserving applications on smart-
phones: Challenges and opportunities. In: Proceedings of the 6th USENIX Work-
shop on Hot Topics in Security (HotSec 2011) (August 2011)
7. Huang, Y., Evans, D., Katz, J., Malka, L.: Faster Secure Two-Party Computation
Using Garbled Circuits. In: Proceedings of the 20th USENIX Security Symposium,
San Francisco, CA (August 2011)
8. Jha, S., Kruger, L., Shmatikov, V.: Towards Practical Privacy for Genomic Com-
putation. In: Proceedings of the 2008 IEEE Symposium on Security and Privacy,
Berkeley, CA, USA, pp. 216–230 (November 2008)
9. Kolesnikov, V., Schneider, T.: Improved Garbled Circuit: Free XOR Gates and
Applications. In: Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., In-
gólfsdóttir, A., Walukiewicz, I. (eds.) ICALP 2008, Part II. LNCS, vol. 5126, pp.
486–498. Springer, Heidelberg (2008)
10. Kruger, L., Jha, S., Goh, E.-J., Boneh, D.: Secure Function Evaluation with Or-
dered Binary Decision Diagrams. In: Proceedings of the 13th ACM conference on
Computer and Communications Security (CCS 2006), Alexandria, VA (October
2006)
11. Malkhi, D., Nisan, N., Pinkas, B.: Fairplay Project,
http://www.cs.huji.ac.il/project/Fairplay/
12. Malkhi, D., Nisan, N., Pinkas, B., Sella, Y.: Fairplay: a Secure Two-Party Com-
putation System. In: Proceedings of the 13th USENIX Security Symposium, San
Diego, CA (2004)
13. Mood, B., Letaw, L., Butler, K.: Memory-Efficient Garbled Circuit Generation for
Mobile Devices. Technical Report CIS-TR-2011-04, Department of Computer and
Information Science, University of Oregon, Eugene, OR, USA (September 2011)
14. Naor, M., Pinkas, B.: Efficient Oblivious Transfer Protocols. In: Proceedings of
SODA 2001, Washington, DC (2001)
15. Nipane, N., Dacosta, I., Traynor, P.: “Mix-In-Place" Anonymous Networking Using
Secure Function Evaluation. In: Proceedings of the Annual Computer Security
Applications Conference (ACSAC) (December 2011)
16. Pinkas, B., Schneider, T., Smart, N.P., Williams, S.C.: Secure Two-Party Compu-
tation Is Practical. In: Matsui, M. (ed.) ASIACRYPT 2009. LNCS, vol. 5912, pp.
250–267. Springer, Heidelberg (2009)
17. Pu, S., Duan, P., Liu, J.-C.: Fastplay–A Parallelization Model and Implementation
of SMC on CUDA based GPU Cluster Architecture. Cryptology ePrint Archive,
Report 2011/097 (2011), http://eprint.iacr.org/
18. Yao, A.C.-C.: How to Generate and Exchange Secrets. In: Proceedings of the
27th IEEE Annual Symposium on Foundations of Computer Science (FOCS),
pp. 162–167. IEEE Computer Society, Washington, DC (1986)
Oblivious Decision Programs
from Oblivious Transfer: Efficient Reductions
1 Introduction
The client/server paradigm for computation and data retrieval is arguably the
most common model for interaction over the internet. The majority of the ser-
vices currently provided over the web are laid out in this framework wherein
an often more resourceful entity (i.e. the server) provides its services to a large
pool of clients. The need for the client/server model is even more justified given
the widespread use of (small) mobile devices with varying computational and
storage capacities.
Most client-server applications, in one way or another, deal with personal
and/or sensitive data. Hence, it is not surprising that the protocols designed
in this model have been the subject of extensive study by the cryptographic
community. A few notable examples include private information retrieval and
its extensions [15,9,13], or the more recent effort on securely outsourcing com-
putation [10,7].
Communication vs. Computation. Consider the problem of symmetric private
information retrieval (SPIR) [15,5,16]. SPIR refers to a PIR scheme with the ad-
ditional security requirement that the server’s database also be kept private. The
majority of the research on this problem is focused on improving the commu-
nication complexity, because communication between the client and the server
is often considered to be the most expensive resource. Despite achieving this
goal, other barriers continue to limit realistic deployment of SPIR schemes; the
most limiting of which is computation. In particular, while servers often have
higher computational resources, they also need to serve a large pool of clients;
consequently, even a small increase in the computation of the server for a single
run of the protocol, negatively affects its overall performance. Furthermore, a
number of experimental studies [24,22] conclude that, in many network setups
where private database queries are likely to be deployed, it is the computation
(and not the communication) that might be the performance bottleneck.1
Unfortunately, given the security requirements for SPIR schemes (or even
PIR), it is possible to show that the server’s work has to be at least linear in
the size of his database (e.g. see [3]). Hence, there is no hope of achieving better
asymptotic efficiency. Nevertheless, the type of operations (e.g. asymmetric vs.
symmetric-key) the server performs has a significant effect on the efficiency of the
resulting scheme. This is particularly important in real applications since based
on existing benchmarks (e.g. http://bench.cr.yp.to) asymmetric operations (e.g.
exponentiation) require several thousand times more cpu cycles compared to
their symmetric-key counterparts. In all the constructions we are aware of for
SPIR, except for one, the number of exponentiations the server has to perform
is at least linear in the size of his database. The exception is the construction of
Naor and Pinkas [19,21], who studied the problem under the different name of
1-out-of-N oblivious transfer (OT1N ).
The situation, however, is not the same for most of the generalized vari-
ants of SPIR. A number of generalizations and extensions to SPIR have been
studied in the literature. Examples include private keyword search [6,9], private
element rank [8], and even more generally, the problem of oblivious decision
tree, and branching program evaluation [13,4]. The existing solutions for these
problems often require a number of public-key operations that is proportional
to the server’s input size and hence are not computationally efficient for use in
practice. The only exception (with a small number of asymmetric operations) is
Yao’s garbled circuit protocol which is unsuitable for our applications due to its
high computational cost for the client (see the related work section for a more
detailed discussion).
Why OT extension does not solve the problem. OT extension techniques (e.g.
[12]) are often used to reduce the number of asymmetric operations in crypto-
1
The experimental studies we cite here, focus on PIR but the implications are even
more valid for SPIR schemes.
Oblivious Decision Programs from Oblivious Transfer: Efficient Reductions 271
graphic constructions. They allow one to reduce the computation needed for a
large number (n) of 1-out-of-2 OTs, to k such OTs, and O(n) symmetric-key
operations, where k is the security parameter. This yields significant savings
when n is large. One may wonder whether similar techniques can be applied
to the existing solutions for the problems we are studying in order to reduce
their computation. Specifically, the constructions of [15,13] can be seen as eval-
uation of many OTs which makes them suitable candidates for OT extension.
These constructions, however, require additional properties from the underlying
OT such as (i) short OT answers since the OT protocol is applied in multi-
ple layers and (ii) a strongness property which requires the OT answer not to
reveal the corresponding OT query (see future sections for more detail). Unfortu-
nately, the existing OT extension techniques do not preserve either one of these
properties and hence cannot be used to improve the computational efficiency
of these solutions. Designing new extension techniques that preserves the above
two properties is, however, an interesting research question.
In this work, we propose new and efficient protocols for oblivious tree and
branching program evaluation which possess the following four efficiency prop-
erties:
- The number of exponentiations by both the client and the server is indepen-
dent of the size of the server’s input.
- The client’s total computation is independent of the size of the server’s input.
- Our protocols are black-box constructions based on OT12 and a PRG, and
hence can be instantiated using a number of assumptions.
- The protocols are non-interactive (one round) if the underlying OT12 is.
Oblivious evaluation of trees. Our first protocol deals with secure evaluation
of arbitrary decision trees that are publicly known by both the client and the
server, but where the input to the decision tree is only known to the client and
the labels of the terminal nodes are only known to the server. This problem has
a number of interesting applications. For example, 1-out-of-N oblivious transfer
can be seen as an instance of this more general problem. In fact, our protocol
yields a new and more efficient 1-out-of-N OT, that reduces the number of
symmetric-key operations needed by the scheme of [19] from O(N log N ) to
O(N ), while maintaining the same asymmetric (O(log N )) and communication
(O(kN )) complexities.
272 P. Mohassel and S. Niksefat
Hiding the tree structure. Our first protocol mentioned above hides the leaf
labels but assumes that the decision tree itself is public. We apply a number of
additional tricks to hide all the structural information about the decision tree
(except for its size), without increasing the computational cost for the client
or the server. Once again, the resulting protocol preserves the above-mentioned
efficiency properties. Unlike our first protocol, for this construction we need a
OT12 protocol with the slightly stronger security property that, the OT answers
are not correlated with their corresponding queries. This notion of security for
OT and its instantiation based on standard assumptions has already been studied
by Ishai and Paskin [13] (see section 2.3).
2 Preliminaries
In this section, we introduce the notations, decision program definitions and the
primitives we use throughout the paper. Readers can refer to the full version [18]
for the security definitions we work with.
2.1 Notations
We denote by [n] the set of positive integers {1, . . . , n}. We use ← to denote
$
one definition below for both models under the name of decision programs. If the
directed acyclic graph we mention below is a tree, then we have a decision tree
and otherwise we have a branching program. The description and the notations
are mostly borrowed from [13].
Definition 1 (Decision Program (DP)). A (deterministic) decision program
over the variables x = (x1 , . . . , xn ) with input domain I and output domain O
is defined by a tuple (G = (V, E), v1 , T, ψV , ψT , ψE ) where:
– G is a directed acyclic graph (e.g. a binary tree as a special case). Denote by
Γ (v) the children set of a node v.
– v1 is an initial node of indegree 0 (the root in case of a tree). We assume
without loss of generality that every u ∈ V − {v1 } is reachable from v1 .
– T ⊆ V is a set of terminal nodes of outdegree 0 (the leaves in case of a tree).
– ψV : V − T → [n] is a node labeling function assigning a variable index from
[n] to each nonterminal node in V − T .
– ψT : T → O is a node labeling function asigning an output value to each
terminal node in T .
– ψE : E → 2I is an edge labeling function, such that every edge is mapped to
a non-empty set, and for every node v the sets labeling the edges to nodes in
Γ (v) form a partition of I.
In this paper, for simplicity, we describe our protocols for binary decision pro-
grams. But, it is easy to generalize our constructions to t-ary decision protocols
for arbitrary positive integers t.
Definition 2 (Binary DP). A binary decision program is simply formed by
considering I = {0, 1}. Also for simplicity instead of the children set function Γ ,
we define ΓL (v) and ΓR (v) which output the variable indices of the left and right
children of v. Since edge labeling are fairly obvious for binary decision programs,
we often drop ψE when discussing such programs.
Definition 3 (Layered DP). We say that P = (G =
(V, E), v1 , T, ψV , ψT , ψE , ψ ) is a layered decision program of length if
the node set V can be partitioned into + 1 disjoint levels V = ∪i=0 Vi , such
that V1 = {v1 }, V+1 = T , and for every e = (u, v) we have u ∈ Vi , v ∈ Vi+1
for some i. We refer to Vi as the i-th level of P . Note that we also introduced
the function ψ : V → [ ] which takes a vertex as input and returns its level as
output.
Protocol Overview. Our first protocol deals with secure evaluation of arbitrary
decision trees (P = ((V, E), v1 , T, ψV )) that are publicly known by both the
client and the server, but where the input to the decision tree (X = x1 x2 . . . xn ∈
{0, 1}n ) is only known to the client and the labels of the terminal nodes (ψT )
are only known to the server.
The Protocol 1
Shared Inputs: The security parameter k, and - Server encrypts the non-terminal
a binary decision tree P = ((V, E), v1 , T, ψV ) nodes:
with O = {0, 1}k (note the missing ψT ). Par- for i ∈ V − T do
0
(i) ⊕ P AD[ΓL (i)]
ties also agree on a 1-out-of-2 OT protocol EncL = Kψ
(GOT , QOT , AOT , DOT ) and a PRG G : {0, 1}k → 1
V
EncR = Kψ ⊕ P AD[ΓR (i)]
{0, 1}2k . V (i)
EV V [i] ←G(P AD[i]) ⊕ (EncL ||EncR )
Server’s Input: The terminal node labeling func- end for
tion ψT . - Server encrypts the labels of the terminal
nodes:
Client’s Input: A bitstring X = x1 x2 . . . xn ∈ for i ∈ T do
{0, 1}n . EV V [i] ← P AD[i] ⊕ ψT (i)
end for
−−−→
1. The client encrypts his inputs using OT 4. Server sends (a, P AD[1], EV V ) to the
queries, and sends them to the server. client.
Client computes (pk, sk) ← GOT (1k ) 5. Client retrieves the keys and
for 1 ≤ i ≤ n do computes the final output.
Client computes qi ← QOT (pk, 12 , 1k , xi )
end for node ← 1
Client sends pk and q = (q1 , q2 , . . . , qn ) to pad ← P AD[1]
Server. while node ∈ / T do
parse
2. Server computes the OT answer vector EncL ||EncR ←− EV V [node]⊕G(pad)
a.
for 1 ≤ i ≤ n do i ← ψV (node)
x
$ Ki i ← DOT (sk, ai )
(Ki0 , Ki1 ) ← {0, 1}k
0 1 if (xi = 0) then
ai ←AOT (pk, qi , Ki , Ki )
newpad ← Ki0 ⊕ EncL
end for
newnode ← ΓL (node)
a ← (a1 , a2 , . . . , an )
else
3. Server prepares the Encrypted Vertex
−−−→ newpad ← Ki1 ⊕ EncR
Vector EV V . newnode ← ΓR (node)
- Server generates a random end if
pad vector P AD of length pad ← newpad
|V |: node ← newnode
for i = 1 to |V | do end while
$
P AD[i] ← {0, 1}k Client outputs (pad ⊕ EV V [node]) as his
end for final output.
In our protocol, a pair of random keys (Kx0i , Kx1i ) is generated for each xi , and
is used by the server as his input in the n 1-out-of-2 OTs. The idea is then to
generate a set of random pads, one for each node in the decision tree. Each node
stores a pair of values, i.e. the two random pads corresponding to its left and
right children. However, this pair of values is not stored in plaintext. Instead, the
left (right) component of the pair is encrypted using a combined key formed by
XORing the left-half (right-half) of the expanded pad (expanded using a PRG)
for the current node with Kx0i (Kx1i ) where i is the label of the current node. The
encryption scheme is a simple one-time pad encryption. The encrypted values
−−−→
are stored in a vector we call the Encrypted Vertex Vector (EV V ).
The client who receives one of each pair of random keys, can then use them
to decrypt a single path on the tree corresponding to the evaluation path of
Oblivious Decision Programs from Oblivious Transfer: Efficient Reductions 277
his input X, and recover his output, i.e. the output label associated with the
reached terminal node. As we show in the proof, the rest of the terminal node
labels remain computationally hidden from the client. A detailed description of
the protocol is depicted in the box for the protocol 1.
Security. In the full version of the paper [18] we show that as long as the
oblivious transfer protocol used is secure even when executed in parallel, so is
our construction given above. Particularly, if the OT is secure against malicious
(semi-honest) adversaries (when run in parallel), protocol 1 described above is
also secure against malicious (semi-honest) adversaries. The following Theorem
formalizes this statement.
We will show how to securely formulate via decision programs, other proto-
cols such as the private keyword search problem [6,9] and the private element
rank problem [8] (see the full version for discussion on the latter). For some of
these problems, privacy of the server’s database critically relies on keeping the
structure of the corresponding decision program private. The program structure
includes all the information available about it except for its size (number of its
nodes) and the number of variables (both of which are publicly known).
For simplicity, in this section we assume that the decision tree we work with
is layered. Alternatively, we could allow for arbitrary tree structures2 and then
consider the length of the evaluation path as public information available to our
2
In a non-layered decision tree, the length of the evaluation path for different inputs
need not be the same.
278 P. Mohassel and S. Niksefat
simulators (our protocol reveals the length). However, since in most applications
one wants to keep this information private (see Section 6), we chose to work
with this assumption instead. Note that there are generic and efficient ways of
transforming any decision program (tree) into a layered one. In section 6, we give
a customized and more efficient transformation for the private keyword search
application.
Next, we show how to enhance the protocol of previous section in order to
hide the decision tree’s structure without increasing the computational cost of
the client or the server (in the next section we extend this to decision programs).
Once again, our protocol reduces the problem to n OT12 protocols.
Here we require the OT12 protocol to have a slightly stronger security property
compared to the standard one. We refer to such OTs as strong OTs. At a high
level, we require that the OT answers do not reveal anything about the corre-
sponding query. This property helps us hide from the client, the order in which
the input variables are evaluated which would in part reveal some information
about the structure of the tree. A formal definition of security as well as some
existing constructions for strong OT are discussed in section 2.3.
An Overview. The high level structure of the protocol of this section is similar
to the previous one. In particular, we still perform n OTs and use a set of key
pairs and random pads in order to garble the tree. But since this time we are also
interested in hiding the structure of the tree, a more involved encryption process
is necessary. The main changes to the previous construction are as follows: first,
instead of revealing the labels of the non-terminal nodes to the client, we use
a pointer (index) to the corresponding item in the randomly permuted list of
OT answers (a ). In order for the permuted list of answers not to reveal the
permutation, we need to use a strong OT protocol. Second, in order to hide the
arrangement of the nodes in the tree, instead of revealing the outgoing edges of
each non-terminal node, we use two pointers to the corresponding nodes in a
−−−→
randomly permuted list of the nodes in the tree (EV V ).
The three pointers mentioned above (one pointing to a and two pointing
−−−→
to EV V ) stored at each node, is all that the client needs in order to evaluate
the decision tree on his input. All of this information will be encrypted using a
combination of the random pads and the key pairs similar to the construction
−−−→
of previous section and is stored in the EV V vector. However, several subtleties
exist in order to make sure the construction works. First, only the random pads
(not the random keys) are to be used in encrypting the pointers to the OT an-
swers since the random keys themselves are retrieved from the OT answers. Also,
in order to hide from the client which bit value the retrieved key corresponds to
(note that this can reveal extra information about the node labels which are to
be kept private), the two values encrypted using the keys (EncL and EncR ) are
randomly permuted and a redundant padding of 0k is appended to the values be-
fore encryption to help the client recognize when the correct value is decrypted.
A detailed description of the protocol is depicted in the box for protocol 2.
In the description above, the size of EVV for terminal vs. non-terminal nodes
is different which leaks the total number of terminal nodes. However, we only did
Oblivious Decision Programs from Oblivious Transfer: Efficient Reductions 279
Security. The simulation proof for protocol 2 follows the same line of argument
as that of protocol 1. The main difference in the security claim for protocol
2 is that it is private against a malicious server (as opposed to being fully-
secure). The intuition behind this weakening in the security guarantee is that
−−−→
the server can construct an EV V that does no correspond to a valid decision
280 P. Mohassel and S. Niksefat
tree, and our protocol does not provide any mechanisms for detecting this type
of behavior. However, the protocol is still private, since all that the server sees
in the protocol are the OT queries. Also note that the client is always able to
−−−→
compute an output even if the EV V is not a valid tree (there is no possibility of
failure conditioned on specific input values), and hence the server cannot take
advantage of the pattern of aborts by the client in order to learn additional
information. It is possible to augment the protocol with zero-knowledge proofs
that yield full security against a malicious server, but all the obvious ways of
doing so would diminish the efficiency properties we are after. In particular both
the server and the client would have to do a number of exponentiations that is
proportional to the size of the tree.
Next, we state our security theorem. Readers are referred to the full version
of the paper [18] for the proof of Theorem 2.
for i = 1 to l do
for j = 1 to n do
0 1
) ← {0, 1}k
$
(Ki,j , Ki,j
A [i, P ERln [i, j]] ← AOT (pk, qj , Ki,j
0 1
, Ki,j )
end for
end for
−−−→
Moreover, in the EV V computation step, P ERln [height(i), ψV (i)] is used to
point to the elements in A . To compute the final result, the client will also use
the elements in the A matrix to retrieve the keys and evaluate the BP.
The argument for the security of this scheme is almost the same as protocol 2.
Theorem 3. In the strong-OT-hybrid model, and given a cryptographically se-
cure PRG G, the above-mentioned protocol is fully-secure against a malicious
client and is private against a malicious server.
Complexity. As before, the protocol runs in one round. The number of exponen-
tiations performed by the client remains the same but the server has to perform
slightly more exponentiations. In other words, the client performs O(n) expo-
nentiations and the server performs O(ln) exponentiations for the OTs where l is
the length of the branching program. The number of PRG invocations and XOR
operations remains the same as protocol 2 which is O(|V |) for the server and
O(l) for the client. The asymptotic communication cost of the protocol remains
the same as protocol 2 which is O(|V |(log |V | + k)) bits.
Table 1 compares the complexities of the related work with our proposed
protocol for oblivious evaluation of BPs. The main advantage of our proposed
protocol over the previous schemes is that the server’s asymmetric computation
is independent of the size of the branching program. This feature makes our pro-
tocol truly efficient when |V | is large. In case of Yao-based constructions, the size
of the circuit required for evaluating a branching program of size |V | and length
l on an input of size n is O(|V |l(log |V | + log n)). Therefore, using Yao’s pro-
tocol for oblivious branching program evaluation yields a protocol which needs
O(|V |l(log |V | + log n)) symmetric-key operations for both the client and the
server, and a communication complexity of O(|V |lk(log |V | + log n)).
6 Applications
An Improved OT1N Protocol. We review the Naor-Pinkas OT1N and its ef-
ficiency in Appendix C of [18]. It is easy to observe that looking up an index
282 P. Mohassel and S. Niksefat
References
1. Aiello, B., Ishai, Y., Reingold, O.: Priced Oblivious Transfer: How to Sell Digital
Goods. In: Pfitzmann, B. (ed.) EUROCRYPT 2001. LNCS, vol. 2045, pp. 119–135.
Springer, Heidelberg (2001)
2. Barni, M., Failla, P., Kolesnikov, V., Lazzeretti, R., Sadeghi, A.-R., Schneider, T.:
Secure Evaluation of Private Linear Branching Programs with Medical Applica-
tions. In: Backes, M., Ning, P. (eds.) ESORICS 2009. LNCS, vol. 5789, pp. 424–439.
Springer, Heidelberg (2009)
Oblivious Decision Programs from Oblivious Transfer: Efficient Reductions 283
3. Beimel, A., Ishai, Y., Malkin, T.: Reducing the Servers Computation in Private
Information Retrieval: PIR with Preprocessing. In: Bellare, M. (ed.) CRYPTO
2000. LNCS, vol. 1880, pp. 55–73. Springer, Heidelberg (2000)
4. Brickell, J., Porter, D., Shmatikov, V., Witchel, E.: Privacy-preserving remote di-
agnostics. In: ACM CCS 2007, pp. 498–507 (2007)
5. Cachin, C., Micali, S., Stadler, M.: Computationally Private Information Retrieval
with Polylogarithmic Communication. In: Stern, J. (ed.) EUROCRYPT 1999.
LNCS, vol. 1592, pp. 402–414. Springer, Heidelberg (1999)
6. Chor, B., Gilboa, N., Naor, M.: Private information retrieval by keywords (1997)
(manuscript)
7. Chung, K.-M., Kalai, Y., Vadhan, S.: Improved Delegation of Computation Us-
ing Fully Homomorphic Encryption. In: Rabin, T. (ed.) CRYPTO 2010. LNCS,
vol. 6223, pp. 483–501. Springer, Heidelberg (2010)
8. Dedic, N., Mohassel, P.: Constant-Round Private Database Queries. In: Arge, L.,
Cachin, C., Jurdziński, T., Tarlecki, A. (eds.) ICALP 2007. LNCS, vol. 4596,
pp. 255–266. Springer, Heidelberg (2007)
9. Freedman, M.J., Ishai, Y., Pinkas, B., Reingold, O.: Keyword Search and Obliv-
ious Pseudorandom Functions. In: Kilian, J. (ed.) TCC 2005. LNCS, vol. 3378,
pp. 303–324. Springer, Heidelberg (2005)
10. Gennaro, R., Gentry, C., Parno, B.: Non-interactive Verifiable Computing: Out-
sourcing Computation to Untrusted Workers. In: Rabin, T. (ed.) CRYPTO 2010.
LNCS, vol. 6223, pp. 465–482. Springer, Heidelberg (2010)
11. Gentry, C.: Fully homomorphic encryption using ideal lattices. In: ACM STOC
2009, pp. 169–178 (2009)
12. Ishai, Y., Kilian, J., Nissim, K., Petrank, E.: Extending Oblivious Transfers Effi-
ciently. In: Boneh, D. (ed.) CRYPTO 2003. LNCS, vol. 2729, pp. 145–161. Springer,
Heidelberg (2003)
13. Ishai, Y., Paskin, A.: Evaluating Branching Programs on Encrypted Data. In:
Vadhan, S.P. (ed.) TCC 2007. LNCS, vol. 4392, pp. 575–594. Springer, Heidelberg
(2007)
14. Kalai, Y.T.: Smooth Projective Hashing and Two-Message Oblivious Transfer.
In: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 78–95. Springer,
Heidelberg (2005)
15. Kushilevitz, E., Ostrovsky, R.: Replication is not needed: Single database,
computationally-private information retrieval. In: FOCS 1997, pp. 364–373 (1997)
16. Lipmaa, H.: An Oblivious Transfer Protocol with Log-Squared Communication.
In: Zhou, J., López, J., Deng, R.H., Bao, F. (eds.) ISC 2005. LNCS, vol. 3650,
pp. 314–328. Springer, Heidelberg (2005)
17. Lipmaa, H.: Private branching programs: On communication-efficient cryptocom-
puting. Tech. rep., Cryptology ePrint Archive, Report 2008/107 (2008)
18. Mohassel, P., Niksefat, S.: Oblivious decision programs from oblivious trans-
fer: Efficient reductions (full version) (2011), http://pages.cpsc.ucalgary.ca/
~pmohasse/odp.pdf
19. Naor, M., Pinkas, B.: Oblivious transfer and polynomial evaluation. In: ACM
STOC 1999, pp. 245–254. ACM (1999)
20. Naor, M., Pinkas, B.: Efficient oblivious transfer protocols. In: ACM SIAM 2001,
pp. 448–457 (2001)
21. Naor, M., Pinkas, B.: Computationally secure oblivious transfer. Journal of Cryp-
tology 18(1), 1–35 (2005)
284 P. Mohassel and S. Niksefat
22. Olumofin, F., Goldberg, I.: Revisiting the Computational Practicality of Private
Information Retrieval. In: Danezis, G. (ed.) FC 2011. LNCS, vol. 7035, pp. 158–172.
Springer, Heidelberg (2012)
23. Peikert, C., Vaikuntanathan, V., Waters, B.: A Framework for Efficient and Com-
posable Oblivious Transfer. In: Wagner, D. (ed.) CRYPTO 2008. LNCS, vol. 5157,
pp. 554–571. Springer, Heidelberg (2008)
24. Sion, R., Carbunar, B.: On the computational practicality of private information
retrieval. In: NDSS 2007, pp. 2006–06 (2007)
25. Sipser, M.: Introduction to the Theory of Computation. International Thomson
Publishing (1996)
26. Yao, A.: Protocols for secure computations. In: FOCS 1982, pp. 160–164 (1982)
UC-Secure Searchable Symmetric Encryption
1 Introduction
We consider the following problem [8]: a client wants to store his files (or docu-
ments) in an encrypted form on a remote file server (in the store phase). Later (in
the search phase), the client wants to efficiently retrieve some of the encrypted
files containing (or indexed by) specific keywords, keeping the keywords them-
selves secret and not jeopardizing the security of the remotely stored files. For
example, a client may want to store old email messages encrypted on a server
managed by Google or another large vendor, and later retrieve certain messages
while traveling with a mobile device. Such a scheme is called a searchable sym-
metric encryption (SSE) scheme because symmetric key encryption schemes are
used.
For this problem, the security against passive adversaries (i.e. privacy) has
been mainly considered so far. After a series of works [10, 9, 1, 8], Curtmola,
Garay, Kamara and Ostrovsky [6, 7] showed a rigorous definition of security
about the client’s privacy against a passive server, and an efficient scheme which
satisfies their definition.
However, an active adversary (i.e. a server) may forge the encrypted files
and/or delete some of them. Even if the clients uses MAC to authenticate
the encrypted files, a malicious server may replace (Ci , MAC(Ci )) with some
(Cj , MAC(Cj )) in the search phase, where Ci is an encrypted file which should be
returned. Then the client cannot detect cheating.
In this paper, we first formulate the security of verifiable SSE schemes against
active adversaries by using the notion of privacy and reliability. Our definition of
privacy is slightly stronger than “adaptive semantic security” of Curtmola et al.
[7, Definition 4.11]. Our definition of reliability means that even if the server is
malicious, the client can receive the corresponding files correctly, or he outputs
fail in the search phase.
We next formulate its UC-security, where UC means universal composability.
(In the UC framework [3–5], the security of a protocol Σ = (P1 , · · · , Pn ) is
maintained under a general protocol composition if Σ is UC-secure.) We then
prove that the UC-security against non-adaptive adversaries is equivalent to our
definition of privacy and reliability.
We further present an efficient scheme which satisfies our definition (hence
UC-security). The communication overhead of our search phase is proportional
to N , where N is the number of stored files. (It is independent of the size of each
file.) It will be an open problem to construct a UC-secure scheme such that the
communication overhead of the search phase is sublinear in N .
such that
2.2 Privacy
In the above protocol, the server learns |Di | from Ci for each i, and from I in
the store phase. In the search phase, she also knows
List(w) = {i | Di contains w}
for each queried keyword w. We require that the server should not be able to
learn any more information.
288 K. Kurosawa and Y. Ohtaki
Based on the work of Curtmola, Garay, Kamara and Ostrovsky [6, 7], this
security notion is formulated as follows. We consider a real game Gamereal and
a simulation game Gamesim as shown below, where Gamereal is played by a chal-
lenger and an adversary A, and Gamesim is played by a simulator Sim as well.
“Adaptive semantic security” of Curtmola et al. [7, Definition 4.11] requires that
for any PPT adversary A, there exists a PPT Sim such that eq.(2) is negligible.
On the other hand, our definition requires that there exists a PPT Sim such that
for any PPT adversary A, eq.(2) is negligible. Hence our definition is slightly
stronger. This small change is important when we prove the relationship with
UC-security. (See Remark 1 in the proof of Theorem 2.)
UC-Secure Searchable Symmetric Encryption 289
2.3 Reliability
In addition to the privacy, the server (an adversary A) should not be able to forge
(C(w), T ag) in the search phase. We formulate this security notion as follows.
Fix (D, W) and search queries w1 , · · · , wq ∈ W arbitrarily. In the store phase,
suppose that the client generated K and then computed (I, C).
– We say that C(w)∗ is invalid for t(w) if C(w)∗ = C(w), where (C(w), T ag) ←
Search(I, C, t(w)).
– We say that A wins if she can return (C(wi )∗ , T ag ∗ ) for some query t(wi ) such
that C(wi )∗ is invalid for t(wi ) and Verify(K, t(wi ), C(wi )∗ , T ag) = accept.
Definition 2. We say that a verifiable SSE satisfies reliability if for any PPT
adversary A, Pr(A wins) is negligible for any (D, W) and any search queries
w1 , · · · , wq .
3 UC-Secure SSE
3.1 UC Security
4 Equivalence
In this section, we prove that the UC-security notion of SSE is equivalent to the
definitions of privacy and reliability presented in Sec.2. In the UC framework, a
non-adaptive adversary corrupts some parties at the beginning of the protocol
execution.
(Proof) Assume that vSSE does not satisfy (one of) privacy or reliability. We
show that Σvsse does not securely realize FvSSE .
This is done by constructing an environment Z and an adversary A such that
for any ideal world adversary S, Z can tell whether it is interacting with A in
Σvsse , or with S in the ideal world which interacts with FvSSE .
(I) Assume that vSSE does not satisfy the privacy property defined by Def.1.
That is, for any simulator Sim, there exists an adversary B such that eq.(2) is
non-negligible.
Z asks A or S to corrupt P2 (server) so that P2 relays each message which he
received from P1 (client) to Z (in the real world). Except for this, P2 behaves
honestly. Z then internally runs B as follows.
UC-Secure Searchable Symmetric Encryption 291
(Proof) Assume that ΣvSSE does not securely realize FvSSE against non-adaptive
adversaries. That is, there exists some Z who can distinguish between the real
world and the ideal world.
292 K. Kurosawa and Y. Ohtaki
We show that vSSE does not satisfy (one of) privacy or reliability. Assume
that vSSE satisfies privacy. (Otherwise the theorem is proven). Then there exists
a simulator Sim which satisfies Def.1.
Suppose that the real world adversary A does not corrupt any party. Then
it is easy to see that no Z can distinguish the real world from the ideal world.
(Note that Z interacts only with P1 .)
Suppose that Z asks A to corrupt P1 (client). Note that A can report the
communication pattern of P1 to Z. Consider an ideal world adversary S who
runs A internally by playing the role of P2 . Note that S can play the role of P2
faithfully because P2 has no interaction with Z and FvSSE . Hence it is easy to
see that no Z can distinguish the real world from the ideal world in this case,
too.
Suppose that Z asks A to corrupt P2 (server), but P2 can not break the relia-
bility at all. That is, Pr(P2 wins) = 0 in Def.2. A may report the communication
pattern of P2 to Z. Then our ideal world adversary S behaves in the same way
as the above mentioned Sim, where the ideal functionality FvSSE plays the role
of the challenger. In this case, no Z can distinguish between the real world and
the ideal world from the definition of privacy.
Remark 1. Def.1 says that there exists a Sim such that for any interactive dis-
tinguisher (Z in the above case), eq.(2) is negligible. This is the point where the
privacy definition of of Curtmola et al. [7, Definition 4.11] does not work.
Suppose that Z asks A to corrupt P2 (server), and P2 breaks the reliability
with negligible probability. That is, Pr(P2 wins) is negligible in Def.2. Then
similarly to the above, no Z can distinguish between the real world and the ideal
world.
Therefore it must be that Z asks A to corrupt P2 (server), and P2 breaks
reliability with non-negligible probability. That is, Pr(P2 wins) is non-negligible
in Def.2. (Otherwise no Z can distinguish between the real world and the ideal
world.) This means that vSSE does not satisfy reliability. Q.E.D.
5 Construction
In this section, we construct an efficient verifiable SSE scheme which satisfies
Def.1 and Def.2. Our scheme is based on SSE-2 of Curtmola et al. [6, 7]. (Note
that SSE-2 is not verifiable).
5.1 Overview
We first illustrate SSE-2 of Curtmola et al. [6, 7] by using an example.
(Store phase:) The client constructs an array I as follows. Let πK be a pseudo-
random permutation, where K is the secret key of the client. Suppose that
D(Austin) = (D3 , D6 , D10 ). That is, D3 , D6 and D10 contains a keyword Austin.
First the client computes
addrAustin,i = πK (Austin, i)
UC-Secure Searchable Symmetric Encryption 293
and
I(addrAustin,i ) = dummy (4)
for i = 4, · · · , N . Do the same thing for all the other keywords. Finally the client
stores I and C = {C1 , · · · , CN } to the server, where Ci is a ciphertext of Di .
(Search phase:) Suppose that the client wants to retrieve the documents which
contain Austin. Then the client sends
to the server. From eq.(3) and eq.(4), the server sees that List(Austin) =
{3, 6, 10}. The server then returns (C3 , C6 , C10 ) to the client. The client finally
decrypts them to obtain (D3 , D6 , D10 ).
The above scheme satisfies privacy, but not reliability. To achieve reliability,
a naive approach is to replace Ci with Ĉi = (Ci , MAC(Ci )). The client stores the
set of such Ĉi to the server. For a query t(Austin), an (honest) server returns
(Ĉ3 , Ĉ6 , Ĉ10 ) to the client. However, a malicious server would return (Ĉ3 , Ĉ6 , Ĉ11 )
or just (Ĉ3 , Ĉ6 ). Then the client cannot detect any cheating.
To overcome this problem, we construct I as follows.
and
I(addrAustin,i ) = (dummy, tagi = MAC(addrAustin,i , dummy))
for i = 4, · · · , N . For a query t(Austin), the server returns (C3 , C6 , C10 ) and
(tag1 , · · · , tagN ) to the client.
The client checks the validity of each tagi . This approach works because MAC
binds the (query, answer) pair.
Another subtle point is that the index of each Di should appear in I the same
number of times, say max times. (Otherwise the simulator Sim in the definition
of privacy cannot construct I which is indistinguishable from I. Remember that
Sim must be able to construct I only from |D1 |, · · · , |DN | and .)
For this problem, Curtmola et al. described the following method in SSE-2 [7,
Fig.2].
For each index i:
– let c be the number of entries in I that already contain i.
– for 1 ≤ ≤ max − c, set I[πK (0 , n + )] = i.
294 K. Kurosawa and Y. Ohtaki
The last line is strange because is used in two different meanings. (In [7], is
also defined as the bit length of each keyword.) Hence it must be that
Even so, the above line does not work as shown below. For simplicity, suppose
that c = max − 1 for i = 1, · · · , N . Then we have I[πK (0 , n + 1)] = N at the end
because the entry of I[πK (0 , n + 1)] is overwritten for i = 1, · · · , N . This means
that in I, only N appears max times and the other each i appears max − 1 times.
We will show how to fix this flaw, too.
For j = 1, · · · , N , do
π(0, w, j) if 1 ≤ j ≤ m
addrj ←
π(1, w, j) if m + 1 ≤ j ≤ N
tagj ← MAC(addrj , Csj )
I(addrj ) ← (sj , tagj ).
T ag = (tag1 , · · · , tagN )
5.3 Security
We assume that the symmetric-key encryption scheme SKE = (G, E, E −1 ) is
left-or-right (LOR) CPA secure as defined by [2]. The common counter mode
with AES satisfies this condition, where AES is assumed to be a pseudo-random
permutation. We also assume that MAC is unforgeable against chosen message
attack.
where tagi = MAC(π(0, w, i), Ci ) and tagi = MAC(π(1, w, i), dummy).
That is,
List(wi ) = {s1 , · · · , sm }
We will prove that any A cannot distinguish between Gamereal and Gamesim
by using a series of games Game0 , · · · , Game2 , where Game0 = Gamereal . Let
– Game1 is the same as Game0 except for that Ci is replaced with Ci of the
above for i = 1, · · · , N . Then |p0 − p1 | is negligible from our assumption on
SKE.
– Game2 is the same as Game1 except for that I is replaced with I of the above,
and t(wi ) is replaced with t(wi ) of the above.
Note that the index i of each Di appears 2 times in both I and I .
Next on t(wi ) , let
References
1. Bellovin, S., Cheswick, W.: Privacy-Enhanced Searches Using Encrypted
Bloom Filters, Cryptology ePrint Archive, Report 2006/210 (2006),
http://eprint.iacr.org/
2. Bellare, M., Desai, A., Jokipii, E., Rogaway, P.: A Concrete Security Treatment of
Symmetric Encryption. In: FOCS 1997, pp. 394–403 (1997)
3. Canetti, R.: Universally Composable Security: A New Paradigm for Cryptographic
Protocols, Revision 1 of ECCC Report TR01-016 (2001)
4. Canetti, R.: Universally Composable Signatures, Certification and Authentication,
Cryptology ePrint Archive, Report 2003/239 (2003), http://eprint.iacr.org/
5. Canetti, R.: Universally Composable Security: A New Paradigm for Cryp-
tographic Protocols, Cryptology ePrint Archive, Report 2000/067 (2005),
http://eprint.iacr.org/
6. Curtmola, R., Garay, J.A., Kamara, S., Ostrovsky, R.: Searchable symmetric en-
cryption: improved definitions and efficient constructions. In: ACM Conference on
Computer and Communications Security 2006, pp. 79–88 (2006)
7. Full version of the above: Cryptology ePrint Archive, Report 2006/210 (2006),
http://eprint.iacr.org/
8. Chang, Y.-C., Mitzenmacher, M.: Privacy Preserving Keyword Searches on Remote
Encrypted Data. In: Ioannidis, J., Keromytis, A.D., Yung, M. (eds.) ACNS 2005.
LNCS, vol. 3531, pp. 442–455. Springer, Heidelberg (2005)
9. Goh, E.-J.: Secure Indexes. Cryptology ePrint Archive, Report 2003/216 (2003),
http://eprint.iacr.org/
10. Song, D., Wagner, D., Perrig, A.: Practical Techniques for Searches on Encrypted
Data. In: IEEE Symposium on Security and Privacy 2000, pp. 44–55 (2000)
CTL: A Platform-Independent Crypto Tools
Library Based on Dataflow Programming
Paradigm
1 Introduction
Nowadays we are living in a fully digitized and networked world. The ubiq-
uitous transmission of data over the open network has made security one of
the most important concerns in almost all modern digital systems, being pri-
vacy another. Both security and privacy concerns call for support from applied
cryptography. However, the great diversity of today’s computing hardware and
software platforms is creating a big challenge for applied cryptography since we
need building blocks that should ideally be reused at various platforms without
reprogramming. For instance, a large-scale video surveillance system (like those
we have already been seeing in many big cities) involves many different kinds
of hardware and software platforms: scalar sensors, video sensors, audio sensors,
mobile sensors (e.g. mobile phones), sensor motor controller, storage hub, data
sink, cloud storage servers, etc. [11]. Supporting so many different devices in
a single system or cross the boundary of multiple systems is a very challeng-
ing task. Many cryptographic libraries have been built over the years to partly
meet this challenge, but most of them are written in a particular programming
language (e.g. C, C++, Java and VHDL) thus their applications are limited in
nature. While it is always possible to port a library written in one language
to the other, the process requires significant human involvement on reprogram-
ming and/or re-optimization, which may not be less easier than designing a new
library from scratch.
In this paper, we propose to meet the above-mentioned technical challenges by
building a platform-independent1 library based on a recently-established ISO /
IEC standard called RVC (Reconfigurable Video Coding) [33, 34]. Unlike its
name suggests, the RVC standard offers a general development framework for
all data-driven systems including cryptosystems, which is not surprising because
video codecs are among the most complicated data-driven systems we can have.
The RVC framework follows the dataflow paradigm, and enjoys the following
nice features at the level of programming language: modularity, reusability, re-
configuration, code analyzability and parallelism exploitability. Modularity and
reusability help to simplify the design of complicated programs by having func-
tionally separated and reusable computational blocks; reconfigurability makes
reconfiguration of complicated programs easier by offering an interface to con-
figure and replace computational blocks; code analyzability allows automatic
analysis of both the source code and the functional behavior of each compu-
tational block so that code conversion and program optimization can be done
in a more systematic manner. The automated code analysis enables to conduct
a fully-/semi-automated design-space exploitation to find critical paths and/or
parallel data-flows, which suggests different optimization refactorings (merging
or splitting) of different computational blocks [43], and/or to achieve concurrency
1
In the context of MPEG RVC framework, the word “platform” has a broader mean-
ing. Basically, it denotes any computing environment that can execute/interpret code
or compile code to produce executable programs, which includes both hardware and
software platforms and also hybrid hardware-software systems.
CTL: A Platform-Independent Crypto Tools Library 301
Our Contributions: In this paper, we present the Crypto Tools Library (CTL)
as the first (to the best of our knowledge) open and platform-independent cryp-
tographic library based on a dataflow programming framework (in our case the
RVC framework). In particular, the CTL achieves the following goals:
– Fast development/prototyping: By adapting the dataflow programming
paradigm the CTL components are inherently modular, reusable, and easily
reconfigurable. These properties do not only help to quickly develop/prototype
security algorithms but also make their maintenance easier.
– Multiple target languages: The CTL cryptosystems are programmed
only once, but can be used to automatically generate source code for multi-
ple programming languages (C, C++, Java, LLVM, Verilog, VHDL, XLIM,
and PROMELA at the time for this writing2 ).
– Automatic code analyzability and optimization: An automated design-
space exploitation process can be performed at the algorithmic level, which
can help to optimize the algorithmic structure by refactoring (merging or
splitting) selected computational blocks, and by exploiting multi-/many-core
computing resources to run different computational blocks in parallel.
– Hardware/Software co-design: Heterogenous systems involving software,
hardware, and various I/O devices/channels can be developed in the RVC
framework [62].
– Adequate run-time performance: Although CTL cryptosystems are high-
ly abstract programs, the run-time performance of automatically synthesized
implementations is still adequate compared to non-RVC reference implemen-
tations.
In this paper, along with the development of the CTL itself, we report some
performance benchmarking results of CTL that confirm that the highly abstract
2
More code generation backends are to be developed in the future, especially OpenCL
for GPUs.
302 J.J. Ahmad et al.
nature of the RVC code does not compromise the run-time performance. In
addition, we also briefly discuss how different key attributes of the RVC frame-
work can be used to develop different cryptographic algorithms and security
applications.
Outline: The rest of the paper is organized as follows. In Sec. 2 we will give
a brief overview of related work, focusing on a comparison between RVC and
other existing dataflow solutions. Sec. 3 gives an overview of the building blocks
of the RVC framework and Sec. 4 describes the design principles of CTL and
the cryptosystems that are already implemented. In Sec. 5, we benchmark the
performance of SHA-256 implemented in CTL on a single-core machine and a
quad-core one. In Sec. 6, we conclude the paper by giving directions for future
works.
2 Related Work
Many cryptographic libraries have been developed over the years (e.g., [16,24,30,
41,46,56,57,63,64]), but very few can support multiple programming languages.
Some libraries do support more than one programming language, but often in the
form of separate sets of source code and separate programming interfaces/APIs
[63], or available as commercial software only [8, 41]. There is also a large body
of optimized implementations of cryptosystems in the literature [17,18,21,44,45,
55, 67], which normally depend even more on the platforms (e.g., the processor
architecture and/or special instruction sets [28, 45, 66, 67]).
Despite being a rather new standard, the RVC framework has been success-
fully used to develop different kinds of data-driven systems especially multimedia
(video, audio, image and graphics) codecs [12–14,19,35] and multimedia security
applications [10]. In [10], we highlighted some challenges being faced by develop-
ers while building multimedia security applications in imperative languages and
discussed how those challenges can be addressed by developing multimedia secu-
rity applications in the RVC framework. In addition, we presented three multi-
media security applications (joint H.264/MPEG-4 video encoding and decoding,
joint JPEG image encoding and decoding and compressed domain JPEG image
watermark embedding and detecting) developed using the CTL cryptosystems
and the RVC implementations of H.264/MPEG-4 and JPEG codecs. Consider-
ing the focus of that paper, we only used and briefly summarized CTL. In this
paper, we give a detailed discussion on CTL, its design principles, features and
benefits, and performance benchmarking results.
The wide usage of RVC for developing multimedia applications is not the only
reason why we chose it for developing CTL. A summary of advantages of RVC
over other solutions is given in Table 1 (this is an extension of the table in [10]).
We emphasize that this comparison focuses on the features relevant to achieve
the goals of CTL, so it should not be considered as an exhaustive overview of
all pros and cons of the solutions compared.
CTL: A Platform-Independent Crypto Tools Library 303
Cat. Candidate A B C D E F G H I
C, C++, Java, LLVM,
RVC ✓ ✓ ✓ ✓ ✓ ✓ Verilog, VHDL, XLIM, ✓ ✓
PROMELA
1 Handel-C [39] ✗ ✗ ✗ ✓ ✗ ✗ VHDL ✗ ✗
ImpulseC [15] ✗ ✗ ✗ ✓ ✗ ✓ VHDL ✗ ✗
Spark [29] ✗ ✗ ✗ ✓ ✗ ✓ VHDL ✗ ✗
2 BlueSpec [49] ✓ ✗ ✓ ✓ ✓ ✗ C, Verilog ✗ ✗
Daedalus [65] ✓ ✓ ✓ ✓ ✓ ✓ C, C++, VHDL ✓ ✗
Koski [38] ✓ ✓ ✓ ✓ ✓ ✓ C, XML, VHDL ✗ ✗
PeaCE [31] ✓ ✓ ✓ ✓ ✓ ✓ C, C++, VHDL ✓ ✗
3 CoWare [58] ✓ ✓ ✗ ✓ ✓ ✓ C, VHDL ✗ ✗
Esterel [1] ✗ ✓ ✗ ✓ ✓ ✗ C, VHDL ✓ ✗
LabVIEW [3] ✓ ✓ ✓ ✗ ✗ ✗ - ✗ ✗
Simulink [4] ✓ ✓ ✓ ✓ ✓ ✗ C, C++, Verilog, VHDL ✗ ✗
Synopsys System C++, SystemC,
✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗
Studio [7] SystemVerilog
4 CAO [9, 47] ✓ ✓ ✗ ✗ ✓ ✗ C, x86-64 assembly, ARM ✗ ✗
C, C++, Haskell, VHDL,
Cryptol [8, 41] ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗
Verilog
The RVC framework was standardized by the ISO/IEC (via its working group
JTC1 / SG29 / WG11, better known as MPEG – Motion Picture Experts Group
[48]) to meet the technical challenges of developing more and more complicated
video codecs [33,34]. One main concern of the MPEG is how to make video codecs
more reconfigurable, meaning that codecs with different configurations (e.g.,
different video coding standards, different profiles and/or levels, different system
requirements) can be built on the basis of a single set of platform-independent
building blocks. To achieve this goal, the RVC standard defines a framework
that covers different steps of the whole life cycle of video codec development.
The RVC community has developed supporting tools [2, 5, 6] to make the RVC
framework not only a standard, but also a real development environment.
304 J.J. Ahmad et al.
Design Stage
Implementation Stage
Application Implementation
Automatic code generation to
C/C++, Java, LLVM, Tool Library
VHDL/Verilog etc. Implementation
Two available supporting tools allowing the simulation are OpenDF [5] and
ORCC [6]. At the implementation stage, the source code written in other target
programming languages can be generated from the abstract application descrip-
tion automatically. OpenDF includes a Verilog HDL code generation backend,
and ORCC contains a number of code generation backends for C, C++, Java,
LLVM, VHDL, XLIM, and PROMELA. ORCC is currently more widely used in
the RVC community and it is also the choice of our work reported in this paper.
– Block Ciphers:
• AES-128/192/256 [51],
• DES [50] and Triple DES [50, 52],
• Blowfish [59],
• Modes of operations: CBC, CFB, OFB, CTR.
– Stream Ciphers: ARC4 [60] and Rabbit [23].
– Cryptographic hash functions: SHA-1, SHA-2 (SHA-224, SHA-256) [53].
– PSNRs: 32-bit and 64-bit LCG [60] and LFSR-based PRNG [60].
10 55
JCA
50
CTL
9.5
45
Performance (Time/MB) ms
Performance (Time/MB) ms
40
9
sphlib 35
OpenSSL
OGay
CTL 30
8.5
25
20
8
15
7.5 10
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Size of input data (MB) Size of input data (MB)
This can probably be explained by the fact that the current edition of the ORCC
Java backend does not generate very efficient code. These results indicate that
the CTL’s SHA-256 implementation can achieve a performance similar to ref-
erence implementations. We also did similar benchmarking experiments on the
AES block cipher in CTL (included in the extended edition of the paper) and
came to a similar conclusion.
220 400
200 350
180 300
Performance Gain (%)
140 200
120 150
100 100
80 50
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Size of input data (MB) Size of input data (MB)
6 Future Work
In order to allow researchers from different fields to extend CTL and use it
for more applications, we have published CTL as an open-source project at
http://www.hooklee.com/default.asp?t=CTL. In our future work, we plan to
continue our research on the following possible directions.
Cryptographic Primitives. The CTL can be enriched by including more cryp-
tographic primitives (especially public-key cryptography), which will allow cre-
ation of more multimedia security applications and security protocols. Another
direction is to develop optimized versions of CTL cryptosystems. For instance,
bit slicing can be used to optimize parallelism in many block ciphers [28, 45].
Security Protocols. Another direction is to use the RVC framework for the de-
sign and development of security protocols and systems with heterogenous com-
ponents and interfaces. While RVC itself is platform independent, “wrappers” [62]
can be developed to bridge the platform-independent FUs with physical I/O de-
vices/channels (e.g., a device attached to USB port, a host connected via LAN/
WLAN, a website URL, etc.). Although there are many candidate protocols that
can be considered, as a first step we plan to implement the hPIN/hTAN e-banking
security protocol [42], which is a typical (but small-scale) heterogeneous system in-
volving a hardware token, a web browser plugin on the user’s computer, and a web
service running on the remote e-banking server. We have already implemented an
310 J.J. Ahmad et al.
hPIN/hTAN prototype system without using RVC, so the new RVC-based imple-
mentation can be benchmarked against the existing system.
Cryptographic Protocols. Many cryptographic protocols require a high amount of
computations. One example are garbled circuit protocols [68] that allow secure
evaluation of an arbitrary function on sensitive data. These protocols can be
used as basis for various privacy-preserving applications. At a high level, the
protocol works by one party first generating an encrypted form of the function
to be evaluated (called garbled circuit) which is then sent to the other party who
finally decrypts the function using the encrypted input data of both parties and
finally obtains the correct result. Recent implementation results show that such
garbled circuit based protocols can be implemented in a highly efficient way
in software [32]. However, until now, there exist no software implementations
that exploit multi-core architectures. It was shown that such protocols can be
optimized when using both software and hardware together: For generation of
the garbled circuit, a trusted hardware token can generate the garbled circuit
locally and hence remove the need to transfer it over the Internet [36]. Here, the
encrypted versions of the gates which require four invocations of a cryptographic
hash function can be computed in parallel similar to the 4-adic hash tree we have
shown in Sec. 5. Furthermore, the evaluation of garbled circuits can be improved
when using hardware accelerations as shown in [37]. We believe that the RVC
framework can serve as an ideal basis for hardware-software co-designed systems
with parallelized and/or hardware-assisted garbled circuit-based protocols.
References
1. Esterel Synchronous Language, http://www-sop.inria.fr/esterel.org/files/
2. Graphiti, http://graphiti-editor.sf.net
3. LabVIEW, http://www.ni.com/labview/whatis/
4. Mathworks Simulink: Simulation and Model-Based Design,
http://www.mathworks.com/products/simulink/
5. Open Data Flow (OpenDF), http://sourceforge.net/projects/opendf
6. Open RVC-CAL Compiler (ORCC), http://sourceforge.net/projects/orcc
7. Synopsys Studio, http://www.synopsys.com/SYSTEMS/BLOCKDESIGN/
DIGITALSIGNALPROCESSING/Pages/SystemStudio.aspx
8. Cryptol: The Language of Cryptography. Case Study (2008),
http://corp.galois.com/downloads/cryptography/Cryptol_Casestudy.pdf
9. CAO and qhasm compiler tools. EU Project CACE deliverable D1.3, Re-
vision 1.1 (2011), http://www.cace-project.eu/downloads/deliverables-y3/
32 CACE D1.3 CAO and qhasm compiler tools Jan11.pdf
10. Ahmad, J.J., Li, S., Amer, I., Mattavelli, M.: Building multimedia security appli-
cations in the MPEG Reconfigurable Video Coding (RVC) framework. In: Proc.
2011 ACM SIGMM Multimedia and Security Workshop, MM&Sec 2011 (2011)
11. Akyildiz, I.F., Melodia, T., Chowdhury, K.R.: Wireless multimedia sensor net-
works: Applications and testbeds. Proc. IEEE 96(10), 1588–1605 (2008)
12. Ali, H.I.A.A., Patoary, M.N.I.: Design and Implementation of an Audio Codec
(AMR-WB) using Dataflow Programming Language CAL in the OpenDF Envi-
ronment. TR: IDE1009, Halmstad University, Sweden (2010)
CTL: A Platform-Independent Crypto Tools Library 311
13. Aman-Allah, H., Maarouf, K., Hanna, E., Amer, I., Mattavelli, M.: CAL dataflow
components for an MPEG RVC AVC baseline encoder. J. Signal Processing Sys-
tems 63(2), 227–239 (2011)
14. Amer, I., Lucarz, C., Roquier, G., Mattavelli, M., Raulet, M., Nezan, J., Déforges,
O.: Reconfigurable Video Coding on multicore: An overview of its main objectives.
IEEE Signal Processing Magazine 26(6), 113–123 (2009)
15. Antola, A., Fracassi, M., Gotti, P., Sandionigi, C., Santambrogio, M.: A novel
hardware/software codesign methodology based on dynamic reconfiguration with
Impulse C and CoDeveloper. In: Proc. 2007 3rd Southern Conference on Pro-
grammable Logic, SPL 2007, pp. 221–224 (2007)
16. Barbosa, M., Noad, R., Page, D., Smart, N.P.: First steps toward a cryptography-
aware language and compiler. Cryptology ePrint Archive: Report 2005/160 (2005),
http://eprint.iacr.org/2005/160.pdf
17. Bernstein, D.J., Schwabe, P.: New AES Software Speed Records. In: Chowdhury,
D.R., Rijmen, V., Das, A. (eds.) INDOCRYPT 2008. LNCS, vol. 5365, pp. 322–336.
Springer, Heidelberg (2008)
18. Bertoni, G., Breveglieri, L., Fragneto, P., Macchetti, M., Marchesin, S.: Efficient Soft-
ware Implementation of AES on 32-Bit Platforms. In: Kaliski Jr., B.S., Koç, Ç.K.,
Paar, C. (eds.) CHES 2002. LNCS, vol. 2523, pp. 159–171. Springer, Heidelberg
(2003)
19. Bhattacharyya, S., Eker, J., Janneck, J.W., Lucarz, C., Mattavelli, M., Raulet,
M.: Overview of the MPEG Reconfigurable Video Coding framework. J. Signal
Processing Systems 63(2), 251–263 (2011)
20. Boutellier, J., Gomez, V.M., Silvén, O., Lucarz, C., Mattavelli, M.: Multiprocessor
scheduling of dataflow models within the Reconfigurable Video Coding framework.
In: Proc. 2009 Conference on Design and Architectures for Signal and Image Pro-
cessing, DASIP 2009 (2009)
21. Canright, D., Osvik, D.A.: A More Compact AES. In: Jacobson Jr., M.J., Rijmen,
V., Safavi-Naini, R. (eds.) SAC 2009. LNCS, vol. 5867, pp. 157–169. Springer,
Heidelberg (2009)
22. Corbet, J.: The high-resolution timer (API) (2006), http://lwn.net/Articles/
167897
23. Cryptico A/S: Rabbit stream cipher, performance evaluation. White Pa-
per, Version 1.4 (2005), http://www.cryptico.com/DWSDownload.asp?File=Files
%2FFiler%2FWP%5FRabbit%5FPerformance%2Epdf
24. Dai, W.: Crypto++ library, http://www.cryptopp.com
25. Dennis, J.: First Version of a Data Flow Procedure Language. In: Robinet, B.
(ed.) Programming Symposium. LNCS, vol. 19, pp. 362–376. Springer, Heidelberg
(1974)
26. Eker, J., Janneck, J.W.: CAL language report: Specification of the CAL actor
language. Technical Memo UCB/ERL M03/48, Electronics Research Laboratory,
UC Berkeley (2003)
27. Gay, O.: SHA-2: Fast Software Implementation, http://www.ouah.org/ogay/sha2
28. Grabher, P., Großschädl, J., Page, D.: Light-Weight Instruction Set Extensions for
Bit-Sliced Cryptography. In: Oswald, E., Rohatgi, P. (eds.) CHES 2008. LNCS,
vol. 5154, pp. 331–345. Springer, Heidelberg (2008)
29. Gupta, S., Dutt, N., Gupta, R., Nicolau, A.: SPARK: A high-level synthesis frame-
work for applying parallelizing compiler transformations. In: Proc. 2003 16th In-
ternational Conference on VLSI Design, VLSI Design 2003 (2003)
30. Gutmann, P.: Cryptlib, http://www.cs.auckland.ac.nz/~ pgut001/cryptlib
312 J.J. Ahmad et al.
31. Ha, S., Kim, S., Lee, C., Yi, Y., Kwon, S., Joo, Y.P.: PeaCE: A hardware-software
codesign environment for multimedia embedded systems. ACM Trans. on Design
Automation of Electronic Syststems 12(3), Article 24 (2007)
32. Huang, Y., Evans, D., Katz, J., Malka, L.: Faster secure two-party computation
using garbled circuits. In: Proc. 20th USENIX Security Symposium (2011)
33. ISO/IEC: Information technology – MPEG video technologies – Part 4: Video tool
library. ISO/IEC 23002-4 (2009)
34. ISO/IEC: Information technology - MPEG systems technologies - Part 4: Codec
configuration representation. ISO/IEC 23001-4 (2009)
35. Janneck, J., Miller, I., Parlour, D., Roquier, G., Wipliez, M., Raulet, M.: Synthe-
sizing hardware from dataflow programs: An MPEG-4 Simple Profile decoder case
study. J. Signal Processing Systems 63(2), 241–249 (2011)
36. Järvinen, K., Kolesnikov, V., Sadeghi, A.-R., Schneider, T.: Embedded SFE: Of-
floading Server and Network Using Hardware Tokens. In: Sion, R. (ed.) FC 2010.
LNCS, vol. 6052, pp. 207–221. Springer, Heidelberg (2010)
37. Järvinen, K., Kolesnikov, V., Sadeghi, A.-R., Schneider, T.: Garbled Circuits for
Leakage-Resilience: Hardware Implementation and Evaluation of One-Time Pro-
grams. In: Mangard, S., Standaert, F.-X. (eds.) CHES 2010. LNCS, vol. 6225, pp.
383–397. Springer, Heidelberg (2010)
38. Kangas, T., Kukkala, P., Orsila, H., Salminen, E., Hännikäinen, M., Hämäläinen,
T.D., Riihimäki, J., Kuusilinna, K.: UML-based multiprocessor SoC design frame-
work. ACM Trans. on Embedded Compututer Systems 5, 281–320 (2006)
39. Khan, E., El-Kharashi, M.W., Gebali, F., Abd-El-Barr, M.: Applying the Handel-
C design flow in designing an HMAC-hash unit on FPGAs. Computers and Digital
Techniques 153(5), 323–334 (2006)
40. Lee, E.A., Messerschmitt, D.G.: Synchronous data flow. Proc. IEEE 75(9),
1235–1245 (1987)
41. Lewis, J.R., Martin, B.: Cryptol: High assurance, retargetable crypto development
and validation. In: Proc. 2003 IEEE Military Communication Conference, MIL-
COM 2003, pp. 820–825 (2003)
42. Li, S., Sadeghi, A.-R., Heisrath, S., Schmitz, R., Ahmad, J.J.: hPIN/hTAN: A
Lightweight and Low-Cost E-Banking Solution against Untrusted Computers. In:
Danezis, G. (ed.) FC 2011. LNCS, vol. 7035, pp. 235–249. Springer, Heidelberg
(2012)
43. Lucarz, C., Mattavelli, M., Dubois, J.: A co-design platform for algo-
rithm/architecture design exploration. In: Proc. 2008 IEEE International Confer-
ence on Multimedia and Expo., ICME 2008, pp. 1069–1072 (2008)
44. Manley, R., Gregg, D.: A Program Generator for Intel AES-NI Instructions. In:
Gong, G., Gupta, K.C. (eds.) INDOCRYPT 2010. LNCS, vol. 6498, pp. 311–327.
Springer, Heidelberg (2010)
45. Matsui, M., Nakajima, J.: On the Power of Bitslice Implementation on Intel Core2
Processor. In: Paillier, P., Verbauwhede, I. (eds.) CHES 2007. LNCS, vol. 4727,
pp. 121–134. Springer, Heidelberg (2007)
46. Moran, T.: The Qilin Crypto SDK: An open-source Java SDK for rapid prototyping
of cryptographic protocols, http://qilin.seas.harvard.edu/
47. Moss, A., Page, D.: Bridging the gap between symbolic and efficient AES imple-
mentations. In: Proc. 2010 ACM SIGPLAN Workshop on Partial Evaluation and
Program Manipulation, PEPM 2010, pp. 101–110 (2010)
48. Moving Picture Experts Group (MPEG): Who we are,
http://mpeg.chiariglione.org/who_we_are.htm
CTL: A Platform-Independent Crypto Tools Library 313
49. Nikhil, R.: Tutorial – BlueSpec SystemVerilog: Efficient, correct RTL from high-
level specifications. In: Proc. 2nd ACM/IEEE International Conference on Formal
Methods and Models for Co-Design, MEMOCODE 2004, pp. 69–70 (2004)
50. NIST: Data Encryption Standard (DES). FIPS PUB 46-3 (1999)
51. NIST: Specification for the Advanced Encryption Standard (AES). FIPS PUB 197
(2001)
52. NIST: Recommendation for the Triple Data Encryption Algorithm (TDEA) block
cipher. Special Publication 800-67, Version 1.1 (2008)
53. NIST: Secure Hash Standard (SHS). FIPS PUB 180-3 (2008)
TM
54. Oracle R
: Java Cryptography Architecture (JCA) Reference Guide.
http://download.oracle.com/javase/6/docs/technotes/guides/security/
crypto/CryptoSpec.html
55. Osvik, D.A., Bos, J.W., Stefan, D., Canright, D.: Fast Software AES Encryption.
In: Hong, S., Iwata, T. (eds.) FSE 2010. LNCS, vol. 6147, pp. 75–93. Springer,
Heidelberg (2010)
56. Pornin, T.: sphlib 3.0, http://www.saphir2.com/sphlib
57. PureNoise Ltd Vaduz: PureNoise CryptoLib, http://cryptolib.com/crypto
58. Rompaey, K.V., Verkest, D., Bolsens, I., Man, H.D.: CoWare – a design environ-
ment for heterogeneous hardware/software systems. Design Automation for Em-
bedded Systems 1(4), 357–386 (1996)
59. Schneier, B.: Description of a New Variable-Length Key, 64-bit Block Cipher (Blow-
fish). In: Anderson, R. (ed.) FSE 1993. LNCS, vol. 809, pp. 191–204. Springer,
Heidelberg (1994)
60. Schneier, B.: Applied Cryptography: Protocols, algorithms, and source code in C,
2nd edn. John Wiley & Sons, Inc., New York (1996)
61. Sutherland, W.R.: The On-Line Graphical Specification of Computer Procedures.
Ph.D. thesis. MIT (1966)
62. Thavot, R., Mosqueron, R., Dubois, J., Mattavelli, M.: Hardware synthesis of com-
plex standard interfaces using CAL dataflow descriptions. In: Proc. 2009 Confer-
ence on Design and Architectures for Signal and Image Processing, DASIP 2009
(2009)
63. The Legion of the Bouncy Castle: Bouncy Castle Crypto APIs,
http://www.bouncycastle.org
64. The OpenSSL Project: OpenSSL cryptographic library, http://www.openssl.org/
docs/crypto/crypto.html
65. Thompson, M., Nikolov, H., Stefanov, T., Pimentel, A.D., Erbas, C., Polstra, S.,
Deprettere, E.F.: A framework for rapid system-level exploration, synthesis, and
programming of multimedia MP-SoCs. In: Proc. 5th IEEE/ACM International
Conference on Hardware/Software Codesign and System Synthesis, CODES+ISSS
2007, pp. 9–14 (2007)
66. Tillich, S., Großschädl, J.: Instruction Set Extensions for Efficient AES Implemen-
tation on 32-bit Processors. In: Goubin, L., Matsui, M. (eds.) CHES 2006. LNCS,
vol. 4249, pp. 270–284. Springer, Heidelberg (2006)
67. Tillich, S., Herbst, C.: Boosting AES Performance on a Tiny Processor Core. In:
Malkin, T. (ed.) CT-RSA 2008. LNCS, vol. 4964, pp. 170–186. Springer, Heidelberg
(2008)
68. Yao, A.C.: How to generate and exchange secrets. In: Proc. 27th Annual Sympo-
sium on Foundations of Computer Science, FOCS 1986, pp. 162–167 (1986)
A Cache Timing Attack on AES
in Virtualization Environments
1 Introduction
Virtualization technologies provide a means to establish isolated execution en-
vironments. Using virtualization, a system can for example be split into two
security domains, one trusted domain and one untrusted domain. Security crit-
ical applications which perform financial transactions can then be executed in
the trusted domain while the general purpose operating system, also referred to
as rich OS, is executed in the untrusted domain. In addition, other untrusted
applications can be restricted to the untrusted domain.
It is generally believed that virtualization characteristics provide an isolated
execution environment where sensitive code can be executed isolated from un-
trustworthy applications. However, we will show in this paper that this isolation
characteristic can be bypassed by the use of cache timing attacks. Even though
it has already been stated that cache timing attacks may circumvent the virtu-
alization barriers [14], we provide additional practical evidence to that matter.
Especially, we show how this side channel can also be exploited on embedded
ARM-based architectures for mobile devices, such as smartphones.
The authors and their work presented in this contribution were supported by the
German Federal Ministry of Education and Research in the project RESIST through
grant number 01IS10027A.
A cache timing attack exploits the cache architecture of modern CPUs. The
cache architecture has influence on the timing behavior of each memory access.
The timing depends on whether the addressed data is already loaded into the
cache (cache-hit) or it is accessed for the first time (cache-miss). In case of a
cache-miss, the CPU has to fetch the data from the main memory which causes
a higher delay compared to a cache-hit where the data can be used directly
from the much faster cache. Based on the granularity of information an at-
tacker uses for the attack, cache timing attacks can be divided into three classes:
time-driven [7,17,2,16], trace-driven [1,9] and access-driven [17,15]. Time-driven
attacks depend only on coarse timing observations of whole encryptions includ-
ing certain computations. In this paper, we use a time-driven attack which is the
most general attack of the three. To perform a trace-driven attack, an attacker
has to be able to profile the cache activity during a single encryption. In addi-
tion, he has to know which memory access of the encryption algorithm causes
a cache-hit. More fine grained information about the cache behaviour is needed
to perform an access-driven attack. This attack additionally requires knowledge
about the particular cache sets accessed during the encryption. That means
that those attacks are highly platform dependent while time-driven attacks are
portable to different platforms as we will show.
Although trace- and access-driven cache attacks would be feasible in a vir-
tualized system, it would require much more effort to setup a spy-process. For
an access-driven attack, the adversary needs the physical address of the lookup
tables to know where they are stored in memory and thus the information to
which cache lines they are mapped. This cannot be accomplished by a spy-
process during runtime in the untrusted domain, as there is no shared library.
By a time-driven attack, it is sufficient to see the attacked system as a black
box.
Bernstein [7] for instance used this characteristic for a known plaintext attack
to recover the secret key of an AES encryption on a remote server. However,
Bernstein had to measure the timing on the attacked system to get rid of the
noisy network channel between the attacked server and the attacking client.
While this is a rather unrealistic scenario since the server needs to be modified,
it is very relevant in the context of virtualization. In the context of virtualization,
the noise is negligible since local communication channels are used for controlled
inter-domain data exchange. These communication channels are based on shared
memory mechanisms which introduce only a small and almost constant timing
overhead.
This paper is organized as follows. In the next section we state related works.
We analyze the general characteristics of a virtualization-based system and
present a generic system architecture that provides strong isolation of execution
environments in Section 3. We believe that this system architecture is repre-
sentative for related architectures based on virtualization that establish secure
execution environments. Based on this architecture, we show the feasibility to
adapt Bernstein’s attack. Further, in Section 4, we show that standard mutual
authentication schemes based on AES are vulnerable to cache timing attacks
316 M. Weiß, B. Heinz, and F. Stumpf
2 Related Work
Bernstein provides in [7] a practical cache-timing attack on the OpenSSL imple-
mentation of AES on a Pentium III processor. He describes a known plaintext
attack to a remote server which provides some kind of authentication token.
However, Bernstein does not provide an analysis of his methodology and an ex-
planation why the attack is successful. This is revisited by Neve et al. [16]. They
present a full analysis of Bernstein’s attack technique and state the correlation
model. Later Aciiçmez et al. [2] proposed a similar attack extended to use second
round information of the AES encryption. However, they also provide only local
interprocess measurements in a rather unrealistic attack setup similar to Bern-
stein’s client-server scenario. Independently from Bernstein, Osvik et al. [17] also
describe a similar time-driven attack with their Evict+Time method. Further,
they depict an access-driven attack Prime+Probe with which they are able to
extract the disk encryption key used by the operating system’s kernel. However,
they need access to the file system which is transparently encrypted with that
key.
Gueron et al. [14] discussed several security aspects of current x86/x86-64
PC architectures including potential timing side channels which are caused by
performance optimizations of the hardware architecture. They discussed that for
example the cache may compromise the isolation of virtualization environments.
Ristenpart et al. [20] consider side-channel leakage in virtualization environments
on the example of the Amazon EC2 cloud service. They show that there is cross
VM side-channel leakage. They used the Prime+Probe technique from [17] for
analyzing the timing side-channel. However, Ristenpart et al. are not able to
extract a secret encryption key from one VM.
There are also more sophisticated cache attacks which can recover the AES
key without any knowledge of the plaintext nor the ciphertext. Lately, Gullasch
et al. [15] describe an access-driven cache attack. They introduce a spy-process
which is able to recover the secret key after several observed encryptions. How-
ever, this spy-process needs access to a shared crypto library which is used in the
attacked process. Further, a DoS attack on the Linux’ scheduler is used to mon-
itor a single encryption. Recently, Bogdanov et al. [8] introduced an advanced
time-driven attack and analyzed it on an ARM-based embedded system. It is a
chosen plaintext attack which is using pairs of plaintexts. Those plaintexts are
chosen in a way that they exploit the maximum distance separable code. This
is a feature of AES used during MixColumns operation to provide a linear trans-
formation with a maximum of possible branch number. For 128-bit key length,
they have to perform exactly two full 16-byte encryptions for each plaintext pair
where the timing of the second encryption has to be measured.
A Cache Timing Attack on AES in Virtualization Environments 317
&'
!
!
"#
"#
3 System Architecture
We present in this section the system architecture of a generic virtualization-
based system. This system architecture is representative for other systems based
on virtualization and is later used to demonstrate our cache timing attack. The
system architecture consists of a high level virtualization-based security archi-
tecture including the operating system and an authentication protocol used to
authenticate a security sensitive application executed in the trusted domain.
Verifier B Prover A
shared key: k shared key: k
rB := rnd() rA := rnd()
connect()
←−−−−−−−−−−−−−−
IDB , rB
−−−−−−−−−−−−−−→
mA := h(rB ||rA ||IDA )
IDA , rA , cA cA = E(mA , k)
←−−−−−−−−−−−−−−
mA := h(rB ||rA ||IDA )
cA = E(mA , k)
?
mB := h(rA ||IDB )
cB := E(mB , k) c
−−−−−−−−B−−−−−−→
mB := h(rA ||IDB )
cB = E(mB , k)
?
To keep the trusted computing base (TCB) small and to reduce implementation
complexity, the drivers and communication stacks are implemented in the rich
operating system executed in the untrusted domain. Thus, to achieve for exam-
ple authenticity of a transaction in an online banking application, a protocol
resistant to man-in-the-middle attacks has to be used. The protocol’s end point
has to be in the trusted domain and not in the rich OS since the rich OS could
be compromised. When the trusted application wants to communicate with its
backend system, it has to prove its authenticity against the backend and vice
1
A rich operation system is a full operating system with drivers, userland and user
interfaces, e. g., Android.
A Cache Timing Attack on AES in Virtualization Environments 319
Untrusted VM
To/From remote To/From trusted
connect() connect()
←−−−−−−−−−−−−−− ←−−−−−−−−−−−−−−
IDB , rB ID , rB
−−−−−−−−−−−− −−→ startClk() −−−B
−−−−−−−−−−−→
IDA , rA , cA IDA , rA , cA
←−−−−−−−−−−−−−− stopClk() ←−−−−−−−−−−−−−−
mA := h(rB ||rA ||IDA )
..
.
4 Attack Setup
For our attack setup, we focus on a virtualization-based system architecture of an
embedded mobile device as stated above. In the following, we show that an attacker
who has overtaken the rich OS in the untrusted domain, e.g., by the use of malware,
can circumvent the isolation mechanism with a cache timing side-channel.
Our introduced authentication scheme is secure against man-in-the-middle
attacks on protocol level. However, due to the fact that the untrusted domain
is relaying the messages between the client application and the remote server,
malware can use a time-driven cache attack to at least partially recover the
AES-encryption key k. To this end, we use a template attack derived from the
attack in [7] which is conducted in two phases, first the profiling phase (offline
and online) and second the correlation phase. We assume that an attacker has
gained access to the rich operating system. The attacker is then able to execute
a small attack process which is used to generate the timing profile.
320 M. Weiß, B. Heinz, and F. Stumpf
Further, the total amount of captured samples for each plaintext byte value is
traced in a matrix tnum as shown in Equation 2.
According to the probability which is derived from the variance also stored in
the profile, the values of c are sorted. Further, the key values with the lowest
probability below a threshold as defined in [7] are sorted out.
5 Empirical Results
For practical analyses of the above described use-case, we built a testbed based
on an embedded ARM SoC with an L4 microkernel as virtualization layer. As
hardware platform, we decided to use the beagleboard in revision c4 because it
is widely spread community driven open source board and also comparable to
the hardware of currently available smartphones, for instance the Apple iPhone
as well as Android smartphones. It is based on Texas Instruments’ OMAP3530
SoC which includes a 32-bit Cortex-A8 core with 720MHz as central processing
unit. The Cortex-A8 implements a cache hierarchy consisting of a 4-way set
associative level 1 and an 8-way set associative level 2 cache. The L1-cache is
split into instruction and data cache. The cache line size of both is 64 byte. For
precise timing measurement, we used the ARM CCNT register, which provides
the current clockcycles, the CPU spent since last reset. This is a standard feature
of the Cortex-A8 and thus also available in current smartphones. However, it
needs system privileges by default.
We implemented the scenario shown in Figure 1 and employed the mutual
authentication scheme from Table 1 in a trusted environment. For the virtual-
ization environment, we used the Fiasco.OC microkernel and the L4Re runtime
322 M. Weiß, B. Heinz, and F. Stumpf
&
&'
'
5.2 Results
We evaluated a broad range of different AES implementations as shown in Table 3.
The implementations of Bernstein [6], Barreto [5] and OpenSSL [22] are optimized
for 32-bit architectures like the Cortex-A8 whereas Gladman’s [12] is optimized for
8-bit micro controllers. Niyaz’ [19] implementation is totally unoptimized. Table 3
visualizes the online and offline profile of each implementation. The first column
shows the minimum and maximum of the overall timing in CPU cycles which is
used for the correlation. The second column shows information about the varia-
tion of this timing computed over all measurements. To make propositions over
the signal to noise ratio, we also provide the average time spent in the AES encryp-
tion method. In Figure 3, the result of the correlation is shown. The plots depict
the decreasing possibilities for each key byte by increasing samples. For each imple-
mentation, a subfigure is provided which plots the left choices m with m ∈]0; 256] in
z-direction for each key byte ki with i ∈ [0; 15] from left to right, while the amount
of samples N for the online profile with N ∈ [100K; 2M ] is plotted in y-direction
from behind to front. For this result, a constant sample amount of 2M was used for
the offline profile with the null key.
Gladman. The same holds for the implementation of Gladman which we com-
piled with tables and 32-bit data types enabled. Here, also the choices for several
key bytes are reduced to 16 possibilities. However, Gladman uses only one 256-byte
lookup table which means the signal to noise ratio is even worse than in the other
implementations. Further, as the cache is 4-way associative with a cache line size
of 64 byte, the lookup table fits into one cache block at once. This makes evictions
by AES itself nearly impossible. However, other variables used during the compu-
tation can compete with the same lines in cache. This reduces the amount of cache
evictions a lot in comparison to the 4 KByte tables implementations. So, there is
no reduction of the key space for four key bytes at 2M samples.
A Cache Timing Attack on AES in Virtualization Environments 325
Table 4. Correlation results after 100K samples of online profile received with the C
version of Bernstein’s AES implementation; offline profile with 2M samples
Niyaz. The implementation of Niyaz seems almost secure against this attack
as shown in Figure 3(e). Niyaz also implements the AES with only one S-Box
table of 256 byte in size. As in Gladman’s implementation, this table also fits in
one cache block. Thus, the timing leakage generated by the S-Box lookups is re-
duced. Further, the unoptimized code beside the table lookups in the encryption
method will decrease the signal-to-noise ratio to make it even harder to extract
information from the measurements using the correlation.
6 Conclusion
with hashing are used, the side-channel leakage of the cache can be used to
significantly reduce the key space. Nevertheless, our attack requires many mea-
surement samples and noise also makes our attack more difficult. As there are
doubts about practicability of this kind of attacks, further research has to ex-
amine proper workloads and real noise. Indeed, cache timing attacks remain a
threat and have to be considered during design of virtualization-based security
architectures. Switching the algorithm for authentication would not be a solu-
tion to this problem. For instance, there exist cache-based timing attacks against
asymmetric algorithms like RSA by Percival [18] and ECDSA by Brumley and
Hakala [10] as well.
The first step to mitigate those attacks is to not use a T-Tables implementa-
tion. However, also the implementations of Gladman and Niyaz with the 256-byte
S-Box tables leak timing information which reduces the key space. An additional
option for implementations with a 256-byte S-Box would be to use the preload
engine in cooperation with the cache locking mechanism of the Cortex-A8 pro-
cessor, as the whole S-Box fits in a cache-set. On a higher abstraction layer,
the communication stack and all relevant protocol stacks and drivers could be
implemented in the trusted domain. However, this would increase the TCB sig-
nificantly and thus also the probability to be vulnerable to buffer-overflow at-
tacks. Another solution would be to use a crypto co-processor implemented in
hardware. This could be either a simple micro controller which does not use
caching, or a sophisticated hardware security module (HSM) with a hardened
cache-architecture that provides constant encryption timing.
References
1. Acıiçmez, O., Koç, Ç.K.: Trace-Driven Cache Attacks on AES (Short Paper). In:
Ning, P., Qing, S., Li, N. (eds.) ICICS 2006. LNCS, vol. 4307, pp. 112–121. Springer,
Heidelberg (2006)
2. Acıiçmez, O., Schindler, W., Koç, Ç.K.: Cache Based Remote Timing Attack on
the AES. In: Abe, M. (ed.) CT-RSA 2007. LNCS, vol. 4377, pp. 271–286. Springer,
Heidelberg (2006)
3. ARM Limited. ARM Security Technology - Building a Secure System using Trust-
Zone Technology, prd29-genc-009492c edition (April 2009)
4. Bailey, S.A., Felton, D., Galindo, V., Hauswirth, F., Hirvimies, J., Fokle, M., More-
nius, F., Colas, C., Galvan, J.-P.: The trusted execution environment: Delivering
enhanced security at a lower cost to the mobile market. Technical report. Global
Platform Inc. (2011)
5. Barreto, P., Bosselaers, A., Rijmen, V.: Optimised ANSI C code for
the Rijndael cipher, now AES (2000), http://fastcrypto.org/front/misc/
rijndael-alg-fst.c
6. Bernstein, D.J.: Poly1305-AES for generic computers with IEEE floating point
(February 2005), http://cr.yp.to/mac/53.html
7. Bernstein, D.J.: Cache-timing attacks on AES. Technical report (2005)
8. Bogdanov, A., Eisenbarth, T., Paar, C., Wienecke, M.: Differential cache-collision
timing attacks on aes with applications to embedded cpus. In: The Cryptographer’s
Track at RSA Conference, pp. 235–251 (2010)
328 M. Weiß, B. Heinz, and F. Stumpf
9. Bonneau, J., Mironov, I.: Cache-Collision Timing Attacks Against AES. In:
Goubin, L., Matsui, M. (eds.) CHES 2006. LNCS, vol. 4249, pp. 201–215. Springer,
Heidelberg (2006)
10. Brumley, B.B., Hakala, R.M.: Cache-Timing Template Attacks. In: Matsui, M.
(ed.) ASIACRYPT 2009. LNCS, vol. 5912, pp. 667–684. Springer, Heidelberg
(2009)
11. Intel Corporation. Intel R virtualization technology list (accessed September 15
(2011), http://ark.intel.com/VTList.aspx
12. Brian Gladman (2008), http://gladman.plushost.co.uk/oldsite/AES/
aes-byte-29-08-08.zip
13. GlobalPlatform Inc. TEE Client API Specification Version 1.0 (July 2010)
14. Gueron, S., Stronqin, G., Seifert, J.-P., Chiou, D., Sendag, R., Yi, J.J.: Where
does security stand? new vulnerabilities vs. trusted computing. IEEE Micro 27(6),
25–35 (2007)
15. Gullasch, D., Bangerter, E., Krenn, S.: Cache Games – Bringing access-based cache
attacks on AES to practice. In: IEEE Symposium on Security and Privacy, S&P
2011. IEEE Computer Society (2011)
16. Neve, M., Seifert, J.-P., Wang, Z.: A refined look at bernstein’s aes side-channel
analysis. In: ASIACCS, p. 369 (2006)
17. Osvik, D.A., Shamir, A., Tromer, E.: Cache Attacks and Countermeasures: The
Case of AES. In: Pointcheval, D. (ed.) CT-RSA 2006. LNCS, vol. 3860, pp. 1–20.
Springer, Heidelberg (2006)
18. Percival, C.: Cache missing for fun and profit. In: Proc. of BSDCan 2005 (2005)
19. Niyaz, P.K.: Advanced Encryption Standard implementation in C
20. Ristenpart, T., Tromer, E., Shacham, H., Savage, S.: Hey, you, get off of my cloud:
exploring information leakage in third-party compute clouds. In: Proceedings of
the 16th ACM Conference on Computer and Communications Security, CCS 2009,
pp. 199–212. ACM, New York (2009)
21. Smith, J., Nair, R.: Virtual Machines: Versatile Platforms for Systems and Pro-
cesses. The Morgan Kaufmann Series in Computer Architecture and Design. Mor-
gan Kaufmann Publishers Inc., San Francisco (2005)
22. The OpenSSL Project. OpenSSL: The Open Source toolkit for SSL/TLS (February
2011), http://www.openssl.org
23. TU Dresden Operating Systems Group. The Fiasco microkernel,
http://os.inf.tu-dresden.de/fiasco/ (accessed April 6, 2011)
Softer Smartcards
Usable Cryptographic Tokens with Secure Execution
1 Introduction
Although available for over a decade, cryptographic security tokens with asym-
metric multi-factor authentication are still not in common use for many daily
authentication procedures. Despite their significant advantages, service providers
and users still prefer more usable but weak password-based authentication pro-
tocols that are highly vulnerable to simple malware and phishing attacks. More-
over, the lack of scalability in password-based authentication resulted in the
widespread deployment of password managers and federal ID systems, creating
single points of failures that pose a serious threat to a user’s online identity,
personal data and business relationships.
In contrast, cryptographic tokens allow strong user authentication and secure
storage of authentication secrets. The PKCS#11 cryptographic token interface
specification [26] is widely accepted and, when combined with a card reader
with dedicated user input/output pad, enables the secure authentication and
authorization of transactions even on untrusted systems. However, while a clear
return of investment can be identified for well-defined environments like large
enterprises and organizations [10], end users face significantly higher costs for
the deployment and maintenance of cryptographic token solutions. Moreover,
currently available solutions still fail to meet the flexibility and security required
in mobile usage scenarios. For example, the secure encryption of files and emails
with smartcards is easily implemented at the work place but it is inconvenient
to use a dedicated keypad in addition to a laptop or smartphone, only to secure
the PIN entry process against malware attacks.
USB tokens were proposed to address the mobile usage scenario by integrating
card reader and smartcard into a single USB stick [20]. However, in this case the
critical PIN entry and transaction confirmation to the user is done in software
on the PC and thus again vulnerable to malware and interface spoofing attacks.
Alternatively, one-time password systems are sometimes deployed as a compro-
mise between usability and security. However, such systems essentially use a
symmetric authentication mechanism and do not easily scale to authenticate a
user towards multiple service providers. Moreover, as demonstrated in the recent
security breach at RSA Security1 , the employed centralized server-side storage
of master secrets and lack of scalable revocation mechanisms represents a severe
security risk. Similarly, the several proposed authentication and transaction con-
firmation methods for online banking (e.g., [11]) are often special-purpose solu-
tions: Approaches that use dedicated security hardware are not easily extendible
for use with multiple service providers, while software-based solutions, such as
using a mobile phone to transmit a transaction confirmation number out of
band (mobileTAN), are again vulnerable to malware attacks. In contrast, a se-
cure general-purpose solution using smartcards, like “Secoder/HBCI-3” 2, again
requires dedicated secure hardware, making it inconvenient for mobile use.
In recent years, consumer hardware was extended with the ability to execute
programs independently from previously loaded software, including the main
operating system [16,1]. These so-called Secure Execution Environment (SEE)
allow the secure re-initialization of the complete software state at runtime and
can be used to launch a new OS or simply execute a small security-sensitive
program while the main OS is suspended. Sophisticated systems have been
proposed to use these capabilities for securing online transactions, however,
they require substantial modification of existing authentication procedures and
software stacks. In contrast, this work presents a conservative approach that
uses secure execution to implement a standards-compliant cryptographic to-
ken, thus simplifying deployment and interoperability with existing software
infrastructures.
1
A security breach of the RSA Security servers resulted in a compromise of the widely
deployed SecurID tokens, incurring an estimated $66 million in replacement costs:
www.theregister.co.uk/2011/07/27/rsa_security_breach/
2
http://www-ti.informatik.uni-tuebingen.de/˜borchert/Troja/
Online-Banking.shtml#HBCI-3
Softer Smartcards 331
TCG Trusted Computing. The Trusted Computing Group (TCG) [30] published
a number of specifications to extend computing systems with trusted comput-
ing. Their core component is the Trusted Platform Module (TPM), a processor
designed to securely record system state changes and bind critical functions,
such as decryption, to pre-defined system states [31]. For this purpose, the TPM
introduces Platform Configuration Registers (PCRs) to record of state change
measurements in form of SHA-1 digests. By resetting the PCRs only at sys-
tem reboot and otherwise always only extending the current PCR value with
the newly recorded state change, a chain of measurements is built. This chain
3
E.g., Aladdin eToken Pro, Marx CrypToken or Certgate SmartCard microSD.
332 F.F. Brasser et al.
can be used to securely verify the system state. The TPM then supports basic
mechanisms to bind cryptographic keys or data to specific system states. Most
significantly for our design, keys can be sealed to a given system state by en-
crypting them together with the desired target PCR values under a storage root
key (SRK)4 . Since the SRK is only known to the TPM, it can check upon un-
sealing if the current system state recorded by the PCRs matches the desired
state stored together with the sealed key, and otherwise reject the request.
A major problem of this approach is dealing with the huge amount and com-
plexity of software in today’s systems, resulting in a very large chain of measure-
ments. Moreover, the problem of runtime compromise is currently unsolved, i.e.,
the TPM is only informed of explicit program startups but cannot assure that
already running software was not manipulated.
Adversary Model. We assume an adversary that can compromise the user’s op-
erating system and applications (malware, trojan horse attacks) or tries to lure
the user into revealing authentication secrets by imitating local applications and
web services (phishing, spoofing). However, the adversary has no physical con-
trol over the user’s cryptographic token and is thus restricted to the application
interface of the token. The goal of the adversary is to compromise long-term
secret keys, to authorize transactions or decrypt confidential data of the user.
334 F.F. Brasser et al.
"#$
%
!"
!
3.3 Deployment
Before using the software token for the first time, the user must initialize it in a
trusted enrollment environment and choose an individual picture img and PIN
number pin, as illustrated in Figure 2(a). The picture is used later on to authen-
ticate Secure Execution Token Application (SETA) towards the user, while the
PIN is used to authenticate the user towards the token. After initialization, the
token state is sealed to the expected TPM PCR values of SETA, which are also
supplied as input, so that only SETA can open and modify the token.
Note that if the initialization and enrollment system is different from the user’s
target platform, the SEE-based token can be created centrally and deployed to
the user’s target platform using the token migration procedure described in
Section 3.4. This is particularly interesting for enterprises, which often require
central enrollment and backup of authentication and encryption secrets. Hence,
the overall procedure remains identical to the deployment of regular smartcards,
except that the user is not required to (but could) use a physical device to
transport the token state from enrollment platform to the target platform.
(a) Initialization of SEE-token state. (b) Secure migration of token state [ts] under
passphrase Km and/or trusted channel.
Secure backup and migration of credentials is essential for both enterprise and
personal use. Note that backup and migration are very similar, since backup can
be regarded as a “migration into the future”, using either a dedicated backup
platform as intermediate migration target or a direct migration to a target plat-
form of yet unknown configuration.
For best usability in personal usage scenarios, we propose to realize secure
migration simply based on trusted user I/O and a user passphrase Km as illus-
trated in Figure 2: To migrate the token, the user must first launch SETA and
enter the correct PIN pin to access the protected token state ts. Upon issuing
the migrate() command, SETA encrypts ts using a symmetric randomly chosen
passphrase Km and returns the encrypted token state [ts]Km to the untrusted
environment of the source platform. The passphrase Km is disclosed to the user
via trusted I/O, enabling the owner of the token (authorized by the entered PIN)
to import the encrypted token state [ts]Km at the target platform.
Additionally, the migration procedure can be wrapped in a trusted channel
if the target platform is known in advance and is equipped with a TPM: As
proposed in [3,9], the encrypted token state [ts]Km can be bound to a specific
target platform’s TPM and platform state before disclosing it to the source
platform’s untrusted environment. As a result, the protected token state can only
be imported by the designated target platform, and only from within the trusted
SETA environment. Token migration using trusted channels can thus effectively
mitigate brute-force attacks on Km and, based on the authentication image img
sealed to SETA, also prevent impersonation of the importing application at the
target platform. Note that if the backup system is equipped with a TPM, this
extended migration protocol can also be used for secure backups.
The protocol for the regular operation of our SEE-based token is illustrated in
Figure 3. As outlined in previous Section 3.1, the token middleware executes
security-sensitive operations op() on behalf of the applications, which in turn
delegates execution of the required algorithms to SETA and returns the result
res at the very end of the protocol flow. For this purpose, the middleware keeps
track of one or more token states [ts] and their supported types of operations
op(). Specifically, [ts] consists of encrypted token state cstatetk , cstatepal and the
corresponding encryption keys [Ktk ], [Kpal ] sealed to the SETA environment.
To execute a specific operation op(), the middleware determines the required
cryptographic token algorithm algo to be executed and then asks the operating
system’s SEE driver to launch an instance of the SETA module, supplying the
algorithm identifier algo, the token identifier id and the respective protected
token state [ts] as shown in step 2.
Once launched, SETA unseals Kpal in step 3 to decrypt the PAL meta-data
state statepal to retrieve the master key Kctr of the counter list clist and the
secret authentication picture img. Kctr is used to decrypt ctrs, a list of counters
Softer Smartcards 337
this case the user must assure that no malicious version rollback of the sealed
token state [ts] took place.
While the TPM specification imposes a frequency limit on the use of the
TPM’s secure monotonic counters, it is unlikely that the use of SETA is affected
by this limit: Most common operations carried out with the token, such as signa-
ture creation, do not modify the token state and thus do not require an update
of the TPM secure counters. Moreover, common operations such as enquiring
the algorithms supported by the token are not actually security sensitive and
can be implemented within the token middleware’s SETA adapter.
updates: The values of usesmax and s can be considered relatively static and
remain in cstatepal even if PIN caching is not used. Moreover, an unexpected
modification of PCR p, including platform reset, only invalidates the PIN caching
status, requiring only a regular user authentication to continue operation.
While the processors in many hardware tokens are optimized for low cost and
resistance against physical attacks, our solution benefits from the high perfor-
mance of today’s CPUs. The main delay for executing operations with SETA is
caused by the switch into the SEE itself using Flicker, and the interaction with
the (often rather slow) TPM for unsealing and counter update.
340 F.F. Brasser et al.
We compared the time required for a PKCS#11 signing operation using hard-
ware and software tokens versus using our SETA. The signature operation is
perhaps the most common operation for security tokens, as it is used for authen-
tication as well as document signing. The specific document or data length is
insignificant in this case, as most applications simply hash the document them-
selves and only sign the hash digest, to reduce the amount of data that would
otherwise have to be transferred and handled by the token.
Specifically, we compared an older Aladdin eToken Pro 32k and a newer
MARX CrypToken MX2048 as hardware tokens against the opencryptoKi soft-
ware token and our SEE-based solution on a standard Dell Optiplex 980 PC
with an Intel 3.2 GHz Core i5 CPU. For the signature operation we use the
PKCS#11 C_Sign command using RSA-1024 as the signature mechanism. As
can be seen in Table 1, SETA is almost twice as fast as the older eToken Pro
and still faster than the modern MX2048. As can be seen in the explicitly listed
time overheads for switching to Flicker and interacting with the TPM, significant
performance improvements can be expected for more complex token operations.
We also expect improvements in the SEE switching and TPM interaction times
once these components are relevant for daily use.
5 Security Considerations
The security of our overall scheme depends on the enforcement of information
flow control to maintain the confidentiality and integrity of the internal token
state. Specifically, our token must meet the two security requirements formu-
lated in Section 3, (1) preventing unauthorized leakage or manipulation of the
token state and (2) providing a user interface that is secure against spoofing
or eavesdropping attacks by a compromised legacy operating system and that
detects attempts to tamper with the SETA token implementation.
Secure Token Interface. Requirement (1) holds based on the assumption that
the user and TPM are trusted and the PKCS#11 token interface is secure and
securely implemented. The first two assumptions are standard assumptions and
differ from the security of regular hardware-based cryptographic tokens mainly
in that the TPM is not designed to be secure against hardware attacks.
Considering the limited security of hardware tokens against hardware at-
tacks [2,29,24] and the prevalence of remote software attacks it is reasonable
Softer Smartcards 341
that we exclude hardware attacks in our adversary model. While some attacks
on PKCS#11 implementations have been shown [7], the specification itself is
considered highly mature and implementation flaws are independent from the
token type.
Secure User I/O. Requirement (2) is met by our combination of SEE and TPM,
which results in isolated execution of trusted code with full control over the local
platform. The SEE suspends the legacy OS, preventing any potentially loaded
malware from manipulating the execution of SETA payload and giving it full
hardware access. By implementing appropriate keyboard and graphics drivers
in SETA we can thus provide secure I/O on standard computing platforms.
Additionally, to prevent the replacement of SETA by malicious applications,
we use the TCG TPM’s sealing capability to bind data to designated system
states, such that a malicious SETA’ = SETA is unable to access the protected
token state [ts] and user authentication image img. Specifically, since only the
pristine SETA program can access and display the secret authentication image
img, the user can always recognize if the currently running application is the
untampered SETA. A well-known open problem, in this context is that users
often disregard such security indicators, allowing an adversary to spoof the user
interface and intercept the secret PIN [28]. However, in our solution, an attacker
that has gained knowledge of the user’s PIN also requires the untampered SETA
program to which the user’s sealing key is bound and to which he thus has to
enter the PIN (physical presence). Hence, although our solution cannot fully
prevent interface spoofing against attacks against unmindful users, the attack
surface is notably reduced by restricting the TPM unseal operation to pre-defined
physical platforms and requiring physical presence. We suggest that enterprises
monitor the migration and authorization of SETA modules for such events.
Some recent works also manage to break the rather novel SEE implementa-
tions through security bugs in BIOS and PC firmware [32,33]. The works show
that PC-based SEE environments currently still require secure BIOS implemen-
tations, which can be verified using the respective TPM PCRs. Again, these
vulnerabilities in the execution environment are not specific to our solution, as
illustrated by recent attacks on dedicated smartcard readers 5 . However, similar
to bugs in the PKCS#11 implementations such vulnerabilities are rare and usu-
ally very hard to exploit in comparison with common trojan horse or phishing
attacks. Overall, SETA thus significantly improves the security of user authenti-
cation and transaction authorization by preventing the vast majority of malware
attacks and significantly reducing the applicability of social engineering.
technology. While our solution does achieve the same resilience against hard-
ware attacks as some hardware cryptographic tokens, it presents a significant
improvement over software-based solutions or cryptographic tokens used with-
out dedicated keypad and display for secure PIN entry and transaction confirma-
tion. By integrating secure user I/O with increasingly deployed SEE technology
and leveraging standard cryptographic token interfaces, we can provide a se-
cure plug-in solution that is especially attractive for today’s mobile computing
environments.
For future work, we aim to further reduce time delay when accessing SETA by
parallelizing TPM interactions with software computations. Moreover, we aim
to port our prototype to other platforms such as ObC or the Windows OS and
include additional PKCS#11 functionality such as elliptic curve cryptography.
References
14. Gajek, S., Sadeghi, A.R., Stüble, C., Winandy, M.: Compartmented security for
browsers - or how to thwart a phisher with trusted computing. In: Availability,
Reliability and Security (ARES). IEEE (2007)
15. IBM: TrouSerS trusted software stack (2011), trousers.sourceforge.net/
16. Intel Corp.: Intel Trusted Execution Technology MLE Developer’s Guide (2009)
17. Jackson, C., Boneh, D., Mitchell, J.C.: Spyware resistant web authentication using
virtual machines (2007)
18. Jammalamadaka, R.C., van der Horst, T.W., Mehrotra, S., Seamons, K.E.,
Venkatasubramanian, N.: Delegate: A proxy based architecture for secure website
access from an untrusted machine. In: Annual Computer Security Applications
Conference (ACSAC). IEEE (2006)
19. Kaliski, B.: PKCS #5: Password-Based Cryptography Specification Version 2.0.
RFC 2898 (2000)
20. Kolodgy, C.: Identity management in a virtual world (2003)
21. Kostiainen, K., Ekberg, J.E., Asokan, N., Rantala, A.: On-board credentials with
open provisioning. In: ACM Symposium on Information, Computer, and Commu-
nications Security (AsiaCCS), pp. 104–115. ACM (2009)
22. McCune, J.M., Parno, B., Perrig, A., Reiter, M.K., Seshadri, A.: Minimal TCB
code execution. In: Research in Security and Privacy (S&P). IEEE (2007)
23. McCune, J.M., Parno, B.J., Perrig, A., Reiter, M.K., Isozaki, H.: Flicker: An execu-
tion infrastructure for TCB minimization. In: European Conference on Computer
Systems (EuroSys), pp. 315–328. ACM (2008)
24. Nohl, K.: Reviving smart card analysis. Black Hat, Las Vegas (2011)
25. Nyström, M.: PKCS #15 - a cryptographic token information format standard. In:
Workshop on Smartcard Technology, p. 5. USENIX (1999)
26. RSA: PKCS #11: Cryptographic token interface standard. Public-key cryptogra-
phy standards (PKCS), RSA Laboratories, version 2.30 (2009)
27. Sarmenta, L.F.G., van Dijk, M., O’Donnell, C.W., Rhodes, J., Devadas, S.: Virtual
monotonic counters and count-limited objects using a TPM without a trusted OS.
In: Workshop on Scalable Trusted Computing (STC), pp. 27–42. ACM (2006)
28. Schechter, S.E., Dhamija, R., Ozment, A., Fischer, I.: The emperor’s new security
indicators – an evaluation of website authentication and the effect of role playing
on usability studies. In: Research in Security and Privacy (S&P). IEEE (2007)
29. Tarnovsky, C.: Hacking the smartcard chip. Black Hat, DC (2010)
30. Trusted Computing Group (TCG) (2009),
http://www.trustedcomputinggroup.org
31. Trusted Computing Group (TCG): TPM Main Specification, Version 1.2 (2011)
32. Wojtczuk, R., Rutkowska, J.: Attacking Intel Trusted Execution Technology. Black
Hat, DC (2009)
33. Wojtczuk, R., Rutkowska, J., Tereshkin, A.: Another way to circumvent Intel
Trusted Execution Technology (2009)
The PACE|AA Protocol for Machine Readable
Travel Documents, and Its Security
1 Introduction
Through ISO/IEC JTC1 SC17 WG3/TF5 [ICA10] the International Civil Avia-
tion Organization (ICAO) has adopted the Password Authenticated Connection
Establishment (PACE) protocol [BSI10] to secure the contactless communica-
tion between machine-readable travel documents (including identity cards), and
a reader. Roughly, the protocol generates a secure Diffie-Hellman key out of a
low-entropy password which the owner of the passport has to enter at the reader,
or which is transmitted through a read-out of the machine-readable zone. The
Diffie-Hellman key is subsequently used to secure the communication. In [BFK09]
it has been shown that the PACE protocol achieves the widely accepted security
notion of password-based authenticated key agreement of Bellare-Pointcheval-
Rogaway [BPR00], in its strong form of Abdalla et al. [AFP05]. This holds under
a variant of the Diffie-Hellman assumption, assuming secure cryptographic build-
ing blocks, and idealizing the underlying block cipher and the hash function.
According to European endeavors, the PACE protocol should be followed by
the extended access control (EAC) authentication steps, called Chip Authen-
tication (CA) and Terminal Authentication (TA), with high-entropic certified
keys. This should ensure that access for either party is granted based on strong
cryptographic keys (i.e., not relying on low-entropy passwords only). The secu-
rity of the EAC protocols and of the composition with PACE has been discussed
in [DF10].
In the specifications of the ICAO 9303 standard [ICA06] for the border control
scenario, the normative document about machine-readable travel documents,
however, only passive authentication of the passport is mandatory, where the
passport essentially merely sends its (authenticated) data. Active Authentication
(AA) of the passport, implemented through a signature-based challenge-response
protocol, is only optional. If AA is not enforced this potentially allows to bypass
authentication through cloning of passports. Even if AA is used, then the (plain)
challenge-response protocol introduces a potential threat to privacy, as discussed
in [BSI10] (see also [BPSV08b, BPSV08a, MVV07]). Namely, if the terminal can
encode a time stamp or the location into the challenge, then the signature on
that challenge can be used as a proof towards third parties about the location or
time of the border check. In this sense, the passport cannot deny this interaction.
This problem has been explicitly addressed in the European Chip Authentication
protocol (where a message authentication code for a shared key is used for the
challenge-response step instead).
Combining PACE and AA. We discuss that, on the chip’s side, we can re-use
some of the (secret) data in the PACE step for the AA step to save the exponen-
tiation for the signature in AA on the chip’s side, giving Active Authentication
(almost) for free.
To understand our technique, we need to take a closer look at the PACE proto-
col. The PACE protocol first maps the short password to a random group element
through an interactive sub protocol Map2Point, followed by a Diffie-Hellman key
exchange step for this group element, and concludes with an authentication step.
While the latter steps are somewhat canonical, the Map2Point step can be in-
stantiated by different means and allows a modular design. The most common
instantiations are based on another Diffie-Hellman step (used within the German
identity card), or on hashing into elliptic curves as proposed by Icart [Ica09] and
Brier et al. [BCI+ 10]. The security proof for PACE [BFK09] holds for general
Map2Point protocols satisfying some basic security properties.
Our improvement works for the Diffie-Hellman based Map2Point protocol as
implemented on the German identity cards, for example, since the chip can re-use
its secret exponent from the Diffie-Hellman step of the Map2Point protocol. We
discuss two alternatives how to carry out the AA step with this exponent more
efficiently, one based on DSA signatures and the other one using Schnorr signa-
tures. We note that the idea applies more generally to other discrete-log based
signature schemes. The challenge in the new AA step is now the authentication
data sent by the terminal in the PACE step.
Security of the Combined Protocol. Whenever secret data is used throughout
several sub protocols great care must be taken in cryptography not to spoil the
security of the overall protocol. We thus show that sharing the data between the
PACE protocol and the new AA sub protocol preserves the desirable security
properties. More precisely, we show that:
346 J. Bender et al.
It follows that the PACE|AA protocol achieves the previous security standards
of the individual protocols but comes with a clear efficiency improvement. We
note that the underlying assumptions are essentially the same as for PACE and
AA, i.e., besides the common assumptions about secure encryption, signature,
and MAC algorithms, we reduce the security of the combined protocol to the
security of PACE (as an authenticated key-exchange protocol) and to a variant
of the security of Schnorr signatures resp. DSA signatures (where the adversary
now also gets access to a decisional Diffie-Hellman oracle and can decide upon
the message to be signed after seeing the first half of the signature).
2 Security Model
We use the real-or-random security model of Abdalla et al. [AFP05] which ex-
tends the model of Bellare et al. [BPR00] for password-based key exchange proto-
cols. Due to space limitations, we refer the reader to [BFK09] for the description
of the attack model and security notion. Some changes are necessary, though,
because we now incorporate a long-term signing key of the chip. These minor
modifications follow next.
Attack Model. We consider security against active attacks where the adversary
has full control over the network, and the adversary’s goal is to distinguish
genuine keys from random keys in executions, which are picked independently of
the actual protocol run. This corresponds to the so-called real-or-random setting
[AFP05], a stronger model than the original find-then-guess model of [BPR00],
where the adversary can see several test keys (instead of a single one only).
In the attack, each user instance is given as an oracle to which an adversary
has access, basically providing the interface of the protocol instance (via the
usual Send, Execute, Reveal, and Test commands to send messages to parties, to
observe executions between honest parties, to reveal the session key, and to be
challenged for a test key). In addition, there exists a Corrupt oracle in the model
from [AFP05]. The adversary can gain control over a user during the execution by
issuing a Corrupt query with which the adversary obtains the secrets of an honest
party. For sake of convenience, here we split these queries into Corrupt.pw and
Corrupt.key queries, where the former reveals the password only and the latter
discloses the long-term key only (in case of a chip); in both cases, the other secret
remains private. Note that we now can model Corrupt queries by both queries
(since we work in the weak corruption model where the parties’ internal states
are not revealed upon corruption). An honest party gets adversarially controlled
if it does not have any secrets left (i.e., if the adversary issues both Corrupt query
types for a chip, or the Corrupt.pw query for the terminal).
The adversary can make the following queries to the interface oracles other
than these from [AFP05]:
In addition, since the original PACE protocol was cast in the random oracle and
ideal cipher model where oracles providing a random hash function oracle and
an encryption/decryption oracle are available, the attacker may also query these
oracles here. (We note that we only use the ideal cipher implicitly through the
reduction to the security to PACE.)
348 J. Bender et al.
2
In a stronger notion the adversary may even issue a Corrupt.key command for the user
before the testing; Due to the entanglement of the PACE and the AA protocol here
our protocol does not achieve this, though.
The PACE|AA Protocol 349
(t, Q).
Impersonation Resistance. This security property says that the adversary, in the
above attack, successfully impersonates if an honest reader in some session ac-
cepts with partner identity pid and session id sid, but such that (a) the intended
partner U in pid is not adversarially controlled or the public key in pid has not
been registered, and (b) no Corrupt.key command to U has been issued before
the reader has accepted, and (c) the session id sid has not appeared in another
accepting session. This roughly means that the adversary managed to imper-
sonate an honest chip or to make the reader accept a fake certificate, without
knowing the long-term secret or relaying the data in a trivial man-in-the-middle
kind of attack.
Define now the IKE advantage (I for impersonation) of an adversary A for a
key agreement protocol P by
In this section, we describe the PACE|AA protocol and both options for authen-
tication in the last message, i.e., active authentication (AA) via Schnorr and via
DSA. The deniable Schnorr variant and its security is addressed in Section 6.
A: B:
password π password π
secret xA , public XA = g xA
certificate certC for XA , and pkCA pkCA
authenticated group parameters G = (a, b, p, q, g, k)
PACE
Kπ = H(0||π) Kπ = H(0||π)
choose s ← {0, 1} ⊆ Zq
z = Enc(Kπ , s)
G, z
−−−−−−−−−−−−−−→ abort if G incorrect
s = Dec(Kπ , z)
choose yA ← Z∗q choose yB ← Z∗q
YA = g yA YB = g yB
YB
←−−−−−−−−−−−−−−
abort if YB ∈ g \ {1}
Y
−−−−−−−−A−−−−−−→ abort if YA ∈ g \ {1}
h = YByA h = YAyB
ĝ = h · g s ĝ = h · g s
choose yA ← Z∗q choose yB
← Z∗q
YA = ĝ yA YB = ĝ yB
YB
←−−−−−−− −−−−−−−
YA
check that YB = YB −−−−−−−−−−−−−−→ check that YA = YA
K = (YB )yA K = (YA )yB
KENC = H(1||K) KENC = H(1||K)
KSC = H(2||K) KSC = H(2||K)
KMAC = H(3||K) KMAC = H(3||K)
KMAC = H(4||K) KMAC = H(4||K)
TA = MAC(KMAC , (YB , G)) TB = MAC(KMAC
, (YA , G))
T
←−−−−−−−B−−−−−−−
TA
abort if TB invalid −−−−−−−−−−−−−−→
abort if TA invalid
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Version: Schnorr Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Send(KSC , (σ, certC ))
σ = yA + H(5||YA , TB ) · xA −−−−−−−−−−−−−−→ recover and validate certificate
H(5||YA ,TB )
abort if g σ = YA XA
abort if v = YA
key=(KENC , KMAC ) key=(KENC , KMAC )
sid = (YA , YB , G) sid = (YA , YB , G)
pid = certC pid = certC
with the chip sending a nonce encrypted under the password, running the Diffie-
Hellman based Map2Point protocol to derive another generator ĝ on which an-
other Diffie-Hellman key exchange is then performed. In this Map2Point step the
chip uses some secret exponent yA to send YA = g yA . The parties in the PACE
protocol finally exchange message authentication codes TA , TB .
The PACE|AA Protocol 351
The idea is now roughly to re-use the secret exponent yA in the Map2Point
sub protocol on the chip’s side for the signature generation, and use the au-
thentication value TB of the terminal as the challenge on which the signature is
computed. The chip then sends its certificate (along with the missing signature
part) over the secure channel, via a Send command for the key KSC derived from
the Diffie-Hellman exchange. The reader may think for now of the secure channel
as an authenticated encryption, but other channel instantiations work as well.
3.2 Instantiations
There are essentially two possible instantiations. One is based on the Schnorr
signature scheme [Sch90] where the chip uses the values yA and YA as the (private
resp. public) randomness and TB as the challenge for creating the signature under
its long-term signature key XA . We call this option Active Authentication via
Schnorr signatures. Alternatively, the chip card might prove its authenticity by
providing a DSA signature where again yA and YA are used as the randomness for
the signature generation [Kra95]. This version is called Active Authentication via
DSA signatures. We note that the computation of the final signatures requires
only modular multiplications (and, in case of DSA, an inversion) instead of
exponentiations.
4 Security Assumptions
As remarked above we carry out our security analysis assuming an ideal hash
function (random oracle model). Basically, this assumption says that H acts like
a random function to which all parties have access. We do not make any explicit
assumption about the cipher C here, but note that the security proof for PACE
in [BFK09] (to which we reduce AKE security to) relies on an ideal cipher.
version where we insert (YA , G) instead of (R, m) into the hash function for the
random group element YA chosen by the chip respectively, signer. We also show
that for the proof of impersonation resistance the adversary cannot re-use one of
these values (YA , G) but needs to pick a new value YA , thus showing the second
property.
For the DSA based solution, we require an analogous assumption which is
omitted here for space reasons and refer to the full version of this paper.
Proof. The proof uses the common game-hopping technique, gradually taking
away adversarial success strategies and discussing that each modification cannot
contribute significantly to the overall success probability. Note that the original
proof of PACE in [BFK09] actually shows something stronger than indistin-
guishability of keys (from random). The proof rather shows that computing the
Diffie-Hellman key K in an execution is hard (unless one knows or has guessed
the password); key indistinguishability then follows from this. We will use this
more fine-grained view on the proof below and also consider the adversary on
the PACE|AA protocol in this regard, i.e., we measure its success probability
according to the probability of making a hash query about K in a Test session
(called target hash query).
Game 0: Corresponds to an AKE attack on the PACE|AA protocol (with the
more fine-grained success notion).
Game 1: Abort Game 0 if an honest chip would compute the same Diffie-Hellman
key in two executions.
Note that, since the honest chip always goes second for the Diffie-Hellman
key exchange step, sending YA , the keys in such executions are random ele-
ments and the probability that such a collision occurs is thus at most 12 qe2 /q.
Game 2: Change the previous game slightly such that, an honest chip when
sending the encrypted signature, instead picks and uses random and inde-
pendent (independent of the hash function output) keys KSC .
Note that the only difference between the two cases can occur if the
adversary makes a target hash query since Reveal and Test sessions never
output these keys and Diffie-Hellman keys are distinct by the previous game.
It follows that the adversarial success can only decrease by the probability
of making a target hash query in this new game.
Game 3: Change the game once more and replace channeled transmissions of
the signatures sent by an honest chip by encryptions of 0-bits of the same
length and, at the same time, let any honest terminal reject any final message
unless it has really been sent by the honest chip in the same session.
Note that the length (of the signature part and the certificate) is known
in advance. Note also that the probability of making a target hash query
in Game 3 cannot be significantly larger, by the distinguishing advantage of
genuine transmissions from all-zero transmissions. To make this claim more
formally, assume that we mount an attack on the left-or-right security of the
(multi-user) encryption scheme by simulating the entire Game 2 with two
exceptions: (1) If an honest chip is supposed to send the signature and cer-
tificate, then we simply call the next transmission challenge oracle about the
signature part and the certificate and about an all-zero message of the same
length. Then the challenge bit of the left-or-right oracle corresponds exactly
to the difference between the two games. (2) If the adversary successfully
modifies the final transmission of an honest chip and the honest terminal
would accept the message, then this would also constitute a security breach
of the channel protocol. Hence, if the success probabilities of the adversary
dropped significantly, we would get a successful attacker against the secure
channel scheme.
The PACE|AA Protocol 355
The final game can now be easily cast as an attack on the original PACE protocol.
That is, if there was a successful attacker in Game 3 (making a target hash
query), then there was a straightforward attacker with the same probability in
the original PACE protocol: this attacker would run the Game 3-adversary and
simulate the additional signature steps itself (i.e., creating keys and certificates),
inject the values from the PACE protocol (i.e., relay the communication), but
send dummy values 0 . . . 0 through the channel on behalf of honest chips under
independent random keys. It follows that the probability of making a target hash
query in Game 3 is also bounded by the PACE security.
Given that no target hash query is made, the advantage in the final game
is now bounded from above by the advantage against PACE. Note that the
advantage of breaking PACE simultaneously covers both the case of target
hash queries and of breaks otherwise (such that we do not need to account
for the advantage of target hash queries and then of other breaks, resulting in a
factor 2).
On Forward Security. Note that the PACE|AA protocol inherits the forward
security of PACE (when used as authenticated key exchange protocol). That
is, even if the adversary knows the password, then executions between honest
parties remain protected. Since the security of PACE|AA essentially reduces
to the security of PACE any successful attack against the forward security of
PACE|AA would yield a successful attack against PACE; the other protocol
steps do not violate this property.
Deniability of Our Protocol. Our deniable version of the Schnorr schemes works
as before, only that this time we hash (YA , G) instead of TB . We call this proto-
col the deniable Schnorr-based PACE|AA protocol. Roughly, the idea is now that
the chip itself determines the challenge! Hence, given that the challenge can be
determined beforehand, and that it is created independently of the first signa-
ture step one can simulate the final signature part as in the interactive Schnorr
identification protocol [Sch91]. We only need to take care that the other security
properties are not violated through this.
Note that security as an AKE protocol follows as in the Schnorr signature
based version (with the very same bounds), even for such challenges, as discussed
after Definition 1. It suffices to show impersonation resistance —which follows
similar to the case of signatures, using the fact that the chip in the PACE
protocol already provides some form of authentication through the token TA —
and to show deniability. We note that our deniability simulator will actually need
some assistance in form of a decisional Diffie-Hellman oracle (which, for sake of
fairness, we then also give the adversary and the distinguisher). We comment
that this does not trivialize the task as such a decision oracle is not known to
help compute discrete logarithms, such that the simulator cannot simply derive
the chip’s secret key from the public key and use this key to show deniability.
We omit a formal treatment of these two properties but merely sketch how the
deniability simulator S H works for this case. More insights can be found in the
full version of this paper. The simulator only has access to the chip’s public key
XA , the group data, and the password since it is considered a secret input to the
terminal (but not the chip’s secret key). The simulator now proceeds as follows,
running a black-box simulation of the adversarial terminal (playing the honest
The PACE|AA Protocol 357
chip). In each execution, the simulator initially picks values yA , yA ← Zq and
−c yA
computes YA = g as well as c = H(YA , G) and YA = XA g . Note that both
yA
values are not computed according to the protocol description but still have the
same distribution. In particular, even though the simulator may not be able to
compute the shared Diffie-Hellman key K in the execution, it can later complete
the signature generation by setting s = yA (such that g s = YA X H(YA ,G) ). For
the other steps the simulator proceeds as the chip would, using knowledge of
the password. Only when the simulator receives TB from the malicious token, it
searches (with the decisional Diffie-Hellman oracle) in the list of hash queries of
the malicious terminal for queries about a key DH(YA , YB ). If no key is found,
then abort this execution (this means that the adversary must have forged a
MAC for an unknown key); else use the found key K to finish the execution
(using the signature tokens as computed above). If the adversary stops, then let
the simulator output the same value.
References
[AFP05] Abdalla, M., Fouque, P.-A., Pointcheval, D.: Password-Based Authenti-
cated Key Exchange in the Three-Party Setting. In: Vaudenay, S. (ed.)
PKC 2005. LNCS, vol. 3386, pp. 65–84. Springer, Heidelberg (2005)
[BCI+ 10] Brier, E., Coron, J.-S., Icart, T., Madore, D., Randriam, H., Tibouchi,
M.: Efficient Indifferentiable Hashing into Ordinary Elliptic Curves. In:
Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 237–254. Springer,
Heidelberg (2010)
[BFK09] Bender, J., Fischlin, M., Kügler, D.: Security Analysis of the PACE Key-
Agreement Protocol. In: Samarati, P., Yung, M., Martinelli, F., Ardagna,
C.A. (eds.) ISC 2009. LNCS, vol. 5735, pp. 33–48. Springer, Heidelberg
(2009)
[BLS01] Boneh, D., Lynn, B., Shacham, H.: Short Signatures from the Weil Pair-
ing. In: Boyd, C. (ed.) ASIACRYPT 2001. LNCS, vol. 2248, pp. 514–532.
Springer, Heidelberg (2001)
[BPR00] Bellare, M., Pointcheval, D., Rogaway, P.: Authenticated Key Exchange
Secure against Dictionary Attacks. In: Preneel, B. (ed.) EUROCRYPT
2000. LNCS, vol. 1807, pp. 139–155. Springer, Heidelberg (2000)
[BPSV08a] Blundo, C., Persiano, G., Sadeghi, A.-R., Visconti, I.: Improved Security
Notions and Protocols for Non-transferable Identification. In: Jajodia, S.,
Lopez, J. (eds.) ESORICS 2008. LNCS, vol. 5283, pp. 364–378. Springer,
Heidelberg (2008)
[BPSV08b] Blundo, C., Persiano, G., Sadeghi, A.-R., Visconti, I.: Resettable and non-
transferable chip authentication for e-passports. In: RFIDSec 2008 (2008)
[BSI10] Advanced security mechanism for machine readable travel documents ex-
tended access control (eac). Technical Report (BSI-TR-03110) Version 2.05
Release Candidate, Bundesamt fuer Sicherheit in der Informationstechnik,
BSI (2010)
358 J. Bender et al.
[DDN00] Dolev, D., Dwork, C., Naor, M.: Nonmalleable cryptography. SIAM Jour-
nal on Computing 30(2), 391–437 (2000)
[DF10] Dagdelen, Ö., Fischlin, M.: Security Analysis of the Extended Access Con-
trol Protocol for Machine Readable Travel Documents. In: Burmester, M.,
Tsudik, G., Magliveras, S., Ilić, I. (eds.) ISC 2010. LNCS, vol. 6531, pp.
54–68. Springer, Heidelberg (2011)
[DKSW09] Dodis, Y., Katz, J., Smith, A., Walfish, S.: Composability and On-Line
Deniability of Authentication. In: Reingold, O. (ed.) TCC 2009. LNCS,
vol. 5444, pp. 146–162. Springer, Heidelberg (2009)
[ICA06] Machine readable travel documents. Technical Report Doc 9303, Part 1
Machine Readable Passports, 6th edn., International Civil Aviation Orga-
nization, ICAO (2006)
[Ica09] Icart, T.: How to Hash into Elliptic Curves. In: Halevi, S. (ed.) CRYPTO
2009. LNCS, vol. 5677, pp. 303–316. Springer, Heidelberg (2009)
[ICA10] ICAO. Supplemental access control for machine readable travel documents
(2010), http://www2.icao.int/en/MRTD/Pages/Downloads.aspx
[Kra95] Kravitz, D.W.: Digital signature algorithm. Computer Engineering 44(5),
6–17 (1995)
[MVV07] Monnerat, J., Vaudenay, S., Vuagnoux, M.: About machine-readable travel
documents – privacy enhancement using (weakly) non-transferable data
authentication. In: RFIDSEC 2007 (2007)
[Pas03] Pass, R.: On Deniability in the Common Reference String and Random
Oracle Model. In: Boneh, D. (ed.) CRYPTO 2003. LNCS, vol. 2729, pp.
316–337. Springer, Heidelberg (2003)
[PS00] Pointcheval, D., Stern, J.: Security arguments for digital signatures and
blind signatures. Journal of Cryptology 13(3), 361–396 (2000)
[Sch90] Schnorr, C.-P.: Efficient Identification and Signatures for Smart Cards. In:
Brassard, G. (ed.) CRYPTO 1989. LNCS, vol. 435, pp. 239–252. Springer,
Heidelberg (1990)
[Sch91] Schnorr, C.-P.: Efficient signature generation by smart cards. Journal of
Cryptology 4(3), 161–174 (1991)
Oblivious Printing of Secret Messages
in a Multi-party Setting
1 Introduction
Since the days of Gutenberg the privacy model for document printing has been
the same: a printer must learn the content of a message in order to print it. In this
paper we take a fundamentally new approach to printing, one in which a human-
or machine-readable message can be printed without the printers learning its
content.
We believe oblivious printing can useful in a variety of real-world situations
where it may advantageous to receive a secret in printed form. As an example,
consider a scenario in which a user needs to receive a secret, but lacks access to
the appropriate software, hardware or network infrastructure, such as in certain
mobile or financial settings. Another potential scenario might be one in which
a user needs to create a secret but does not understand how, or is otherwise
unmotivated to take the proper steps to so securely, such as in the creation of
strong passwords. Oblivious printing might even be useful when a user’s com-
puter cannot be trusted to handle a sensitive computation, such as in the case
of internet voting. We describe several concrete applications later in the paper.
2 Preliminaries
2.1 Physical Security
Printing is ultimately a physical process, which means that any oblivious print-
ing scheme will have a physical security component to it. In this paper we assume
ideal security properties although we acknowledge in practice they can be chal-
lenging and costly to implement and difficult to guarantee.
Invisible Ink. Invisible ink is an ink that, as its name implies, is initially invis-
ible when printed. The ink becomes visible (i.e., pigmented) after it is activated.
Ideal invisible ink has two security properties,
– Invisibility: Messages printed in invisible ink should be unreadable prior
to activation,
– Activation-evident: Activated ink should always be plainly evident to
anyone viewing the document.
Oblivious Printing 361
Work has been done in developing invisible inks in the context of trustworthy
optical-scan voting as part of the Scantegrity II system [5]. Ballots with confir-
mation codes printed in invisible ink were recently fielded in a live municipal
election in the United States [4]. For the sake of our description we assume that
there exists an ink printing process with the above properties.
Document Authentication. Techniques for determining a document’s au-
thenticity are an important component of oblivious printing. Ideally document
authentication can efficiently and definitively distinguish between authentic and
non-authentic (counterfeit) documents.
Anti-counterfeiting methods (e.g., watermarks, holographic foil, embedded
magnetic strips, etc) exist but can be cost-prohibitive. It was shown by Buchanan
et al. [3] that fiber patterns can be used to uniquely identify paper documents.
Clarkson et al. [8] later developed a paper fiber identification method using
commercial-grade scanners. Sharma et al. [24] implement a paper fingerprinting
scheme based on texture speckles using a USB microscope costing under $100.
For the sake of our description we assume that there exists an efficient scheme
for determining a physical document’s authenticity.
there are several important differences with how it is typically presented in the
literature:
1. Invisible ink shares: Printers successively overprint their shares in invis-
ible ink on a single sheet of paper. Activation of the combined invisible
ink shares recovers the message.
2. Dearlerless share creation: The message is distributed to shares by a
multi-party computation.
3. Fixed sub-pixel patterns: Each printer has a fixed pair of sub-pixel pat-
terns. Which of the two patterns the printer ends up printing is secret, but
the patterns themselves are a public input to the protocol.
We will make use of a set of sub-pixel patterns that implement an XOR oper-
ation. Work has been done into visual cryptography in a variety of physically
XOR-ing media including interferometers [17], light polarization [25], and even
image reversal using modern photocopy machines [27]. In our approach, however,
the XOR is approximated in an underlying physical medium (i.e., over-printed
shares of invisible ink) that implements an OR.
Definition 1. An n-input visual XOR, n-VCX, describes a set of sub-pixel pat-
terns that visually implement an XOR of the input bits in a physically OR-ing
medium.
Let S be an n × 2n−1 binary matrix for which each column is unique and has an
even Hamming weight. Let S be the element-wise complement of S. Let sub-pixel
pattern matrix Φ be as follows: Φ(l, 0) = S(l, :) and Φ(l, 1) = S(l, :).
For a set of Boolean
9n values a1 . . . an ∈ {0, 1} and their associated logical
exclusive-or a = i=1 ai , we say the sub-pixel pattern matrix Φ implements an
n-input visual crypto exclusive-or, if the sub-pixel pattern produced by overlay-
ing shares Φ(1, a1 ) . . . Φ(n, an ) has the following outcome: the total number of
black sub-pixels is 2n−1 − 1 if a = 0, and respectively 2n−1 when a = 1. If the
ai ’s contain an even number of ones (i.e., the XOR is zero), then exactly one
of the columns will end up with all 0’s (i.e., a white sub-pixel) due to the way
the matrix was designed and the pixel will be visually interpreted as white. If
the ai ’s contain an odd number of ones (i.e., their XOR is one), all columns will
contain a non-zero number of 1’s due to the way the matrix was designed and
the pixel will be visually interpreted as black. Φ implements an n-VCX.
Example 1. A 4-VCX: Let inputs [a1 , a2 , a3 , a4 ] = [1, 0, 0, 1] and,
⎡ ⎤
00010111
⎢0 0 1 0 1 0 1 1⎥
S=⎢ ⎣0 1 0 0 1 1 0 1⎦.
⎥
01110001
We have Φ(1, 1) = [1, 1, 1, 0, 1, 0, 0, 0], Φ(2, 0) = [0, 0, 1, 0, 1, 0, 1, 1], Φ(3, 0) =
[0, 1, 0, 0, 1, 1, 0, 1], and Φ(4, 1) = [1, 0, 0, 0, 1, 1, 1, 0]. When the vectors are OR-
ed, it produces the sub-pixel pattern [1, 1, 1, 1, 0, 1, 1, 1]. Such a pattern is visually
interpreted as intended, i.e., a white pixel with contrast α = 18 .
Oblivious Printing 363
3.2 Setup
Let DKG, Enc, DDec be an encryption scheme with distributed decryption. Dis-
tributed key generation DKG(n) generates a public key, e, and a private key share,
di associated with printer Pi . Encryption m = Ence (m, r) is semantically se-
cure and homomorphic in one operation. Distributed decryption DDecdi (c) of a
ciphertext c is possible with all n printers applying their shares di . Without loss
of generality we use Elgamal [20].
1
Printing uses a subtractive color model and thus the plaintext values assigned to
color intensities are the reverse of that found in the computer graphics literature.
364 A. Essex and U. Hengartner
Remark: Various protocols exist for verifiable mix networks. One efficient and
statistically sound technique for multi-column mixing is due to Sako and Kilian
[23]. The plaintext equality test (PET) is due to Juels and Jakobsson [13].
Remark: If the secret key’s bit-length does not evenly divide the encoding alphabet,
the above loop is run one final time with a reduced alphabet Σ ⊂ Σ where |Σ | =
log2 (q) mod |Σ|.
the existence of such inks. It is worth noting, however, that if such inks could
be formulated, they have the potential, at least in theory, to achieve optimal
contrast (i.e., α = 1) in the presence of arbitrarily many printers.
Definition 2. A set of k inks are k-way conjunctive if, upon activation, a pixel
darkens iff all k inks are physically present.
6 Example Applications
Electronic Voting. Cryptographically verifiable electronic voting is a natural
application for oblivious printing. In this setting voters receive a receipt of their
ballot that allows them to confirm their vote was correctly counted, yet without
revealing it to anyone. A vital requirement of any secret ballot election employing
the receipt paradigm is that no single party, including the ballot printer(s), may
gain an advantage in deducing how a voter voted.
Multi-factor ballots for Internet Voting. Internet voting has been a recent and
popular topic of interest. One successful open-source and cryptographically-
verifiable internet voting platform is Helios.2 Helios accepts encrypted votes
(along with zero-knowledge proofs of validity), which are then homomorphically
tallied [1]. One fundamental and well-known limitation of this approach is that
the voter’s computer must be trusted to construct the encrypted ballot and is
vulnerable to virus/malware. Using Protocol 3, encrypted Helios votes could be
prepared on a voter’s behalf and mailed to them on an obliviously printed ballot
form. The voter would cast their vote by submitting the ciphertext correspond-
ing to their candidate. Similarly, a verifiable internet voting scheme due to Ryan
and Teague [22] proposes a multi-factor solution based on acknowledgment codes
cards, which are mailed to the voter. The acknowledgment code cards contain
secret information and so oblivious printing may of use here also.
Coercion-resistant internet voting. Beginning with Juels et al. [15], work into
coercion-resistant internet voting has attempted to extend privacy protection to
voters, even when casting their ballots in an unsupervised environment. Clark
and Hengartner [7] propose a coercion-resistant scheme based in part on an in-
person registration protocol requiring voters to select secret passphrases and be
able to (privately) compute randomized encryptions of them. Such passphrases
and their encryptions could instead be pre-computed and obliviously printed by
a distributed election authority, potentially simplifying the in-person registration
phase and simultaneously enforcing higher-entropy passphrases.
Electronic Cash. Bitcoin3 is an interesting recent proposal for digital currency.
Transactions are timestamped and inserted into a common transaction history
(known as a “block chain”) using a proof-of-work model. An account consists
of a DSA keypair: a private signing key is used for sending funds and a public
key is used for receiving them. A transaction consists of two components. The
first component points to an earlier transaction in the block chain in which funds
were sent to the account corresponding with the user’s public key (and for which
the funds have not already been spent). The second component involves the user
signing the transaction (which includes the destination account) using the private
signing key. Typically these keys are stored on a user’s machine in a “wallet” file.
One interesting alternative is Bitbills,4 a service which issues Bitcoins in physical
form. A Bitbill consists of a plastic card (similar to a credit card) corresponding
to a set amount of Bitcoins. The associated private signing key is printed on the
card as a 2-D barcode and hidden under a tamper-evident/holographic covering.
The funds can be redeemed in by scanning the card with a smartphone.
Importantly, knowledge of the private signing key is necessary and sufficient
to transfer funds and recent criminal activity has focused on stealing such keys
from users’ computersas well as online Bitcoin bank accounts5 . Therefore any
currency issuing service like Bitbills would have to be trusted never to redeem
2
http://heliosvoting.org
3
http://bitcoin.org
4
http://bitbills.com
5
http://mybitcoin.com/archives/20110804.txt
Oblivious Printing 371
the cards it issues, and to prevent any private keys to fall into the hands of
hackers. Oblivious printing could be used to create a distributed currency issuing
service. With Protocol 3 adapted to an elliptic curve setting, keypairs could be
generated and printed without any individual issuer knowing the private key
thereby enforcing that only the cardholder can redeem the funds.
7 Security Analysis
We briefly sketch some of the security properties of our system. For space reasons
we limit our discussion to Protocol 1 (i.e., Subprotocols 1.1 and 1.2).
printer prints nothing in a sub-pixel where it was to print invisible ink, it will
either be covered by invisible ink from another share, and does not alter the
intended outcome, or, it will not be covered by another share in which case it
will be detectable by the cut-and-choose and attributable by examining the elec-
tronic shares. If a printer prints invisible ink in a sub-pixel where it was to print
nothing, it will be detected similarly but is not attributable.
It is important to note that nothing fundamentally prevents an adversary in
physical possession a document from activating the ink and reading its contents.
The severity of this threat will depend greatly on the use-case. For example if
the document contains a unique secret, additional physical security measures are
necessary to protect document secrecy. Alternatively if the document contains
an arbitrary secret (e.g., a new password), it may suffice for the recipient of a
tampered document to simply request it be invalidated and a new one be issued.
Conclusion. In this paper we introduced oblivious printing. We presented three
protocols: a generic protocol for obliviously printing an encrypted plaintext, a
protocol with improved contrast for obliviously printing a random message, and
third protocol to generate and obliviously print a DSA/Elgamal keypair. We
then proposed a contrast optimization based on the AND-ing invisible inks and
provided some example applications for electronic voting and digital cash.
References
1. Adida, B., de Marneffe, O., Pereira, O., Quisquater, J.-J.: Electing a university
president using open-audit voting: Analysis of real-world use of Helios. In: EVT/-
WOTE (2009)
2. Ateniese, G., Blundo, C., Santis, A.D., Stinson, D.R.: Visual cryptography for
general access structures. Information and Computation 129, 86–106 (1996)
3. Buchanan, J.D.R., Cowburn, R.P., Jausovec, A.-V., Petit, D., Seem, P., Xiong, G.,
Atkinson, D., Fenton, K., Allwood, D.A., Bryan, M.T.: Fingerprinting documents
and packaging. Nature 436, 475 (2005)
4. Carback, R.T., Chaum, D., Clark, J., Conway, J., Essex, A., Hernson, P.S., May-
berry, T., Popoveniuc, S., Rivest, R.L., Shen, E., Sherman, A.T., Vora, P.L.: Scant-
egrity II municipal election at Takoma Park: the first E2E binding governmental
election with ballot privacy. In: USENIX Security Symposium (2010)
5. Chaum, D., Carback, R., Clark, J., Essex, A., Popoveniuc, S., Rivest, R.L., Ryan,
P.Y.A., Shen, E., Sherman, A.T.: Scantegrity II: end-to-end verifiability for optical
scan election systems using invisible ink confirmation codes. In: EVT (2008)
6. Chaum, D., Ryan, P.Y.A., Schneider, S.: A Practical Voter-Verifiable Election
Scheme. In: De Capitani di Vimercati, S., Syverson, P.F., Gollmann, D. (eds.)
ESORICS 2005. LNCS, vol. 3679, pp. 118–139. Springer, Heidelberg (2005)
7. Clark, J., Hengartner, U.: Selections: Internet Voting with Over-the-Shoulder
Coercion-Resistance. In: Danezis, G. (ed.) FC 2011. LNCS, vol. 7035, pp. 47–61.
Springer, Heidelberg (2012)
Oblivious Printing 373
8. Clarkson, W., Weyrich, T., Finkelstein, A., Heninger, N., Halderman, J.A., Felten,
E.W.: Fingerprinting blank paper using commodity scanners. In: IEEE Symposium
on Security and Privacy (2009)
9. Cramer, R., Damgård, I., Nielsen, J.B.: Multiparty Computation from Threshold
Homomorphic Encryption. In: Pfitzmann, B. (ed.) EUROCRYPT 2001. LNCS,
vol. 2045, pp. 280–300. Springer, Heidelberg (2001)
10. Essex, A., Clark, J., Hengartner, U., Adams, C.: How to print a secret. In: HotSec
(2009)
11. Essex, A., Henrich, C., Hengartner, U.: Single layer optical-scan voting with fully
distributed trust. In: VOTE-ID (2011)
12. Fiat, A., Shamir, A.: How to Prove Yourself: Practical Solutions to Identification
and Signature Problems. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263,
pp. 186–194. Springer, Heidelberg (1987)
13. Jakobsson, M., Juels, A.: Mix and Match: Secure Function Evaluation via Cipher-
texts. In: Okamoto, T. (ed.) ASIACRYPT 2000. LNCS, vol. 1976, pp. 162–177.
Springer, Heidelberg (2000)
14. Jakobsson, M., Juels, A., Rivest, R.L.: Making mix nets robust for electronic voting
by randomized partial checking. In: USENIX Security Symposium, pp. 339–353
(2002)
15. Juels, A., Catalano, D., Jakobsson, M.: Coercion-resistant electronic elections. In:
ACM WPES (2005)
16. Kafri, O., Keren, E.: Encryption of pictures and shapes by random grids. Optics
Letters 12(6), 377–379 (1987)
17. Lee, S.-S., Na, J.-C., Sohn, S.-W., Park, C., Seo, D.-H., Kim, S.-J.: Visual cryp-
tography based on an interferometric encryption technique. ETRI 24(5), 373–380
(2002)
18. Naor, M., Shamir, A.: Visual Cryptography. In: De Santis, A. (ed.) EUROCRYPT
1994. LNCS, vol. 950, pp. 1–12. Springer, Heidelberg (1995)
19. Neff, C.A.: Practical high certainty intent verification for encrypted votes. Techni-
cal report, VoteHere Whitepaper (2004)
20. Pedersen, T.P.: A Threshold Cryptosystem without a Trusted Party. In: Davies,
D.W. (ed.) EUROCRYPT 1991. LNCS, vol. 547, pp. 522–526. Springer, Heidelberg
(1991)
21. Popoveniuc, S., Hosp, B.: An introduction to punchscan. In: WOTE (2006)
22. Ryan, P.Y.A., Teague, V.: Pretty good democracy. In: Workshop on Security Pro-
tocols (2009)
23. Sako, K., Kilian, J.: Receipt-Free Mix-Type Voting Scheme- a Practical Solution to
the Implementation of a Voting Booth. In: Guillou, L.C., Quisquater, J.-J. (eds.)
EUROCRYPT 1995. LNCS, vol. 921, pp. 393–403. Springer, Heidelberg (1995)
24. Sharma, A., Subramanian, L., Brewer, E.: Paperspeckle: Microscopic fingerprinting
of paper. In: CCS (2011)
25. Tuyls, P., Hollmann, H.D.L., van Lint, J.H., Tolhuizen, L.: Xor-based visual cryp-
tography schemes. Designs Codes and Cryptography 37, 169–186 (2005)
26. United States Election Assistance Commission. 2008 election administration &
voting survey report (2008)
27. Viet, D.Q., Kurosawa, K.: Almost Ideal Contrast Visual Cryptography with Re-
versing. In: Okamoto, T. (ed.) CT-RSA 2004. LNCS, vol. 2964, pp. 353–365.
Springer, Heidelberg (2004)
28. Yang, C.-N. (ed.): Visual Cryptography and Secret Image Sharing. CRC Press
(2011)
Reverse Fuzzy Extractors: Enabling Lightweight
Mutual Authentication for PUF-Enabled RFIDs
1 Introduction
Electronic payment and ticketing systems have been gradually introduced in
many countries over the past few years. Typically, these systems use a large
number of RFID-enabled tokens with constrained computing and memory capa-
bilities (see, e.g., [35]). A fundamental security requirement in electronic payment
and ticketing systems is mutual authentication: Only genuine tokens should be
accepted by readers and only eligible readers should be able to modify the debit
of a user’s token. The widespread use of these systems makes them attractive
targets for different kinds of attacks. The most prominent example are attacks on
widely used MiFare Classic tokens by NXP Semiconductors [35] that allow copy-
ing (cloning) and maliciously changing the debit of tokens [13]. Other MiFare
products are claimed not to be affected. Existing solutions typically use cost-
efficient tokens without expensive hardware protection mechanisms [35]. Hence,
the authentication secrets of these tokens can often be recovered by basic side
channel and invasive attacks, and used to emulate the token in software, which
allows forging the information of the token (e.g., the debit of the ticket). To
prevent such attacks, the secrets and information of the token should be crypto-
graphically bound to the underlying RFID chip such that any attempt to extract
or change them permanently deactivates the token.
In this context, Physically Unclonable Functions (PUFs) [31,27,2] promise to
provide an effective and cost-efficient security mechanism. PUFs are physical
systems embedded into a host device, that, when challenged with a stimulus,
generate a noisy response. This means that, depending on environmental varia-
tions (e.g., temperature or voltage variations), a PUF will always return slightly
different responses when challenged with the same stimulus. Further, due to
manufacturing variations, responses to the same challenge vary across different
PUFs and are typically hard to predict [27,2].
The common approach to authenticate a PUF-enabled token is querying its
PUF with a challenge from a pre-recorded database of PUF challenges and re-
sponses. The token is accepted only if its response matches a PUF response in
the database (such as in [32,6,10]). An alternative approach is using the PUF to
generate the authentication secret of the token for use in a classical authentica-
tion protocol (such as in [38,34]). However, both approaches have serious draw-
backs in practice: PUF-based key storage requires the token to reliably recover
the (bit-exact) cryptographic secret from the noisy PUF response using some
kind of error correction mechanism, which is expensive in terms of number of
gates [12,7]. Further, existing PUF-based authentication schemes for RFID suffer
from the following deficiencies: (1) there is no support for mutual authentica-
tion between token and reader; (2) most PUF types are vulnerable to emulation
attacks [33] and would allow emulating the token in software; (3) some schemes
are subject to denial-of-service attacks that permanently prevent tokens from
authenticating to the reader [6]; and (4) all existing PUF-based authentication
schemes are not scalable and allow only for a limited number of authentication
protocol-runs since they rely on a database containing a large number of chal-
lenge/response pairs of the PUF of each token. It seems that emulation attacks
could be mitigated by controlled PUFs [14]. However, controlled PUFs typically
apply a cryptographic operation (such as a hash function) to the PUF response,
which requires an expensive error correction mechanism on the token to maintain
verifiability of the PUF.
RFID tokens and readers. Our scheme supports an unlimited number of authen-
tication protocol-runs, is resistant to emulation attacks, and does not require
the reader to store a large number of PUF challenge/response pairs.
Furthermore, we introduce the concept of reverse fuzzy extractors, a novel
approach to eliminate noise in PUF responses that moves the computationally
expensive error correction process from the resource-constrained PUF-enabled
token to the more powerful RFID reader. The resources required to implement
our authentication scheme on the token are minimal since it is based on a reverse
fuzzy extractor that requires significantly less hardware resources than the error
correcting mechanisms used in existing PUF-based authentication schemes or
PUF-based key storage.
c, h c
(c, r, h) ∈R DB (c, r) ∈R DB
r ← PUF(c) r ← PUF(c)
r ← Rep(r , h) h ← Gen(r ) h
r ← Rep(r, h)
(a) Typical use of fuzzy extractors (b) Reverse fuzzy extractor concept
reverse fuzzy extractors allows for a very compact implementation of our scheme
that requires only minimal resources on the token.
Token T Verifier V
ID DB = ID , (c1 , r1 ), . . . , (cq , rq )
auth
ID
if ID = ID then reject and abort
i ∈R {1, . . . , q}
ci , N N ∈R {0, 1}l
ri ← PUF(ci )
hi ← Gen(ri )
a ← Hash(ID, N, ri , hi ) hi , a
ri ← Rep(ri , hi )
if Hash(ID, N, ri , hi ) = a then reject and abort
b b ← Hash(a, ri )
if Hash(a, ri ) = b then reject and abort
which responds with its identifier ID. V chooses a random nonce N and a random
challenge/response pair (ci , ri ) from database DB and sends (ci , N ) to T . Then, T
evaluates ri ← PUF(ci ), generates hi ← Gen(ri ) using the reverse fuzzy extrac-
tor, computes a ← Hash(ID, N, ri , hi ) and sends (hi , a) to V. Next, V reproduces
ri ← Rep(ri , hi ) using ri from DB and checks whether Hash(ID, N, ri , hi ) = a. If
this is not the case, V aborts and rejects. Otherwise, V sends b ← Hash(a, ri ) to
T and accepts. Eventually, T accepts if Hash(a, ri ) = b and rejects otherwise.
Arbiter PUF
(on ASIC)
c r
Challenge Syndrome
c
expander (LFSR) generator
h h
SPONGENT a
N hash function
ID
Table 1. Implementation size of the reverse fuzzy extractor core and its components
when implemented on a Xilinx Virtex-5 FPGA (XC5VLX50)
Table 1 provides the implementation size results when synthesizing our pro-
totype design for a field-programmable gate array (FPGA). The target device
is a Xilinx Virtex-5. The complete core (Figure 3) can be implemented using
496 one-bit flip-flops and 658 6-input lookup-tables (LUTs). We note that these
results can be further optimized by designing specifically for implementation on
FPGA. The HDL description of our design is platform independent.
6 Security Analysis
We now prove the security properties of our reverse fuzzy extractor construction
and mutual authentication scheme. In this context, we formalize all necessary
aspects and set up formal security definitions.
Secure sketch. Let M be a metric space with n elements and distance metric dist.
Moreover, let C = {w1 , . . . , wk } ⊆ M be an error correcting code with codewords
wi for 1 ≤ i ≤ k. Let d be the minimum distance and t be the error correcting
distance of C, which means that C can detect up to d, and correct up to t errors.
In this paper, we only consider linear binary block codes, where M = Fn2 and dist
corresponds to the Hamming distance. These codes are commonly denoted as
[n, k, d] codes and it holds t = (d − 1)/2. Following [12], we formally define a
secure sketch as follows:
Definition 1. A (M, m, m , t)-secure sketch is a pair of probabilistic polynomial
time algorithms Gen() and Rep() with the following properties: Gen() takes input
w ∈ M, which is chosen according to a distribution W on M, and returns a bit-
string h ∈ {0, 1}∗. Rep() takes inputs w ∈ M and h, and returns w ∈ M.
Correctness ensures that w = w if h = Gen(w) and dist(w, w ) ≤ t. The security
property guarantees that for any distribution W over M with min-entropy m, w
can be recovered from (a single) h = Gen(w) with at most probability 2−m .
Next, we specify the syndrome construction that has been informally discussed
in Section 3 and that has been shown to implement a secure sketch [12]:
Reverse Fuzzy Extractors 383
are identical. In fact, only the entities that execute Gen() and Rep() have been
switched. Hence, it is easy to see that the syndrome construction and the reverse
fuzzy extractor based on the syndrome construction are equivalent. Thus, since
the syndrome construction is a (Fn2 , n, k, t)-secure sketch, the reverse fuzzy ex-
tractor based on the syndrome construction is also a (Fn2 , n, k, t)-secure sketch.
Consequently, it follows from Theorem 1 that the reverse fuzzy extractor based
on the syndrome construction achieves outsider perturbation security.
Proof (Sketch, Theorem 3). It is easy to see that the protocol in Section 4.3
is correct if Rep(ri , Gen(ri )) = ri for all (ri , ri ). The correctness property of
the (Fn2 , n, k, t)-secure sketch (Definition 1) ensures that Rep(ri , Gen(ri )) = ri if
dist(ri , ri ) ≤ t. If the PUF generates responses of length n bits with a bit error
rate of at most ρ, then the probability of dist(r, r ) ≤ t can be expressed as
the cumulative binomial distribution in t with parameters ρ and n. Note that
t is chosen such that this probability, which is an upper bound for the false
rejection rate of the authentication, becomes very small. Hence, a (Fn2 , n, k, t)-
secure sketch can then recover r from r with overwhelming probability.
Note that the implementation in Section 5 can handle PUFs with ρ ≤ 10%.
When both verifier and token are trusted, it achieves an authentication failure
rate of less than 10−6.97 , which is acceptable for most commercial applications.
Next, A can arbitrarily interact with T and V that are simulated by CTA . Hereby,
A can eavesdrop on authentication protocol-runs between an honest T and an
honest V, and manipulate protocol messages exchanged between V and T . Fur-
ther, A can start authentication protocol-runs as V or T with CTA . A wins, if it
makes V accept after a polynomial (in l) number of queries to CTA .
Definition 5. An authentication scheme achieves μ-token authentication, if no
probabilistic polynomial time adversary A wins the token authentication experi-
ment with probability greater than 2−μ .
Theorem 4. The authentication scheme in Section 4.3 achieves k-token au-
thentication (Definition 5) in the random oracle model, when using the reverse
fuzzy extractor (Section 3) based on the syndrome construction (Definition 2).
In the following, we focus on the variant of our authentication scheme that uses
only one single challenge/response pair, i.e., where q = 1 (Section 4.3). The proof
can be easily extended for q > 1. Due to space restrictions we give only proof
sketches and provide detailed proofs in the full version of the paper [17].
Proof (Sketch, Theorem 4). We show that, if there is an adversary A that violates
token authentication (Definition 5) with probability greater than 2−k , then A can
be transformed into an adversary B that violates outsider chosen perturbation
security of the reverse fuzzy extractor (Theorem 2). Note that, in the chosen
perturbation security experiment (Definition 3), B interacts with a helper data
generator oracle Gen() that, when queried with ej , returns hj = Gen(r + ej ) for
a fixed but unknown r ∈ Fn2 . Based on this Gen()-oracle, B simulates challenger
CTA of the token authentication security experiment (Definition 5) such that
A cannot distinguish between B and CTA . Hereby, A and B have access to the
same random oracle Hash(), and B records all queries x made by A to Hash()
and the corresponding responses Hash(x) in a list L. Since, A cannot distinguish
B from CTA , by assumption A violates token authentication (Definition 5) with
probability greater than 2−k . B uses L to extract r∗ = r from the protocol
message (h, a) generated by A that finally makes V accept. Note that, the random
oracle ensures that (x, a) ∈ L. Hence, B can extract r with probability greater
than 2−k , which contradicts outsider chosen perturbation security of the reverse
fuzzy extractor (Theorem 2).
Note that in practice, the success probability 2−μ (Definition 5) of A may depend
on the output length t of the hash function implementing the random oracle:
In case t < k A could simply guess the correct hash digest a with probability
2−t . For the implementation of the syndrome construction based reverse fuzzy
extractor (Section 5), we have t = 128 < k = 147, and thus μ = 128.
Proof (Sketch, Theorem 5). We show that, if there is an adversary A that vi-
olates verifier authentication (Definition 6) with probability greater than 2−k ,
then A can be transformed into an adversary B that violates outsider chosen
perturbation security of the reverse fuzzy extractor (Theorem 2). B simulates
challenger CVA of the verifier authentication security experiment (Definition 5)
based on the Gen()-oracle such that A cannot distinguish between B and CVA in
a similar way as in the proof of Theorem 4. Hereby, A and B have access to the
same random oracle, and B records all queries x made by A to Hash() and the
corresponding responses Hash(x) in a list L. Since, A cannot distinguish between
B and CVA , by assumption A violates verifier authentication (Definition 6) with
probability greater than 2−k . B uses L to extract r∗ = r from the protocol mes-
sage b generated by A that finally makes T accept. Note that, the random oracle
assumption ensures that (x, b) ∈ L, while the bit errors in the PUF responses
ensure that A cannot just replay an old b. Hence, B can extract r with proba-
bility greater than 2−k , which contradicts outsider chosen perturbation security
of the reverse fuzzy extractor (Theorem 2).
7 Related Work
One of the first proposals of using PUFs in RFID systems is by Ranasinghe
et al. [32], who propose storing a set of PUF challenge/response pairs (CRPs)
in a database that can later be used by RFID readers to identify a token. The
idea is that the reader queries the PUF of the token with a random challenge
from the database and verifies whether the response of the token is similar to the
database entry. One problem of this approach is that CRPs cannot be re-used
since this enables replay attacks. Hence, the number of token authentications
is limited by the number of CRPs in the database. This scheme has been im-
plemented and analyzed by Devadas et al. [10]. Holcomb et al. [18] present a
similar scheme based on an SRAM-PUF on RFID chips. Another approach to
PUF-based authentication by Bolotnyy and Robins [6] aims to prevent unautho-
rized tracking of tokens. A major drawback of their scheme is that tokens can
only be authenticated a limited number of times without being re-initialized,
which enables denial-of-service attacks.
Tuyls and Batina [38] propose using a PUF to reconstruct the authentication
secret of a token whenever it is needed instead of storing it in secure non-volatile
memory. Since the key is inherently hidden in the PUF, obtaining the key by
hardware-related attacks is supposed to be intractable. However, the scheme
Reverse Fuzzy Extractors 387
8 Conclusion
References
1. Armknecht, F., Chen, L., Sadeghi, A.R., Wachsmann, C.: Anonymous Authentica-
tion for RFID Systems. In: Ors Yalcin, S.B. (ed.) RFIDSec 2010. LNCS, vol. 6370,
pp. 158–175. Springer, Heidelberg (2010)
2. Armknecht, F., Maes, R., Sadeghi, A.R., Standaert, F.X., Wachsmann, C.: A formal
foundation for the security features of physical functions. In: IEEE Symposium on
Security and Privacy, pp. 397–412. IEEE (May 2011)
3. Armknecht, F., Maes, R., Sadeghi, A.R., Sunar, B., Tuyls, P.: Memory Leakage-
Resilient Encryption Based on Physically Unclonable Functions. In: Matsui, M.
(ed.) ASIACRYPT 2009. LNCS, vol. 5912, pp. 685–702. Springer, Heidelberg
(2009)
4. Avoine, G., Lauradoux, C., Martin, T.: When compromised readers meet RFID.
In: The 5th Workshop on RFID Security, RFIDSec (2009)
5. Bogdanov, A., Knežević, M., Leander, G., Toz, D., Varıcı, K., Verbauwhede, I.:
spongent: A Lightweight Hash Function. In: Preneel, B., Takagi, T. (eds.) CHES
2011. LNCS, vol. 6917, pp. 312–325. Springer, Heidelberg (2011)
6. Bolotnyy, L., Robins, G.: Physically unclonable Function-Based security and pri-
vacy in RFID systems. In: IEEE International Conference on Pervasive Computing
and Communications (PerCom), pp. 211–220. IEEE (2007)
388 A. Van Herrewege et al.
7. Bösch, C., Guajardo, J., Sadeghi, A.-R., Shokrollahi, J., Tuyls, P.: Efficient Helper
Data Key Extractor on FPGAs. In: Oswald, E., Rohatgi, P. (eds.) CHES 2008.
LNCS, vol. 5154, pp. 181–197. Springer, Heidelberg (2008)
8. Boyen, X.: Reusable cryptographic fuzzy extractors. In: ACM Conference on Com-
puter and Communications Security (ACM CCS), pp. 82–91. ACM (2004)
9. Bringer, J., Chabanne, H., Icart, T.: Improved Privacy of the Tree-Based Hash
Protocols Using Physically Unclonable Function. In: Ostrovsky, R., De Prisco, R.,
Visconti, I. (eds.) SCN 2008. LNCS, vol. 5229, pp. 77–91. Springer, Heidelberg
(2008)
10. Devadas, S., Suh, E., Paral, S., Sowell, R., Ziola, T., Khandelwal, V.: Design and
implementation of PUF-based unclonable RFID ICs for Anti-Counterfeiting and se-
curity applications. In: International Conference on RFID, pp. 58–64. IEEE (2008)
11. Dodis, Y., Katz, J., Reyzin, L., Smith, A.: Robust Fuzzy Extractors and Authen-
ticated Key Agreement from Close Secrets. In: Dwork, C. (ed.) CRYPTO 2006.
LNCS, vol. 4117, pp. 232–250. Springer, Heidelberg (2006)
12. Dodis, Y., Reyzin, L., Smith, A.: Fuzzy Extractors: How to Generate Strong Keys
from Biometrics and Other Noisy Data. In: Cachin, C., Camenisch, J.L. (eds.)
EUROCRYPT 2004. LNCS, vol. 3027, pp. 523–540. Springer, Heidelberg (2004)
13. Garcia, F.D., de Koning Gans, G., Muijrers, R., van Rossum, P., Verdult, R.,
Schreur, R.W., Jacobs, B.: Dismantling MIFARE Classic. In: Jajodia, S., Lopez, J.
(eds.) ESORICS 2008. LNCS, vol. 5283, pp. 97–114. Springer, Heidelberg (2008)
14. Gassend, B., Clarke, D., van Dijk, M., Devadas, S.: Controlled physical random
functions. In: Computer Security Applications Conference, pp. 149–160. IEEE
(2002)
15. Gassend, B., Clarke, D., van Dijk, M., Devadas, S.: Silicon physical random func-
tions. In: ACM Conference on Computer and Communications Security (ACM
CCS), pp. 148–160 (2002)
16. Guajardo, J., Kumar, S.S., Schrijen, G.J., Tuyls, P.: FPGA Intrinsic PUFs and
Their Use for IP Protection. In: Paillier, P., Verbauwhede, I. (eds.) CHES 2007.
LNCS, vol. 4727, pp. 63–80. Springer, Heidelberg (2007)
17. van Herrewege, A., Katzenbeisser, S., Maes, R., Peeters, R., Sadeghi, A.R., Ver-
bauwhede, I., Wachsmann, C.: Reverse fuzzy extractors: Enabling lightweight mu-
tual authentication for PUF-enabled RFIDs. Cryptology ePrint Archive (to appear)
18. Holcomb, D.E., Burleson, W.P., Fu, K.: Initial SRAM state as a fingerprint and
source of true random numbers for RFID tags. In: Conference on RFID Security,
RFIDSec (2007)
19. Kardas, S., Kiraz, M.S., Bingol, M.A., Demirci, H.: A novel RFID distance bound-
ing protocol based on physically unclonable functions. Cryptology ePrint Archive,
Report 2011/075 (2011)
20. Katzenbeisser, S., Koçabas, Ü., van der Leest, V., Sadeghi, A.-R., Schrijen, G.-J.,
Schröder, H., Wachsmann, C.: Recyclable PUFs: Logically Reconfigurable PUFs.
In: Preneel, B., Takagi, T. (eds.) CHES 2011. LNCS, vol. 6917, pp. 374–389.
Springer, Heidelberg (2011)
21. Kumar, S., Guajardo, J., Maes, R., Schrijen, G.J., Tuyls, P.: Extended ab-
stract: The butterfly PUF protecting IP on every FPGA. In: IEEE Workshop
on Hardware-Oriented Security and Trust (HOST), pp. 67–70 (2008)
22. Lee, J.W., Lim, D., Gassend, B., Suh, G.E., van Dijk, M., Devadas, S.: A technique
to build a secret key in integrated circuits for identification and authentication
application. In: Symposium on VLSI Circuits, pp. 176–159 (2004)
Reverse Fuzzy Extractors 389
23. van der Leest, V., Schrijen, G.J., Handschuh, H., Tuyls, P.: Hardware intrinsic
security from D flip-flops. In: ACM Workshop on Scalable Trusted Computing
(ACM STC), pp. 53–62 (2010)
24. Lim, D., Lee, J.W., Gassend, B., Suh, G.E., van Dijk, M., Devadas, S.: Extracting
secret keys from integrated circuits. IEEE Transactions on VLSI Systems 13(10),
1200–1205 (2005)
25. Lin, L., Holcomb, D., Krishnappa, D.K., Shabadi, P., Burleson, W.: Low-power
sub-threshold design of secure physical unclonable functions. In: International Sym-
posium on Low Power Electronics and Design (ISLPED), pp. 43–48 (2010)
26. Maes, R., Tuyls, P., Verbauwhede, I.: Intrinsic PUFs from flip-flops on reconfig-
urable devices. In: Workshop on Information and System Security (WISSec), p. 17
(2008)
27. Maes, R., Verbauwhede, I.: Physically unclonable functions: A study on the state
of the art and future research directions. In: Towards Hardware-Intrinsic Security,
pp. 3–37. Springer (2010)
28. Maiti, A., Casarona, J., McHale, L., Schaumont, P.: A large scale characteriza-
tion of RO-PUF. In: IEEE Symposium on Hardware-Oriented Security and Trust
(HOST), pp. 94–99 (2010)
29. Nithyanand, R., Tsudik, G., Uzun, E.: Readers behaving badly: Reader revocation
in PKI-based RFID systems. Cryptology ePrint Archive, Report 2009/465 (2009)
30. Öztürk, E., Hammouri, G., Sunar, B.: Towards robust low cost authentication
for pervasive devices. In: International Conference on Pervasive Computing and
Communications (PerCom), pp. 170–178. IEEE (2008)
31. Pappu, R.S., Recht, B., Taylor, J., Gershenfeld, N.: Physical one-way functions.
Science 297, 2026–2030 (2002)
32. Ranasinghe, D.C., Engels, D.W., Cole, P.H.: Security and privacy: Modest propos-
als for low-cost RFID systems. In: Auto-ID Labs Research Workshop (2004)
33. Rührmair, U., Sehnke, F., Sölter, J., Dror, G., Devadas, S., Schmidhuber, J.: Mod-
eling attacks on physical unclonable functions. In: ACM Conference on Computer
and Communications Security (ACM CCS), pp. 237–249 (2010)
34. Sadeghi, A.R., Visconti, I., Wachsmann, C.: Enhancing RFID Security and Pri-
vacy by Physically Unclonable Functions. In: Towards Hardware-Intrinsic Security,
pp. 281–305. Springer (2010)
35. NXP Semiconductors: Web site of MiFare (December 2011), http://mifare.net/
36. Su, Y., Holleman, J., Otis, B.: A 1.6pJ/bit 96% stable chip-ID generating circuit
using process variations. In: IEEE International Solid-State Circuits Conference
(ISSCC), pp. 406–611 (2007)
37. Suh, G.E., Devadas, S.: Physical unclonable functions for device authentication
and secret key generation. In: Design Automation Conference, pp. 9–14 (2007)
38. Tuyls, P., Batina, L.: RFID-Tags for Anti-counterfeiting. In: Pointcheval, D. (ed.)
CT-RSA 2006. LNCS, vol. 3860, pp. 115–131. Springer, Heidelberg (2006)
39. Tuyls, P., Schrijen, G.J., Škorić, B., van Geloven, J., Verhaegh, N., Wolters, R.:
Read-Proof Hardware from Protective Coatings. In: Goubin, L., Matsui, M. (eds.)
CHES 2006. LNCS, vol. 4249, pp. 369–383. Springer, Heidelberg (2006)
40. Škorić, B., Tuyls, P., Ophey, W.: Robust Key Extraction from Physical Uncloneable
Functions. In: Ioannidis, J., Keromytis, A.D., Yung, M. (eds.) ACNS 2005. LNCS,
vol. 3531, pp. 407–422. Springer, Heidelberg (2005)
CommitCoin: Carbon Dating Commitments
with Bitcoin
(Short Paper)
1 Introductory Remarks
Consider the scenario where Alice makes a discovery. It is important to her that
she receives recognition for her breakthrough, however she would also like to
keep it a secret until she can establish a suitable infrastructure for monetizing
it. By forgoing publication of her discovery, she risks Bob independently making
the same discovery and publicizing it as his own.
Folklore suggests that Alice might mail herself a copy of her discovery and
leave the letter sealed, with the postal service’s timestamp intact, for a later
resolution time. If Bob later claims the same discovery, the envelope can be
produced and opened. In reality, this approach does not work as (among other
shortcomings) most postal services are pleased to timestamp and deliver unsealed
empty envelopes that can be retroactively stuffed with “discoveries.”
In our approach, Alice will use a commitment scheme to put the discovery in
a “digital envelope” which can be opened at some later time, but only by Alice.
Alice can safely disclose the commitment value to anyone, but she does not know
ahead of time that Bob will rediscover her breakthrough. Alice might attempt to
reach Bob by broadcasting the commitment value to as many people as possible
or she might have a trusted/distributed third party timestamp it, however she
is neither guaranteed to reach Bob, nor choose a party that Bob will trust.
Full version available: http://eprint.iacr.org/2011/677
Instead we show that Alice can produce a commitment and later convince Bob
that the commitment was made at roughly the correct time, premised on the
assumption that she does not have unusual computational power. We call this
“carbon dating.” We show a general approach to carbon dating using moderately
hard puzzles and then propose a specific instantiation. CommitCoin harnesses
the existing processing power of the Bitcoin network without trusting it, and is
designed to leave the commitment value evident in the public Bitcoin transcript
in a way that does not destroy currency. We use CommitCoin to augment the
verifiability of a real-world election.
3
It may be preferable to solve a chain of short puzzles, rather than a single long
puzzle, to allow (by the law of large numbers) the average solution time to converge
and to reduce the amount of time Bob must wait for the solution.
4
Let H : {0, 1}∗ → {0, 1}m . Then for d ≤ m, find any x such that y ∈
({0}d {0, 1}m−d ).
394 J. Clark and A. Essex
anyone. This is the case in Ph but not Prs , where efficient verification requires
knowing the factorization of N ,5 making Prs useful only when the puzzle creator
and solver are different parties.6 When surveying the literature, we found that
like Prs and Ph , each type of puzzle is either parallelizable or only verifiable by
the puzzle creator. Designing a non-interactive, non-parallelizable puzzle appears
to be an open problem.
Finally, we require a few properties specific to our scheme. It should be hard to
choose c such that the puzzle is not moderately hard. Given s = Solve(Gen(d, c))
and s = Solve(Gen(d, c )), it should be hard to find any pair of puzzles such that
s = s . Further, it should not be efficient to convert s, c into s , c .
3.2 Limitations
Aside from a good candidate for Pcd , the primary limitation to Protocol 1 is
that the implied instantiation time is fuzzy. Carbon dating is best when the
ratio between instantiation-to-pivot and pivot-to-resolution is maximized but the
timing of the pivot is often unknowable. Another limitation is that Alice could
commit to many different messages but only claim one. This excludes carbon
dating (and non-interactive time-stamping) from, e.g., predicting election results
or game outcomes. Generally, the scheme only works for accepting a committed
message from an exponentially large set. A final limitation is that Alice must
devote a CPU to solely solving the problem for a long period of time. We address
this last limitation with CommitCoin, and then latter provide an example where
the first two limitations are not as applicable.
PROTOCOL 2 (CommitCoin)
Input: Alice has message m, key pair sk, pk associated with a Bitcoin account.
Without loss of generality the account has a balance of >2 BTC.
Output: The Bitcoin block chain visibly containing the commitment to m.
The protocol:
1. Pre-instantiation: At t0 , Alice does the following:
(a) Alice commits to m with randomness r by computing c = Comm(m, r).
(b) Alice generates new temporary key pair sk , pk with sk = c.
2. Instantiation: At t1 , Alice does the following:
(a) Alice generates transaction τ1 = pk → pk , 2 to send 2 BTC from pk
to pk and signs it with randomness ρ: σ1 = Signsk (τ1 , ρ). She outputs
τ1 , σ1 to the Bitcoin network.
(b) Alice generates transaction τ2 = pk → pk, 1 to send 1 BTC from pk
back to pk and signs it with randomness ρ : σ2 = Signsk (τ2 , ρ ). She
outputs τ2 , σ2 to the Bitcoin network.
3. Tag & Open: At t2 , after τ1 and τ2 have been finalized, Alice generates
transaction τ3 = pk → pk, 1 to send the remaining 1 BTC from pk back to
pk and signs it with the same randomness ρ : σ3 = Signsk (τ3 , ρ ). She outputs
τ3 , σ3 to the Bitcoin network.
4. Extraction: At t3 , Bob can recover c by extracting sk from σ2 and σ3 .
8
http://goo.gl/fBNnA
9
Technically, it is a fingerprint of the public key.
396 J. Clark and A. Essex
References
1. Aura, T., Nikander, P., Leiwo, J.: DOS-Resistant Authentication with Client Puz-
zles. In: Christianson, B., Crispo, B., Malcolm, J.A., Roe, M. (eds.) Security Pro-
tocols 2000. LNCS, vol. 2133, pp. 170–177. Springer, Heidelberg (2001)
2. Back, A.: Hashcash: a denial of service counter-measure (2002)
3. Bayer, D., Haber, S.A., Stornetta, W.S.: Improving the efficiency and reliability of
digital time-stamping. In: Sequences (1991)
4. Benaloh, J., de Mare, M.: Efficient broadcast time-stamping. Technical Report
TR-MCS-91-1, Clarkson University (1991)
5. Benaloh, J.C., de Mare, M.: One-Way Accumulators: A Decentralized Alternative
to Digital Signatures. In: Helleseth, T. (ed.) EUROCRYPT 1993. LNCS, vol. 765,
pp. 274–285. Springer, Heidelberg (1994)
6. Boneh, D., Naor, M.: Timed Commitments. In: Bellare, M. (ed.) CRYPTO 2000.
LNCS, vol. 1880, p. 236. Springer, Heidelberg (2000)
7. Buldas, A., Laud, P., Lipmaa, H., Villemson, J.: Time-Stamping with Binary Link-
ing Schemes. In: Krawczyk, H. (ed.) CRYPTO 1998. LNCS, vol. 1462, p. 486.
Springer, Heidelberg (1998)
10
For full details, see http://eprint.iacr.org/2011/677
CommitCoin: Carbon Dating Commitments with Bitcoin 397
8. Carback, R.T., Chaum, D., Clark, J., Conway, J., Essex, A., Hernson, P.S., May-
berry, T., Popoveniuc, S., Rivest, R.L., Shen, E., Sherman, A.T., Vora, P.L.: Scant-
egrity II municipal election at Takoma Park: the first E2E binding governmental
election with ballot privacy. In: USENIX Security Symposium (2010)
9. Chaum, D., Carback, R., Clark, J., Essex, A., Popoveniuc, S., Rivest, R.L., Ryan,
P.Y.A., Shen, E., Sherman, A.T.: Scantegrity II: end-to-end verifiability for optical
scan election systems using invisible ink confirmation codes. In: EVT (2008)
10. Chen, L., Morrissey, P., Smart, N.P., Warinschi, B.: Security Notions and Generic
Constructions for Client Puzzles. In: Matsui, M. (ed.) ASIACRYPT 2009. LNCS,
vol. 5912, pp. 505–523. Springer, Heidelberg (2009)
11. Clark, J., Hengartner, U.: On the use of financial data as a random beacon. In:
EVT/WOTE (2010)
12. Dean, D., Subblefield, A.: Using client puzzles to protect TLS. In: USENIX Security
(2001)
13. Doshi, S., Monrose, F., Rubin, A.D.: Efficient Memory Bound Puzzles Using Pat-
tern Databases. In: Zhou, J., Yung, M., Bao, F. (eds.) ACNS 2006. LNCS, vol. 3989,
pp. 98–113. Springer, Heidelberg (2006)
14. Dwork, C., Naor, M.: Pricing via Processing or Combatting Junk Mail. In: Brick-
ell, E.F. (ed.) CRYPTO 1992. LNCS, vol. 740, pp. 139–147. Springer, Heidelberg
(1993)
15. Franklin, M.K., Malkhi, D.: Auditable Metering with Lightweight Security. In:
Luby, M., Rolim, J.D.P., Serna, M. (eds.) FC 1997. LNCS, vol. 1318, pp. 151–160.
Springer, Heidelberg (1997)
16. Gabber, E., Jakobsson, M., Matias, Y., Mayer, A.: Curbing Junk E-Mail via Secure
Classification. In: Hirschfeld, R. (ed.) FC 1998. LNCS, vol. 1465, pp. 198–213.
Springer, Heidelberg (1998)
17. Goldschlag, D.M., Stubblebine, S.G.: Publicly Verifiable Lotteries: Applications of
Delaying Functions. In: Hirschfeld, R. (ed.) FC 1998. LNCS, vol. 1465, pp. 214–226.
Springer, Heidelberg (1998)
18. Haber, S., Stornetta, W.S.: How to Time-Stamp a Digital Document. In: Menezes,
A., Vanstone, S.A. (eds.) CRYPTO 1990. LNCS, vol. 537, pp. 437–455. Springer,
Heidelberg (1991)
19. Jakobsson, M., Juels, A.: Proofs of work and bread pudding protocols. In: Com-
munications and Multimedia Security (1999)
20. Juels, A., Brainard, J.: Client puzzles: A cryptographic defense against con- nection
depletion attacks. In: NDSS (1999)
21. Karame, G.O., Čapkun, S.: Low-Cost Client Puzzles Based on Modular Exponenti-
ation. In: Gritzalis, D., Preneel, B., Theoharidou, M. (eds.) ESORICS 2010. LNCS,
vol. 6345, pp. 679–697. Springer, Heidelberg (2010)
22. Mahmoody, M., Moran, T., Vadhan, S.: Time-Lock Puzzles in the Random Oracle
Model. In: Rogaway, P. (ed.) CRYPTO 2011. LNCS, vol. 6841, pp. 39–50. Springer,
Heidelberg (2011)
23. Mahmoody, M., Vadhan, S.P., Moran, T.: Non-interactive time-stamping and
proofs of work in the random oracle model. IACR ePrint 553 (2011)
24. Maniatis, P., Baker, M.: Enabling the long-term archival of signed documents
through time stamping. In: FAST (2002)
25. Moran, T., Shaltiel, R., Ta-Shma, A.: Non-interactive Timestamping in the
Bounded Storage Model. In: Franklin, M. (ed.) CRYPTO 2004. LNCS, vol. 3152,
pp. 460–476. Springer, Heidelberg (2004)
26. Nakamoto, S.: Bitcoin: A peer-to-peer electionic cash system (2008) (unpublished)
398 J. Clark and A. Essex
27. Preneel, B., Rompay, B.V., Quisquater, J.J., Massias, H., Avila, J.S.: Design of a
timestamping system. Technical Report WP3, TIMESEC Project (1998)
28. Rivest, R.L., Shamir, A.: PayWord and MicroMint: Two Simple Micropayment
Schemes. In: Lomas, M. (ed.) Security Protocols 1996. LNCS, vol. 1189, pp. 69–87.
Springer, Heidelberg (1997)
29. Rivest, R.L., Shamir, A., Wagner, D.A.: Time-lock puzzles and timed-release
crypto. Technical Report TR-684. MIT (1996)
30. Stebila, D., Kuppusamy, L., Rangasamy, J., Boyd, C., Gonzalez Nieto, J.: Stronger
Difficulty Notions for Client Puzzles and Denial-of-Service-Resistant Protocols. In:
Kiayias, A. (ed.) CT-RSA 2011. LNCS, vol. 6558, pp. 284–301. Springer, Heidelberg
(2011)
31. Tritilanunt, S., Boyd, C., Foo, E., González Nieto, J.M.: Toward Non-parallelizable
Client Puzzles. In: Bao, F., Ling, S., Okamoto, T., Wang, H., Xing, C. (eds.)
CANS 2007. LNCS, vol. 4856, pp. 247–264. Springer, Heidelberg (2007)
32. Wang, X., Reiter, M.K.: Defending against denial-of-service attacks with puzzle
auctions. In: IEEE Symposium on Security and Privacy (2003)
33. Waters, B., Juels, A., Halderman, J.A., Felten, E.W.: New client puzzle outsourcing
techniques for DoS resistance. In: CCS (2004)
Bitter to Better — How to Make Bitcoin
a Better Currency
Simon Barber 1 , Xavier Boyen 1 , Elaine Shi 2, , and Ersin Uzun 1
1
Palo Alto Research Center
2
University of California, Berkeley
1 Introduction
Intrigued by these questions, we investigated Bitcoin’s design and history, and came
to many interesting realizations. We therefore present this paper to the (financial) cryp-
tography research community, with the following goals and expectations:
transactions and the generation of new Bitcoins. At the time of writing the investment
of a GPU to accelerate Bitcoin puzzle solution can pay for itself in ∼6 months.
Predictable Money Supply. Bitcoin makes sure that new coins will be minted at a
fixed rate, that is, the larger the Bitcoin community and the total computational resource
devoted to coin generation, the more difficult the computational puzzle becomes. This
provides strong incentives for early adopters — the earlier in the game, the cheaper
the coins minted. (In a later section we discuss negative consequences that the adopted
money supply schedule will have, in the long term, on value, incentives, and security.)
Divisibility and Fungibility. One practical appeal of Bitcoin is the ease with which
coins can be both divided and recombined to create essentially any denomination pos-
sible. This is an Achilles’ heel of (strongly anonymous) e-cash systems, because denom-
inations had to be standardized to be unlinkable, which incidentally makes the compu-
tational cost of e-cash transactions linear in the amount. In Bitcoin, linkage is inherent,
as it is what prevents double spending; but it is the identities that are “anonymous”.
Versatility, Openness, and Vibrancy. Bitcoin is remarkably flexible partly due to its
completely distributed design. The open-source nature of the project entices the cre-
ation of new applications and spurs new businesses. Because of its flexibility and open-
ness, a rich extended ecosystem surrounding Bitcoin is flourishing. For example, mixer
services have spawned to cater to users who need better anonymity guarantees (see Sec-
tion 7 for details). There are payment processor services that offer gadgets venders can
embed in their webpages to receive Bitcoin payments alongside regular currency.
Scripting. Another salient and very innovative feature is allowing users (payers and
payees) to embed scripts in their Bitcoin transactions. Although today’s reference im-
plementations have not fully utilized the power of this feature, in theory, one can realize
rich transactional semantics and contracts through scripts [2], such as deposits, escrow
and dispute mediation, assurance contracts, including the use of external states, and so
on. It is conceivable that in the future, richer forms of financial contracts and mecha-
nisms are going to be built around Bitcoin using this feature.
Transaction Irreversibility. Bitcoin transactions quickly become irreversible. This at-
tracts a niche market where vendors are concerned about credit-card fraud and charge-
backs. Through personal communication with a vendor selling specialty magazines, he
mentioned that before, he could not conduct business with customers in certain coun-
tries where credit-card fraud prevails. With Bitcoin, he is able to extend his business to
these countries due to the protection he obtains from the irreversibility of transactions.
Low Fees and Friction. The Bitcoin verifiers’ market currently bears very low transac-
tion fees (which are optional and chosen by the payer); this can be attractive in micro-
payments where fees can dominate. Bitcoin is also appealing for its lack of additional
costs traditionally tacked upon international money transfers, due to disintermediation.
Readily Available Implementations. Last but not the least, in comparison with other e-
cash schemes, Bitcoin has provided readily available implementations, not only for the
desktop computer, but also for mobile phones. The open-source project is maintained
by a vibrant community, and has had healthy developments.
402 S. Barber et al.
valid, its outputs must not exceed its inputs, and its issuer must show title to each input
claimed. Title is tested by evaluating the input script fragment concatenated with the
script fragment from the output (of an earlier transaction) that the input references.
Standard Transfer. To illustrate how the stack-based scripting language can be used,
among other things, to designate and enforce the recipient of a transfer, we study the ex-
ample of the standard Bitcoin transaction used for transfer. To send coins to an address
stated as the hash of a public key, the payer, Alice, creates a transaction output with
the following associated script fragment (recall that since the amount is specified in a
special record associated with the output; the script only needs to enforce the recipient):
DUP HASH160 <recipient-address> EQUALVERIFY CHECKSIG ()
The recipient, Bob, will notice the remittance (since it is broadcast to all), and mark it
for spending. Later on, to spend those received coins, he creates a transaction with an
input that redeems them, and an output that spends them. The redeeming input script is:
<signature> <public-key> ()
Bob will have managed to spend coins received from Alice if his redemption is valid.
This is checked by executing the concatenated script (, ): the input fragment ()
pushes a signature and a key on the stack; the output fragment () checks that the key
hash matches the recipient, and checks the signature against transaction and key.
eventually be collected into blocks on the prevailing branch. This mechanism ensures
that one single ordering of transactions becomes apparent and accepted by all (although
it may take a few blocks’ time to become clear), and hence this solves the double-
spending problem.
In the Bitcoin world, transactions are irrevocably valid once they are incorporated into
the ever growing Block Chain, insofar as they do not end up in the discarded branch
of a fork. As previously described, short-lived forks may arise, but tend to be quickly
resolved per the rule that the chain whose “total difficulty” is the greatest, prevails.
Most forks are benign, causing the few transactions on the wrong side of the fork to be
delayed — merely a temporary rejection, unless double spending was attempted.
This approach works well, under the crucial assumption that no attacker should ever
be able to muster so much computational power that it is able to fake and publish an
“alternative history”, created ex post facto, that has greater total difficulty and hence
is more authoritative than the actual history. In such event, the forking rules would
cause the actual history to be discarded in favor of the alternative history, from the
forking point onwards. We designate this as the history-revision attack. In the extreme
case where the fork is made near time zero, a history-revision attacker would cause the
entire coin base ever created to be replaced with a figment of its forgery.
One may take solace in the ludicrous amount of computing power that, one might
hope, such a history-revision attack would require. Alas, the threat is very real — owing
both to technical and monetary characteristics of Bitcoin.
Technical Vulnerability. The attack’s feasibility stems from Moore’s law, which em-
pirically posits that computation power per unit cost is doubling every year or so. As-
suming a stable population of verifiers, the block difficulty parameter (set by the system
to maintain a block creation mean interval of 10 minutes) is thus an exponential func-
tion of time, f (t) = α et/τ . The total difficulty of the block chain at any point in time is
:t
thus approximated by the integral F (t) = t0 f (t )dt ∝ f (t). It follows that, regard-
less of the block chain’s length, an attacker that can muster a small multiple (say 2×) of
the computation power of the legitimate verifiers together, and starting an attack at time
t = t1 , will be able to create an entire alternative history forked at the origin time t0 ,
whose total difficulty F (t) overtakes F (t) at some future time t = t2 , where the attack
length Δt = t2 − t1 is bounded by a constant (about 1–2 years for a 2× multiple). 1
Economic Motivation. The strong deflationary characteristic of Bitcoin further com-
pounds the problem. On the one hand, Bitcoins are a currency poised to explode in
value, ceteris paribus, as already discussed; and hence so will the incentive for theft.
On the other hand, the way deflation comes into play, driven by a hard cap on the money
supply, will all but eliminate the money-minting incentive that currently draws in the
many verifiers that by their competition contribute to make block creation a difficult
1
To underscore the seriousness of the threat, we note that it is common nowadays for miners
to pool their resources and, by some estimates, one such mining pool, deepbit, contributes
40% of the total computation power devoted to mining in the entire system. Merely doubling
its “market share” would make it able to revise the entire Bitcoin history in a year’s time,
owing to Moore’s law. Botnets and governments may be there already.
406 S. Barber et al.
problem. With this incentive dwindling, laws of economics dictate that the competi-
tive effort devoted to verifying transactions and creating blocks will diminish. In other
words, while block difficulty may continue to increase for some time into the future, it
will eventually start to decrease relatively to the power of the day’s typical PC. History
revision attacks will thence become easier not harder.
Checkpointing Today. We remark that the current protocol already does what we
would call “fiat checkpointing”, where authoritative checkpoints (in the form of hard-
coded hashes of certain blocks) are pushed out with software updates [12]. Alas, there
is no reason to trust a download of the software any more than one of the transac-
tion history itself. This is unlke our private checkpointing proposal which emphatically
prescribes first-hand checkpoints, independently made by each verifier in a privately
tamper-proof decentralized way.
We leave as an open problem the formal design and analysis of “anti-revisionism
profiles” that offer marked security against vastly powerful history-revision attacks,
while guaranteeing that partitions caused by accidental forks get quickly resolved.
the loss of coins (turning them into zombies). For example, bitomat, the third largest
bitcoin exchange, recently lost about $200K worth of bitcoins (at the exchange rate at
the time) due to the loss of its private wallet file — the cause was later identified to be
human error, as the developer hosted the wallet on non-persistent cloud storage [3].
Backups. Naturally, the universal answer against accidental loss or adversarial destruc-
tion of data, is to follow best-practice backup procedures. For backup purposes, the
wallet file should be treated like any other private cryptographic asset — meaning that
backups are a non-trivial proposition, not because of volume, but because of secrecy.
With Bitcoin, things are complicated by the incessant creation of keys.
Pseudo-random Keys. To avoid having to back up a constantly growing wallet file,
a trivial solution is to generate all of one’s private keys not at random, but pseudo-
randomly from a master secret that never changes, using a standard PRG. The problem
then reduces to that of backing up the short and static PRG seed, e.g., in a bank vault.
Encryption. A natural idea is to encrypt the wallet using a password sufficiently strong
that the resulting ciphertext can be widely replicated without fear of cryptanalysis. This
approach is especially useful in conjunction with pseudo-random keys, as then coins
can be spent and received without requiring the ciphertext to be updated. The main
problem, of course, is that strong passwords are prone to memory loss and palimpsest.
Offline (Single-)Password-Based Encryption. One solution relies on the “optimal”
password-based encryption system of [7], which offers optimal trade-offs between pass-
word strength (how tough it is to guess) and “snappiness” (how quickly it can be used,
which is also kept a secret). Users can even set multiple passwords with varying trade-
offs for a common security goal: e.g., an everyday password, complex but snappy; and
a backup password, simple but just as secure by virtue of being made “sluggish”. A
pseudo-random wallet seed, encrypted à la [7], would combine static portability with
usable protection against both loss and theft, and is probably the best approach for an
isolated user who trusts his mental possessions more than his physical ones.
Online (Multi-)Password-Based Encryption. Another approach is to combine the
power of several memorable secrets into a single high-security “vault”, using the pro-
tocols of [5]. Each member in some circle of friends holds a short totally private and
long-term memorable phrase. One member is a distinguished leader. Without revealing
their secrets, the members can perform private operations such as signing or decrypting
a message on behalf of the leader. With this protocol, a group of users can cooperate
to let the leader spend the coins from his wallet (kept as a public, static, accessible,
encrypted file), by issuing signatures on messages created by the leader. This approach
provides strong safety against loss, plus security against compromise of a subset of the
group.
Trusted Paths. Any of the above approaches can be combined with trusted-path de-
vices, which are dedicated hardware devices that let humans input and read out (tiny
amounts of) cryptographic data out of the reach of any malware. European banks use
the DigiPass, for example. Alas, while trusted-path protocols are well known and very
safe when it can be assumed that the remote server is uncorrupted (e.g., when talking
to a bank), in the Bitcoin case the server is the user’s own PC, possibly infected. It is an
Bitter to Better — How to Make Bitcoin a Better Currency 409
interesting open problem to devise trusted-path protocols that are secure in this model,
when the trusted-path data is too tiny to provide cryptographic strength by itself.
6 Scalability
Bitcoin suffers from several scalability issues, among which we note the following.
– Reasonable false positives and low false negatives. A false positive is when the
filtering service mistakenly sends a user a non-relevant transaction. False positives
wastes a user’s bandwidth and computational power, but a user can locally detect
such false positives after receiving the transactions. A false negative is when the
filtering service fails to send a user a relevant transaction. The false negative rate
should ideally be 0.
Constructing a Filtering Service. We now propose a potential approach to build such
a filtering service, in a way that is backward compatible with today’s Bitcoin. Assume
that the user and the filtering service are weakly time synchronized. A user can generate
a random Message Authentication Code (MAC) key K and share it with the filtering
service. This MAC key K will be used as the initial MAC key. For forward security,
in every time epoch (e.g., every day), both the user and the filtering service will update
their MAC key by applying a Pseudo-Random Generator (PRG): K ← PRG(K). The
MAC key K will then be used as below. When the user needs to pick a public key to
receive money, it will pick a public key PK whose hash H(PK) satisfies the following
condition: MACK (H(PK)) mod 2 = 0. In particular, when is not too large, the
user can find such a public key by randomly generating public-private key pairs until
a public-key satisfying the above condition is found. is a parameter used to engineer
the tradeoff between the false positive rate and the computation cost needed to generate
public keys. Since a transaction payable to user A includes user A’s public key hashes in
one or more outputs, the filtering service can now identify transactions possibly targeted
for user A by checking the above condition.
TxCommA TxRefundA
ߪ
ܸ ߪ
ߪ
A
Alice A ܸ ߪ ר ש
H(a+b)
a b) TxClaimA
in out ො
ߪ
A
b
TxClaimB
T
TxCommB a
a+b
ߪ B
TxRefundB
H(b))
Bob B ܸ ߪ
ො ר ש ො
ߪ
ܸ ߪො ߪ
ො
B
Explicit Expiration of Public Keys. Another way to address this problem is to intro-
duce explicit expiration dates for public keys, and ensure that no money can be sent to
expired keys, or that such money can be reclaimed somehow. In any case, it is good
practice that keys be made to expire, and this should be encouraged. In view of this,
it seems desirable to give the scripting language facilities for reading and comparing
timestamps.
Bitcoin partially addresses the anonymity and unlinkability issue, by allowing users
to use different addresses and public keys in every transaction. However, Bitcoin still
exposes their users to a weak form of linkability. Specifically, multiple public keys of
the same user can potentially be linked when the user pays change to herself, in which
case two or more of a single user’s public keys will appear in the same transaction [17].
To improve users’ anonymity, third-party services called mixers have emerged, that
take multiple users’ coins, mix them, and issue back coins in equal denominations. To-
day, the mixers are trusted entities, in the sense that users send money to the mixer,
trusting that it will issue back the money later. As a malicious mixer can cheat and
not pay the money back, a cautious user could send the money to the mixer in small
amounts, and only continue sending when the mixer has paid back. However, this ap-
proach is unscalable, especially as each transaction can take 10 minutes to confirm.
An alternative and better approach is to implement a fair exchange protocol. One
contribution of this paper is to demonstrate how to implement such a fair exchange
protocol in Bitcoin in a backward compatible manner.
412 S. Barber et al.
Fig. 2. Secrets setup phase. A and B exchange keys then engage in cut-and-choose. At the end of
the protocol, the remaining set of size k indexed by [n]\I will later be used in the fair exchange.
A cheating Bob can potentially supply Alice with the wrong H(bi ) values, in an
attempt to prevent Alice from claiming TxCommB , while retaining its own ability to
claim TxCommA . Suppose that I has size k. Through elementary probability anal-
ysis, we can show that a cheating
B can succeed only with very small probability:
Pr[B succeeds in cheating] = 1/ nk 1/nk .
Transaction Setup Phase — Bob. Bob generates TxCommB , using an output script
that will allow 2 forms of redemption. The redemption can either be the refund transac-
tion (dated in the future), with an input script signed by SKA2 and SKB2 , or the claim
transaction with an input script signed by SKA2 and supplying any one of Bob’s secrets
from the set {bi : i ∈ I}. Figure 3 shows an example of TxCommB ’s output script for
set I of size k = 3.
Bob then generates a partial TxRefundB releasing his money, with the locktime set
to t+3 (timing in units of ’certain transaction confirmation time’, an agreed number
of block times, plus a buffer), with this incomplete input script: <sig B2> 1. Bob
sends the partial TxRefundB to party A, who verifies the locktime, and adds his signa-
ture to the input script <sig B2> 1 <sig A2>, and returns the completed refund
transaction to Bob. Bob verifies the signed TxRefundB and publishes TxCommB and
TxRefundB , and is now committed to the exchange.
Transaction Setup Phase — Alice. Alice waits until TxCommB confirms, verifies
TxRefundB and checks the value. Alice generates TxCommA , again using an output
script that allows 2 forms of redemption. The first form enables the refund transaction,
requiring signature by SKB1 and SKA1 . The second form allows the claim transaction
requiring signature by SKB1 and all of {ai + bi : i ∈ I}. Figure 3 shows an example
output script of TxCommA , for a set I of size k = 3.
Then, Alice generates TxRefundA , with the locktime set to t+1, with the incomplete
input script <sig A1> 1 and with a standard output addressed to PKA1 (returning
the money to herself). Alice sends this incomplete TxRefundA to Bob. Bob verifies the
locktime and adds his signature to the input script: <sig A1> 1 <sig B1>, and
returns the now complete transaction to Alice. Alice verifies the returned TxRefundA
is unmodified and correctly signed. Alice now broadcasts TxCommA and TxRefundA ,
and is now committed to the exchange.
Money Claim Phase. Bob waits for TxCommA to confirm, and checks the amount is
sufficient. Bob also needs to ensure he has enough time for his claim of Alice’s money
to confirm before TxRefundA ’s time lock (hence the requirements on time locks). Now
Bob claims Alice’s money; he does this by taking TxRefundA and modifying the time
lock to “now” and the output to PKB1 . He also updates the input script to become (mod-
ified to include {ai + bi : i ∈ I}), <a3+b3> <a2+b2> <a1+b1> 0 <sig B1>,
thus creating TxClaimB . Bob now publishes TxClaimB . This claims Alice’s money,
while also revealing Alice’s bi s for i ∈ I. Now Alice can claim Bob’s money by taking
TxRefundB , removing the locktime, changing the output to PKA2 , and updating the in-
put script to this form (modified to include one bi from I): <b> 0 <sig A2>. Alice
earlier made sure that the locktime on TxRefundB would give her sufficient time for
this claim to confirm before the Bob’s refund.
414 S. Barber et al.
8 Conclusion
References
1. Bitcoin ewallet vanishes from internet, http://www.tribbleagency.com/?p=8133
2. Bitcoin wiki: Contracts, http://en.bitcoin.it/wiki/Contracts
3. Bitomat loses data and mybitcoin shuts down, http://www.launch.is/blog
4. Deflationary spiral, http://en.bitcoin.it/wiki/Deflationary_spiral
5. Abdalla, M., Boyen, X., Chevalier, C., Pointcheval, D.: Distributed Public-Key Cryptog-
raphy from Weak Secrets. In: Jarecki, S., Tsudik, G. (eds.) PKC 2009. LNCS, vol. 5443,
pp. 139–159. Springer, Heidelberg (2009)
6. Babaioff, M., Dobzinski, S., Oren, S., Zohar, A.: On bitcoin and red balloons (2011),
http://research.microsoft.com/pubs/156072/bitcoin.pdf
7. Boyen, X.: Halting password puzzles. In: Proc. Usenix Security (2007)
8. Camenisch, J.L., Hohenberger, S., Lysyanskaya, A.: Compact E-Cash. In: Cramer, R. (ed.)
EUROCRYPT 2005. LNCS, vol. 3494, pp. 302–321. Springer, Heidelberg (2005)
9. Canard, S., Gouget, A.: Divisible E-Cash Systems Can Be Truly Anonymous. In: Naor, M.
(ed.) EUROCRYPT 2007. LNCS, vol. 4515, pp. 482–497. Springer, Heidelberg (2007)
10. Chaum, D.: Blind signatures for untraceable payments. In: Proc. Crypto. (1982)
11. Gennaro, R., Jarecki, S., Krawczyk, H., Rabin, T.: Secure distributed key generation for
discrete-log based cryptosystems. J. Cryptology (2007)
12. Laurie, B.: Decentralised currencies are probably impossible but let’s at least make them
efficient, http://www.links.org/files/decentralised-currencies.pdf
13. MacKenzie, P.D., Reiter, M.K.: Two-Party Generation of DSA Signatures. In: Kilian, J. (ed.)
CRYPTO 2001. LNCS, vol. 2139, pp. 137–154. Springer, Heidelberg (2001)
14. Nakamoto, S.: Bitcoin: A peer-to-peer electronic cash system,
http://www.bitcoin.org
15. Okamoto, T.: An Efficient Divisible Electronic Cash Scheme. In: Coppersmith, D. (ed.)
CRYPTO 1995. LNCS, vol. 963, pp. 438–451. Springer, Heidelberg (1995)
16. Poulsen, K.: New malware steals your bitcoin, http://wired.com/threatlevel/
2011/06
17. Reid, F., Harrigan, M.: An analysis of anonymity in the bitcoin system. Arxiv:1107.4524
Author Index