2,375
Views
3
CrossRef citations to date
0
Altmetric
Articles

Privacy-preserving and efficient attributes proof based on selective aggregate CL-signature scheme

, &
Pages 273-288 | Received 06 Jan 2014, Accepted 09 Apr 2014, Published online: 22 May 2014

Abstract

We propose efficient attributes proof protocols in an anonymous and unlinkable fashion. The core idea is issuing anonymous credentials for each single attribute and proving relations over attributes by selectively aggregating individual anonymous credentials. A selective aggregate Camenisch–Lysyanskaya (CL)-signature scheme is presented to construct anonymous credentials. It is existentially unforgeable against adaptively chosen-message attack under CL-signature scheme on the Lysyanskaya–Rivest–Sahai–Wolf assumption. It has constant complexity in verification of multiple signatures. Users can select which attributes and the corresponding individual anonymous credentials are involved in the proof. They can prove the possession of attributes over logic relations including AND and OR, and the possession of a single attribute over comparison relations including inequality to a given value and belonging to a given interval. The efficiency analysis shows that the resulting protocols have advantages in computation cost; the AND relation proof and comparison relation proofs have constant complexity w.r.t. the number of attributes, and the OR relation proof has linear complexity only w.r.t. the number of attributes as required.

2010 AMS Subject Classifications:

1. Introduction

The information exchanged via the Internet has dramatically changed, from exchanging scientific and professional information to enormous amount of personal information. The management of identity attributes raises a number of challenges. On one hand, attributes need to be shared to facilitate user authentication and access control. Service providers authorize the access request by a user's attributes which are more available than identities or roles. On the other hand, individuals’ attributes need to be protected from privacy leakage as they may convey sensitive information and be the target of attack. As far as privacy issue is concerned, we cannot exclude the attacks from insiders in the potentially untrusted authorities [Citation16,Citation22]; they have become threats of identity theft and abuse [Citation2].

An anonymous credential is a privacy-preserving technology that can meet privacy requirements for attribute-based authentication and access control. Users obtain a signature from an issuing authority on a number of attributes and, at later time, can convince verifiers that they indeed possess a signature on those attributes. Individual transactions are anonymous and unlinkable by default and users can select which portion of a credential to reveal, which portions to keep hidden, and what relations between certified attributes to expose [Citation10]. The user can also prove complex relations of the attributes using logic relations, such as AND and OR, and comparison relations, such as =,≠,≤ and ≥. AND relation is used when proving the possession of all of the multiple attributes. OR relation is used when proving the possession of one of multiple attributes.

In the literature, there exit various anonymous credential systems. However, there are only two kinds of practical anonymous credential systems, the Camenisch–Lysyanskaya (CL) Idemix based on group signature and the Brands U-Prove based on blind signature. Camenisch and Lysyanskaya [Citation9] came up with an efficient CL-signature scheme and constructed a multi-use CL-anonymous credential system from bilinear mappings. It also introduces a construction based on the Boneh–Boyen–Shacham group signature, which enables selective disclosure and unlinkable multi-use. However, attributes proof with such anonymous credentials suffers from a linear complexity w.r.t. the total number of attributes. This limitation makes them unfit for many practical applications.

The existing approaches [Citation1,Citation7,Citation8,Citation10,Citation14,Citation21] to solve the linear complexity of attributes proof is focus on binary and finite-set attributes and use cryptographic accumulator to compress this type of attributes into a single one. However, attributes proof with accumulator-based anonymous credentials requires many extra pairings to verify accumulator, and the size of public key is dependent on the number of attributes as well.

As far as efficiency issue is concerned, aggregate signature schemes [Citation5,Citation15] are worth mentioning. They enable us to compress a number of signatures, which are on distinct messages issued by distinct parities, into a single one. They have short public key size, short aggregate signature size and efficient aggregate verification. However, to the best of our knowledge, there are no literatures about constructing efficient attributes proof based on aggregate signature. In this paper, we present a selective aggregate signature scheme based on the CL-signature scheme [Citation9] under the Lysyanskaya–Rivest–Sahai–Wolf (LRSW) assumption and construct anonymous credentials and attributes proof protocols to solve linear complexity.

Our contribution is to use the concept of aggregate signature to solve linear complexity of attributes proof. The core idea of our proposal is that given l attributes to be certified by an issuer, each single attribute is certified in an individual credential; later on users can selectively disclose any n out of l attributes and aggregate the corresponding individual signatures, then prove the possession of the aggregate signature on n disclosed attributes all at once. The efficiency analysis shows that the aggregate-based attributes proof has advantages on computation cost w.r.t. the number of pairings and exponentiations.

This paper is a revised and expanded version of [Citation12] which extends the original CL-anonymous credential [Citation9] with AND, OR, Equality and Interval proof over attributes, while this paper mainly focus on efficiency issue of attributes proof. It proposes a selective aggregate signature scheme as the building block to construct efficient attributes proof protocols.

The organization of the remained is as follows. Section 2 covers related literature for anonymous credential systems as well as existing approaches for attributes proof. Section 3 gives the preliminaries about bilinear maps, Pedersen commitment scheme, discrete logarithm representation, the CL-signature scheme and the Boudot-interval proof protocols. In Section 4, we present a selective aggregate CL-signature scheme and prove the security. In Section 5, we analyse privacy requirements of anonymous credentials and give the issuance protocol. Section 6 presents AND and OR relation proof over multiple attributes, as well as interval and inequality proof over a single attribute, respectively. Section 7 shows efficiency analysis. Finally, Section 8 is the conclusion.

2. Related work

Camenisch and Groß [Citation7,Citation8], Sudarsono et al. [Citation21], Herranz et al. [Citation13], Begum et al. [Citation1] focused on attributes proof over multiple attributes. In 2008 and 2012, Camenisch and Groß [Citation7,Citation8] proposed a RSA-based anonymous credential with efficient attributes proof. It encodes discrete binary and finite-set attribute values as prime numbers and use the divisibility property for efficient proofs of their presence or absence. The complexity only depends on the number of string/integer attributes, and binary and finite-set attributes are free. In 2011, Sudarsono [Citation21] utilized extended BBS+ signatures to certify a set of attributes as the accumulator, and used zero-knowledge proofs of BBS+ signatures and accumulators to prove AND and OR relations with constant complexity in the number of finite-set attributes. In 2013, Begum et al. [Citation1] handled the complex logical relations on attributes as conjunctive normal form and disjunctive normal form formulas. However, the size of public key is dependent on the number of attribute values, and the extra number of pairings involved in the accumulator-based anonymous credentials increases a lot.

