<<

Pseudonymous signatures for eID: efficient and strongly secure dynamic domain-specific pseudonymous signatures

Julien Bringer1, Herv´eChabanne12, Roch Lescuyer1, Alain Patey

1Morpho, Issy-Les-Moulineaux, France 2T´el´ecomParisTech, Paris, France

Abstract vice Provider (SP) through a reader (for con- creteness, one might see the eIDAS token as a The notion of domain-specific pseudonymous passport equipped with a chip). The security signatures (DSPS) has recently been introduced mechanisms of [14] can be summarized as fol- for the private of ID documents lows. First of all, during the PACE protocol by Bender et al. at the ISC’12 conference. (Password Authenticated Connection Establish- Thanks to this primitive, the ID document, ment), the eIDAS token and the reader establish which embeds a chip with computational abili- a secure channel. Then, during the EAC proto- ties, is able to authenticate to a service provider col (Extended Access Control), the eIDAS token through a reader, and the resulting signatures and the service provider authenticate each other are anonymous, linkable inside the service and through another secure channel. The reader unlinkable across services. In a subsequent work, transfers the exchanged messages. At last, dur- Bringer et al. proposed at the NSS’13 confer- ing the (optional) RI protocol (Restricted Iden- ence to enhance security and privacy of DSPS tification), the eIDAS token gives its through group signature techniques. In this for the service to the service provider. This work, we improve on these proposals in three pseudonym enables the service provider to link ways. We note that using the full power of group users inside its service. However, across the ser- signatures is not needed for the construction of vices, users are still unlinkable. The latter prop- DSPS, and we provide an optimized construc- erty is called cross-domain . Such tion that achieves the same strong security and a property is interesting for many applications, privacy properties as the previous proposal of since it offers at the same time privacy for the Bringer et al. while being more efficient. We users and usability for the service provider, who also spot several imprecisions in previous formal- might want them to use an account to give them izations and provide clean security definitions more personal services (e.g., bank accounts, TV for the dynamic and adaptive case. Finally, we subscriptions, etc.). study the implementation of our protocol in a For authentication purposes, giving pseudo- chip and show that our solution is well-suited nyms is insufficient since the authenticity of the for these limited environments. pseudonym is not guaranteed. For this reason, subsequent works [22, 6, 12] adopt a “signature mode” for the use of . This ap- 1 Introduction proach has also been integrated in the latest de- velopments of the eIDAS protocols [14]. Such Recently, the German BSI agency introduced a signature mode between an eID token and a several security mechanisms regarding the use service provider can be described as follows. of identity tokens for authentication purposes [14]. In such situations, a token for electronic 1. The service provider sends to the eID to- IDentification, Authentication and trust Ser- ken the public key dpk of the service and a vices (aka an eIDAS token) connects to a Ser- message m.

A preliminary version of this work appeared in the 2. The eID token computes a pseudonym nym Proceedings of Financial Cryptography and Data Secu- rity 2014 [11]. This is an extended version, including as a deterministic function of its secret key new materials and proofs. Part of this work was done usk and the public key dpk. while the fourth author was a PhD student at Morpho and T´el´ecomParisTech. 3. The eID token signs the message m with its

1 secret key usk and the pseudonym nym. mous signatures share some properties with other primitives. DSPS may appear as a re- 4. The eID token sends the signature σ and laxed version of group signatures, in which a user the pseudonym nym to the service provider. is able to sign on behalf of a group, while be- 5. The service provider checks the signature ing anonymous inside the group of the poten- σ of the message m with respect to the tial signers. More specifically, DSPS share some pseudonym nym and the domain key dpk. similarities with group signatures with verifier local revocation (VLR) [9] in the sense that, in The interest of pseudonymous signatures ex- both primitives, the revocation is done on the ceeds the RI protocol, which motivated their for- verifier’s side. However, group signatures are mal study [6]. Such a privacy-preserving cryp- always unlinkable, whereas DSPS achieve some tographic primitive, coupled with the possession partial linkability. A parallel may be done be- of an eID token, enable users to keep control on tween DSPS and the notion of cross-unlinkable the electronic use of their identities. VLR group signatures [13], where users em- Our contributions. The work of [6] proposes an ploy several group signatures for several domains efficient construction based on groups of prime such that the signatures are unlinkable across (without pairings). Their construction re- domains. Within a domain, the group signa- lies on a very strong hypothesis regarding the tures are however unlinkable, which is not the tamperproofness of the token. In fact, recov- case for the context of DSPS. The difference ering two users’ secrets enables to compute the between DSPS and pseudonym systems [23] or key of the certification authority. To deal with anonymous credential systems [16] is that DSPS this concern, the authors of [12] propose to intro- pseudonyms are deterministic whereas anony- duce group signatures into this signature mode. mous credentials pseudonyms must be unlink- In addition to strong privacy properties, group able. DSPS might be seen as anonymous creden- signatures provide collusion resistance even if tials without attributes and with scope-exclusive several users’ secrets do leak. The authors of pseudonyms [15], but with a somehow weaker [12] claim that the security model of group sig- version of anonymity. In DSPS, the issuer is natures gives a security model for DSPS, and, always able to trace signatures. Moreover, we in fact, leave imprecise the definition of the explicitly address here the splitting of the sig- DSPS security properties. Moreover, the model nature process. Direct Anonymous Attestations of [6] only concerns the static case, and their (DAA) [10] might be seen (following [7]) as a anonymity definition is flawed. So clean secu- group signature where (i) the user is split be- rity definitions for dynamic DSPS remain to be tween a TPM and a host, (ii) signatures are supplied. Our first contribution is then a secu- unlinkable but in specific cases and (iii) there rity model for dynamic DSPS. is no opening procedure. More precisely, the We also provide a new construction, which is partial linkability is achieved by the notion of more efficient than the one of [12], while achiev- basename, a particular token present in all sig- ing the same strong security and privacy proper- nature processes. Two signatures are linkable ties. Our construction highlights the fact that, if, and only if, they are issued with the same in some sense, using group signatures is “too basename. At a first sight, a DSPS scheme is a strong” for constructing DSPS signatures. Our DAA scheme where basenames are replaced by second contribution is then an efficient, proven domains, and where the underlying group sig- secure, dynamic DSPS with short signatures. nature is replaced by a VLR group signature. Finally, we focus on the use of our DSPS Moreover, in the eID token use-case, the token- scheme by an eID token with limited capabili- reader pair might be seen as the TPM-host pair ties. Our model includes the delegation of some of DAA scheme. However, the primitives remain computations to the reader of the token, tak- distinct. The determination of the pseudonyms ing advantage of the computational power of the in DSPS is more restrictive than the usage of the reader. In this case, the eID token only performs basename in DAA. As a consequence, in DSPS, computation in a group of prime order and cheap the issuer is allowed to revoke the users. To the scalar operations. This is a valuable practical contrary, in DAA, a strong anonymity property advantage since existing chips might be used. might hold even in front of a corrupted issuer Our proposal avoids the need to deploy ad hoc (cf. [7]). In addition, the host in DAA always chips, which has an industrial cost. embeds the same chip, but a token is not linked Related notions. As a privacy-preserving cryp- to a specific reader, and might authenticate in tographic primitive, domain-specific pseudony- front of several readers. These differences im-

2 pact the DSPS security notions, and allow for Group creation. On input the global parame- different constructions. ters param, the GroupKeyGen algorithm outputs an asymmetric key pair (gpk, gsk). Organization of the paper. We first define dy- namic domain-specific pseudonymous signatures (gpk, gsk) ← GroupKeyGen(param) in Section 2. Then, we present our efficient con- struction of dynamic DSPS in Section 3. In Domain creation. On input the global pa- particular, we discuss some implementation con- rameters param and a domain j ∈ D, the siderations and, among other things, analyse DomainKeyGen algorithm outputs a public key the possibility to delegate some parts of sig- dpkj for j. nature computation from the eIDAS token to dpk ← DomainKeyGen(param, j) the reader. In Section 4, we supply a secu- j rity model for dynamic DSPS, and discuss some Together with the generation of a public key, tricky points to formalize. Finally, we analyse an empty revocation list Lj associated to the in Section 5 the security of our construction and domain j is created. prove it secure in the random oracle model ac- cording to the security definitions of Section 4, User enrolment. The enrolment protocol in- before concluding in Section 6. volves a user i ∈ U and the issuing authority IA. Join takes as input the global parameters param Notations. Given a non-empty finite set S, s ← and a group public key gpk. Issue takes as input S means that s is drawn uniformly at random the global parameters param and a group secret from S. Given a prime number p, we note Zp := key gsk. At the end of the protocol, the user i ∗ {0, 1, . . . , p − 1} and Zp := Zp \{0}. gets a secret key uski and the issuing authority IA keeps a revocation token rti.

2 Definition of domain-spe- uski ← Join(param, gpk, i) cific pseudonymous signa- ↔ Issue(param, gpk, i, gsk) → rti tures Pseudonym generation. On input the global parameters param, a group public key gpk, a Informally, a DSPS scheme is composed of pro- public key dpkj for a domain j ∈ D and a se- cedures for generating parameters, keys (for cret key uski of a user i ∈ U, the deterministic group, users and domains), pseudonyms, gener- NymGen algorithm outputs a pseudonym nymij ating and verifying signatures, and blacklisting for the user i usable within the domain j. users. nymij ← NymGen(param, gpk, dpkj, uski) Definition 1 (DSPS) A dynamic domain- Generation of signatures. On input the specific pseudonymous signature scheme is given global parameters param, a group public key gpk, by an issuing authority IA, a set of users U, a public key dpkj of a domain j ∈ D, a user se- a set of domains D, and the functionalities cret key uski of a user i ∈ U, a pseudonym nymij {Setup, GroupKeyGen, DomainKeyGen, Join, for the user i and the domain j and a message Issue, NymGen, Sign, Verify, Revoke} as de- m ∈ M, the Sign algorithm outputs a signa- scribed below. ture σ.

By convention, users are enumerated with index σ ← Sign(param, gpk, dpkj, uski, nymij, m) i ∈ N and domains with index j ∈ N. Interactive generation of signatures. Part Global parameters. On input a security pa- of the signature generation might be delegated rameter λ, the Setup algorithm computes global to an external entity. In this case, the Sign parameters param. A message space M is spec- procedure is split into three parts Delegate, ified. The sets of user U and domains D are PreCompute and Finalize. On input the global initially empty. parameters param, a group public key gpk, a public key dpkj of a domain j ∈ D, a user secret λ param ← Setup(1 ) key uski of a user i ∈ U, a pseudonym nymij for the user i and the domain j and a message The global parameters param are implicitly gi- m ∈ M, the Delegate algorithm outputs a dele- ven to all algorithms, if not explicitly specified. gation information del and keeps some auxiliary

