thenticate at a service provider, whereas this service
provider is not able to identify the user. However,
he can be sure that solely authorized users will pass
an authentication. Our approach is comparable to,
but more efficient than, deniable ring authentication
(Naor, 2002) and verifiably common secret encoding
(Schechter et al., 1999), which can be seamlessly inte-
grated into existing public key infrastructures (PKIs).
Furthermore, it can be seen as an improved version
of (Lindell, 2007) with reduced and optimal round
complexity. Additionally, it provides traceability us-
ing tamper resistant devices like smart cards, which
enables a service provider to identify authenticating
users in case of misuse or fraud.
One particular application that we have in mind for
the introduced protocol are personal health records
(PHRs), e.g. Google Health or Microsoft Health
Vault, which provide health institutions the possibil-
ity to integrate user’s health information, e.g. medi-
cal documents, and user’s the convenient possibility
to manage and access their health information online.
Especially in context of highly sensitive health data,
user behavior, e.g. the frequency of interaction with
the service, may reveal information that can affect the
user’s future life negatively. Think of a user who ap-
plies for a job and the recruiter knows that the fre-
quency of interactions of the user with his say Google
Health account is far above the average within the last
year. This clearly does not indicate a “perfect” state
of health.
1.2 Public Key Encryption Scheme
A public key encryption scheme is a triple of poly-
nomial time algorithms (G,E,D), whereas G(1
k
) is a
key generation algorithm which, given a security pa-
rameter k in unary, outputs a secret decryption key
SK and a corresponding public encryption key PK.
In order to encrypt a message m, the encryption al-
gorithm E is given m, the public encryption key PK
and some auxiliary random input ω. The algorithm
outputs a ciphertext c and the encryption is denoted
as c = E
PK
(m,ω). The random input ω indicates that
the encryption scheme is probabilistic and we assume
that, unless stated otherwise, it provides semantic se-
curity, i.e. indistinguishability under chosen plaintext
attacks (IND-CPA). The decryption algorithm is given
the ciphertext c and the secret decryption key and out-
puts the message m which is denoted as m = D
SK
(c).
2 BASIC IDEA
We will now briefly sketch the idea of the proposed
approach. As mentioned in section 1.1 the main
goal is to provide users anonymous access to ser-
vices, whereas the access must be limited to autho-
rized users. One approach that is diametric to ours is
private information retrieval (PIR) (Chor et al., 1995).
In a PIR scheme a user queries data from a server,
whereas the server does not learn anything about the
queried data. Our approach targets at querying data
from a server, whereas the server learns which data
was queried, however has no clue who actually has
queried the data. Therefore we assume that the data
which is queried provides no identifying informa-
tion on the owner or authorized users respectively,
whereas we will not discuss the issue on how to re-
alize this. For simplicity, in context of a PHR we may
assume that user-centric encryption is used, whereas
every document is encrypted by a party prior to pro-
viding this data to the service.
Anonymous identification means that a user proves
to a service provider (SP) that he is a member of
the set of authorized users without revealing his iden-
tity. Thus, from the point of view of SP every user
is equally likely to be the one who is actually au-
thenticating to the service. A trivial solution to this
problem would be to give every authorized user the
same secret key k, which could be used in conjunc-
tion with a standard challenge-response authentica-
tion protocol. However, this approach suffers from
some serious drawbacks, i.e. a compromised key re-
quires the reissuing of a new secret key k
′
and so does
the revocation of a single user.
Our approach can be described as follows: The ser-
vice provider encrypts a random challenge using the
public keys of all authorized users and sends the re-
sulting vector to the anonymous user. The user de-
crypts the respective element of the vector and checks
whether the same challenge was encrypted for every
authorized user. If this check holds, the anonymous
user provides the challenge to the service provider.
If both challenges match, the user must be an autho-
rized user. This protocol also provides unlinkability,
i.e. different executions of the protocol of the same
user cannot be linked together. In order to be able to
identify users in case of misuse or fraud, we employ
a tamper resistant security token, e.g. a smart card,
which encrypts the user’s identity for an traceability
authority (TA) and appends it to the responded chal-
lenge. Consequently, the SP can give a transcript to
the TA, which is able to identify the corresponding
user, whereas the TA does not need to be online all
the time.
SECRYPT 2009 - International Conference on Security and Cryptography
226