There are some researches [Citation13,Citation18,Citation20] about the attribute-based signature introducing attributes proofs such as NOT, AND, OR, and threshold gates. However, they work in a traceable and linkable way and are not available for anonymous environment. Li and Li [Citation17] constructed Oblivious Commitment Based Envelope (OCBE) protocols which offers proofs of comparison predicates such as =, ≠, ≥ and ≤. Unfortunately, the protocols for predicates suffer from linear complexity in the binary number of user's attribute values. Bichsel et al. [Citation3] showed the details of comparison predicates supported in the Identity Mixer and the U-Prove technologies, which are implemented using Boudot-interval proofs [Citation6] with constant complexity.

As far as privacy is concerned, it is crucial that insider threats are carefully taken into consideration when designing security and privacy of credentials. Slamanig et al. [Citation19] discussed insider threats in eHealth application that the user has no guarantee that the provider always preserve the users’ privacy claims; a person and her requested data are linkable to draw potentially compromising conclusion about her. Bjones et al. [Citation4] states that an electronic identity server under control of an insider attacker has the ability to impersonate every user at applications using eIDs for authentication. For example, insiders can copy or alter user's credentials and as such steal the identity of a user. In general, in a federation scenario, the insiders or outsiders who learn a user's credentials can impersonate the user and get access to the assets at different applications involved in the federation. If the properties of anonymity, unlinkability and selective disclosure of attributes, provided by anonymous credentials, are realized, an insider is not able to learn the user's identity, and link a set of transactions accomplished by a user either. As a consequence, a person who uses the privacy sensitive applications does not need to rely on trusting the provider anymore, e.g. concerning the divulgement of her data.

However, when a person uses an anonymous credential to accomplish attributes proof, if attributes proof protocol has computation intensive cryptographic building blocks, it will turn out to be very resource consuming. In this paper we use the concept of aggregate signature to solve the linear complexity of attributes proof. In 2003, Boneh, Gentry, Lynn and Shacham [Citation5] constructed an efficient aggregate signature from a Boneh–Lynn–Shacham short signature scheme based on bilinear maps. Aggregate signatures are useful for reducing the size of certification chains (by aggregating all signatures in the chain) and for reducing message size in secure routing protocols such as Secure Border Gateway Protocol. Lee et al. [Citation15] proposed two aggregate signature schemes based on the CL-signature scheme. The first one is an efficient sequential aggregate signature scheme. The second one is an efficient synchronized aggregate signature scheme. They both take constant number of pairings and l number of exponentiations (l being the number of signers). However, to the best of our knowledge, there is not any aggregate signature scheme to construct attributes proof protocols for efficiency reason. In this paper, the proposed attributes proof protocols based on aggregate signature outperforms the accumulator-based protocols w.r.t. the number of exponentiations and pairings, and satisfies more relation proof over attributes than prime number-based approach as well. Thus it is more practical to be utilized for attributes-based authentication and access control in the context of insider threats.

3. Preliminaries

Before presenting the proposed protocols, we first review a few cryptographic primitives consisting of bilinear maps, Pedersen commitment, discrete logarithm representation, the CL-signature scheme and Boudot-Interval proofs.

3.1 Bilinear maps

Let G1 and G2 be two (multiplicative) cyclic groups of the prime order p, with an additional group GT such that |G1|=|G2|=|GT|. g1 is a generator of G1 and g2 is the generator of G2. A bilinear map is a map e: G1×G2GT with the following properties:

  • •  Bilinear: for all uG1,vG2, and a,bZp,e(ua,vb)=e(u,v)ab.

  • •  Non-degenerate: e(g1,g2)1.

  • •  Computability: There is an efficient algorithm for computing e.

3.2 Pedersen commitment

In the Pedersen Commitment scheme, which is an unconditionally hiding and computational binding commitment scheme and based on the discrete logarithm problem, there is a finite multiplicative cyclic group G of prime order q involved along with a generator gG and an element hG such that it is hard to find an integer α such that h=gα. Given a message x, the User picks rRZp and computes the commitment M=gxhr. The User runs a zero-knowledge proof of knowledge protocol to open the commitment without showing the values(x, r):

PK{(x,r):M=gxhr}.

3.3 Discrete logarithm representation, DLREP

G is a multiplicative cyclic group of prime order q, let g0,g1,,gl and y be element of group G. The tuple (x0,x1,,xl)Zq is called a DL-representation of the product y=g0x0g1x1glxl mod q with respect to the generators (g0,g1,,gl). The User runs the zero-knowledge proof of knowledge protocol to prove the DL-representation of y.

PK{(x0,x1,,xl):y=g0x0g1x1glxl}.

3.4 The CL-signature scheme under the LRSW assumption

Camenisch and Lysyanskaya [Citation9] proposed a signature scheme which is correct and secure under the LRSW assumption. Suppose a setup algorithm Setup that, on input the security parameter 1k, outputs the setup for G=g and G=g, two groups of prime order q=θ(2k) that have a non-degenerate efficiently computable bilinear map e:G×GG. It consists of the following algorithms:

Key generation. Run the Setup algorithm to generate (q,G,G,g,g,e). Choose x,y,zRZq. Let X=gx,Y=gy,Z=gz. Set sk=(x,y,z),pk=(q,G,G,g,g,e,X,Y,Z).

Signature. On input message (m, r), secret key sk=(x, y, z), and public key pk=(q,G,G,g,g,e,X,Y,Z), choose a random aR G, let A=az,b=ay,B=Ay and c=ax+xymAxyr, output σ=(a,b,A,B,c).

Verification. On input pk=(q,G,G,g,g,e,X,Y,Z), message (m, r), and purported signature σ=(a,b,A,B,c), check the following: (1) A was formed correctly: e(a,Z)=e(g,A). (2) b and B were formed correctly: e(a,Y)=e(g,b) and e(A,y)=e(g,B). (3) c was formed correctly:

e(X,a)e(X,b)me(X,B)r=e(g,c).

Note that the signature itself can be distributed in a way that is information-theoretically independent of the message being signed in the case that what is being signed is an information-theoretically secure Pedersen commitment of the message. Thus, the values (gmZr,a,A,b,B,c) are information-theoretically independent of m if r is chosen randomly. This will become crucial when using this signature scheme in the context of an anonymous credential system.