3 information aux. On input the delegation infor- σ ← Finalize(gpk, aux, pre), we have mation del, the PreCompute algorithm outputs Verify(gpk, dpk, nym, m, σ, {}) = 1. a pre-computation pre. On input the auxiliary – Revocation correctness: information aux and the pre-computation pre, the Finalize algorithm outputs a signature σ. 1. nym = nym0 where nym0 := Revoke(gpk, rt, dpk). del, aux ← Delegate(gpk, dpkj, uski, nymij, m) pre ← PreCompute(gpk, del) 3 An efficient construction σ ← Finalize(gpk, aux, pre) of dynamic DSPS Verification of the signatures. On input the global parameters param, a group public key In this section, we present our construction for a dynamic DSPS scheme. gpk, a public key dpkj of a domain j ∈ D, a pseudonym nymij, a message m ∈ M, a sig- Bilinear parings. Our construction makes use nature σ and the revocation list Lj of the do- of bilinear pairings. A bilinear environment is main j, the algorithm outputs a decision Verify given by a tuple (p, G1, G2, GT , e) where p is a d ∈ {0, 1}. prime number, G1, G2 and GT are three groups of order p (here in multiplicative notation) and d ← (param, gpk, dpk , nym , m, σ, L ) Verify j ij j e is a bilinear and non-degenerate application The fact that pseudonyms are deterministic im- e : G1 × G2 → GT . The bi-linearity property plies the existence of an implicit algorithm for states that for all G ∈ G1, H ∈ G2, a, b ∈ Zp, a b ab b a linking signatures. On input a domain pub- we have e(G ,H ) = e(G, H) = e(G ,H ). lic key dpk and two triples (nym, m, σ) and The non-degeneracy property states that for all 0 0 0 G ∈ \{1 }, H ∈ \{1 }, e(G, H) 6= (nym , m , σ ), the Link algorithm outputs 1 if G1 G1 G2 G2 0 1 . Bilinear environments may be symmetric nym = nym and outputs 0 otherwise. GT if G1 = G2 or asymmetric if G1 6= G2. Revocation. On input the global parameters param, a group public key gpk, a revocation to- Global parameters. We assume that some bilinear groups G1, G2, GT of prime order p ken rti of a user i ∈ U and a public key dpkj of a domain j ∈ D, the Revoke algorithm outputs equipped with a non-degenerate bilinear map e : G1×G2 → GT and generators G1,H,U ∈ G1, the pseudonym nymij. G2 ∈ G2 are publicly available to all partici- nymij ← Revoke(param, gpk, rti, dpkj) pants. We assume that this pairing is of Type III (according to the classification of [21]), mean- A global revocation protocol for revoking the ing that (i) G1 6= G2 and (ii) there is no effi- user i everywhere is implicit here: it suffices for ciently computable isomorphism between them the issuer to publish rti. Then all pseudonyms in both directions. In all the following, if not will be computable from the past and future do- stated explicitly, all algorithms are implicitly gi- mains’ public keys. ven param = (p, G1, G2, GT , e, G1, H, U, G2) as ∗ λ Correctness. As a first property to be satis- input. A hash function H : {0, 1} → {0, 1} fied by a DSPS scheme, honest and non-revoked is also given (modelled as a random oracle in users should be accepted (signature correctness) the security proofs), where λ is the security pa- and the revocation of users prevents them to rameter that manages the bilinear environment produce accepted signatures (revocation correct- generation (we have |p| ≈ 2·λ). Messages in our ∗ ness). More formally, given global parame- scheme are bit strings: M := {0, 1} . ters param, a DSPS scheme is correct if for Creation of the group. The GroupKeyGen al- λ ∗ all (gpk, gsk) ← GroupKeyGen(1 ), all usk ← gorithm draws y ← Zp and returns the group Join(gpk) ↔ Issue(gpk, gsk) → rt, all dpk secret key gsk := y and the group public key y y ← DomainKeyGen(gpk), all nym ← NymGen(gpk, gpk := (Y1,Y2) := (H , (G2) ). The element dpk, usk), all m ∈ M, we have: Y1 is only used when the signature process is – Signature correctness: interactive. If no procedure of delegation is con- sidered in some concrete use of the scheme, this 1. for all σ ← Sign(gpk, dpk, usk, nym, m), we element can be dropped. have Verify(gpk, dpk, nym, m, σ, {}) = 1. Creation of the domains. The DomainKeyGen ∗ 2. for all (del, aux) ← Delegate(gpk, dpk, algorithm draws r ← Zp, and returns the do- r usk, nym, m), pre ← PreCompute(gpk, del), main public key dpk := D := (G1) . Note that

4 the random r is not a private key associated to Generation of the signatures. The Sign dpk, and may be discarded. dpk is just a public algorithm takes as input a group public key uniform random element in G1 that identifies a gpk = (Y1,Y2), a domain public key dpk = D, given domain. It might be for instance the hash a user secret key usk = (f, A, x), a pseudonym of the domain’s data (the hash function is then nym = N, and a message m, then performs the considered as a random oracle in the security following steps. analysis). We assume that these domain keys ∗ are honestly computed. 1. draw a, rf , rx, ra, rb, rd ← Zp Enrolment of the users. Given a group se- 2. set T := A · Ha cret key gsk = y, a user secret key usk is a triple rf rx f 1 3. set R1 := H · D (f, A, x) where A := (U ·H ) x+y for x ← Zp\{y} ∗ ra −r −r and f ← Zp. The corresponding revocation to- 4. set R2 := N · H d · D b ken is rt := (F, x) where F := Hf . The following rx −r −r −ra protocol allows the user to obtain a secret key 5. set R3 := e(T · H f b · (Y1) ,G2) from the issuer (this procedure closely follows 6. set c := H(D,N,T,R1,R2,R3, m) the one from [18]).

0 7. set sf := rf + c · f mod p, 1. [user] draw f 0 ← ∗; set C := Hf ; compute Zp s := r + c · x mod p, Π x x sa := ra + c · a mod p, 2. [user] send C, Π sb := rb + c · a · x mod p, and

sd := rd + c · a · f mod p 3. [issuer] receive C, Π; check Π 8. return the signature σ := (T, c, ~s) 00 4. [issuer] draw x, f ← Zp where ~s := (sx, sf , sa, sb, sd)

00 1 5. [issuer] set A := (U · C · Hf ) y+x A proof of knowledge of a valid certifi- cate. Following a classical way to construct sig- 00 6. [issuer] send (f , A, x) natures, the signature of our scheme is obtained 00 7. [issuer] store rt := (C · Hf , x) by applying the Fiat-Shamir heuristic [20] to a Σ-protocol [17] for proving knowledge of a valid user certificate. For the sake of completeness,

00 we explicitly give this proof of knowledge in Ap- 8. [user] receive (f , A, x) pendix B. 9. [user] check whether Signature size. A pseudonym is a group ele- x f+f 0 e(A, (G2) · Y2) = e(U · H ,G2) ment and a signature σ := (T, c, ~s) is composed of one element in 1, a challenge of size λ and 0 G 10. [user] store usk := (f, A, x) where f := f + five scalars, which is particularly short for this 00 f level of security. By comparison, a signature of 4 λ 4 [12] lies in G1 × {0, 1} × Zp . A short group The proof Π is computed as 4 λ 4 signature of [18] lies in G1 × {0, 1} × Zp as well, which highlights the fact that we do not Π := PoKhf 0i : E = Ext-Commit(f 0) ∧ need the whole power of group signatures here. NIZKPEqDL(f 0,E,C,H) , Signature generation with pre-computa- where Ext-Commit is an extractable commit- tions. In step 5 of the signature generation ment scheme and NIZKPEqDL (f, E, C, H) de- above, a pairing is computed. The user might notes a Non Interactive Zero Knowledge Proof also pre-compute an element e(A, G2) from its of Equality of the Discrete Logarithm f of C in secret key, and elements e(H,G2), e(H,Y2) from basis H with the value committed in E. the group public key. The R3 element is then computed as R3 := Generation of the pseudonyms. The NymGen

rx a·rx−rf −rb −ra algorithm takes a domain public key dpk = D e(A, G2) · e(H,G2) · e(H,Y2) . and a user secret key usk = (f, A, x) as input, and outputs the pseudonym of the user relatively As a result, a pairing is no longer necessary, at f x to domain D defined as nym := N := H · D . a cost of a multi-exponentiation in GT .

5 Interactive process for the generation of signature and communication (including delega- the signatures. When part of the signature tion) between the reader and the passport cost generation is delegated, the user takes as input a around 890ms, for equipment currently in use. group public key gpk = (Y ,Y ), a domain public 1 2 Verification of the signatures. A verifier key dpk = D, a user secret key usk = (f, A, x), takes as input a group public key gpk = (Y ,Y ), a pseudonym nym = N, and a message m, then 1 2 a domain public key dpk = D, a pseudonym engages the following protocol. nym = N, a message m, a signature σ = (T, c, ~s) Delegate where ~s := (sx, sf , sa, sb, sd), and a list L, and proceeds as follows: 1. [user] draw a, rf , rx, ra, rb ← Zp 1. if N ∈ L, return 0 2. [user] compute T := A · Ha 0 s sx −c 2. compute R1 := H f · D · N rx −r −r −ra 3. [user] compute B := T · H f b · (Y1) 0 sa −s −s 3. compute R2 := N · H d · D b 4. [user] send B 0 4. compute R3 :=

sx −s −s −c −sa c e(T · H f b · U ,G2) · e(H · T ,Y2) PreCompute 0 0 0 0 5. compute c := H(D,N,T,R1 ,R2 ,R3 , m) 5. [delegatee] receive B 6. if c0 = c return 1, otherwise return 0 6. [delegatee] compute R3 := e(B,G2) Correctness of the verification. One might 7. [delegatee] send R3 check that a valid signature is always accepted by the verification algorithm. Indeed, in that case we have: Finalize 0 rf +c·f rx+c·x −c·f −c·x R1 = H · D · H · D 8. [user] receive R3 rf rx = H · D = R1

0 f·(ra+c·a) x·(ra+c·a) −rd−c·a·f 9. [user] draw rd ← Zp R2 = H · D · H

