Informatica 36 (2012) 75-82 75 Times Limited Accountable Anonymous Online Submission Control System from Single-Verifier &-times Group Signature Xingwen Zhao and Fangguo Zhang School of Information Science and Technology, Sun Yat-Sen University, Guangzhou 510275, P.R.China Guangdong Key Laboratory of Information Security Technology, Guangzhou 510275, P.R.China E-mail: sevenzhao@hotmail.com, isszhfg@mail.sysu.edu.cn Keywords: privacy, anonymous authentication, accountability, group signature Received: May 26, 2010 People in authority may want to submit some messages anonymously on a famous website, while the maintainers may want to limit the times each person can submit messages on the website so as to save the storage space. More over, when people abuse the system, the maintainers want to find ways to identify then-identities. To realize such a system, what we need are some methods that can protect users' privacy, control their access times, and at the same time can identify malicious users when abuses are found. Current signature schemes or credential systems cannot fully achieve above purpose. A single-verifier k-times group signature scheme is proposed, adding times limitedproperty to the group signature scheme. It allows a user to issue group signatures to the only verifier up to ki times for period Ti. We use online tracing method to restrict each user to ki signatures strictly, and use the tracing abili ty of group signature to identify those who abuse the system. Based on it, we can construct times limited accountable anonymous online submission control system for websites. Within allowed times, people can submit articles anonymously, even website maintainers cannot identify two articles are from the same person. When a person posts more than the allowed times, his submission will be rejected. When abuse is found, website maintainers can send the signature to the corresponding open authority to find out the identity. Povzetek: Clanek predlaga metodo podpisovanja spletnih sporocil, ki zagotavlja anonimnost le pri omejenem stevilu uporab. 1 Introduction Nowadays people may want to post articles anonymously. Imaging there is a famous website, and people from several authority organizations are allowed to post articles on it. People read the articles and know they are from a person of the authority organization, but they do not know who indeed posts the messages. Even the website maintainers cannot tell two articles are from the same person. At the same time, the maintainers of the website may want these authorities to be concise to save the storage space, so they may want to limit the times each person can post messages on the website. When a person attempts to post more than allowed times, he will be found immediately and his submission is rejected, while his anonymity is still protected. Moreover, when people abuse the system, the maintainers can find ways to identify those abusers. Can we have some methods to protect users' privacy, control their access times, and at the same time identify malicious users when abuses are found? Related Works. Group signature [7], ring signature [15] and anonymous credential [6] can be used to protect people's privacy. However, users in these protocols can show their signatures and credentials as many times as they want. In the linkable ring signature [12], signatures from the same signer can be linked so as that multiple signing behaviors can be controlled. However, the signers are always anonymous and abusers can never be found. The fc-times anonymous authentication (fc-TAA)[16, 18, 11, 17] was introduced to protect the privacy while limiting the authentications. Each user can only authenticate anonymously up to k times, with k determined by each application provider (AP) and fixed for all users. When a user authenticates more than k times to an AP, its privacy is compromised. Some articles [14, 13, 1] described dynamic fc-TAA, enabling APs to grant or revoke users independently. However, the property that enables AP to grant users may compromise users' privacy in a sense, because AP knows the identity of each granted user. Again, the value k is determined by each AP and fixed for all users. Camenisch et al. [4] brought forward a periodic n-times anonymous authentication scheme. In their scheme, each user can authenticate anonymously up to n times in each period, no matter how many APs there exist. However, in schemes listed above, the authentications are fully anonymous if they are issued within allowed times. If some users abuse the system within allowed times, they cannot be identified and punished. Therefore, the existing variants of k-TAA are not applicable to our case. Emura et al. [10] presented a selectable fc-TAA scheme, 76 Informatica 36 (2012) 75-82 X. Zhao et al. allowing each user has different allowed number of authentication for different AP. In their scheme, the user chooses the allowed number anonymously, and AP decides to accept or reject. However, the computation cost for granting phase is high, which is linear to the allowed number k. The anonymity is weaken since authentications between the same user and the same AP are linkable to AP (AP knows they are from the same user). Our Contribution. In this paper, a single-verifier k-times group signature scheme is proposed as building block, where all the group signatures are verified by the only verifier, and the signatures from the same person are limited to ki times during time period Ti times. Based on it, times limited accountable anonymous online submission control system for websites is constructed. Within allowed times, people can post articles anonymously with their signatures, even website maintainers cannot identify two articles are from the same person. When a person posts more than the allowed times, his post will be rejected. When abuse is found, website maintainers can send the signature to open authority of the group to find out the identity. Paper Outline. The rest of this paper is organized as follows: In Section 2 we introduce some preliminaries. In Section 3, we describe the proposed single-verifier k-times group signature scheme, the building tool for the submission control system. In Section 4, we briefly describe the times limited accountable anonymous online submission control scheme for websites. In Section 5, system attributes and comparison with related previous schemes are presented. Finally, conclusion is given in Section 6. 2 Preliminaries 2.1 Bilinear Pairings and q-SDH Problem We first review a few concepts related to bilinear pairings. We follow the notation of [3]: Definition 1 (Bilinear Pairings). Let G be a (multiplicative) cyclic group of prime order p and g is a generator of G. A one-way map e : G x G ^ GT is a bilinear pairing if the following conditions hold. - Bilinear: For all u,v G G, and a,b £ Zp, e(ua,vb) = e(u,v)ab. - Non-degeneracy: e(g,g) = 1, i.e., if g generates G, then e(g, g) generates GT. - Computability: There exists an efficient algorithm for computing e(u, v), Vu, v £ G. The q-SDH problem was introduced by Boneh and Boyen [2] to construct short signatures without random oracles. Definition 2 (q-SDH Problem). The q-SDH problem in (Gi, G2) is defined as follows: given a (q+2)-tuple (g1 ,g2, gY, g2 \ - g(l as input, output a pair (gY+x, x) where x £ Z*. We say that the q-SDH is (q, t, e)-hard if for all t-time adversaries A, we have Pr 2.2 A(gi,92,gl,92 2, )) (g'{+x , x) < e. Proofs of Knowledge of Discrete Logarithms We will use the notation introduced by Camenisch and Stadler [5] for various proofs of knowledge of discrete logarithms. For instance, PK{(a, ¡3,y): y = gah3 A z = g'ah'Y}; is used for proving the knowledge of integers a, ¡3 and Y such that y = gah3 and z = g'ah'Y holds. Here y, g, h, z, g' and h' are elements of some groups G =< g >=< h > and GT =< g' >=< h' >. 3 The Building Tool: Single-verifier &-times Group Signature The building tool is a single-verifier fc-times group signature scheme, in which authorized people can issue group signatures up to ki times for time Ti. Signatures are all verified by a same verifier so that each user are limited to ki signatures strictly. 3.1 The Model A single-verifier fc-times group signature scheme is similar to group signature scheme, while the signing times are limited during each period. It consists of the following algorithm: - Key Generation: The algorithm generates the secret key for the group manager, the secret key for the open authority, and the public parameters. There may be several groups. - Member Joining: User registers with the group manager to join the group. After that, user obtains group member certificate, while group manager obtains user's identification and tracing information, which will be used to identify the abuser. - Times Announcing: The verifier announces the signing times allowed for each future period. They can be the same or different, depending on the applications. - Sign: The user signs the message to show that he is a member of a certain group. Each member certificate can be used to sign up to fc times during each period. - Verify: The verifier checks if the signature is valid and it is within the allowed times. If accepted, some tracing information is recorded into a log file. If not, the signature will be rejected. TIMES LIMITED ACCOUNTABLE ANONYMOUS. Informática 36 (2012) 75-82 77 - Open: When necessary, the open authority finds out user's identification from the signature. 3.2 Security Notions A single-verifier fc-times group signature scheme should fulfill the following security notions: - Correctness: The signature from an honest user within the allowed times should be accepted by the honest verifier. And the open algorithm should correctly identify the signer. - Unforgeability: It is computationally impossible to produce a valid signature, without the knowledge of a membership certificate. - Anonymity: Only the open authority can identify which user provided the signatures. - Traceability: It must be hard to produce a valid signature such that either the honest open authority is unable to identify the signer, or the open authority believes it has identified the origin but is unable to produce a correct proof of its claim. - Detectability: Suppose fc is the number of times the verifier allows each user to sign during a single period. Detectability means that an adversary, who colludes with w users, is unable to issue more than fcw signatures without being detected the same verifier. 3.3 Online fc-times limitation Our idea of online fc-times limitation is developed from Damgard et al. [8]. Each user holds a secret key SK which is different from the others. A hash function Hi maps string str to elements in a group where decisional Diffie-Hellman (DDH) problem is hard. If each user is allowed to sign only once during period T, then the user needs to show Hi(T)SK, the commitment to SK, as the tracing tag, along with the proof of knowledge of owning the group member certificate. If Hi(T)SK appears twice, the verifier rejects the signature. If each user is allowed to sign fc times during period T, Hi(T, ki)SK is used, with fci == 1, . . . , fc. 3.4 Single-verifier fc-times Group Signature Our single-verifier fc-times group signature is built upon the group signature scheme by Delerablee and Pointcheval [9]. - Key Generation: Selects bilinear pairings e : Gi x G2 —y Gt as required in Section 2. Randomly selects generator g2 eR G2, so gi ^ g2) is the generator of Gi. Randomly selects another generator h eR Gi, and £2 eR Zp, then calculates u e Gi, satisfying u^1 = h and = gi. are the secret keys for the open authority. Selects 7 eR Zp as the secret key for the group manager, and calculates w = gY. Two collision resistant hash functions Hi : {0,1}* —y Gt , H2 : {0,1}* — Zp are selected. The public parameters for the group are gpfc=(Gi, G2, GT, e, u, h = u^1, gi = , g2, w = gY, Hi, H2). User generates public key upfc and private key usfc for itself. Member Joining: User interacts with the group manager to join the group. The steps are described as follows. 1. User U selects y Gr Zp to calculate C = hy, and generates non-interactive zero knowledge proof n to prove knowing y. U sends C and n to GM. 2. GM checks if C is ever used by other users before. If used, GM requires U to run the Member Joining algorithm again. If C is never used, GM checks whether n is valid. If invalid, GM rejects the joining. 3. GM selects x GR Zp and calculates A = (giC), B = e(gíC,g2)/e(A,w), D = e(A,g2). GM generates non-interactive zero knowledge proof V to prove knowing the discrete logarithm of B in basis D. GM sends A and V to U. In fact, B = e(AY+x,g2)/e(A,w) = e(AY ,g2)e(Ax,g2)/e(A,gY ) = e(Ax,g2) = e(A,g2)x, which means GM only needs to prove knowing x. 4. After User U obtains A and V, he calculates B = e(g\C, g2)/e(A,w), D = e(A,g2), checks if V is valid. If valid, U signs A with his key usk to obtain S, and sends S to GM. 5. GM verifies S with upk and A. If valid, GM records (upk,A,x,S), and sends x to U. The joining records are sent to open authority. 6. User obtains x and verifies the following equation e(A,g2)xe(A,w)e(h,g2)-y = e(gug2 ). If the equation holds, the user joins the group successfully and the group member certificate is (A, x, y). The equation is expressed as followed: e(A,g2)xe(A,w)e(h,g2 )-y = e(A,g2)xe(A,gY)e(h, g2 — = e(A,gx2+Y )e(h,g2)-y = e((gihy)^ ,gx2+Y)e(h,g2)-y = e(gi, g2)e(hy, g2)e(h, g2)-y = e(gi,g2). Times Announcing: The verifier publishes a list to show the signing times allowed for each future period. The list is as follows, (Ti,ki),... ,(Tn,kn). Or the verifier can publish only a k indicating the users can sign messages up to k time during each period. 78 Informatica 36 (2012) 75-82 X. Zhao et al. Sign: Suppose user U with certificate (A, x, y) wants to sign a message m during period T and each user is allowed to sign k times during period T. Suppose it is the ith (0 < i < k) time user U shows to the verifier, he behaves as follows. User U calculates hi=Hi (T, i) with the commitment Ei=hyi, and generates a standard non-interactive zero-knowledge proof ni=ZKP{(A,x,y) : Ei=h\ A e(A, g2)x ■ e(A,w) ■ e(h, g2)-y=e(gi, g2)}, which is also the signature on message m. User U sends (i,Ei,ni) to the verifier. Technical details of zero-knowledge proof are as follows. 1. User U selects a, ¡3 eR Zp, calculates T1 = ua, T2 = Aha, T3 = u?, T4 = Ag?. 2. In order to sign the message m, user U selects ra,r?,rx,ry,rxa eR Zp, calculates Ri = ura, R2=e(T2,g2)rx ■ e(T2,w)■ e(h,g2)-Txa ■ e(h,w)-ra ■ e(h, g2)-r'y, R3 = ur?, R4 = hrag-rfi, hi = Hi (T, i), Ej=hry, and c=H2 (m, Ti, T2, T3, T4, Ri, R2, R3, R4). R2 can be written as R2 = e(A,g2)rx ■ e(A,w)■ e(h, g2)ar'~rxa~ry ■ e(h,w)a-ra, so that user U can obtain R2 with fewer computations, since all these pairings can be pre-computed. 3. User U calculates Sa = ra + ca, s? = r? + c3, Sx rx + cx, sy ry + cy, Sxa rxa + cxa. 4. so nj=(Ti, T2, T3, T4, Ej, c, sa, s?, sx 7 sy 7 sxa) Verify: The verifier maintains a tracing log TLOGt for time period T. On receiving (i, Ei, ni), the verifier checks if 1 < i < k, and makes sure that Ei does not exist in TLOGt. Else, the verifier rejects the execution. If both of them hold, the verifier checks whether the zero-knowledge proof is valid as follows. 1. The verifier calculates Ri = 3 R R2 e(h, w us? T-c, e(T2,g2)Sx ■ )-Sa ■eh g2)~ c+i) R 4 e(T2 ,w) s y ■ e ( T2 , w e(T2,gs2 wc+i) ■ e(h,g2) usa T-c, h3a g-sfi T2cT4[, e(h,g2)-Sxa ■ f' k extracted extracted Anonymity when - fully anonymous fully anonymous linkable to AP, anonymous to all authenticated < k anonymous to others except OA except OA Different Limits for - no no yes no Each User AP Can Choose Users - yes no no no Gil element in Gi; G2: element in G2 ; GT: element in Gt ; Gp: element in Gp where DDH problem is difficult; p: element in Zp; P: pairing in G1 x G2; M: multiplication (or division) in G1; MT : multiplication (or division) in GT ; E: exponentiation in G1; ET : exponentiation in GT ; c: a small integer for zero-knowledge proof. [9] C. Delerablee, and D. Pointcheval, (2006). Dynamic fully anonymous short group signatures. VIETCRYPT 2006, LNCS 4341, Springer-Verlag, Hanoi, Vietnam, pp. 193-210. [10] K. Emura, A. Miyaji, and K. Omote, (2009). A Selectable k-Times Relaxed Anonymous Authentication Scheme. WISA 2009, LNCS 5932, Springer-Verlag, Busan, Korea, pp. 281-295. [11] M. Layouni, and H. Vangheluwe, (2007). Anonymous k-Show credentials. EuroPKI 2007, LNCS 4582, Springer-Verlag, Palma de Mallorca, Spain, pp. 181192. [12] J. K. Liu, V. K. Wei, and D. S. Wong, (2004). Linkable spontaneous anonymous group signature for ad hoc groups (extended abstract). ACISP 2004, LNCS 3108, Springer-Verlag, Sydney, Australia, pp. 325335. [13] L. Nguyen, (2006). Efficient dynamic k-Times anonymous authentication. VIETCRYPT 2006, LNCS 4341, Springer-Verlag, Hanoi, Vietnam, pp. 81-98. [14] L. Nguyen, and R. Safavi-Naini, (2005). Dynamic k-Times anonymous authentication. ACNS 2005, LNCS 3531, Springer-Verlag, New York, NY, USA, pp. 318333. [15] R. Rivest, A. Shamir, and Y. Tauman, (2001). How to leak a secret. ASIACRYPT 2001, LNCS 2248, Springer-Verlag, Gold Coast, Australia, pp. 552-565. [16] I. Teranishi, J. Furukawa, and K. Sako, (2004). k-Times anonymous authentication (Extended Abstract). ASIACRYPT 2004, LNCS 3329, SpringerVerlag, Jeju Island, Korea, pp. 308-322. [17] I. Teranishi, J. Furukawa, and K. Sako, (2009). k-Times Anonymous Authentication. IEICE Transactions, 92-A(1), pp. 147-165. [18] I. Teranishi, and K. Sako, (2006). k-Times anonymous authentication with a constant proving cost. PKC 2006, LNCS 3958, Springer-Verlag, New York, NY, USA, pp. 525-542.