3.5 Boudot-interval proofs

For the proofs that a committed number belongs to an interval, we now list a few proofs of knowledge protocols introduced in [Citation6].

Prove that two commitments hide the same secret. Given two commitments E=E(x,r1)=gxhr1 and F=E(x,r2)=gxhr2 to the message x. The Prover proves to the Verifier that E and F hide the same secret x as follows:

PK{(x,r1,r2):E=gxhr1F=gxhr2}.

Prove that a committed number belongs to an interval. Given a commitment E=E(x,r)=gxhr, the Prover proves to the Verifier that the committed number x lies in [a, b] as follows:

PK{(x,r):E=gxhrx[a,b]}.

4. Construction of the selective aggregate CL-signature scheme

In this section, we give a novel selective aggregate CL-signature scheme which is extended from the original CL signature. The goal of this signature scheme is to construct an anonymous credential with efficient attributes proof.

Suppose that we have a setup algorithm Setup: (q,G,G,g,g,e)Setup(1k), that on input the security parameter 1k, outputs the setup for G=g and G=g, two groups of prime order q=θ(2k) that have a non-degenerate efficiently computable bilinear map e:G×GG.

Key generation. Run the Setup algorithm to generate (q,G,G,g,g,e). Choose y,zRZq, and for 1≤il, xiRZq. Let Y=gy, Z=gz and, for 1il,Xi=gxi. Set sk=(y,z,x1,,xl),pk=(q,G,G,g,g,e,{Xi},Y,Z).

Sign. On input message (r,m1,,ml), secret key sk=(y,z,x1,,xl), and public key pk=(q,G,G,g,g,e,{Xi},Y,Z), choose a random aR G, compute bay,Aaz,BAy; for each i{1,l}, let ciaxi+xiyrAxiymi, output (a,b,A,B,{ci}) as signature.

Verify. On input public key pk=(q,G,G,g,g,e,{Xi},Y,Z), ith message (r, mi) and ith signature (a,b,A,B,ci) where 1≤il, check if e(a,Y)=e(b,g),e(a,Z)=e(A,g),e(A,Y)=e(B,g) and e(Xi,a)e(Xi,br)e(Xi,Bmi)=e(g,ci) hold.

Aggregate. On input k signatures indexed by {j1,,jk}{1,,l} as required, compute ci=1kcji, and output the aggregate signature (a, b, A, B, c).

AggVerify. On input public key pk=(q,G,G,g,g,e,{Xi},Y,Z), k messages indexed by {j1,,jk}{1,,l} as required, and aggregate signature (a, b, A, B, c), check if e(a,Y)=e(g,b),e(a,Z)=e(g,A),e(A,Y)=e(g,B) and e(i=1kXji,a)e(i=1kXji,br)e(i=1kXjimji,B)=e(g,c) hold.

Note that the values (grZmi,a,b,A,B,ci) are information-theoretically independent of mi if r is chosen randomly. This will become crucial when using this signature scheme to construct anonymous credentials.

Theorem 4.1

The selective aggregate CL-signature scheme is existentially unforgeable against adaptively chosen-message attack under CL-signature scheme.

Proof Suppose A is a forger algorithm that breaks the selective aggregate CL-signature scheme. We show how to construct an algorithm B breaking CL signatures that are secure under the LRSW assumption. Algorithm B is given (q,G,G,g,g,e,X,Y,Z), where (x, y, z) is the private key set up by the CL-signature scheme. B simulates the challenger and interacts with forger A as follows.

Setup. B chooses αRZq, and set XgαX. Next, it initializes a key pair list KeyList as an empty one and starts by giving A the public key (q,G,G,g,g,e,X,Y,Z). Certification query. For 2≤il, A adaptively requests the certification of a public key by providing a public key Xi and its private key xi. B checks the private key and adds the key pair (Xi, xi) to KeyList. Signature queries. A adaptively requests a set of signatures by providing messages (r,m1,,ml) to sign under the public key (X,X2,,Xl,Y,Z). B proceeds the signature query as follows: First, for m1, B is given access to CL sign oracle to obtain the signature (a, b, A, B, c) on (r, m1) under the private key (x, y, z), where aG,b=ay,A=az,B=Ay,c=ax+xyrAxym1. Then B defines c1c(abrBm1)α. Observe that e(a,Y)=e(g,b),e(a,Z)=e(g,A),e(A,y)=e(g,B) and e(g,c1)=e(X,a)e(X,br)e(X,Bm1) and therefore (a,b,A,B,c1) is a valid signature on (r, m1) under the public key(X*, Y, Z). Next, for each mi,2il, B retrieves A’s private key xi from KeyList and defines ciaxibxirBximi. Observe that e(g,ci)=e(Xi,a)e(Xi,br)e(Xi,Bmi) and therefore (a,b,A,B,ci) is a valid signature on (r, mi) under the public key (Xi, Y, Z). B gives (a,b,A,B,{c1,,cl}), to A. Output. A produces the indices (j1,,jk) and a forged aggregate signature (a,b,A,B,c) on messages (R,Mj1,,Mjk) under public keys (Xj1,,Xjk,Y,Z). The forged signature should not be trivial: the challenge public key X* must be included, and the message (R,Mj1) must not be queried by A to the CL sign oracle. Without loss of generality, we assume that Xj1=X. From the verification equations, we have e(a,Y)=e(b,g),e(a,Z)=e(A,g),e(A,Y)=e(B,g) and e(i=1kXji,a)e(i=1kXji,(b)R)e(i=1kXjiMji,B)=e(g,c). B proceeds as follows: for each ji,2ik, B retrieves the jith private key xji from KeyList. Then B computes cji(a)xji(b)xjiR(B)xjiMji. Observe that e(g,cji)=e(Xji,a)e(Xji,(b)R)e(Xji,(B)Mji) and therefore (a,b,A,B,cji) is a valid signature on (R,Mji) under the public key (Xji,Y,Z). Now B constructs the signature for the message (R,Mj1): cj1c/i=2kcji. Then e(g,cj1)=e(g,c)i=2ke(g,cji)1=ei=1kXji,aei=1kXji,(b)Rei=1kXjiMji,Bi=2ke(Xji,a)e(Xji,(b)R)e(Xji,(B)Mji)1=ei=1kXji,aei=1kXji,(b)Rei=1kXjiMji,Bei=2kXji,a1ei=2kXji,(b)R1ei=2kXjiMji,B1=e(X,a)e(X,(b)R)e(X,(B)Mj1). It follows that (a,b,A,B,cj1) is a valid signature on the message (R,Mj1) under the challenge public key (X*, Y, Z). B outputs (a)x+xyR(A)xyMj1 as (a)x+xyR(A)xyMj1=cj1/(a(b)R(B)Mj1)α. This means that a CL signature for a new message (R,Mj1) is forged, which contradicts the LRSW assumption.