−rb−c·a·x rf rx · D 10. [user] set R1 := H · D = Hf·ra · Dx·ra · H−rd · D−rb = R ra −r −r 2 11. [user] set R2 := N · H d · D b 0 rx+c·x −rf −c·f−rb−c·a·x −c R3 = e(T · H · U ,G2)

12. [user] set c := H(D,N,T,R1,R2,R3, m) −ra−c·a c · e(H · T ,Y2)

rx −rf −rb −ra 13. [user] set sf := rf + c · f mod p, = e(T · H ,G2) · e(H ,Y2) s := r + c · x mod p, c·x −c·(f−a·x) −c x x · e(T · H · U ,G2) s := r + c · a mod p, −c·a c a a · e(H · T ,Y2) s := r + c · a · x mod p, and rx −rf −rb −ra b b = e(T · H · (Y1) ,G2) sd := rd + c · a · f mod p c·x −c·(f−a·x) −c c·y · e(T · H · U · A ,G2) c·(x+y) f −c 14. [user] return the signature σ := (T, c, ~s) = R3 · e(A · (H · U) ,G2) where ~s := (sx, sf , sa, sb, sd) f c f −c = R3 · e((H · U) · (H · U) ,G2) = R3 In the protocol above, the user only performs Revocation. Given a revocation token rt = scalar operations and exponentiations in the (F, x) of some user and a domain key dpk = D, group . As a result, there is no need to im- G1 the revocation procedure returns the pseudonym plement pairing operations or exponentiations in nym := F · Dx. The domain updates its revoca- in the user side. This brings a piece of valu- GT tion list L := L ∪ {nym}. able advantages for a deployment with current technology. We implemented our protocol on Efficiency of the revocation in DSPS. Since a PC, using Barreto-Naehrig curves [1] at 128 a revocation list is a set of revoked pseudonyms bits of security. Following first estimations of in DSPS, the revocation test is a simple mem- a partial implementation on a chip, the overall bership test. In practice, this can be done very

6 efficiently. It is far more efficient than revoca- U set of honest users tion in the VLR group signature constructions. C set of corrupted users For instance, in [9], two pairings have to be com- D set of domains puted for each token in the revocation list. L domains’ revocation lists S set of messages signed by the challenger K lists of leaked pseudonyms N set of (user, domain) pairs the adversary 4 DSPS Security properties may know the pseudonym dpk table of domains’ public keys Besides correctness, a DSPS scheme should sat- usk table of users’ secret keys isfy the cross-domain anonymity, seclusiveness nym table of the pseudonyms and unforgeability properties to be secure. In- rt table of revocation tokens formally, a DSPS scheme is cross-domain anony- ro table for the random oracle mous if signatures are unlinkable but within a specific domain, seclusive if it is impossible to exhibit a valid signature without involving a sin- Table 1: Variables managed by the challenger gle existing user, and unforgeable if nobody, in- cluding corrupted authority and domains own- revoking users (R). A may ask for the revo- ers, cannot sign on behalf of an honest user. The cation of some users near some domains. remaining of this section is dedicated to the for- malization of these notions. learning identities (N, I). A may ask for the pseudonyms corresponding to a given (user, domain) pair, with the oracle N. Given a 4.1 Game-based security proofs pseudonym and a domain, A may also ask Security properties are modelled by games be- for the identity to which this pseudonym tween a challenger and an adversary. Given an belongs within the domain, thanks to the adversary A, a game G and a bit b ∈ {0, 1}, we oracle I. G denote A ⇒ b the fact that the challenger play- pseudonyms leakage (L). A may collect pseu- ing the game G outputs b after its interaction donyms without knowing the underlying with A. The following fundamental result about identities. game-based security proofs is given in [4]. signatures (S, DelS, V). A may ask for signa- Lemma 2 ([4]) Let G and G0 be two games, tures on behalf of a given pseudonym for identical until some internal flag bad is set to messages of its choice. Moreover, when part true in game G. Then of the signature is delegated by a delegator to a delegatee, it can interacts with an hon- h 0 i est delegator as a corrupted delegatee. Pr AG ⇒ 1 − Pr AG ⇒ 1 Since the verification of signatures involves  G  ≤ Pr A : bad = true . revocation lists, A is given an oracle V for their verification. 4.2 Oracles Since the signatures are created and verified under the pseudonyms, the adversary does The global variables used by the challenger dur- not ask for signatures on behalf of users. If ing a game are summarized in Table 1. Ora- the adversary wants a signature from a par- cles may be available to the adversary. Below ticular user, it may first ask for this user’s is given an informal description of each oracle. pseudonym, then asks the signature oracle Complete definitions are given Figures 4 and 5 for a signature. in Appendix A. interactive issuing (StoI, StoU). A may in- adding users and domains (U, D). A may dy- teract as a corrupted user in front of a hon- namically add users and domains, through est issuer (oracle StoI – Send to Issuer) or the U and D oracles. as a corrupted issuer in front of a honest user (oracle StoU – Send to User). corrupting users (C). A may corrupt users, with a query to C. The challenger returns In the random oracle model, the adversary has the user’s secret key (as well as the pseudo- access to a random oracle HR for values in the nyms, but it may compute the pseudonyms set R in addition to the oracles above; the set R with the user’s key). being specified by the parameters of the scheme.

7 challenge oracle LoR(b0, b1, i0, i1, j0, j1), game variables U, D, N , K, nym:

1. if i0 6∈ U or i1 6∈ U or j0 6∈ D or j1 6∈ D, return ⊥

2. if |{j ∈ {j0, j1} :(i0, j) ∈ N or (i1, j) ∈ N }| > 1, return ⊥ // step 2: there must be at most one domain where the users may be identified

3. if ( (K[j0] ∪ K[j1]) ∩ {i0, i1} 6= ∅ ) and ( ∃j ∈ {j0, j1}: {i0, i1} 6⊆ K[j] ), return ⊥ // step 3: leakage of pseudonyms together with dynamic creation of users and domains should not help to trivially win

4. return {(j0, nym[ib0 ][j0]), (j1, nym[ib1 ][j1])} CDA cross-domain anonymity experiment Experimentparam(A)

1. initialisation: InitializeGame(); (gpk, gsk) ← GroupKeyGen(param); b0 ← {0, 1}; b1 ← {0, 1};

2. oracles: O ← {U(gsk, ·), D(·), C(·), R(·, ·), N(·, ·), SM(·, ·, ·), DelSM(·, ·), I(·, ·), L(·), HR(·), VM(·, ·, ·, ·), LoR(b0, b1, ·, ·, ·, ·)} 3. adversary phase: d ← AO(param, gpk)

4. winning condition: return 1 if (d == (b0 == b1)), otherwise return 0

Figure 1: The cross-domain anonymity experiment

4.3 Cross-domain anonymity Discussion about anonymity. Since the functionality is dynamic, there might be no Figure 1 describes the cross-domain anonymity anonymity at all if we do not take care of the experiment. Informally, an adversary should not formalization. For instance, an adversary might be able to link users across domains. This prop- ask for adding two domains, two users, i , i , ask erty is formalized by a challenge oracle: given 0 1 for their pseudonyms, add a user i , and win two domains, an adversary should not be able to 2 a challenge involving i , i with non-negligible tell whether two pseudonyms belong to the same 0 2 probability. To avoid such an attack, the chal- user or not, even if it knows the underlying user lenger maintains a list of the (user, domain) for one out of the two domains. Two bits are pairs, for which the pseudonym might be known picked by the challenger, one for each domain from the adversary’s point of view. These lists queried to the challenge oracle. At the end of evolve in function of the adversary’s queries. the experiment, the adversary returns a bit d A Thus, the challenger ensures that the pseudo- and the game returns 1 if (d == (b == b )) 0 1 nyms returned by the LoR oracle contain enough (where (b == b ) equals 1 if the assertion is 0 1 uncertainty for at least one domain. Note that true and 0 otherwise). We denote AdvCDA ( ) param A the uncertainty is required for only one domain. the advantage of the adversary, defined as: A user queried to the LoR might be known or revoked in a domain: the adversary has to guess CDA def Advparam(A) = whether the other pseudonym belongs to the h CDA i same user. Experimentparam 2 · Pr A ⇒ 1 − 1 . Cross-domain anonymity w.r.t. several Given a security parameter λ ∈ , parameters N challenge calls. Let us assume that the stan- param ← Setup(1λ) and a polynomial t, we dard notion of public key encryption and its se- say that a DSPS scheme achieves cross-domain- mantic security IND-CPA (aka INDistinguishabi- anonymity if, for all A running in time less than lity under Chosen Plaintext Attack) is known to t(λ), the quantity AdvCDA (A) is negligible as a param the reader. A popular argument says that if a function of λ. public key encryption scheme is -IND-CPA se- Corruption of the issuer. Contrary to group cure with a single call to the challenge oracle, signatures (see [5]), the issuing authority IA is then it is ` · -IND-CPA secure with ` calls to the not corrupted in this game. This assumption is challenge oracle. This argument does not work minimal since the IA may trace all honest users. in the case of DSPS. However, we can still man- Hence we give the adversary the ability to inter- age to show that if a DSPS scheme is CDA secure act as a corrupted user with the honest issuer, with a single call to the challenge oracle, then it through the StoI oracle. is still CDA secure with a polynomial call to the

8 SEC seclusiveness experiment Experimentparam(A) 1. initialisation: InitializeGame(); (gpk, gsk) ← GroupKeyGen(param);

2. oracles: O ← {U(gsk, ·), StoI(gsk, ·, ·), D(·), C(·), R(·, ·), N(·, ·), I(·, ·), L(·), HR(·), SM(·, ·, ·), DelSM(·, ·), VM(·, ·, ·, ·)} 3. adversary phase:(j∗,N ∗, m∗, σ∗) ← AO(param, gpk) 4. winning condition:

(a) if j∗ 6∈ D, return 0 ∗ ∗ ∗ ∗ ∗ (b) if Verify(gpk, dpk[j ],N , m , σ , {nym[i][j ]}i∈U∪C) = 1, return 1 (c) return 0

Figure 2: The seclusiveness experiment

UF challenge oracle. A proof of this fact is given in a honest user. We denote Advparam(A) the suc- Appendix C. cess probability of the adversary in this forgery experiment:

4.4 Seclusiveness def h UF i UF Experimentparam Advparam(A) = Pr A ⇒ 1 . The Figure 2 describes the seclusiveness ex- periment. Informally, only valid enrolled users Given a security parameter λ ∈ N, parameters should be able to produce valid signatures. This param ← Setup(1λ) and a polynomial t, we say property is similar with the traceability property that a DSPS scheme achieves unforgeability if, of the group signatures [2, 5], where an adver- for all A running in time less than t(λ), the quan- sary should be unable to forge a valid signature UF tity Advparam(A) is negligible as a function of λ. that cannot trace to a valid user. In the group signature case, there is an opening algorithm, which enables to check if a valid user produced 4.6 Comparisons with precedent a given signature. However, there is no opening models here, so one might ask how to properly define For sake of clarity, note that (nymi, dsnymij) tracing users. Nevertheless, the management of in [6] maps to (i, nymij) in our model. the revocation tokens allows to correctly phrase the winning condition, as in VLR group signa- The model of [6]. First of all, the model of [6] tures [9], providing that we take into account is static. All users and domains are created at the presence of the pseudonyms. If at the end of the beginning of the games, while our security the game, the challenger blacklists all the users. games are all dynamic. Then, let us focus on If the signature is valid, then the adversary has the cross-domain anonymity and show that their won the game, as an analogue of “the opener definition is flawed. The adversary is given all cannot conclude” in the group signature case. pseudonyms and all domain parameters. The SEC left-or-right challenge takes as input two pseu- We denote Advparam(A) the success probability of the adversary in this experiment: donyms for the same domain and a message and outputs a signature on this message by one of def h SEC i SEC Experimentparam the corresponding users. A simple strategy to Advparam(A) = Pr A ⇒ 1 . win the game, independently of the construc- Given a security parameter λ ∈ N, parameters tion, is to verify this signature using both pseu- param ← Setup(1λ) and a polynomial t, we say donyms: it will be valid for only one of them. that a DSPS scheme achieves seclusiveness if, for This observation motivates our choice for our all A running in time less than t(λ), the quantity challenge output to be a pair of pseudonyms and SEC not a pair of signatures, since it is easy to verify Advparam(A) is negligible as a function of λ. their correctness using the pseudonyms. More- 4.5 Unforgeability over, in their game, both pseudonyms queried to the challenge oracle are in the same domain, The Figure 3 describes the unforgeability exper- which does not fit the cross-domain anonymity, iment. Nobody, including the issuer, should be while our challenge involving two different do- able to produce a valid signature in the of mains does. Finally, the model of [6] does not

9 UF unforgeability experiment Experimentparam(A) 1. initialisation: InitializeGame() (gpk, gsk) ← GroupKeyGen(param);

2. oracles: O ← {StoU(·), D(·), C(·), R(·, ·), N(·, ·), I(·, ·), L(·), HR(·), SM(·, ·, ·), DelSM(·, ·), VM(·, ·, ·, ·)} 3. adversary phase:(i∗, j∗, m∗, σ∗) ← AO(param, gpk, gsk) 4. winning condition:

(a) if i∗ 6∈ U or j∗ 6∈ D or (i∗, j∗, m∗, σ∗) ∈ S, return 0 (b) if Verify(gpk, dpk[j∗], nym[i∗][j∗], m∗, σ∗, {}) = 1, return 1 (c) return 0

Figure 3: The unforgeability experiment allow for collusions: the adversary can be given We define AdvDL(t) = max {AdvDL(A)}, where G A G at most one user secret key (indeed, with their the maximum is taken over all adversaries run- construction, using two users’ secret keys, one ning in time at most t. can recover the issuing keys). Decisional Diffie-Hellman problem [19]. Let be a cyclic group of prime order p and The model of [12]. The model of [12] is largely G G a generator of . Given an adversary A, the inspired by the security model of VLR group sig- G success probability (or advantage) of A against natures. That is why it does not enough take the Decisional Diffie-Hellman (DDH) problem is into account the specificities of DSPS. The chal- defined as lenge of the cross-domain anonymity game also def considers a single domain and outputs a signa- AdvDDH(A) = G ture (but it does not take as input the pseu-  a b a·b  donyms of the users, only identifiers, so it does Pr a, b ← Zp : A(G ,G ,G ) ⇒ 1 not inherit the security flaw of [6]). This model  a b c  lacks from a precise description of the oracles, − Pr a, b, c ← Zp : A(G ,G ,G ) ⇒ 1 . thus leaving looseness on what are the exact in- We define AdvDDH(t) = max {AdvDDH(A)}, puts and outputs. Our model is more precise G A G where the maximum is taken over all adversaries and separated from the model of group signa- running in time at most t. tures. Strong Diffie-Hellman problem [8]. Let G1, G2, GT be three cyclic groups of prime or- 5 Security of our construc- der p, H1 (respectively H2) a generator of G1 (respectively G2), and e a non-degenerate bilin- tion ear map e : G1 × G2 → GT . Let q ≥ 1. Given an adversary A, the success probability (or ad- This section begins by stating several hard prob- vantage) of A against the Strong Diffie-Hellman lems in prime order and bilinear groups. Then (SDH) problem is defined as the construction from Section 3 is proven secure def h according to the model of Section 4 under these Advq-SDH(A) = Pr a ← ∗ : G1,G2 Zp hard problems. a a (a2) (aq ) A((H1) , (H2) , (H1) ,..., (H1) ) i ⇒ (c, (H )1/(a+c)) ∈ \ {−a} × . 5.1 Hard problems 1 Zp G1 q-SDH q-SDH We define Adv (t) = maxA{Adv (A)}, Discrete logarithm problem. Let be a G1,G2 G1,G2 G where the maximum is taken over all adversaries cyclic group of prime order p and G a generator running in time at most t. of G. Given an adversary A, the success prob- ability (or advantage) of A against the Discrete Logarithm (DL) problem is defined as 5.2 Cross-domain anonymity The cross-domain anonymity of our scheme is def AdvDL(A) = Pr [a ← : A(Ga) ⇒ a] . proved by reduction to the decisional Diffie- G Zp

10 Hellman problem. particular, there exists a such that T = A · Ha, and we have: Theorem 3 Let A be an adversary against the sx+y·c −c −y·sa−sf −sb cross-domain anonymity of the pseudonymous B = T · U · H signature scheme, running in time at most t, = T rx+c·x+y·c · U −c making at most q random oracle queries, at h · H−y·ra−y·a·c−rf −c·f−rb−c·a·x most qs signature queries, adding qu users and = T rx · Ac·x+y·c · U −c qd domains. Then · Ha·c·x+a·y·c−y·ra−y·a·c−rf −c·f−rb−c·a·x CDA qu · qd Adv (A) ≤ c·(y+x) −c −c·f rx −rf −rb G1,G2 2 = A · U · H · T · H q · (q + q ) + 1  · H−y·ra · s s h + AdvDDH(t) . G1 c p = U · Hf · U −1 · H−f 

rx −rf −rb −ra Proof. We proceed with a sequence of games. · T · H · (Y1)

rx −rf −rb −ra CDA = T · H · (Y1) , Game 0. Game G0 is Experimentparam(A) as gi- ven Figure 1, with R := and M := {0, 1}∗, Zp as required. Moreover, the simulation remains and where, in addition, G uniformly guesses a 0 valid even if the adversary gives an incorrect R . user i ∈ [1, q ] and a domain j ∈ [1, q ], and 3 u d By Lemma 2, we have that: hopes that i and j are asked to the challenge or- acle. Since no information about i and j is avail- Pr AG0 ⇒ 1 − Pr AG1 ⇒ 1 able from the adversary’s point of view, this hap- qs · (qs + qh) pens with probability 4/(qu · qd). So we have: ≤ Pr AG1 : bad = true ≤ (2) p 4 · AdvCDA ( ) + 1 q ·q 1, 2 A Pr AG0 ⇒ 1 = u d G G (1) where the last inequality follows from the fact 2 for each signature query, H has been previously defined on at most q + q points, so that the Game 1. In game G1, we change the way s h the signature queries are handled. On input probability that bad is set to true is at most a pseudonym N, a domain key D, a user key (qs +qh)/p. This is because R2 is uniformly ran- dom in and independent from R , whatever (f, A, x), a message m, game G1 produces a sig- G1 3 nature as follows. y is the group secret key. In the adversary’s choice for R3 is. The important the first phase, the following steps are carried point here is that sd may be drawn after the out: reception of R3.

Game 2. The difference between game G2 and 1. finds i and j such that N = N i:j game G1 is in the way the parameters, the λ group public key and the user secret keys are 2. draw T ← G1; c ← {0, 1} ; sf , sx, sa, sb ← computed. The game draws G1,F ← G1 \ Zp {1G1 }; G2 ← G2 \{1G2 }; β, y, f1, . . . fqu ← ∗ sx+y·c −c −y·sa−sf −sb 3. send B := T · U · H Zp, x1, . . . , xqu ← Zp \{y}, and sets U := (y+x1)···(y+xq ) β y F u , H := U , Y1 := H , Y2 := Q y (1+β·fi)· (y+xn) In the second phase: (G2) and Ai := F n∈[1,qu]\{i} for all i ∈ [1, qu]. G1, H, U and G2 are distributed 1. receive R3 as in Game G (unless Q (y + x ) = 0 1 i∈[1,qu] i mod p, in which case the flag bad is set to true). 2. draw s ← and set R := Hsf ·Dsx ·N −c d Zp 1 The keys are also identically distributed. For and R := N sa · H−sd · D−sb 2 instance, for user i, one can check that:

3. if H(D,N,T,R1,R2,R3, m) 6= ⊥, set bad to y+x (y+x )···(y+x )·(1+β·f ) (A ) i = F 1 qu i true i = U 1+β·fi = U · Hfi . 4. program H(D,N,T,R1,R2,R3, m) := c Hence, G1 and G2 are identical until bad is set 5. return σ := (T, c, sx, sf , sa, sb, sd) to true: 1 Here bad is a flag, initially set to false. Games G0 Pr AG1 ⇒ 1 − Pr AG2 ⇒ 1 ≤ . (3) and G1 are identical until bad is set to true. In p

