Efficient implementations of attribute-based credentials on smart cards
Pim Vullers · 2014
In a world where computers are involved in most aspects of our lives, it becomes more and more important to digitally identify entities. To achieve this goal, many existing systems use unique identifiers. This is a simple solution, but also makes it easy to trace the user’s actions. A privacy-friendly alternative is to use attributebased credentials as a basis for authentication and authorisation. Such credentials serve as a cryptographic container for attributes, that is, properties of the user, which are certified by an authority. With these attributes the user can be authenticated to access a resource or receive a service solely on the properties that are relevant for that specific resource or service. In this thesis we discuss three attribute-based credential technologies for which we have developed efficient smart card implementations. These technologies are: Self-blindable Credentials These credentials are based on elliptic curve cryptography with bilinear pairings. This technology shifts the computational burden to the terminal which makes a very compact smart card implementation possible. Unfortunately the support for elliptic curve cryptography on smart cards is limited to standard algorithms, which made it hard to develop other variants of this technology. This results in a minimal feature set compared to the other technologies. U-Prove The U-Prove issuance and verification protocols are, respectively, based on Schnorr’s blind signature scheme and zero-knowledge proofs. This technology offers the fastest implementation for attribute verification. With respect to privacy there is only one important drawback: U-Prove does not protect against linking multiple verification sessions to each other. This means that these credentials basically act as a pseudonym for the user. Identity Mixer This technology is based on the Camenisch-Lysyanskaya signature scheme which provides a blind signature protocol, which can be used for credential issuance, and zero-knowledge proofs for attribute verification. The performance of this implementation is not the best among these technologies, but this technology provides a broad feature set and offers proper unlinkability. This makes it possible to use a credential multiple times without becoming traceable. The goal of the research presented in this thesis has been to develop efficient smart card implementations of attribute-based credentials and compare various cryptographic systems for attribute-based credentials. This has resulted in a detailed