5. Construction of anonymous credentials

In this section, we first define the privacy requirements of anonymous credentials, then present a novel attributes encoding method based on the concept of aggregation. Next, we show the issuance protocol on how to issue anonymous credentials to users.

The anonymous credential system allows a user to obtain a credential from an issuer (also denoted as Identity Provider) on a number of attributes and prove the possession of a credential to a verifier (also denoted as Relying Party). They also enable a user to only release and prove a subset of the certified attributes while others are hidden completely.

As far as privacy issue is concerned, attributes proof needs to guarantee such requirements as follows.

  • •  Untraceability. Issuers are unable to trace issued attributes and their owners. In the other word, the issuance of a credential and the showing of a credential are mutually unlinkable. It is able to prevent the insiders of relying parties from tracing the user's transactions.

  • •  Unlinkability. Multiple attributes proof sessions of a single user are mutually unlinkable by the Verifiers even they collude.

  • •  Selective disclosure of attributes. Users can select which portions of a credential to reveal, which portions to keep hidden, and what relations between certified items are exposed during attribute proofs. It is able to avoid the users from disclose more personal information than necessary.

5.1 Attributes encoding

In general cases when we talk about an attribute, it implies a tuple (id, attribute type, attribute value). The id is the identifier of the credential holder. It may be real name, pseudonym, any attribute value being an identifier, or signature. Such identifiers are different for each credential holder and can be identified by the issuer. Setting up an id with attributes makes credential issuance more practical, because in the physical world issuing authorities tend to identify the user before assert his attributes and issue him a credential. However, the user does not always need to reveal his id when showing a credential or proving attributes as far as anonymity is concerned. Therefore an attribute just implies a tuple (attribute type, attribute value).

In general, there are multiple attribute values corresponding to a single attribute type in the universal attributes field. If an attribute value is pre-defined in a finite set, it is in this case. For example, a person's gender is pre-defined in {male, female} and the particular one may have the realization of attribute (gender, male). In the policies of attribute-based authentication and access control, relying parties generally require users prove either possession of all of the multiple attributes or possession of one of the multiple attributes. For example, when submitting a resume, a person has to show a credential with the multiple attributes (gender, female), (nationality, French) and (degree, Ph.D) all together embedded, while in the other scenario, one person can enjoy the free tickets with his ID-card only if any one of the multiple attributes (minority, blind), (social_benefit, unemployed) or (type, kids_card) is embedded. For simplifying attributes proof, we assume there are not any two attribute labels assigned with identical values. It means we can distinguish an attribute from the value. Back to the above examples, when submitting a resume, a person has to show a credential with all of the multiple attribute values female, French, Ph.D embedded, while one person can enjoy the free tickets with any one of the multiple attribute values blind, unemployed, kids_card in his ID-card.

To solve linear complexity of attributes proof, the proposed anonymous credential only embeds a single one attribute instead of a number of attributes. Each attribute is encoded in one base, and the proof of multiple attributes is done by aggregating the corresponding individual signatures into a single one and verify it in one round. The ith anonymous credential asserts and embeds ith attribute. Users have a number of individual anonymous credentials regarding to the corresponding attribute. Each individual anonymous credential is fundamentally a CL signature formed as (a,A,b,B,ci), which is signed on the discrete logarithm representation grZmi of attribute values mi and a secret value r. Note that it is practical for all the attributes of one person to bind the same secret value, such that the aggregate CL-signature scheme works for efficient verification. Each private key xi is designated to sign the ith attribute. Such association between the public key Xi and the attribute they represent is public for anyone. Back to the above examples again, when submitting a resume a person proves all of the required attributes, for example indexed by (i, j, k), with values mi=female,mj=French,mk=Ph.D and the corresponding aggregate signature (a,b,A,B,c=cicjck) satisfy the verification equation for AggVerify; while one person can enjoy the free tickets with any one of the required attributes mi=blind,mj=unemployed,mk=kids_card and the corresponding aggregate signature (a,b,A,B,c=cicjck) satisfy the verification equation for AggVerify.

5.2 Issuance protocol

The selective aggregate CL-signature scheme can be used to obtain a signature on a committed value. It is sufficient for the signer to know Mi=grZmi. The values (a, b, A, B) are not a function of (r, mi), so the signer need not know (r, mi) to generate them. Suppose that the signer chooses αRZq, and let agα, compute b, A, B as described by the sign algorithm. Finally, the signer computes ciaxiMiαxiy. In order to obtain a signature on a committed value, the issuance protocol requires a recipient of the signature prove that he knows the representation of Mi in bases g and Z.Common Input. The public key pk=(q,G,G,g,g,e,Y,Z,W,{Xi}) where W=Yz, and commitments M1,,Ml.

User's Input. Values r,m1,,ml such that Mi=grZmi.

Issuer's Input. Signing key sk=(y,z,{xi}).

  • (1) The User gives a zero-knowledge proof of the opening of the commitments:

    PK{(αl,,αl,β):M1=gβZα1,,Ml=gβZαl}.
    Note that for identity assurance, the commitments M1,,Ml are suggested to be shown with the corresponding certificates ψ1,,ψl issued by authorities. The certificates ψ1,,ψl are fundamentally some kind of signatures on M1,,Ml. As a consequence, the zero-knowledge proof of commitments M1,,Ml and verification of certificates ψ1,,ψl can be aggregated all at once, as referred to as [Citation2].

  • (2) The Issuer chooses a random value αRZq, sets agα,Aaz,bay,BAy. Then for 1≤il, sets ciaxiMiαxiy Then the Issuer outputs a signature (a,b,A,B,{ci}) as an anonymous credential where attributes m1,,ml are asserted.

Theorem 5.1