11 Game 3. G3(G1, A, B, C) takes as input a genera- Except the pseudonyms, no information about a tor G1 and three group elements A = (G1) , B = the user’s secret key is available (in particular, b a·b (G1) and C = (G1) such that a and b are uni- signatures are simulated without knowledge of form. The difference with game G2 is in the way the secret keys – cf. game G1). Since G1, A, B the pseudonyms and domain keys are computed. and C are independent uniform elements in G1, Game G3 computes the keys and the pseudo- all pseudonyms in the set {nym[i][j], nym[i][j], nyms such that xi = a and dpkj = B. More nym[i][j], nym[i][j]} are independent and uni- precisely, the game draws G2 ← G2 \{1G2 }; form. Moreover, this set of pseudonyms cannot ∗ α, β, y, f1, . . . fqu ← Zp, xi ← Zp \{y}, and sets: be discriminated by the leakage of pseudonyms, thanks to the condition on the set K in the chal- Q y α· (y+xn) • U := (A · (G1) ) n∈[1,qu]\{i} lenge oracle query. So the view of the adversary is not affected. • H := U β

 G4   G5  y Pr A ⇒ 1 = Pr A ⇒ 1 . (6) • Y1 := H y Finally, in game G , the view of A is independent • Y2 := (G2) 5 of one challenge bit among b0 and b1, so the • Ai := success probability of A is exactly 1/2. Q y α·(1+β·fi)· (y+xn) (A · (G ) ) n∈[1,qu]\{i,i} 1 1  G5  Q Pr A ⇒ 1 = . (7) α·(1+β·fi)· (y+xn) • Ai := (G1) n∈[1,qu]\{i} 2

fi The theorem follows from Equations (1), (2), • Ni:j := H · C (3), (4), (5), (6), and (7). ut fi xi • Ni:j := H · B

fi rj • Ni:j := H · A 5.3 Seclusiveness

fi rj ·xi • Ni:j := H · (G1) The seclusiveness of our DSPS scheme is proved by reduction to the strong Diffie-Hellman prob- for i 6= i, j 6= j. Note that xi is not used in the lem. signature oracle simulation (cf. game G1). If i were asked to the corruption oracle, the simula- Theorem 4 Let A be an adversary against the tion would fail, but since i is asked to the chal- seclusiveness of our DSPS scheme, running in lenge oracle (cf. game G0), it is not corrupted. time at most t, making at most qh random oracle Game G2 and G3 are identically distributed since queries and adding qu users. Then a and b are uniformly random. SEC qu + qh  G2   G3  Adv (A) ≤ Pr A ⇒ 1 = Pr A ⇒ 1 . (4) G1,G2 p q qu-SDH 2 Game 4. The game G4(G1, A, B, C) is identical + 2 · qu · qh · Adv (2 · t + qu ). G1,G2 to G3, except that it takes as input three uni- a formly distributed group elements A = (G1) , Proof. We proceed with a sequence of games. b c B = (G1) and C = (G1) . A distinguisher be- Game 0. Game G0 is simply the security exper- tween G3 and G4 is a distinguisher for the DDH iment as described Figure 2. So we have: problem in G1.

 G0  SEC  G3   G4  DDH Pr A ⇒ 1 = Adv (A). (8) Pr A ⇒ 1 − Pr A ⇒ 1 ≤ Adv (t). G1,G2 G1 (5) Game 1. Game G1 takes as input qu + 3 group ∗ Game 5. Let i0, i1, j0, j1 be the users and do- elements (H1,H2, F1, Q, F2,..., Fqu ) ∈ (G1 × 2 qu f f mains asked to the challenge oracle. In game G2) × (G1) such that F1 = (H1) , Q = (H2) , (f2) (f(qu)) G5, the only difference with game G4 is that F2 = (H1) , . . . , and Fqu = (H1) , for ∗ the challenge oracle returns the pseudonym of some uniform f ∈ Zp. For sake of reading, the user i0 for a domain j ∈ {j0, j1}, for which let us set q := qu. G1 differs from G0 in the {(i0, j), (i1, j)} ∩ N = ∅. There exists at least way the parameters, the group key and the user such a j, otherwise the challenge query is invalid, keys are generated. G1 picks k ← {1, . . . , q}, by the condition on the set N in the challenge or- x1, . . . , xq ← Zp (such that all xi are distinct), acle definition. We have i ∈ {i0, i1}, j ∈ {j0, j1}. and s1, . . . , sq ← Zp; sets G2 := H2, Y1 :=

12 −x −x F1 · (H1) k and Y2 := Q · (H2) k . This im- on inputs (H1,H2, F1, Q, F2,..., Fq), until A re- plicitly sets the group secret key y := f − xk. turns a forgery σ = (T, c, ~s) for some domain − For {x1, . . . , xq} ∈ Zp, let P , Pm and Pm for D, pseudonym N and message m (assuming A m ∈ [1, q] be the following polynomials on Fp[X]: is successful; otherwise B aborts). Since the forgery is valid, the random oracle was pro- Q • P := n∈[1,q](X + xn − xk) grammed as H(D,N,T,R1,R2,R3, m) := c. Q B replays the same experiment. When A makes • Pm := n∈[1,q]\{m}(X + xn − xk) the random oracle query corresponding to the forgery, it sends a fresh random value c0. If A • P − := Q (X + x − x ). m n∈[1,q]\{m,k} n k returns a new forgery σ0 = (T 0, c0, s~0) for the

