Anonymous credentials light

AbstractWe define and propose an efficient and provably secure construction of blind signatures with attributes. Prior notions of blind signatures did not yield themselves to the construction of anonymous credential systems, not even if we drop the unlinkability requirement of anonymous credentials. Our new notion in contrast is a convenient building block for anonymous credential systems. The construction we propose is efficient: it requires just a few exponentiations in a prime-order group in which the decisional Diffie-Hellman problem is hard. Thus, for the first time, we give a provably secure construction of anonymous credentials that can work in the elliptic group setting without bilinear pairings and is based on the DDH assumption. In contrast, prior provably secure constructions were based on the RSA group or on groups with pairings, which made them prohibitively inefficient for mobile devices, RFIDs and smartcards. The only prior efficient construction that could work in such elliptic curve groups, due to Brands, does not have a proof of security.
Year2013
Link to the paperhttps://dl.acm.org/doi/10.1145/2508859.2516687
Relevance scoreMaybe relevant
Quality score4
LabelsAnonymous CredentialsSignature scheme

Introduction

This paper defines the notion of blind signatures with attributes that are based on Abe’s blind signature scheme [1] which is a modified version of the Schnorr scheme. In a blind signature with attributes, the signer and the user take a commitment CC to the user's attributes as input, and it outputs another (unlikable) commitment C~\tilde{C} to the same attributes along with a signature on this commitment and a message of the user's choice. Note that taking the commitment to the user’s attributes as input gives the user the ability to prove in zero-knowledge that the committed data includes correct attributes.

Note that a blind signature with attributes can be used to construct an anonymous credential scheme as follows.

  1. A user with some attributes can generate a commitment CC to his attributes.
  1. He can prove in zero-knowledge that the commitment CC is generated from correct attributes.
  1. He runs a blind signature with attributes with commitment CC.
  1. Now he can convince any verifier that he has a credential that includes the desired attributes as follows:
    1. He presents his signature and the output commitment C~\tilde{C}, and
    1. He proves in zero-knowledge that C~\tilde{C} corresponds to those attributes.

The importance of this paper is that it can work on the elliptic curve groups without pairings, which makes it more efficient. (see the below table)

Table.1. This table compares the proposed scheme with the known anonymous credential schemes in terms of computational, storage, and communication efficiency and security properties. Note that S denotes the signer, U denotes the user, and the numbers denote the number of exponentiations. Source: https://dl.acm.org/doi/10.1145/2508859.2516687

Preliminary

OR-proof

An OR-proof is a Σ\Sigma-protocol for a relation RLR_L in which the prover and the verifier have the common inputs h0h_0 and h1h_1, and the prover knows an xx such that (hi,x)RL(h_i,x) \in R_L for i{0,1}i \in \{0,1\}.

Generalized Pedersen commitment

The Pedersen commitment is based on discrete logarithm assumption. This paper uses a generalized version of the Pedersen commitment scheme on the set of messages (L1,,Ln)(L_1,\dots, L_n)  as follows:

Note that Pedersen commitment is information-theoretically hiding and computationally binding.

Combined commitment scheme

It is a combination of two commitments. For example, let us instantiate it with generalized Pedersen commitment. Assume that the generators are h,h0,,hnh,h_0,\dots,h_n. Assume we have two commitments as follows:

Then the combined Pedersen commitment is Commit(L0,L1,,Ln;R=R1+R2)Commit(L_0, L_1, \dots, L_n; R = R_1 + R_2)

Blinded Pedersen commitment scheme

The Pedersen commitment can be made blinded by an additional parameter zGz\in G, where z1z \ne 1. Assume that we have a commitment C=Commit(L1,,Ln;R)C=Commit (L_1, \dots, L_n;R). Then the value (zγ,Cγ)(z^{\gamma},C^{\gamma}) can be seen as a blinded Pedersen commitment, i.e. CommitB(L1,,Ln;R,γ)=(zγ,Commit(L1,,Ln;R)γ).Commit^B (L_1, \dots, L_n;R,\gamma) = (z^{\gamma}, Commit (L_1, \dots, L_n;R)^{\gamma}).

Assumption

The security of the proposed scheme is based on the Decisional Diffie-Hellman assumption and the Discrete-Logarithm assumption.

Notation and setup

Anonymous Credential Light (ACL)

In a nutshell, the protocol proceeds as follows. The user and the signer take inputs as described in the below figure. The user commits (CC) to certain attributes that he claims he has. Then the user proves in zero-knowledge that he knows an opening of the commitment CC.

Then, the signer computes some one-time tag keys depending on randomness and the commitment CC and sends the randomness to the user so that he can check and compute the same one-time tag key.

The user computes another commitment C~\tilde{C} which is a blinded Pedersen commitment to the same attributes. (See ζ,ζ1\zeta, \zeta_1 in the below figure)

The signer and the user perform two Σ\Sigma protocols ( using the OR-proof technique). In the end, the user forms the blind signature with attributes σ\sigma that is an 8-tuple, i.e. σ=(m,(ζ,ζ1,ρ,ω,ρ={ρ1,ρ2},ω,μ))\sigma = (m, (\zeta, \zeta_1, \rho, \omega,\rho'= \{\rho_1',\rho_2'\}, \omega',\mu)), where ζ1\zeta_1encodes the attributes of the user. Note that ζ,ζ1\zeta, \zeta_1 corresponds to the commitment C~\tilde{C}. (see the below figure)

Signature / Credential issuing

The signature issuing scheme is run in three phases, i.e. registration, preparation, and validation. The registration phase is a one-time phase that should be performed only once for each user. The preparation and validation phases may be performed simultaneously.

Figure.1. This figure describes the ACL protocol explicitly. It has three phases, i.e. registration, preparation, and validation. The signer takes the system parameters paramsparams, his secret key xx, and the commitment to the user’s attributes CC as inputs. The user takes the systems parameters paramsparams, the signer’s public key yy, the message to be signed $$m$, a set of attributes L1,,LnL_1, \dots, L_n, and a randomness RR as inputs. Source: https://eprint.iacr.org/2012/298.pdf

Single-Use Credentials

Single-use anonymous credentials avoid double use of the same credential. If a user uses anonymous credentials with the same attributes twice, the verifier can reveal the user’s identity.

First, the user computes another commitment C2=Commit(L0;R2)C_2 = Commit(L_0;R_2) for some random (L0;R2)(L_0;R_2) (recall the definition of the Combined commitment scheme). Note that C2C_2 is specific to the credential. Then user sends C2C_2 to the signer, and he also sends a zero-knowledge proof of the opening of C2C_2. The user and the signer participate in a blind signature protocol with the combined commitment C~\tilde{C}, i.e. commitment to the set of attributes (L0,L1,,Ln;R~)(L_0, L_1, \dots, L_n; \tilde{R}).

To use this credential (with C~\tilde{C})

In case of double use of a credential, a verifier can simply compute L1L_1 (which is the user’s public key) from the double-spending equations.

Relevancy assessment

This paper proposes an anonymous credential scheme that depends on a blind signature with attributes. The underlying signature scheme is used for proving the knowledge of some secrets with some zero-knowledge techniques.

The solution uses a different security assumption from the known ones. This makes it suitable for lightweight devices compared to the solutions using bilinear pairings.

This solution may give us useful ideas about the construction of an anonymous credential with the property of double-use detection.

References

[1] Masayuki Abe. A secure three-move blind signature scheme for polynomially many signatures. In EUROCRYPT, pages 136{151, 2001. https://www.iacr.org/cryptodb/data/paper.php?pubkey=1981