The issuance protocol is a secure two-party computation of a signature on a discrete logarithm representation of gr Zm under the signer's public key.

Proof From the signer's point of view, this protocol is as secure as when the user submits his signature queries in the clear. This is because of the proof of knowledge: there exists an extractor that can discover the value of the message being signed, and ask it to the signer in the clear.

From the user's point of view, since the user's secret input r is only used in the zero-knowledge proof of knowledge of it, the only thing that the signer finds out about the value r is the input value M=gr Zm. The hardness of discrete logarithm problem makes r=logg(M/Zm) unknown.

6. Attributes proof protocols

In this section, we describe a series of attributes proof protocols based on the proposed anonymous credential system. Before presenting the protocols, we define a set RI. According to the verifier's policy, the prover indicates the indices of n required attributes and the corresponding signatures in RI={j1,,jn}. Given l attributes certified by the Issuer, we have RI{1,,l}.

Each time before the prover shows a credential he will generate a blinded version of the originally issued signature, in order to avoid being traced by the issuer and linked by multiple relying parties. Precisely, given ith signature (a,b,A,B,ci) as required, the Prover randomly chooses r,rRZq, then sets:

a~=ar,A~=Ar,b~=br,B~=Br,c~i=cir,cˆi=c~ir,1il.

The blinded ith signature σ~=(a~,A~,b~,B~,cˆi) is distributed independently of everything else.

6.1 AND relation proof

The Prover is needed to prove that a subset of attributes are all embedded into the user's credential. We define RA to indicate the attribute values specified in the verifier's policy. Accordingly, the prover specifies RI={j1,,jn} to indicate the indices of required attributes, and we define RA={aj1,,ajn}. Given l attributes are certified by the issuer, the AND relation proof implies to prove the possession of a combination of anonymous credentials with n attributes revealed.Common Input. The public key pk=(q,G,G,g,g,e,Y,Z,{Xi},W), RI={j1,,jn}{1,,l}, RA={aj1,,ajn}.

Prover's Input. The signature σ=(a,A,b,B,cj1,,cjn).

Protocol.

  • (1) The Prover aggregates the corresponding signatures of the required attributes, ci=1ncji.

  • (2) The Prover generates the blinded signature σ~=(a~,A~,b~,B~,cˆ) as Equation (7), then sends the blinded signature σ~ to the Verifier.

  • (3) The Prover carries out a zero-knowledge proof of a blinded signature σ~ with the Verifier as follows.

    PK(α,β):ei=1nXji,a~ei=1nXji,b~βei=1nXjiaji,B~=e(g,cˆ)α.
    The Verifier accepts if it accepts the proof above and (a) Ã were formed correctly: e(a~,Z)=e(g,A~); and (b) b˜ and B˜ were formed correctly: e(a~,Y)=e(g,b~),e(A~,Y)=e(g,B~).

Theorem 6.1

The AND relation proof protocol is a zero-knowledge proof of knowledge of a selective aggregate CL-signature.

Proof First, we prove the zero-knowledge property. Consider the following simulator S: chooses random values r, r′ and set a~=gr,b~=Yr,A~=Zr,B~=Wr and ˆ c=gr, these values are independent of the actual signature and satisfy e(a~,Z)=e(g,A~),e(a~,Y)=e(g,b~),e(A~,Y)=e(g,B~), so step 1 is simulated correctly. Then since in step 2, the Prover and Verifier execute a zero-knowledge proof, it follows that there exists a simulator S′; just run S′. Therefore, S constructed this way is the zero-knowledge simulator for this protocol.

Next, we prove that this protocol is a proof of knowledge. We must exhibit a knowledge extractor E that, given access to a Prover such that the Verifier's acceptance probability is non-negligible, outputs (aj1,,ajn,r,σ), such that σ is a valid signature on (aj1,,ajn,r). Suppose that we are given such a prover. The extractor proceeds as follows: first, it runs the extractor for the proof of knowledge protocol of step 2. As a result, it obtains the values r, r′ such that e(i=1nXji,a~)e(i=1nXji,b~)re(i=1nXjiaji,B~)=e(g,cˆ)r. We wish to show that (aj1,,ajn,r) and σ=(a~,A~,b~,B~,cˆr) satisfy the verification equation for selective aggregate CL-signature scheme. We have: ei=1nXji,a~ei=1nXji,b~rei=1nXjiaji,B~=e(g,cˆ)r,ei=1nXji,a~ei=1nXji,b~rei=1nXjiaji,B~=e(g,cˆr).

6.2 OR relation proof

The Prover needs to prove that one of the subset of attributes is signed in the credential. Given an OR relation over n values (aj1ajn), the OR relation proof is to convince one out of the specified attributes aj1,,ajn is embedded into the user's credential. Regarding minimal information disclosure principle, it is required that the Verifier not recognize which the particular one of the User's attributes does satisfy the verification equation. We use a three round public coin, witness indistinguishable proof of knowledge [Citation11] to meet such requirement. The protocol requires n commitments to the relevant attributes and a linear relationship proof.Common Input. The public key pk=(q,G,G,g,g,e,Y,Z,{Xi},W,h) where hG, RI={j1,,jn}{1,,l}, RA={aj1,,ajn}.

Prover's Input. The signature σ=(a,A,b,B,cj1,,cjn).

Protocol.

  • (1) For each required attribute, the Prover chooses a random value rjiRZq and computes the commitment Mji=gmjihrji, where ji∈RI. Then, the Prover aggregates the corresponding signatures of the required attributes, ci=1ncji. Next, the Prover generates the blinded signature σ~=(a~,A~,b~,B~,cˆ) as Equation (7), then sends the blinded signature σ~ and commitments Mj1,,Mjn to the Verifier.

  • (2) The Prover carries out a zero-knowledge proof with the Verifier as follows.

    PK(αj1,,αjn,θj1,,θjn,β,γ):ei=1nXji,a~ei=1nXji,b~β×i=1ne(Xji,B~)αji=e(g,cˆ)γ,Mji=gαjihθji for each jiRI.
    The Verifier accepts if it accepts the proof above and (a) Ã were formed correctly: e(a~,Z)=e(g,A~); and (b) b˜ and B˜ were formed correctly: e(a~,Y)=e(g,b~),e(A~,Y)=e(g,B~).

  • (3) The Prover and the Verifier then facilitate proofs of knowledge over the committed attribute values, in this case a disjunction of equality proofs as follows.

    PK(θj1,,θjn):Mj1gaj1=hθj1Mjngajn=hθjn.