− same message m, then: Note that we have P = X · Pk, Pm = X · Pm − if m 6= k, and P = P . Expanding P on f, s s −c s0 s0 −c0 k k H f · D x · N = H f · D x · N Pq n q we get P (f) = n=0 anf for some {an}n=0 de- ( 0 0 pending on the xn. Game G1 is able to com- sf + c · f = sf + c · f mod p and P (f) ⇔ 0 0 pute (H1) from the input without the knowl- sx + c · x = sx + c · x mod p, edge of f. The same remark is equally true − f x for Pm and Pm . Game G1 picks α ← Zp, from which some x and f such that N = H ·D ∗ β(α·P (f)−sk·Pk(f)) 0 β, δ ← Zp, sets U := (H1) , can be retrieved (assuming c 6= c ). Moreover, β·P (f) δ H := (H1) k , and G1 := (H1) . If G1, we have: −x +x H, U, Y , or F · (H ) k i (for some i ∈ −s −s s −s0 −s0 s0 1 1 1 H d · D b · N a = H d · D b · N a , [1, q]) equals 1G1 , or G2, or Y2 equals 1G2 , game G1 restarts drawing random values. A is from which we know (by substituting N = Hf · given parameters (e, 1, 2, T , e, G1, H, U, G2) x 0 0 G G G D ) that (sd − sd) = f · (sa − sa) mod p and and group public key (Y1,Y2). Then game G1 0 0 (sb −sb) = x·(sa −sa) mod p. Finally, we have: computes user secret keys as follows. When A sx −sf −sb −c −sa c asks for adding a new user i ∈ [1, q], G1 sets e(T · H · U ,G2) · e(H · T ,Y2) = − β·(α·Pi(f)+Pi (f)·(si−sk)) 0 0 0 0 0 Ai := (H1) , and usk[i] := s −s −sb −c −s c e(T x · H f · U ,G2) · e(H a · T ,Y2), (si,Ai, xi). One can check that usk[i] is a valid 0 0 user secret key under (Y1,Y2): from which we know that sa + a · c = sa + a · c mod p and e(T ·H−a, (G )x ·Y ) = e(U ·Hf ,G ). 1 2 2 2 si  y+x −a U · H i B can then retrieve a and A = T · H such that 1 f y+x β·(α·P (f)−sk·Pk(f)) A = (U ·H ) . Assuming that A is successful, = (H1) there is no n ∈ [1, q], such that N = Hfn · Dxn . 1 β·Pk(f)·si  f−x +x · (H1) k i Hence:

− − f+xi−xk (β·α·Pi(f)−β·sk·Pi (f)+β·si·Pi (f))· f−x +x = (H1) k i (f, x) 6∈ {(f1, x1),..., (fq, xq)}. (10) − β·(α·Pi(f)+P (f)·(si−sk)) = (H1) i = Ai. Let us now distinguish two cases (I) and (II).

(I). x ∈ {x1, . . . , xq}. If x 6= xk, B returns ⊥ and When the issuing process is interactive, the 0 aborts. Let us now assume that x = xk. We game receives an element Hf and a proof Π. have f 6= sk – since f = sk contradicts (10) – From Π, thanks to the extraction key, game G2 and extracts f 0. Then it computes A as above, and i 1 0 sk −f s −f returns si − f to the user. Parameters and keys (A · (Ak) ) k are distributed as in game G , except that some 1 0 sk·β·Pk(f)·(α·f−sk+f)· f−x +x = (H1) k xi could take the same value in the specification 1 −f·β·α·Pk(f) s −f of the scheme. If the xi are uniformly picked, · (H1) k this happens with negligible probability. 1 1 sk·β·Pk(f)·(α·f−sk+f)· f · s −f = (H1) k q  G1   G0  u 1 1 Pr A ⇒ 1 − Pr A ⇒ 1 ≤ . (9) −f·β·α·f·Pk(f)· f · s −f p · (H1) k β·(α·P (f)−s ·P (f))· 1 = (H ) k k f Solving a SDH challenge. Now, let B denote 1 the following reduction algorithm, whose aim is P vanishes in 0, but this is not the case for Pk. to solve a SDH challenge (F1, Q, F2,..., Fq) ∈ Then by dividing β · (α · P (f) − sk · Pk(f)) by f q−1 G1 × G2 × (G1) with respect to genera- we get R and Q such that tors H1, H2. B runs A, simulating game G1

13   q succeeds with probability at least 1 − 1/q . Y B u C := R(0) = −β · sk ·  (xn − x) and Hence, considering the more pessimistic case, 0 00 n=1,n6=k  ≤ 2 · qu ·  . The running time of B is es- s −f 1 C +Q(f) sentially twice the running time of A (to extract k sk−f f (A · (Ak) ) = (H1) 2 a SDH challenge) plus O(qu ) operations in G1. where C 6= 0. B computes Therefore, we get:

1 q 1/f s −f −Q(f) 1/C  G1  h (H ) := ((A k · (A ) ) sk−f · (H ) ) , Pr A ⇒ 1 ≤ + 1 k 1 p 1/f q sets c := 0 and returns (0, (H1) ) as a solution qu-SDH 2 2 · qu · qh · Adv (2 · t + qu ), (13) to the SDH challenge. G1,G2

(II). x 6∈ {x1, . . . , xq}. This implies: which concludes the proof. ut

xn − x 6= 0 mod p for all n ∈ [1, q]. (11) 5.4 Unforgeability

Let us now consider the quantity β ·Pk(f)·(α·f + The unforgeability of our DSPS scheme is proved f −sk) as a polynomial S in f. If we carry out the by reduction to the discrete logarithm problem. Euclidean division of S by (f +x−xk), we get Q and R such that S(f) = (f +x−xk)·Q(f)+R(f). Theorem 5 Let A be an adversary against the Since (f + x − xk) is a first degree polynomial unforgeability of the pseudonymous signature X − (xk − x), we know that R(f) = S(xk − x), scheme, running in time at most t, making at so B can compute most qh random oracle queries, at most qs sig- nature queries, and adding qu users. Then C := R(f) = S(xk − x) = β·   q · (q · (q + q ) + q ) q AdvUF (A) ≤ u s s h h Y G1,G2 p  (xn − x) · (α · (xk − x) + f − sk). q n=1,n6=k + q · q · AdvDL(2 · t). u h G1 Since (f, A, x) is a valid user key, we have Proof. We proceed with a sequence of games. 1 β·Pk(f)·(α·f−sk+f)· f−x +x A = (H1) k Game 0. Game G0 is the security experiment as described Figure 3 where, in addition, G0 uni- (f+x−xk)·Q(f)+R(f) C f−x +x Q(f)+ f+x−x formly guesses the user i ∈ [1, q ] returned by so A = (H1) k = (H1) k . u Q(f) the adversary, and fail if the guess is wrong. So B can compute (H1) from the SDH chal- we have: lenge. If (f − sk) = α · (x − xk), B returns ⊥ and aborts. If (f − sk) 6= α · (x − xk), then C 6= 0 1 Pr AG0 ⇒ 1 = · AdvUF (A). (14) by (11) and by the choice of β, so B computes q G1,G2 1 1 u f+x−x −Q(f) C (H1) k = A · (H1) , set c = x − xk, Game 1. In game G , the signature queries are and return (c, (H )1/(f+c)) as a solution to the 1 1 simulated as in Game G of Theorem 3. The SDH challenge. 1 fact that the adversary knows the group secret This achieves the description of the reduction key has no effect on the simulation. B. Let us now consider its probability of suc- cess and its running time. Let us denote  the q · (q + q )  G0   G1  s s h  G1  0 Pr A ⇒ 1 − Pr A ⇒ 1 ≤ . probability Pr A ⇒ 1 and  the probability p that B manages to extract a valid SDH solution (15) from the forge. From standard forking tech- niques (cf. [3, Lemma 1]), we have that: Game 2. The difference between game G2 and   game G1 is in the way the parameters, the 0  1  ≥  · + . (12) group public key and the user secret keys are qh p computed. The game draws G1,F ← G1 \ 00 Then, let us denote  the probability that B {1G1 }; G2 ← G2 \{1G2 }; β, y, f1, . . . fqu ← ∗ does not abort, once a secret key is extracted. Zp, x1, . . . , xqu ← Zp \{y}, and sets U := (y+x1)···(y+xq ) β y No information is available about k from A’s F u , H := U , Y1 := H , Y2 := Q y (1+β·fi)· (y+xn) point of view. As a result, in case (I), B suc- (G2) , and Ai := F n∈[1,qu]\{i} for ceeds with probability 1/qu; and in case (II), all i ∈ [1, qu]. When the game interacts with the

14 adversary as a corrupted issuer, the game sim- The theorem follows from Equations (14), (15), 0 ply sends a value Hf , the corresponding proof, (16), (17), and (18). ut 00 0 00 receives (f , A, x), and sets f = f + f . G1, H, U and G2 are distributed as in Game G1, and we have: 6 Conclusion

Pr AG1 ⇒ 1 = Pr AG2 ⇒ 1 . (16) In this work, we study dynamic domain-specific pseudonymous signatures, a recent privacy-pre- Game 3. G3(F, A) takes as input two group serving primitive, which brings many interest- elements such that A = F a for some uniform ing applications. We supply clean definitions a ∈ Zp. The difference with game G2 is in for their security properties. We highlight the the way the secret key and the pseudonyms of fact that, in some sense, using the full power β user i are computed. G2 sets A := F · A of group signatures is somehow “too strong” for xi and nymij := A · (Dj) . This implicitly sets constructing DSPS signatures. Following this fi := a. If the user i was created through an intuition, we provide a new, optimized, con- interactive process, the challenger simulates a struction that is more efficient than the one gi- proof of equality (in the first round), and re- ven in [12], while achieving the same strong se- ceives Ai from the corrupted issuer (in the sec- curity and privacy properties. Moreover, moti- 00 ond round). In this case we have, Hfi = A · Hf vated by the main application of DSPS – the au- for some adversarially chosen f 00. It implicitly thentication of eID tokens –, we study the inter- 00 sets fi := a + f instead of fi := a. The signa- actions between an entity, as a chip, embedding ture oracle is not affected since the users’ secret a user’s secret key, and its reader. Taking advan- keys are no longer used in the simulation of the tage of the computational power of the reader, signatures (cf. game G1). No information about our DSPS scheme may be implemented on exist- i leaks from the adversary’s point of view, unless ing chips, without deploying dedicated hardware i is corrupted. or pairing implementations on the chip side.

Pr AG2 ⇒ 1 = Pr AG3 ⇒ 1 . (17) A Definition of the oracles Solving a DL challenge. Now, let B denote the following reduction algorithm, whose aim is to in the security games solve a Discrete Logarithm challenge A ∈ G1 with respect to a generator F . B runs A, simu- Figures 4 and 5 give the details of the oracles available to the adversary in the security games lating game G3(F, A), until A returns a forgery σ = (T, c, ~s) for some domain D, and message of Section 4. m (assuming A is successful; otherwise B aborts). Since the forgery is valid, the random oracle was B A proof of knowledge of a programmed as H(D,N,T,R1,R2,R3, m) := c. As in Theorem 4, B replays the same experi- valid certificate ment, and then sends a fresh random value c0 for the corresponding random oracle query. If The signature procedure of our scheme is ob- A returns a new forgery σ0 = (T 0, c0, s~0) for the tained from a proof of knowledge of a valid cer- same message m, then: tificate. This proof is explicitly given Figure 6. It is indeed a honest-verifier zero-knowledge s s −c s0 s0 −c0 H f · D x · N = H f · D x · N proof of knowledge, as shown by the following 0 0 lemmas. ⇒ sf + c · f = sf + c · f mod p, from which f = a (or f = a + f 00) can be re- Lemma 6 (Completeness) The protocol of trieved, assuming that the adversary produces Figure 6 is complete. 0 a forge for the user i and assuming c 6= c . Let Proof. By inspection, one can be convinced that  G3  0 us denote  the probability Pr A ⇒ 1 and  the protocol is complete. In particular, we have: the probability that B manages to extract a valid DL solution from the forge. As in Theorem 4, Hsf · dpksx · nym−c forking techniques [3, Lemma 1] allows to show rf +c·f rx+c·x f x −c that: = H · dpk · (H · dpk ) rf +c·f−f·c rx+c·x−x·c q q = H · dpk  G3  h DL Pr A ⇒ 1 ≤ + qh · Adv (2 · t). (18) rf rx p G1 = H · dpk = R1

15 initialization InitializeGame() U := {}; C := {}; D := {}; N := {}; S := {}; sig state := 0; L := ⊥; K := ⊥; ro := ⊥; usk[i] := ⊥, rt[i] := ⊥, dpk[j] := ⊥, nym[i][j] := ⊥, for all i, j

users U(gsk, i), i ∈ N 1. if i ∈ U ∪ C, return ⊥; otherwise set U := U ∪ {i}; generate usk[i], rt[i] with gsk 2. set nym[i][j] ← NymGen(gpk, dpk[j], usk[i]) for all j ∈ D; return ε

domains D(j), j ∈ N 1. if j ∈ D, return ⊥; otherwise set dpk[j] ← DomainKeyGen(); for all i ∈ U ∪ C, do:

(a) if usk[i] 6= ⊥, set nym[i][j] ← NymGen(gpk, dpk[j], usk[i]) (b) otherwise if rt[i] 6= ⊥, set nym[i][j] ← Revoke(gpk, rt[i], dpk[j])

2. set D := D ∪ {j}; N := N ∪ {(i, j)}i∈C; L[j] ← {}; K[j] ← {}; Check(j); return dpk[j] corruption oracle C(i), i ∈ N 1. if i 6∈ U (or if i was queried to the LoR oracle), return ⊥

2. otherwise set U := U\{i}; C := C ∪ {i}; N := N ∪ {(i, j)}j∈D; ∀j ∈ D: Check(j) 3. return (usk[i], rt[i]) // pseudonyms might be computed from usk[i]

revocation oracle R(i, j), i, j ∈ N 1. if i 6∈ U or j 6∈ D (or if i and j were queried together to the LoR oracle), return ⊥ 2. otherwise set L[j] := L[j] ∪ {nym[i][j]}; N := N ∪ {(i, j)}; Check(j); return ε

nym oracle: N(i, j), i, j ∈ N 1. if i 6∈ U or j 6∈ D (or if i and j were queried together to the LoR oracle), return ⊥ 2. otherwise set N := N ∪ {(i, j)}; Check(j); return nym[i][j] ∗ identification oracle: I(N, j), N ∈ {0, 1} , j ∈ N 1. find i ∈ U such that N = nym[i][j] 2. if none is found or j 6∈ D (or if i and j were queried together to the LoR oracle), return ⊥ 3. otherwise set N := N ∪ {(i, j)}; Check(j); and return i

nym leakage: L(j), j ∈ N

1. if j 6∈ D, return ⊥; otherwise set K[j] := K[j] ∪ U; return {(j, nym[i][j])}i∈U ∗ random oracle HR(string), string ∈ {0, 1} 1. if ro[string] 6= ⊥, return ro[string] 2. otherwise draw r ← R; set ro[string] := r; return r

Check(j) for j ∈ D is defined as: [if ∃i ∈ U: {i0 :(i0, j) ∈ N } \ U = {i}, then set N := N ∪ {(i, j)}; return (i, j)] it ensures that the anonymity is not trivially broken by dynamic and adaptive identification

Figure 4: Oracles for the experiments – I

sa −sd −sb −ra −c·a a c nym · H · dpk · e(H ,Y2) · e(H · (A · H ) ,Y2)

f x r +c·a −r −c·a·f rx −rf −rb −ra = (H · dpk ) a · H d = e(T · H ,G2) · e(H ,Y2)

−rb−c·a·x x −f −1 c c · dpk · e(A · H · G1 ,G2) · e(A, Y2) f x r f·c·a−r −c·a·f 1 = (H · dpk ) a · H d f  x+γ x γ c = R3 · e( G1 · H ,G2 · G2 ) · dpkx·c·a−rb−c·a·x f −c · e(G1 · H ,G2) = R3 f x ra −rd −rb = (H · dpk ) · H · dpk = R2

sx −sf −sb −sa Lemma 7 (Zero-knowledge) The protocol of e(T,G2) · e(H,G2) · e(H,Y2) Figure 6 is honest-verifier zero-knowledge.  −1−c · e(G1,G2) · e(T,Y2)

rx −rf −rb Proof. For an honest verifier, the transcripts = e(T · H ,G2) T ,(R , R , R ), c,(s , s , s , s , s ) can be a c·x −c·f−c·a·x −c 1 2 3 f x a b d · e((A · H ) · H · G1 ,G2) simulated in an indistinguishable way, without knowing any valid certificate. We first simu-

16 ∗ signature oracle SM(N, j, m), N ∈ {0, 1} , j ∈ N, m ∈ M 1. find a user i ∈ U such that N = nym[i][j] (return ⊥ if none is found) 2. compute σ ← Sign(gpk, dpk[j], usk[i], N, m); set S := S ∪ {(i, j, m, σ)}; return σ

signature oracle with delegation DelSM(in0, in1) 1. if sig state = 0

∗ (a) parse in0 as (N, j, m) ∈ {0, 1} × N × M; find i ∈ U such that N = nym[i][j] (b) compute (del, aux) ← Delegate(gpk, dpk[j], usk[i], N, m) (c) set sig state := 1 − sig state; store (i, j, m, aux); return del

2. if sig state = 1

∗ (a) parse in1 as resp ∈ {0, 1} ; retrieve (i, j, m, aux) (b) σ ← Finalize(gpk, aux, resp) (c) sig state := 1 − sig state; S := S ∪ {(i, j, m, σ)}; return σ

∗ ∗ verification VM(N, j, m, σ), N ∈ {0, 1} , j ∈ N, m ∈ M, σ ∈ {0, 1} 1. if j 6∈ D, return ⊥; otherwise return Verify(gpk, dpk[j], N, m, σ, L[j])

interactive issuing with a corrupted issuer StoU(Min)

1. if Min is parsed as i ∈ N // the adversary asks for a session with a new user (a) if i ∈ U ∪ C, return ⊥; otherwise initiate an issuing session on behalf of i

(b) compute a protocol first message Mout and keep the internal state as aux

2. otherwise if Min is parsed as (i, resp)

(a) retrieve the internal state aux of i and finalize usk[i] with internal state aux and response resp (b) set U := U ∪ {i}; nym[i][j] ← NymGen(gpk, dpk[j], usk[i]) for all j ∈ D

interactive issuing with a corrupted user StoI(gsk, i, Min) 1. the oracle simulates the issuer in front of a new user i 6∈ U ∪ C; it computes a response to the protocol message Min thanks to the group secret key gsk, sends the response, and records a revocation token rt[i]. Then, it sets C := C ∪ {i}, N ∪ {(i, j)}j∈D, and nym[i][j] ← Revoke(gpk, rt[i], dpk[j]) for all j ∈ D.

In the oracles for the interactive issuing, we assume for simplicity that the protocol contains two rounds, as in our scheme.

Figure 5: Oracles for the experiments – II

late T , which can be done by picking T ← G1. simulation of the second step is perfect. ut This element is indistinguishable from the out- put of any prover since, given (p, G1, G2, GT , e), Lemma 8 (Proof of knowledge) There ex- G1,H ← G1 \{1}, G2 ← G2 \{1}, γ, f, r ← Zp, ists an extractor for the protocol of Figure 6. 1 x ← \ {−γ}, A := G · Hf  γ+x , dpk := G r Zp 1 1 Proof. Let us assume that a prover is able and nym := Hf ·dpkx, the following distributions to give two valid responses ~s, s~0 to two dif- ∆ and ∆0 are the same. ferent challenges c, c0 given the same values s sx a T, (R1,R2,R3). First, by dividing H f · dpk = ∆ := {T | a ← p ; T := A · H } Z c s0 s0 c0 0 R1 · nym by H f · dpk x = R1 · nym , we ob- ∆ := {T | T ← G1} s −s0 s −s0 0 tain H f f · dpk x x = nymc−c . Since c 6= c0, 0 0 Then, we pick c ← {0, 1}λ and s , s , s , s , then c − c 6= 0 mod p, so c − c is invertible f x a b ˜ 0 0 modulo p. Hence f := (sf − s )/(c − c ) and sd ← p. The simulator computes (R1,R2,R3) f Z ˜ sf 0 0 f x˜ using the verification equations: R1 := H · x˜ := (sx −sx)/(c−c ) such that nym = H ·dpk . sx −c sa −s −sb sa −sd −sb dpk ·nym , R2 := nym ·H d ·dpk , R3 := Then by dividing nym · H · dpk = R2 0 0 0 sx −sf −sb −sa  s −s −s e(T · H ,G2) · e(H ,Y2) · e(G1,G2) · by nym a · H d · dpk b = R2, we obtain −c 0 0 0 −1 sa−sa sd−sd sb−sb e(T,Y2) . This second step does not assume nym = H · dpk . Substituting f˜ x˜ 0 ˜ 0 any knowledge about the data used to generate nym = H ·dpk gives that (sd−sd) = f ·(sa−sa) 0 0 usk, dpk, nym and T in the first step. So the and (sb −sb) =x ˜·(sa −sa) (which holds if H and

17 Parameters.(p, G1, G2, GT , e), G1,H ∈ G1, G2 ∈ G2. γ γ Issuer. gsk := γ ∈ Zp, gpk := (Y1,Y2) := (H ,G2 ). r Domain. r ∈ Zp, dpk := G1 6= 1G1 . 1 f  γ+x User. usk := (f, A, x), f ∈ Zp, x ∈ Zp \ {−γ}, A := G1 · H ∈ G1. Pseudonym. nym := Hf · dpkx

a a ← Zp ; T := A · H ; rf , rx, ra, rb, rd ← Zp r rx ra −r −rb R1 := H f · dpk ; R2 := nym · H d · dpk rx a·rx−r −r −ra R3 := Z · e(H,G2) f b · e(H,Y2)

R1,R2,R3 −−−−−−−−−−−−−−−−−−−−−−−−−→ c ← {0, 1}λ c ←−−−−−−−−−−−−−−−−−−−−−−−−− sf ← rf + c · f ; sx ← rx + c · x ; sa ← ra + c · a sb ← rb + c · a · x ; sd ← rd + c · a · f

~s := (sf , sx, sa, sb, sd) −−−−−−−−−−−−−−−−−−−−−−−−−→ s sx −c ? H f · dpk · nym = R1 ? sa −s −sb nym · H d · dpk = R2 −c ? sx −s −s −sa  −1 e(T,G2) · e(H,G2) f b · e(H,Y2) · e(G1,G2) · e(T,Y2) = R3

Scalar operations are carried out modulo p

Figure 6: A proof of knowledge of a valid certificate

dpk are generators of G1). Finally by dividing C Cross-domain anonymity w.r.t. several challenge sx −sf −sb −sa e(T,G2) · e(H,G2) · e(H,Y2) calls  −1c = R3 · e(G1,G2) · e(T,Y2) by s0 −s0 −s0 −s0 In this section, we show that, if a DSPS scheme e(T,G2) x · e(H,G2) f b · e(H,Y2) a is cross-domain-anonymous with a single call to 0  −1c the challenge oracle, then it is still cross-domain- = R3 · e(G1,G2) · e(T,Y2) , anonymous with a polynomial call to the chal- lenge oracle. we obtain: Let us first begin by extending the definition of the cross-domain anonymity experiment to al- s −s0 −s +s0 −s +s0 low ` queries to the challenge oracle. The only e(T,G ) x x · e(H,G ) f f b b 2 2 difference with the experiment of Figure 1 is that 0 c−c0 −sa+s  −1 ·e(H,Y2) a = e(G1,G2)·e(T,Y2) . the following non-triviality conditions are added in the LoR oracle.

0 0 4. If ∃(i, j) ∈ {i0, i1} × {j0, j1} such that (i, j) was If we seta ˜ := (sa − sa)/(c − c ) and use the 0 previously queried to the LoR oracle, return ⊥. previously obtained equality (sb − sb) =x ˜ · (sa − 0 sa), we have: 5. For b ∈ {0, 1}, let us define ¯i = i1−b (resp. ¯j = j1−b) if i = ib (resp. j = jb). If ∃(i, j) ∈ {i0, i1} × {j0, j1}: ((i, j) ∈ N and (ei- x˜ −f˜−a˜·x˜ −a˜ ther (i, ¯j) ∈ N or (¯i, ¯j) ∈ N )), return ⊥. e(T,G2 ) · e(H ,G2) · e(H ,Y2) −1 = e(G1,G2) · e(T,Y2) . The condition (4.) states that different calls to the oracle should not involve the same users. In- deed the adversary can easily win if the sets of −a˜ x˜ f˜ Thus e(T · H ,G2 · Y2) = e(G1 · H ,G2). By queried users overlap. setting A˜ := T · H−a˜,(f,˜ (A,˜ x˜)) is a valid wit- The condition (5.) is due to the fact that we ness. ut allow the users in the challenge call not to be

18 anonymous in some domain, provided that they not. According to this guess, it computes the are anonymous in the other domain. An adver- response to the future LoR calls from A, possibly sary would trivially win the game by guessing with the help of its N oracle if needed. both bits through this leakage, so the anonymity At the end of the game, A0 returns A’s out- is broken in one domain, it is always in the same put. The simulation of A0 is correct at least with 1 side – the right or the left – in the different left- probability 2 . The lemma follows. ut or-right calls. Theorem 10 Let A be an adversary against the We now state an intermediate result. With- cross-domain anonymity of a pseudonymous sig- out loss of generality, we can assume that, if the nature scheme, running in time at most t. Then anonymity is broken in one domain, it is in the `-CDA 1-CDA left domain. To show this, we construct, from Advparam (A) ≤ 2 · ` · Advparam (t). any `-CDA adversary A, a `-CDA adversary A0 that achieves this property. Proof. We proceed with a sequence of ` + 1 games. Game Gn, for n ∈ [0, `], is the `-CDA Lemma 9 Let A be a `-CDA adversary, running game, except for the LoR oracle. The game Gn in time at most t. There exists a `-CDA adver- maintains a counter c ∈ [1, `] for each call to sary A0, running in nearly the same time, such the LoR oracle. At the c-th call, if (n < c), then the oracle LoR returns {(j0, nym ), (j1, that, for all valid query (i0, i1, j0, j1) to LoR, in- ib0 j0 formation about the pseudonym for (i0, j1) nor nym )}, otherwise (i.e. if (n ≥ c)), it returns ib1 j1 for (i1, j1) has leaked (through a call to the revo- {(j0, nym ), (j1, nym )}. Game G0 is sim- ib0 j0 ib0 j1 cation R, identification I or pseudonym N oracle, ply the `-CDA experiment, so we have: or through a Check), and such that: Adv`-CDA(A) + 1  G0  param `-CDA `-CDA 0 Pr A ⇒ 1 = . (19) Advparam (A) ≤ 2 · Advparam (A ). 2

Note: a valid query is a query such that the In game G`, no information on b1 is available, so conditions required by the oracle are fulfilled. we have: 0 Proof. We construct A as a `-CDA challenger  G  1 0 Pr A ` ⇒ 1 = . (20) for A, A having its own `-CDA challenger, say C. 2 Basically, A0 only transfers the messages between A and C, except for the LoR oracle. We restrict From (19) and (20), we have: ourselves to the valid LoR queries; A0 simply re- 1 Pr[AG0 ⇒ 1] − Pr[AG` ⇒ 1] = · Adv`-CDA(A). turns ⊥ for invalid queries. 2 param First we ensure that, for each information A (21) might get about the pseudonym for a pair (i, j), A0 knows the corresponding pseudonym. That is, We now restrict ourselves to an adversary A for each time A calls the revocation oracle R(i, j), A0 which users in each left-or-right LoR call are transfers the query, and calls in addition N(i, j); never identified in the right side of the call. Then and each time Check returns a pair (i, j), A0 calls we apply Lemma 9. N(i, j). We describe ` solvers Bn, for n ∈ [0, ` − 1], for the 1-CDA property. B runs A as `- Let (i0, i1, j0, j1) be the first query from A to n CDA challenger, and is itself a 1-CDA adver- its LoR oracle for which i0 or i1 is not anonymous sary against its own challenger. B transfers in j0 or j1; i.e., for which ∃(i, j) ∈ {i0, i1} × all queries from A to its own challenger, ex- {j0, j1} such that (i, j) was involved in a call to the revocation R, identification I, pseudonym N cept for the LoR oracle, in which case it pro- oracle, or a leakage through Check. ceeds as follows. Let c be a counter for the queries. If (n < c), then B uses its own If j == j0, then A already has the requested n oracle N to determine nym and nym , property. Indeed, by condition (5.), users will ib0 j0 ib1 j1 be anonymous in j in all future calls. In and returns {(j0, nym ), (j1, nym )}. If 1 LoR ib0 j0 ib1 j1 0 this case, A only transfers messages between A (n > c), then Bn uses its own oracle N to and during the whole game. determine nym and nym , and returns C ib j0 ib j1 0 0 0 If j == j1, A makes a call (i0, i1, j1, j0) {(j0, nym ), (j1, nym )}. If (c == n), ib0 j0 ib0 j1 to its challenger, and gets {(j1, nymi j ), (j0, b0 1 then Bn uses its own oracle N(ib0 , j0), trans- nym )}. Since the pseudonym for the user fers ’s call (i , i , j , j ) to its own oracle, ib1 j0 A 0 1 0 1 LoR 0 0 00 i is known in the domain j1, A can deduce b0. gets the response {(j0, nym ), (j1, nym )}, and 00 Then it makes a guess, whether (b0 == b1) or returns {(j0, nym ), (j1, nym )}. ib0 j0

19 Bn calls the nym oracle N on some identities lected Areas in Cryptography, SAC’05, LNCS before its call to the challenge oracle. This im- 3897, pages 319–331. Springer, 2006. plies some restrictions on the challenge, and B n [2] Mihir Bellare, Daniele Micciancio, and Bog- might fail to comply with these restrictions if dan Warinschi. Foundations of group signa- it asks its challenge oracle for a disallowed iden- tures: Formal definitions, simplified require- tity. However, the calls originate from A. Bn only ments, and a construction based on general transfers them. When A supplies some identities assumptions. In Advances in Cryptology – to the challenge, these identities do not appear EUROCRYPT’03, LNCS 2656, pages 614– in a future call, by condition (4.). In particu- 629. Springer, 2003. lar, they do not appear in the call that leads to B ’s challenge call. In addition, when (c == n), [3] Mihir Bellare and Gregory Neven. Multi- n signatures in the plain public-key model and B performs some identification (i , j ) through n b0 0 a general forking lemma. In ACM Conference a call to N. Since A is a restricted adversary for on Computer and Communications Security – which users are always anonymous in j1, the LoR CCS’06, pages 390–399. ACM Press, 2006. call of Bn is safe. Let now b0, b1 be the bits flipped by the chal- [4] Mihir Bellare and Phillip Rogaway. The secu- rity of triple encryption and a framework for lenger of Bn. Recall that b0, b1 are the bits code-based game-playing proofs. In Advances flipped by Bn. If b0 == b1, then Gn and Gn+1 are identical and B simulates this game for A. in Cryptology, EUROCRYPT’06, LNCS 4004, n pages 409–426. Springer, 2006. Let us now assume that b0 6= b1. If b1 == b0, then Bn simulates game Gn for A. If b1 == b1, [5] Mihir Bellare, Haixia Shi, and Chong Zhang. then Bn simulates game Gn+1 for A. Foundations of group signatures: The case The running time of Bn is roughly the running of dynamic groups. In Topics in Cryptology time of A. We conclude that, for all n ∈ [0, `−1], – CT-RSA’05, volume 3376 of LNCS, pages we have: 136–153. Springer, 2005. [6] Jens Bender, Ozg¨urDagdelen,¨ Marc Fischlin, Gn Gn+1 Pr[A ⇒ 1] − Pr[A ⇒ 1] and Dennis K¨ugler.Domain-specific pseudo- 1 nymous signatures for the German identity ≤ · Adv1-CDA(t). (22) 2 param card. In Information Security Conference – ISC’12, volume 7483 of LNCS, pages 104–119. From (21) and (22) we get Springer, 2012. `-CDA 1-CDA Advparam (A) ≤ ` · Advparam (t). [7] David Bernhard, Georg Fuchsbauer, Essam Ghadafi, Nigel P. Smart, and Bogdan Wa- From Lemma 9, we get the theorem. ut rinschi. Anonymous attestation with user- controlled linkability. Int. J. Inf. Sec., 12 Acknowledgements (3):219–249, 2013. The authors would like to thanks the anony- [8] Dan Boneh and Xavier Boyen. Short signa- mous reviewers of the Financial Cryptography tures without random oracles and the SDH and Data Security conference for their valuable assumption in bilinear groups. J. Cryptology, comments and suggestions to improve the qual- 21(2):149–177, 2008. ity of this work. The authors would also like to [9] Dan Boneh and Hovav Shacham. Group sig- thanks Jacques Traor´efor useful feedbacks and natures with verifier-local revocation. In ACM discussions about an earlier version of this work. Conference on Computer and Communica- This work has been partially funded by the Eu- tions Security – CCS’04, pages 168–177. ACM ropean FP7 FIDELITY (SEC-2011-284862) and Press, 2004. EKSISTENZ (SEC-2013-607049) projects. The [10] Ernest Brickell, Jan Camenisch, and Liqun opinions expressed in this document only repre- Chen. Direct anonymous attestation. In ACM sent the authors’ view. They reflect neither the Conference on Computer and Communica- view of the European Commission nor the view tions Security – CCS’04, pages 132–145. ACM of their employer. Press, 2004.

[11] Julien Bringer, Herv´eChabanne, Roch Les- References cuyer, and Alain Patey. Efficient and strong- ly secure dynamic domain-specific pseudony- [1] Paulo Barreto and Michael Naehrig. Pairing- mous signatures for ID documents. In FC’14, friendly elliptic curves of prime order. In Se- LNCS 8437, pages 255–272. Springer, 2014.

20 [12] Julien Bringer, Herv´eChabanne, and Alain http://www.daimi.au.dk/~ivan/Sigma.pdf Patey. Collusion-resistant domain-specific consulted the 2015/09/01. pseudonymous signatures. In Network and System Security Conference, NSS’13, LNCS [18] C´ecileDelerabl´eeand David Pointcheval. Dy- 7873, pages 649–655. Springer, 2013. namic fully anonymous short group signa- tures. In VIETCRYPT’06, volume 4341 of [13] Julien Bringer, Herv´eChabanne, and Alain LNCS, pages 193–210. Springer, 2006. Patey. Cross-unlinkable hierarchical group si- gnatures. In Public Key Infrastructures, Ser- [19] Whitfield Diffie and Martin E. Hellman. New vices and Applications, EuroPKI’12, volume directions in cryptography. IEEE Trans. on 7868 of LNCS, pages 161–177. Springer, 2013. Information Theory, 22(6):644–654, 1976.

[14] Bundesamt f¨ur Sicherheit in der Informa- [20] Amos Fiat and Adi Shamir. How to prove tionstechnik (BSI). Advanced security mecha- yourself: Practical solutions to identification nisms for machine readable travel documents and signature problems. In Advances in Cryp- and eIDAS token, part 2 – protocols for tology – CRYPTO’86, volume 263 of LNCS, electronic identification, authentication and pages 186–194. Springer, 1987. trust services (eIDAS), technical guideline TR-03110-2, v2.20, February 2015. [21] Steven Galbraith, Kenneth Paterson, Nigel Smart. Pairings for cryptographers. Discre- [15] Jan Camenisch, Maria Dubovitskaya, Robert te Applied Mathematics, 156(16):3113–3121, Enderlein, Anja Lehmann, Gregory Neven, 2008. Christian Paquin, Franz-Stefan Preiss. Con- cepts and languages for privacy-preserving [22] Miroslaw Kutylowski and Jun Shao. Signing attribute-based authentication. J. Inf. Sec. with multiple ID’s and a single key. In 38th Appl., 19(1):25–44, 2014. CCNC, pages 519–520. IEEE, 2011.

[16] Jan Camenisch and Anna Lysyanskaya. Sig- [23] Anna Lysyanskaya, Ronald Rivest, Amit Sa- nature schemes and anonymous credentials hai, and Stefan Wolf. Pseudonym systems. from bilinear maps. In Advances in Cryptology In Selected Areas in Cryptography – SAC’99, – CRYPTO’04, volume 3152 of LNCS, pages LNCS 1758, pages 184–199. Springer, 2000. 56–72. Springer, 2004. [17] Ivan Damg˚ard.On Sigma-protocols v.2, 2010.

21