There is an inherent problem with anonymous credentials such as those
provided by Idemix or U-Prove: if it is not possible to tell who is
presenting a credential, the legitimate owner of a credential may be
willing to lend it to somebody else who is not entitled to it. For
example, somebody could sell a proof-of-drinking-age credential to a
minor, as noted by Jaap-Henk Hoepman in a recent blog
post [1].
This problem is known in cryptography as the credential sharing or
credential transferability problem, and various countermeasures have
been proposed. In this post I will briefly discuss some of these
countermeasures, then I will describe a new method of sharing
credentials that is resistant to most of them.
A traditional countermeasure proposed by cryptographers, mentioned for
example in [2], is to deter the sharing of an
anonymous credential by linking it to one or more additional
credentials that the user would not want to share, such as a
credential that gives access to a bank account, in such a way that the
sharing of the anonymous credential would imply the sharing of the
additional credential(s). I shall refer to this countermeasure as
the “credential linking countermeasure”. I find this countermeasure
unrealistic, because few people would escrow their bank account for
the privilege of using an anonymous credential.
In her presentation [3] at the recent NIST
Meeting on Privacy-Enhancing Cryptography [4],
Anna Lysyanskaya said that it is a misconception to think that “if all
transactions are private, you can’t detect and prevent identity
fraud”. But the countermeasure that she proposes for preventing
identity fraud is to limit how many times a credential is used and to
disclose the user’s identity if the limit is exceeded. However this
can only be done in cases where a credential only allows the
legitimate user to access a resource a limited number of times, and I
can think of few such cases in the realm of Web authentication.
Lysyanskaya gives as an example a subscription to an online newspaper,
but such subscriptions typically provide unlimited access for a
monthly fee. I shall refer to this countermeasure as the “limited use
countermeasure”.
Lysyanskaya’s presentation also mentions identity escrow as useful for
conducting an investigation if “something goes very, very wrong”.
At the panel on Privacy in the Identification Domain at the
same meeting Lysyanskaya also proposed binding an anonymous credential
to a biometric. The relying party would check the biometric and then
forget it to keep the presentation anonymous. But if the relying
party can be trusted to forget the biometric, it may as well be
trusted to forget the entire credential presentation, in which case an
anonymous credential is not necessary.
An interesting approach to binding a biometric to a credential while
keeping the user anonymous can be found in [5]. The
biometric is checked by a tamper-proof smartcard trusted by the
relying party, but a so-called warden trusted by the user is
placed between the smartcard and the relying party, and mediates the
presentation protocol to ensure that no information that could be used
to identify or track the user is communicated by the smart card to the
relying party.
However, if what we are looking for is an authentication solution that
will replace passwords on the Web at large, biometric-based
countermeasures are not good candidates because of their cost.
Update.
In a response to this post on the
Identity Commons mailing list Terry Boult has pointed out that cameras and microphones are pretty ubiquitous and said that, in volume, fingerprint sensors are cheaper than smartcard readers.
In his blog post [1], Hoepman suggested that, to
prevent the sharing of an anonymous credential, the credential could
be stored in the owner’s identity card, presumably referring to the
national identity card that citizens carry in the Netherlands and
other European countries. This is a good idea because lending the
card would put the owner at risk of impersonation by the borrower. I
shall refer to this as the “identity card countermeasure”.
Rather than storing a proof of age credential as an additional
credential in a national identity card, anonymous proof of age could
be accomplished by proving in zero knowledge that a birthdate
attribute of a national identity credential (or, in the United
States, of a driver’s license credential) lies in an open interval
ending 21 years before the present time; Idemix implements such
proofs. The identity credential could be stored in a smartcard or
perhaps in a tamper-proof module within a smart phone or a personal
computer. I’ll refer to this countermeasure as the “selective
disclosure countermeasure”. As in the simpler identity card
countermeasure, the legitimate user of the credential would be
deterred from sharing the credential with another person because of
the risk of impersonation.
But this countermeasure, like most of the above ones, does not help
with the following method of sharing credentials.
A Countermeasure-Resistant Method of Sharing Credentials
An owner of a credential can make the credential available for use by
another person without giving a copy of the credential to that
other person. Instead, the owner can allow that other person to act
as a proxy, or man-in-the-middle, between the owner and a relying
party in a credential presentation. (Note that this is not a
man-in-the-middle attack because the man in the middle cooperates with
the owner.)
For example, somebody of drinking age could install his or her
national identity credential or driver’s license credential on a Web
server, either by copying the credential to the server or, if the
credential is contained in a tamper-proof device, by connecting the
device to the server. The credential owner could then allow minors to
buy liquor by proxying a proof of drinking age based on the birthdate
attribute in the credential. (Minors would need a special user agent
to do the proxying, but the owner could make such user agent available
for download from the same server where the credential is installed.)
The owner could find a surreptitious way of charging a fee for the
service.
This method of sharing a credential, which could be called
proxy-based sharing, defeats most of the countermeasures
mentioned above. Biometric-based countermeasures don’t work because
the owner of the credential can input the biometric. Credential
linking countermeasures don’t work because the secret of the
credential is not shared. The identity card countermeasure and the
selective disclosure countermeasure don’t work because the owner is in
control of what proofs are proxied and can refuse to proxy proofs that
could allow impersonation. The limited use countermeasure could work
but, as I said above, I can think of few Web authentication cases
where it would be applicable.
Are there any other countermeasures that would prevent or inhibit this
kind of sharing? If a minor were trying to buy liquor using an
identity credential and a payment credential, the merchant could
require the minor to prove in zero-knowledge that the secret keys
underlying both credentials are the same. That would defeat the
sharing scheme by making the owner of the identity credential for pay
for the purchase. However there are proof-of-age cases that do not
require a purchase. For example, an adult site may be required to ask
for proof of age without or before asking for payment.
The only generally applicable countermeasure that I can think of to
defeat proxy-based sharing is the identity escrow scheme that
Lysyanskaya referred to in her talk [3]. Using
provable encryption, as available in Idemix, a liquor merchant could
ask the user agent to provide the identity of the owner of the
credential as an encrypted attribute that could be decrypted, say, by
a judge. (The encrypted attribute would be randomized for
unlinkability.) The user agent would include the encrypted attribute
in the presentation proof after asking the user for permission to do
so.
Unfortunately this requires the user to trust the government. This
may not be a problem for most people in many countries. But it
undermines one of the motivations for using privacy-enhancing
technologies that I discussed in a previous blog [6].
References