Theorem 6.2

The OR relation proof protocol is a zero-knowledge proof of knowledge of a selective aggregate CL-signature and a witness indistinguishable proof of partial knowledge.

Proof First, we prove the zero-knowledge property. Consider the following simulator S: chooses random values r, r′ and set a~=gr,b~=Yr,A~=Zr,B~=Wr and ˆ c=gr, these values are independent of the actual signature and satisfy e(a~,Z)=e(g,A~),e(a~,Y)=e(g,b~),e(A~,Y)=e(g,B~); then for 1≤in, chooses a random value mji,rjiRZq, sets Mji=gmjihrji, and Mji is distributed correctly. So step 1 is simulated correctly. Then, since in steps 2 and 3, the Prover and Verifier execute zero-knowledge proofs, it follows that there exist two simulator S′, S″; just run S′, S″. Therefore, S constructed this way is the zero-knowledge simulator for this protocol.

Next, we prove that this protocol is a proof of knowledge. We must exhibit two knowledge extractors. Given access to a Prover such that the Verifier's acceptance probability is non-negligible, the first one E1 is to output (mj1,,mjn,rj1,,rjn,rβ,rγ,σ) such that σ is a valid signature on (mj1,,mjn,rβ) and (mji,rji) can open the commitment Mji for each 1≤in. The second knowledge extractor E2 is to output (rj1,,rjn) such that there exists a commitment Mjk hiding the secret value ajk with an indistinguishable witness. Suppose that we are given such a prover. The extractor E1 proceeds as follows: first, it runs the extractor for the proof of knowledge protocol of step 2. As a result, it obtains the values mj1,,mjn,rj1,,rjn,rβ,rγ such that e(i=1nXji,a~)e(i=1nXji,b~)rβi=1ne(Xji,B~)mji=e(g,cˆ)rγ and Mji=gmjihrji for each 1≤in. We wish to show that (mj1,,mjn,rβ) and σ=(a~,A~,b~,B~,cˆrγ) satisfy the verification equation for the selective aggregate CL-signature scheme. We have: ei=1nXji,a~ei=1nXji,b~rβei=1nXjimi,B~=e(g,cˆ)rγ,ei=1nXji,a~ei=1nXji,b~rβei=1nXjimji,B~=e(g,cˆrγ). The extractor E2 proceeds as follows: first, it runs the extractor for the witness distinguishable proof of partial knowledge protocol of step 3. Assume the value ajk is committed in Mjk, i.e. Mjk=gajkhrjk. It means that the Prover knows the witness rjk of hrjk=Mjk/gajk. As in [Citation11], assume that the Prover can answer correctly a non-negligible fraction of the possible choices of the challenge. This means that by rewinding the Prover, we can efficiently get correct answers to two different challenges s and s′. Let the shares of s and s′ be share(cji) and share(cji),1in, respectively. Then for j1,,jn messages, the jkth message must have share(cjk)share(cjk) since otherwise it would follow that s=s′. But then we also have cjkcjk and can compute a witness rjk for Mjk/gajk.

6.3 Interval proof

The interval proof expresses that the value of a given attribute lies into a given interval. For privacy protection reason, the Prover is able to prove interval predicate without revealing the value of the attribute in the clear. The Boudot-interval proofs [Citation6] are applied to construct the protocol. It is required that the proved attribute be committed in an information-semantically secure way and retrieved from the credential.Common Input. The public key pk=(q,G,G,g,g,e,Y,Z,{Xi},W,h) where hG, RI=j,1jl, two given values a and b, a<b.

Prover's Input. The signature σ=(a,A,b,B,cj).

Protocol.

  • (1) The Prover chooses a random value rjRZq and computes the commitment M=gmjhrj on the jth attribute. Then it generates the blinded signature σ~=(a~,A~,b~,B~,cˆ) as Equation (7). Finally it sends M and σ~ to the Verifier.

  • (2) The Prover carries out a zero-knowledge proof with the Verifier as follows.

    PK{(α,β,γ,θ):e(Xj,a~)e(Xj,b~)βe(Xj,B~)α=e(g,cˆ)γ,M=gαhθ,α[a,b]}.
    The Verifier accepts if it accepts the proof above and (a) Ã were formed correctly: e(a~,Z)=e(g,A~); and (b) b˜ and B˜ were formed correctly: e(a~,Y)=e(g,b~),e(A~,Y)=e(g,B~).

Theorem 6.3

The Interval proof protocol is a zero-knowledge proof of knowledge of a CL signature, and two commitments hiding the same secret and a committed number belonging to an interval under Boudot-interval proof.

Proof First, we prove the zero-knowledge property. Consider the following simulator S: chooses random values r, r′ and set a~=gr,b~=Yr,A~=Zr,B~=Wr and ˆ c=gr, these values are independent of the actual signature and satisfy e(a~,Z)=e(g,A~),e(a~,Y)=e(g,b~),e(A~,Y)=e(g,B~); then chooses a random value rRZq, sets M=gr, and M is distributed correctly, so step 1 is simulated correctly. Then, since in step 2, the Prover and Verifier execute a zero-knowledge proof, it follows that there exists a simulator S′; just run S′. Therefore, S constructed this way is the zero-knowledge simulator for this protocol.

Next, we prove that this protocol is a proof of knowledge. We must exhibit a knowledge extractor E that, given access to a Prover such that the Verifier's acceptance probability is non-negligible, outputs (m,r,rβ,σ), such that σ is a valid signature on (m, rβ), (m, r) can open the commitment M and m lies in [a, b]. Suppose that we are given such a prover. The extractor proceeds as follows: first, it runs the extractor for the proof of knowledge protocol of step 2. As a result, it obtains the values m,r,rβ,rγ such that M=gmhr,m[a,b] and e(Xj,a~)e(Xj,b~)rβe(Xj,B~)m=e(g,cˆ)rγ. We wish to show that (m, rβ) and σ=(a~,A~,b~,B~,cˆrγ) satisfy the verification equation for CL-signature scheme. We have: e(Xj,a~)e(Xj,b~)rβe(Xj,B~)m=e(g,cˆ)rγ,e(Xj,a~)e(Xj,b~)rβe(Xj,B~)m=e(g,cˆrγ).

6.4 Inequality proof

The statements express that the required attribute value is not equal to a given value. For privacy protection reason, the Prover is able to prove the inequality predicate without revealing the value of the attribute in the clear.Common Input. The public key pk=(q,G,G,g,g,e,Y,Z,{Xi},W,h) where hG, RI=j,1jl, a given value a.

Prover's Input. σ=(a,A,b,B,cj).

Protocol.

  • (1) The Prover chooses a random value rjRZq, computes the commitment M=gmjhrj on the jth attribute. Then it generates the blinded signature σ~=(a~,A~,b~,B~,cˆ) as Equation (7). Finally it sends M and σ~ to the Verifier.

  • (2) The Prover carries out a zero-knowledge proof with the Verifier as follows.

    PK(α,β,γ,θ,π,ρ):e(Xj,a~)e(Xj,b~)βe(Xj,B~)α=e(g,cˆ)γ, M=gαhθ,g=Mgaπhρ.
    The Verifier accepts if it accepts the proof above and (a) Ã were formed correctly: e(a~,Z)=e(g,A~); and (b) b˜ and B˜ were formed correctly: e(a~,Y)=e(g,b~),e(A~,Y)=e(g,B~).

Theorem 6.4

The Inequality proof protocol is a zero-knowledge proof of knowledge of a CL signature and two commitments hiding the same secret.

Proof First, we prove the zero-knowledge property. Consider the following simulator S: chooses random values r, r′ and set a~=gr,b~=Yr,A~=Zr,B~=Wr and ˆ c=gr, these values are independent of the actual signature and satisfy e(a~,Z)=e(g,A~),e(a~,Y)=e(g,b~),e(A~,Y)=e(g,B~); then chooses a random value rRZq, sets M=gr, and M is distributed correctly, so step 1 is simulated correctly. Then, since in step 2, the Prover and Verifier execute a zero-knowledge proof, it follows that there exists a simulator S′; just run S′. Therefore, S constructed this way is the zero-knowledge simulator for this protocol.

Next, we prove that this protocol is a proof of knowledge. We must exhibit a knowledge extractor E that, given access to a Prover such that the Verifier's acceptance probability is non-negligible, outputs (m,r,rβ,rγ,rπ,rρ,σ), such that σ is a valid signature on (m, rβ), (m, r) can open the commitment M and g=(M/ga)rπhrρ. Suppose that we are given such a prover. The extractor proceeds as follows: first, it runs the extractor for the proof of knowledge protocol of step 2. As a result, it obtains the values m,r,rβ,rγ,rπ,rρ such that M=gmhr,g=(M/ga)rπhrρ and e(Xj,a~)e(Xj,b~)rβe(Xj,B~)m=e(g,cˆ)rγ. We wish to show that (m, rβ) and σ=(a~,A~,b~,B~,cˆrγ) satisfy the verification equation for CL-signature scheme. We have: e(Xj,a~)e(Xj,b~)rβe(Xj,B~)m=e(g,cˆ)rγ,e(Xj,a~)e(Xj,b~)rβe(Xj,B~)m=e(g,cˆrγ).

7. Efficiency

In this section, we analyse the efficiency of AND relation proof, OR relation proof, interval proof and inequality proof w.r.t. the number of exponentiations and pairings. N is the number of the attributes referenced in a proof.

Prior to attributes proof, the prover pre-computes the pairings as follows: Vae(i=1NXji,a),Vbe(i=1NXji,b)=Vay,VAe(i=1NXji,A)=Vaz,VBe(i=1NXji,B)= VAy,Vc=e(g,c). Thus, we can omit most pairings with adding some slight exponentiations.

The computation cost of attributes proof is the sum of three parts which are signature randomization, proof generation and verification. The first two parts are related to the Prover, while the last one is related to the Verifier. Each time before the prover shows a credential, there are five exponentiations for signature randomization as Equation (7). The additional number of exponentiations and pairings in attributes proof are given respectively as follows.

  • •  The AND relation proof protocol has constant complexity with the number of required attributes. Concisely, it takes zero pairing and 2 exponentiations for proof generation; while 10 pairings and 3 exponentiations for verification.

  • •  The OR proof protocol has linear complexity with the number of required attributes. Concisely, it takes zero pairing and 2+6N exponentiations to generate the relevant commitments and the proof; while 10 pairings and 3+6N exponentiations for verification.

  • •  The interval proof protocol has constant complexity with the number of required attributes. Concisely, it takes zero pairing and 7 exponentiations to generate the relevant commitment and the proof; while 10 pairings and 7 exponentiations for verification.

  • •  The inequality proof protocol has constant complexity with the number of required attributes. Concisely, it takes zero pairing and 9 exponentiations to generate the relevant commitment and the proof; while 10 pairings and 10 exponentiations for verification.

8. Conclusion

The proposed aggregate-based attributes proof protocols are novel to solve linear complexity of attributes proof. Distinct with the existing attribute encoding method, each single attribute is certified in an individual credential. Later on users can select a subset of individual signatures as required and prove the combination of attributes all at once by aggregating the corresponding individual signatures. Based on CL-signature scheme, we present a selective aggregate CL-signature scheme and use it as the building block to construct anonymous credentials. Then we construct AND relation proof protocol, OR relation proof protocol, interval proof protocol and inequality proof protocol respectively. Fundamentally these protocols are primarily zero-knowledge proof of a blinded aggregate signature on the required attributes. The efficiency analysis shows that the resulting protocols, except for OR relation proof, have constant complexity w.r.t. the number of pairings and exponentiations. OR relation proof has linear complexity only w.r.t. the number of attributes as required and the concrete number of pairings and exponentiations are smaller.

Acknowledgements

This work was supported by the Fundamental Research Funds for the Central Universities [Grant number N100404004 and N120404010], Major National Scientific and Technolog- ical Projects [Grant number 2013ZX03002006], and China Natural Science Foundation [Grant number 61300196].

References

  • N. Begum, T. Nakanishi, and N. Funabiki, Efficient proofs for CNF formulas on attributes in pairing-based anonymous credential system, in Information Security and Cryptology C ICISC 2012, T. Kwon, M.-K. Lee, and D. Kwon, eds., Vol. LNCS 7839, Springer, Berlin, Heidelberg, 2012, pp. 495–509.
  • A. Bhargav-Spantzel, A.C. Squicciarini, R. Xue, and E. Bertino, Multifactor identity verification using aggregated proof of knowledge, IEEE Trans. Syst. Man Cybern. C, Appl. Rev. 40 (2010), pp. 372–383. doi: 10.1109/TSMCC.2010.2045755
  • P. Bichsel, J. Camenisch, and F.S. Preiss, A comprehensive framework enabling data-minimizing authentication, Proc. of the 7th ACM Workshop on Digital Identity Management(DIM’11), Berlin, Germany, July, ACM, 2011, pp. 13–22.
  • R. Bjones, I. Krontiris, P. Paillier, and K. Rannenberg, Integrating anonymous credentials with aids for privacy-respecting online authentication, in Privacy Technologies and Policy, B. Preneel and D. Ikonomou, eds., Springer, Berlin, Heidelberg, 2014, pp. 111–124.
  • B.D. Boneh, C. Gentry, and H. Shacham, Aggregate and verifiably encrypted signatures from bilinear maps, in Advances in Cryptology, E. Biham, ed., Vol. LNCS 2656, Springer, Berlin, Heidelberg, 2003, pp. 416–432.
  • F. Boudot, Efficient proofs that a committed number lies in an interval, in Proc. of the International Conference on the Theory and Application of Cryptographic Techniques Advances in Cryptology(EUROCRYPT’00), Bruges, Belgium, B. Preneel, ed., Vol. LNCS 1807, May, Springer, Berlin, Heidelberg, 2000, pp. 431–444.
  • J. Camenisch and T. Groß, Efficient attributes for anonymous credentials, Proc. ACM Conference on Computer and Communications Security 2008, Alexandria, Virginia, October, ACM, 2008, pp. 345–356.
  • J. Camenisch and T. Groß, Efficient attributes for anonymous credentials, ACM Trans. Inf. Syst. Secur., (TISSEC) – Special Issue on Computer and Communications Security, Vol. 15, March, ACM, 2012, pp. 4:1–4:30.
  • J. Camenisch and A. Lysyanskaya, Signature schemes and anonymous credentials from bilinear maps, in Proc. of the 24th Annual International Cryptology Conference Advances in Cryptology (CRYPTO’04), Santa Barbara, California, M. Franklin, ed., Vol. LNCS 3152, August, Springer, Berlin, Heidelberg, 2004, pp. 56–72.
  • J. Camenisch, M. Kohlweiss, and C. Soriente, An accumulator based on bilinear maps and efficient revocation for anonymous credentials, in Irvine Proceedings of the 12th International Conference on Practice and Theory in Public Key Cryptography: PKC ’09, S. Jarecki and G. Tsudik, eds., Vol. LNCS 5443, Springer, Berlin, Heidelberg, 2009, pp. 481–500.
  • R. Cramer, I. Damgård, and B. Schoenmakers, Proofs of partial knowledge and simplified design of witness hiding protocols, in Advances in Cryptology, Y.G. Desmedt, ed., Vol. LNCS 839, May, Springer, Berlin, Heidelberg, 1994, pp. 174–187.
  • N. Guo, J. Wang, T. Gao, and K. Yim, Privacy-preserving predicate proof of attributes with CL-anonymous credential, J. Internet Serv. Inf. Secur. 4 (2014), pp. 37–46.
  • J. Herranz, F. Laguillaumie, B. Libert, and C. Rafols, Short attribute-based signatures for threshold predicates, in Proc. of the The Cryptographers’ Track at the RSA Conference 2012 Topics in Cryptology (CT-RSA’12), San Francisco, CA, USA, O. Dunkelman, ed., Vol. LNCS 7178, February–March, Springer, Berlin, Heidelberg, 2012, pp. 51–67.
  • M. Izabachène, B. Libert, and D. Vergnaud, Block-wise P-signatures and non-interactive anonymous credentials with efficient attributes, in Cryptography and Coding, L. Chen, ed., Vol. LNCS 7089, Springer, Berlin, Heidelberg, 2011, pp. 431–450.
  • K. Lee, D.H. Lee, and M. Yung, Aggregating CL-signatures revisited: Extended functionality and better efficiency, in Financial Cryptography and Data Security, A.-R. Sadeghi, ed., Vol. LNCS 7859, February, Springer, Berlin, Heidelberg, 2013, pp. 171–188.
  • P. Legg, N. Moffat, J.R. Nurse, J. Happa, I. Agrafiotis, M. Goldsmith, and S. Creese, Towards a conceptual model and reasoning structure for insider threat detection, JoWUA 4 (2013), pp. 20–37.
  • J. Li and N. Li, OACerts: Oblivious attribute certificates, in Proc. of the 3th International Conference Applied Cryptography and Network Security (ACNS’05), New York, NY, J. Ioannidis and A. Keromytis, eds., Vol. LNCS 3531, June, Springer, Berlin, Heidelberg, 2005, pp. 301–317.
  • H.K. Maji, M. Prabhakaran, and M. Rosulek, Attribute-based signatures, in Proc. of the Cryptographers'Track at the RSA Conference 2011 Topics in Cryptology (CT-RSA’11), San Francisco, CA, A. Kiayias, ed., Vol. LNCS 6558, February, Springer, Berlin, Heidelberg, 2011, pp. 376–392.
  • D. Slamanig, C. Stingl, C. Menard, M. Heiligenbrunner, and J. Thierry, Anonymity and application privacy in context of mobile computing in ehealth, in Mobile Response, J. Löffler and M. Klann, eds., Springer, Berlin, Heidelberg, 2009, pp. 148–157.
  • J. Su, D. Cao, B. Zhao, X. Wang, and I. You, epass: An expressive attribute-based signature scheme with privacy and an unforgeability guarantee for the internet of things, Future Gener. Comput. Syst. 33 (2014), pp. 11–18. doi: 10.1016/j.future.2013.10.016
  • A. Sudarsono, T. Nakanishi, and N. Funabiki, Efficient proofs of attributes in pairing-based anonymous credential system, in Proc. of the 11th International Symposium Privacy Enhancing Technologies (PETS’11), Waterloo, ON, Canada, D. Ślȩzak, ed., Vol. LNCS 6794, July, Springer, Berlin, Heidelberg, 2011, pp. 246–263.
  • S.M. Takashi Nishide and K. Sakurai, Security analysis of offline e-cash systems with malicious insider, JoWUA 3 (2012), pp. 55–71.