Hindawi Publishing Corporation ξ e Scientiο¬c World Journal Volume 2014, Article ID 343715, 10 pages http://dx.doi.org/10.1155/2014/343715
Research Article Reattack of a Certificateless Aggregate Signature Scheme with Constant Pairing Computations Hang Tu,1 Debiao He,2 and Baojun Huang2 1 2
School of Computer, Wuhan University, Wuhan 430072, China School of Mathematics and Statistics, Wuhan University, Wuhan 430072, China
Correspondence should be addressed to Debiao He;
[email protected] Received 20 September 2013; Accepted 9 January 2014; Published 13 March 2014 Academic Editors: T. M. Deserno and W. Zuo Copyright Β© 2014 Hang Tu et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. A new attack against a novel certificateless aggregate signature scheme with constant pairing computations is presented. To enhance security, a new certificateless signature scheme is proposed first. Then a new certificateless aggregate signature scheme with constant pairing computations based on the new certificateless signature scheme is presented. Security analysis shows that the proposed certificateless aggregate signature scheme is provably secured in the random oracle.
1. Introduction The concept of aggregate signature (AS) scheme was first introduced by Boneh et al. [1] in 2003. Such a scheme greatly reduces the computational and communication overhead since it could aggregate π signatures on π distinct messages from π distinct users into a single signature and check the correctness through a verification operation. The AS scheme is very useful in real-world applications. For example, in the scenario of the secure Border Gateway Protocol (BGP) [2], each router successively signs its own segment of a path in the network and then forwards the collection of signatures associated with the path to the next router. The AS scheme can be used to compress these signatures into a single one and hence reduce the overheads of both bandwidth and computation required in the original secure BGP. Similarly, in the scenario of the Vehicular Ad Hoc Networks (VANETs) [3], each vehicle or roadside unit (RSU) has to verify around 500β2000 messages per second. The AS scheme can be used to compress these messages into a single one and check the correctness through a verification operation. To satisfy different applications, many AS schemes based on the traditional public key cryptography (TPKC) and identitybased public key cryptography (ID-based PKC) have been proposed.
It is well known that a certificate, generated by a trusted third party, is needed to bind a userβs identity and its public key in the TPKC. However, the management of these certificates becomes more and more difficult with the growth of usersβ number. To solve the problem, Shamir [4] introduced the concept of the ID-based PKC. In such cryptography, the userβs identity, such as name, email address, and telephone number, is his public key and his private key is generated by the key generation centre (KGC) using his identity. However, the key escrow problem exists in the ID-based PKC since the KGC know the userβs private key. In 2003, Al-Riyami and Paterson [5] developed the concept of the CLPKC to solve the key escrow problem in the ID-PKC. In CLPKC, the KGC only generates a partial private key for a user and the full private key of the user is a combination of his partial private key and some secret value chosen by the user himself. Recently, CLPKC attracted much attention and many certificateless encryption (CLE) schemes [6β8], certificateless key agreement (CLKA) schemes [9β11], certificateless signcryption (CLSC) schemes [12, 13], and certificateless signature (CLS) schemes [14β16] were proposed. To satisfy the applications in certificateless environment, the certificateless aggregate signature (CLAS) scheme has attracted much attention. Several CLAS schemes [17β23] have been proposed by different researchers. However, most of
2
The Scientific World Journal
these schemes [17β20, 23] have computational complexity for pairing computations that grows linearly with the number of signers, which deviates from the main goals of aggregate signatures. Besides, both of the schemes [20, 22] of Zhang et al. require certain synchronization; that is, all signers must share the same synchronized clocks to generate aggregate signature. It is easy to say that it is difficult to achieve synchronization in many communication scenarios. Shim [24] pointed out that L. Zhang and F. Zhangβs scheme [20] is vulnerable to the coalition attack. Xiong et al. [25] found that Hu et al.βs scheme [21] cannot provide unforgeability. Very recently, Xiong et al. [25] proposed a certificateless signature (CLS) scheme and constructed a new CLAS scheme using that CLS scheme. Compared to previous CLAS schemes, Xiong et al.βs CLAS scheme is very efficient in computation, and the verification procedure needs only a very small constant number of pairing operations, independent of the number of aggregated signatures. Besides, their scheme does not require synchronization for aggregating randomness. Unfortunately, He et al. [26] pointed out that Xiong et al.βs CLAS scheme is insecure against a Type II adversary by giving concrete attack. However, He et al. did not give countermeasure to enhance security. In this paper, we propose a new attack against Xiong et al.βs CLAS scheme; that is, a Type II adversary could forge legal signature for any message. To improve security, we also propose an improved CLAS scheme. The organization of the paper is sketched as follows. Section 2 gives some preliminaries of the paper. Sections 3 and 4 review and analyze Xiong et al.βs scheme. Section 5 gives our improved scheme. Sections 6 and 7 discuss security and performance analysis of our scheme. At last, we give some conclusion in Section 8.
2. Preliminaries 2.1. Bilinear Pairing. Let πΊ1 be a cyclic additive group of prime order π and πΊ2 a cyclic multiplicative group of the same order π. We let π denote the generator of πΊ1 . A bilinear pairing is a map π : πΊ1 Γ πΊ1 β πΊ2 which satisfies the following properties. (1) Bilinearity π (ππ, ππ
) = π(π, π
)ππ ,
(1)
where π, π
β πΊ1 , π, π β ππβ . (2) Nondegeneracy π (π, π) =ΜΈ 1πΊ2 .
(2)
(3) Computability: there is an efficient algorithm to compute π(π, π
) for all π, π
β πΊ1 . The Weil and Tate pairings associated with supersingular elliptic curves or abelian varieties can be modified to create such admissible pairings. The following problems are assumed to be intractable within polynomial time. Computational Diffie-Hellman (CDH) Problem. Given ππ, ππ β πΊ1 , the task of CDH problem is to compute πππ, where π denotes the generator of πΊ1 .
2.2. Formal Model of CLS and CLAS. In this subsection, we will review the definition and security notions specified in [25], only with slight notational differences. There are two kinds of adversaries in the CLS scheme and the CLAS scheme, that is, the Type I adversary A1 and the Type II adversary A2. The adversary A1 is not able to access the master key but he could replace public keys at his will. The adversary A2 represents a malicious KGC who generates partial private key of users. A2 could have access to the master key of KGC, but he is not able to replace public keys. The following are five oracles which can be accessed by the adversaries. (i) CreateUser: Given an identity πΌπ·π , if πΌπ·π has already been created, nothing is to be carried out. Otherwise, the oracle generates the partial private key ππ ππΌπ·π , the secret key π’π ππΌπ·π , and the public key π’πππΌπ·π . It then stores the tuple (πΌπ·π , ππ ππΌπ·π , π’πππΌπ·π , π’π ππΌπ·π ) into a list πΏ. In both cases, ππ ππΌπ·π is returned. (ii) RevealPartialKey: On input of an identity πΌπ·π , the oracle searches πΏ for a corresponding entry to πΌπ·π . If it is not found, β₯ is returned; otherwise, the corresponding ππ ππΌπ·π is returned. (iii) RevealSecertKey: On input of an identity πΌπ·π , the oracle searches πΏ for a corresponding entry to πΌπ·π . If it is not found, β₯ is returned; otherwise, the corresponding π’π ππΌπ·π is returned. (iv) ReplaceKey: On input of an identity πΌπ·π and a user public/secret key pair (π’ππσΈ πΌπ·π , π’π πσΈ πΌπ·π ), the oracle searches πΏ for the entry of πΌπ·π . If it is not found, nothing will be carried out. Otherwise, the oracle updates (πΌπ·π , ππ ππΌπ·π , π’πππΌπ·π , π’π ππΌπ·π ) to (πΌπ·π , ππ ππΌπ·π , π’ππσΈ πΌπ·π , π’π πσΈ πΌπ·π ). (v) Sign: On input of a message ππ for πΌπ·π , the signing oracle proceeds in one of the three cases below. (a) A valid signature ππ returned if πΌπ·π has been created but the user public/secret key pair (π’π ππΌπ·π , π’πππΌπ·π ) has not been replaced. (b) If πΌπ·π has not been created, a symbol β₯ is returned. (c) If the user public/secret key pair of πΌπ·π has been replaced with say (π’ππσΈ πΌπ·π , π’π πσΈ πΌπ·π ), then the oracle returns the result of ππππ(π’π πσΈ πΌπ·π , ππ πσΈ πΌπ·π , ππ ). The security for a CLS scheme and a CLAS scheme is defined via the following two games separately. Game 1. The first game is performed between a challenger C and an adversary A β {A1, A2} for a CLS scheme as follows. (i) C executes MasterKeyGen to get master private/ public key pair (πππ, ππ π). (ii) A can adaptively issue the CreateUser, RevealPartialKey, RevealSecertKey, ReplaceKey, and ππππ queries to C.
The Scientific World Journal
3
(iii) A is to output a message ππβ and a signature ππβ corresponding to a target identity πΌπ·βπ and a public key π’πππΌπ·βπ . We say that A wins Game 1, if and only if the following three conditions hold. (1) ππβ is a valid signature on messages ππβ under identities πΌπ·βπ and the corresponding public key π’πππΌπ·βπ . (2) If A is A1, the identity πΌπ·βπ has not submitted to RevealPartialKey queries to get the partial private key ππ ππΌπ·βπ . If A is A2, πΌπ·βπ has not submitted to RevealSecertKey queries or ReplaceKey queries to get the secret key π’π ππΌπ·βπ . (3) The oracle ππππ has never been queried with ππβ ).
(πΌπ·βπ ,
Definition 1. A CLS scheme is said to be secure if there is no probabilistic polynomial-time adversary A β {A1, A2}, which wins Game 1 with nonnegligible advantage.
3. Review of Xiong et al.βs Schemes 3.1. Xiong et al.βs CLS Scheme. In this subsection, we will briefly review Xiong et al.βs CLS scheme. Their CLS scheme consists of five algorithms: MasterKeyGen, PartialKeyGen, UserKeyGen, Sign, and Verify. The detail of these algorithms is described as follows. MasterKeyGen. Given a security parameter π, KGC runs the algorithm as follows. (1) Generate a cyclic additive group πΊ1 and a cyclic multiplicative group πΊ2 with prime order π. (2) Generate two generators π, π of πΊ1 and an admissible pairing π : πΊ1 Γ πΊ1 β πΊ2 .
(3) Generate a random number π β ππβ and compute πππ’π = π π.
(4) Choose cryptographic hash functions π»1 : {0, 1}β β πΊ1 and π»2 : {0, 1}β β ππβ . (5) KGC publishes the system parameters {π, πΊ1 , πΊ2 , π, π, π, πππ’π , π»1 , π»2 } and key the master key π secretly.
Game 2. The second game is performed between a challenger C and an adversary A β {A1, A2} for a CLAS scheme as follows.
PartialKeyGen. Given a userβs identity πΌπ·π , KGC computes the userβs partial private key ππ ππΌπ·π = π ππΌπ·π and transmits it to the user secretly, where ππΌπ·π = π»1 (πΌπ·π ).
(i) C executes MasterKeyGen to get master private/ public key pair (πππ, ππ π).
UserKeyGen. The user with identity πΌπ·π selects a random number π₯πΌπ·π β ππβ as his secret key π’π ππΌπ·π and computes his public key as π’πππΌπ·π = π’π ππΌπ·π β
π.
(ii) A can adaptively issue the CreateUser, RevealPartialKey, RevealSecertKey, ReplaceKey, and Sign queries to C. (iii) A outputs a set of π users whose identities are from the set πΏβπΌπ· = {πΌπ·β1 , . . . , πΌπ·βπ } and corresponding public keys from the set πΏβπ’ππ = {π’ππ1β , . . . , π’πππβ }, π messages πΏβπ = {π1β , . . . , ππβ }, and an aggregate signature πβ . We say that A wins Game 2, if and only if the following three conditions hold. (1) ππβ is a valid aggregate signature on messages {π1β , . . . , ππβ } under identities {πΌπ·β1 , . . . , πΌπ·βπ } and the corresponding public key {π’ππ1β , . . . , π’πππβ }. (2) If A is A1, at least one of the identities πΌπ·βπ has not submitted to RevealPartialKey queries to get the partial private key ππ ππΌπ·βπ . If A is A2, at least one of πΌπ·βπ has not been submitted to RevealSecertKey queries or ReplaceKey queries to get the secret key π’π ππΌπ·βπ . (3) The oracle Sign has never been queried with (πΌπ·βπ , ππβ ). Definition 2. A CLAS scheme is said to be secure if there is no probabilistic polynomial-time adversary A β {A1, A2}, which wins Game 2 with nonnegligible advantage.
Sign. Given a message ππ , the partial private key ππ ππΌπ·π , the secret key π’π ππΌπ·π , the user with identity πΌπ·π , and the corresponding public key π’πππΌπ·π , perform the following steps to generate a signature. (1) Generate a random number ππ β ππβ and compute ππ = ππ π. (2) Compute βπ = π»2 (ππ , πΌπ·π , π’πππΌπ·π , ππ ), ππ = ππ ππΌπ·π + βπ β
ππ β
πππ’π + βπ β
π₯πΌπ·π β
π. (3) Output (ππ , ππ ) as the signature on ππ . Verify. Given a signature (ππ , ππ ) of message ππ on identity πΌπ·π and corresponding public key π’πππΌπ·π : (1) Compute ππΌπ·π = π»1 (πΌπ·π ) and βπ = π»2 (ππ , πΌπ·π , π’πππΌπ·π , ππ ). (2) Verify π(ππ , π) = π(βπ β
ππ + ππΌπ·π , πππ’π )π(βπ β
π’πππΌπ·π , π) holds or not. If it holds, accept the signature. 3.2. Xiong et al.βs CLAS Scheme. In this subsection, we will briefly review Xiong et al.βs CLAS scheme. Their CLAS scheme consists of six algorithms: MasterKeyGen, PartialKeyGen, UserKeyGen, Sign, Aggregate, and AggregateVerify. The first four algorithms are the same as those in their CLS scheme. The detail of the other two algorithms is described as follows. Aggregate. For an aggregating set of π users {U1 , . . . , Uπ } with identities {πΌπ·1 , . . . , πΌπ·π }, corresponding public keys
4
The Scientific World Journal
{π’ππ1 , . . . , π’πππ }, and message-signature pairs {(π1 , π1 = (π1 , π1 )), . . . , (ππ , ππ = (ππ , ππ ))} from {U1 , . . . , Uπ }, respectively, the aggregate signature generator computes π = βππ=1 ππ and outputs π = (π1 , . . . , π2 , π) as an aggregate signature. AggregateVerify. To verify an aggregate signature π = (π1 , . . . , π2 , π) signed by π users {U1 , . . . , Uπ } with identities {πΌπ·1 , . . . , πΌπ·π } and the corresponding public keys {π’ππ1 , . . . , π’πππ } on messages {π1 , . . . , ππ }, the verifier performs the following steps. (1) Compute ππΌπ·π = π»1 (πΌπ·π ) and βπ = π»2 (ππ , πΌπ·π , π’πππΌπ·π , ππ ) for π = 1, . . . , π.
(2) Verify π(π, π) = π(βππ=1 (βπ β
ππ + ππΌπ·π ), πππ’π )π(βππ=1 βπ β
π’πππΌπ·π , π) holds or not. If it holds, accept the signature.
4. Cryptanalysis of Xiong et al.βs Scheme Shim [24] claimed that both of their schemes are provably secure against two types of adversary in the random oracle model. However, in this section, we will disprove their claims by giving two concrete attacks. 4.1. Attack against Xiong et al.βs CLS Scheme. Shim [24] claimed their CLS scheme is semantically secure against Type II adversary. Unfortunately, it is not true, since there is a polynomial time Type II adversary A2 who can always win Game 1 through either of the following two attacks. In Xiong et al.βs CLS scheme, the system parameters {π, πΊ1 , πΊ2 , π, π, π, πππ’π , π»1 , π»2 } are generated by KGC. Let a Type II adversary A2 be a malicious KGC. Then A2 could choose a random π‘ and compute π = π‘π, when he generates the system parameters. After that, A2 could forge a legal signature of any message. (1) The Type II adversary A2 has the master key π . Then, he could compute a user Uπ βs partial private key ππ ππΌπ·π = π ππΌπ·π , where ππΌπ·π = π»1 (πΌπ·π ).
(2) For any message ππ , A2 generates a random number ππ β ππβ and computes ππ = ππ π, βπ = π»2 (ππ , πΌπ·π , π’πππΌπ·π , ππ ) and ππ = ππ ππΌπ·π + βπ β
ππ β
πππ’π + βπ β
π‘ β
π’πππΌπ·π . (3) A2 outputs (ππ , ππ ) as the signature on ππ .
Since π = π‘π, ππ = ππ π, and ππ = ππ ππΌπ·π + βπ β
ππ β
πππ’π + βπ β
π‘ β
π’πππΌπ·π , we could have π (ππ , π) = π (ππ = ππ ππΌπ·π + βπ β
ππ β
πππ’π + βπ β
π‘ β
π’πππΌπ·π , π) = π (ππ ππΌπ·π + βπ β
ππ β
πππ’π , π) π (βπ β
π‘ β
π’πππΌπ·π , π)
Then, we know that (ππ , ππ ) is a legal signature on ππ . Besides, πΌπ·π has not been submitted to RevealSecertKey queries or ReplaceKey queries to get the secret key π’π ππΌπ·βπ and the oracle ππππ has never been queried with (πΌπ·π , ππ ). So the Type II adversary A2 wins Game 1. Therefore, Xiong et al.βs CLS scheme is not secure against attacks of the Type II adversary. 4.2. Attack against Xiong et al.βs CLAS Scheme. Shim [24] claimed their CLAS scheme is semantically secure against Type II adversary. Unfortunately, it is not true, since there exists a polynomial time Type II adversary A2, who can always win Game 2 through either of the following two attacks. In Xiong et al.βs CLAS scheme, the system parameters {π, πΊ1 , πΊ2 , π, π, π, πππ’π , π»1 , π»2 } are generated by KGC. Let a Type II adversary A2 be a malicious KGC. Then A2 could choose a random π‘ and compute π = π‘π, when he generates the system parameters. After that, A2 could forge an aggregate signature. Let {U1 , . . . , Uπ } be an aggregating set of π users with identities {πΌπ·1 , . . . , πΌπ·π } and the corresponding public keys {π’ππ1 , . . . , π’πππ }. (1) For π = 1, 2, . . . , π, A2 does the following five substeps to generate a legal signature (ππ , ππ ) on a message ππ . (i) The Type II adversary A2 has the master key π . Then, he could compute a user Uπ βs partial private key ππ ππΌπ·π = π ππΌπ·π , where ππΌπ·π = π»1 (πΌπ·π ). (ii) For any message ππ , A2 generates a random number ππ β ππβ and computes ππ = ππ π, βπ = π»2 (ππ , πΌπ·π , π’πππΌπ·π , ππ ), and ππ = ππ ππΌπ·π + βπ β
ππ β
πππ’π + βπ β
π‘ β
π’πππΌπ·π . (iii) A2 outputs (ππ , ππ ) as the signature on ππ . (2) A2 computes π = βππ=1 ππ . (3) A2 outputs π = (π1 , . . . , ππ , π) as an aggregate signature. From the analysis in the above subsection, we know that (ππ , ππ ) satisfies the equation π(ππ , π) = π(βπ β
ππ + ππΌπ·π , π πππ’π )π(βπ β
π’πππΌπ·π , π), where π = π‘π and ππ = ππ ππΌπ·π + βπ β
ππ β
πππ’π + βπ β
π‘ β
π’πππΌπ·π . Then we could have that π
π (π, π) = π (βππ , π) π=1 π
= π (β (ππ ππΌπ·π + βπ β
ππ β
πππ’π + βπ β
π‘ β
π’πππΌπ·π ) , π) π=1
= π (π ππΌπ·π + βπ β
ππ β
π π, π) π (βπ β
π’πππΌπ·π , π‘ β
π)
π
= π (β (ππ ππΌπ·π + βπ β
ππ β
πππ’π ) , π)
= π (βπ β
ππ + ππΌπ·π , π π) π (βπ β
π’πππΌπ·π , π)
π=1
= π (βπ β
ππ + ππΌπ·π , πππ’π ) π (βπ β
π’πππΌπ·π , π) .
π
(3)
Γ π (ββπ β
π‘ β
π’πππΌπ·π , π) π=1
The Scientific World Journal
5
π
Verify. Given a signature (ππ , ππ ) of message ππ on identity πΌπ·π and corresponding public key π’πππΌπ·π , consider the following.
= π (β (βπ β
ππ + ππΌπ·π ) , πππ’π ) π=1
(1) Compute ππΌπ·π = π»1 (πΌπ·π ), π = π»2 (ππππππ ), π = π»3 (ππππππ ), βπ = π»4 (ππ , πΌπ·π , π’πππΌπ·π , ππ ), and ππ = π»5 (ππ , πΌπ·π , π’πππΌπ·π , ππ ).
π
Γ π (ββπ β
π’πππΌπ·π , π) . π=1
(4) Thus, we know that π = (π1 , . . . , ππ , π) is a legal aggregate signature on messages {π1 , . . . , ππ }. Besides, for any π β {1, . . . , π}, πΌπ·π has not been submitted to RevealSecertKey queries or ReplaceKey queries to get the secret key π’π ππΌπ·βπ and the oracle Sign has never been queried with (πΌπ·π , ππ ). So the Type II adversary A2 wins Game 2. Therefore, Xiong et al.βs CLAS scheme is not secure against attacks of the Type II adversary.
5. Our CLS Scheme and CLAS Scheme 5.1. Our CLS Scheme. Like Xiong et al.βs CLS scheme does, our CLS scheme also consists of five algorithms: MasterKeyGen, PartialKeyGen, UserKeyGen, Sign, and Verify. The detail of these algorithms is described as follows. MasterKeyGen. Given a security parameter π, KGC runs the algorithm as follows. (1) Generate a cyclic additive group πΊ1 and a cyclic multiplicative group πΊ2 with prime order π. (2) Generate a generator π of πΊ1 and an admissible pairing π : πΊ1 Γ πΊ1 β πΊ2 . (3) Generate a random number π β ππβ and compute πππ’π = π π. (4) Choose cryptographic hash functions π»1 , π»2 , π»3 : {0, 1}β β πΊ1 and π»4 , π»5 : {0, 1}β β ππβ . (5) KGC publishes the system parameters ππππππ = {π, πΊ1 , πΊ2 , π, π, πππ’π , π»1 , π»2 , π»3 , π»4 , π»5 } and key the master key π secretly. PartialKeyGen. Given a userβs identity πΌπ·π , KGC computes the userβs partial private key ππ ππΌπ·π = π ππΌπ·π and transmits it to the user secretly, where ππΌπ·π = π»1 (πΌπ·π ). UserKeyGen. The user with identity πΌπ·π selects a random number π₯πΌπ·π β ππβ as his secret key π’π ππΌπ·π and computes his public key as π’πππΌπ·π = π’π ππΌπ·π β
π. Sign. Given a message ππ , the partial private key ππ ππΌπ·π , the secret key π’π ππΌπ·π , the user with identity πΌπ·π , and the corresponding public key π’πππΌπ·π , perform the following steps to generate a signature. (1) Generate a random number ππ β ππβ and compute ππ = ππ π. (2) Compute π = π»2 (ππππππ ), π = π»3 (ππππππ ), βπ = π»4 (ππ , πΌπ·π , π’πππΌπ·π , ππ ), and ππ = π»5 (ππ , πΌπ·π , π’πππΌπ·π , ππ ). (3) Compute, ππ = ππ ππΌπ·π + βπ β
π₯πΌπ·π β
π + ππ β
ππ β
π. (4) Output (ππ , ππ ) as the signature on ππ .
(2) Verify π(ππ , π) = π(ππΌπ·π , πππ’π )π(βπ β
π’πππΌπ·π , π) π(ππ ππ , π) holds or not. If it holds, accept the signature. 5.2. Our CLAS Scheme. Like Xiong et al.βs CLAS scheme does, our CLAS scheme also consists of six algorithms: MasterKeyGen, PartialKeyGen, UserKeyGen, Sign, Aggregate, and AggregateVerify. The first four algorithms are the same as those in our CLS scheme. The detail of other two algorithms is described as follows. Aggregate. For an aggregating set of π users {U1 , . . . , Uπ } with identities {πΌπ·1 , . . . , πΌπ·π }, corresponding public keys {π’ππ1 , . . . , π’πππ }, and message-signature pairs {(π1 , π1 = (π1 , π1 )), . . . , (ππ , ππ = (ππ , ππ ))} from {U1 , . . . , Uπ }, respectively, the aggregate signature generator computes π = βππ=1 ππ and outputs π = (π1 , . . . , ππ , π) as an aggregate signature. AggregateVerify. To verify an aggregate signature π = (π1 , . . . , ππ , π) signed by π users {U1 , . . . , Uπ } with identities {πΌπ·1 , . . . , πΌπ·π } and the corresponding public keys {π’ππ1 , . . . , π’πππ } on messages {π1 , . . . , ππ }, the verifier performs the following steps. (1) Compute ππΌπ·π = π»1 (πΌπ·π ), π = π»2 (ππππππ ), π = π»3 (ππππππ ), βπ = π»4 (ππ , πΌπ·π , π’πππΌπ·π , ππ ), and ππ = π»5 (ππ , πΌπ·π , π’πππΌπ·π , ππ ) for π = 1, . . . , π.
(2) Verify π(π, π) = π(βππ=1 ππΌπ·π , πππ’π )π(βππ=1 βπ β
π’πππΌπ·π , π)π(βππ=1 ππ β
ππ , π) holds or not. If it holds, accept the signature.
6. Security Analysis 6.1. Security Analysis of Our CLS Scheme. In this section, we analyze the security of our CLS scheme. The following lemmas and theorem are proposed. Lemma 3. If Type I adversary A1 wins Game 1 with nonnegligible probability π, then one could construct an algorithm to solve the CDH problem in πΊ1 with nonnegligible probability. Proof. Given an instance (π = π₯π, π = π¦π) of the CDH problem in πΊ1 , we will construct an algorithm C to compute π₯π¦π, where π₯, π¦ β ππβ and they are unknown to C. At first, C picks an identity πΌπ·πΌ at random as the challenged identity in this game, sets the master public key πππ’π = π, selects the system parameters ππππππ = {πΊ1 , πΊ2 , π, π, πππ’π , π»1 , π»2 , π»3 , π»4 , π»5 }, and returns the parameters to A1. Then C answers A1βs query as follows. (i) π»1 query: C maintains a list πΏ π»1 of form β¨πΌπ·π , ππΌπ·π , ππΌπ·π β©. When A1 makes this query on πΌπ·π , C does as follows.
6
The Scientific World Journal (a) If the list πΏ π»1 contains a tuple β¨πΌπ·π , ππΌπ·π , ππΌπ·π β©, C returns ππΌπ·π to A1. (b) Otherwise, if πΌπ·π = πΌπ·πΌ , C picks a random ππΌπ·π β ππβ , computes ππΌπ·π = ππΌπ·π π, adds β¨πΌπ·π , ππΌπ·π , ππΌπ·π β© to πΏ π»1 , and returns ππΌπ·π to A1. (c) Otherwise (πΌπ·π =ΜΈ πΌπ·πΌ ), C picks a random ππΌπ·π β ππβ , computes ππΌπ·π = ππΌπ·π π, adds β¨πΌπ·π , ππΌπ·π , ππΌπ·π β© to πΏ π»1 , and returns ππΌπ·π to A1. (ii) π»2 query: C maintains a list πΏ π»2 of form β¨ππ , ππ , ππ β©. When A1 makes this query on ππ , C does as follows. (a) If the list πΏ π»2 contains a tuple β¨ππ , ππ , ππ β©, C returns ππ to A1. (b) Otherwise, C picks a random ππ β ππβ , computes ππ = ππ π, adds β¨ππ , ππ , ππ β© to πΏ π»2 , and returns ππ to A1. (iii) π»3 query: C maintains a list πΏ π»3 of form β¨ππ , ππ , ππ β©. When A1 makes this query on ππ , C does as follows. (a) If the list πΏ π»3 contains a tuple β¨ππ , ππ , ππ β©, C returns ππ to A1. (b) Otherwise, C picks a random ππ β ππβ , computes ππ = ππ π, adds β¨ππ , ππ , ππ β© to πΏ π»3 , and returns ππ to A1. (iv) π»4 query: C maintains a list πΏ π»4 of form β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , βπ β©. When A1 makes this query on (ππ , πΌπ·π , π’πππΌπ·π , ππ ), C does as follows. (a) If the list πΏ π»4 contains a tuple β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , βπ β©, C returns βπ to A1. (b) Otherwise, C picks a random βπ β ππβ , returns βπ to A1, and adds β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , βπ β© to πΏ π»4 . (v) π»5 query: C maintains a list πΏ π»5 of form β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , ππ β©. When A1 makes this query on (ππ , πΌπ·π , π’πππΌπ·π , ππ ), C does as follows. (a) If the list πΏ π»5 contains a tuple β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , ππ β©, C returns ππ to A1. (b) Otherwise, C picks a random ππ β ππβ , returns ππ to A1, and adds β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , βπ β© to πΏ π»5 . (vi) CreateUser: C maintains a list πΏ π of form β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β©. When A1 makes this query on πΌπ·π , C does as follows. (a) If the list πΏ π contains a tuple β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β©, C returns π’πππΌπ·π to A1. (b) Otherwise, if πΌπ·π = πΌπ·πΌ , C gets ππΌπ·πΌ = ππΌπ·πΌ π by making π»1 query with πΌπ·πΌ and sets ππ ππΌπ·πΌ ββ₯. C selects a random number π₯πΌπ·π β ππβ as his secret key π’π ππΌπ·π and computes his public key as π’πππΌπ·π = π’π ππΌπ·π β
π. At last, C adds β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© to πΏ π and returns π’πππΌπ·π to A1.
(c) Otherwise (πΌπ·π =ΜΈ πΌπ·πΌ ), C gets ππΌπ·π = ππΌπ·π β
π by making π»1 query with πΌπ·π and sets ππ ππΌπ·π = ππΌπ·π β
πππ’π . C selects a random number π₯πΌπ·π β ππβ as his secret key π’π ππΌπ·π and computes his public key as π’πππΌπ·π = π’π ππΌπ·π β
π. At last, C adds β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© to πΏ π and returns π’πππΌπ·π to A1. (vii) RevealPartialKey: when A1 makes this query on πΌπ·π , C does as follows. (a) If πΌπ·π = πΌπ·πΌ , C stops the simulation. (b) Otherwise (πΌπ·π =ΜΈ πΌπ·πΌ ), C looks up the list πΏ π for the tuple β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© and returns ππ ππΌπ·π to A1. (viii) RevealSecertKey: when A1 makes this query on πΌπ·π , C looks up the list πΏ π for the tuple β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© and returns π’π ππΌπ·π to A1. (ix) ReplaceKey: when A1 makes this query on (πΌπ·π , π’ππσΈ πΌπ·π ), C looks up the list πΏ π for the tuple β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β©. C sets π’π ππΌπ·π ββ₯ and replaces π’πππΌπ·π with π’ππσΈ πΌπ·π . (x) Sign: when A1 makes this query on (ππ , πΌπ·π ), C does as follows. (a) If πΌπ·π = πΌπ·πΌ , C looks up lists πΏ π»1 and πΏ π and for tuples β¨πΌπ·π , ππΌπ·π , ππΌπ·π β© and separately, β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© where ππΌπ·π = ππΌπ·π π and π’πππΌπ·π may have been replaced by A1. C makes π»2 query and π»3 query with ππππππ and gets tuples β¨ππππππ , ππ , πβ© and β¨ππππππ , ππ , πβ©, where π = ππ π and π = ππ π. C generates three random numbers βπ , ππ , ππ β ππβ , computes ππ = ππβ1 (ππ β
π β ππΌπ·π β
ππβ1 β
π), ππ = ππ β
π + βπ β
ππ β
π’πππΌπ·π , β βπ , and sets π»4 (ππ , πΌπ·π , π’πππΌπ·π , ππ ) π»5 (ππ , πΌπ·π , π’πππΌπ·π , ππ ) β ππ . At last, C adds tuples β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , βπ β© and β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , ππ β© to πΏ π»4 and πΏ π»5 separately and returns (ππ , ππ ) to A1. It is easy to say (ππ , ππ ) satisfies the equation π(ππ , π) = π(ππΌπ·π , πππ’π )π(βπ β
π’πππΌπ·π , π)π(ππ ππ , π). (b) Otherwise (πΌπ·π =ΜΈ πΌπ·πΌ ), C looks up lists πΏ π»1 and πΏ π and for tuples β¨πΌπ·π , ππΌπ·π , ππΌπ·π β© and separately, β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© where ππΌπ·π = ππΌπ·π π and π’πππΌπ·π may have been replaced by (A1). C makes π»2 query and π»3 query with ππππππ and gets tuples β¨ππππππ , ππ , πβ© and β¨ππππππ , ππ , πβ©, where π = ππ π and π = ππ π. C generates a random number ππ β ππβ and computes ππ = ππ π, βπ = π»4 (ππ , πΌπ·π , π’πππΌπ·π , ππ ), ππ = π»5 (ππ , πΌπ·π , π’πππΌπ·π , ππ ), and ππ = ππ ππΌπ·π + βπ β
ππ β
π’πππΌπ·π + ππ β
ππ β
π. At last, C returns (ππ , ππ ) to A1. It is easy to say = (ππ , ππ ) satisfies the equation π(ππ , π) π(ππΌπ·π , πππ’π )π(βπ β
π’πππΌπ·π , π)π(ππ ππ , π).
The Scientific World Journal
7
Finally, A1 outputs a tuple (πΌπ·π , ππ , ππ ) as its forgery, where ππ = (ππ , ππ ). If πΌπ·π =ΜΈ πΌπ·πΌ , C stops the simulation. From the forgery lemma [27], if we have a replay of C with the same random tape but different choice of π»4 and π»5 , A1 will output another three signatures. The following two equations hold since both of the two signatures are valid: π (ππ , π) = π (ππΌπ·π , πππ’π ) π (βπ β
π’πππΌπ·π , π) π (ππ ππ , π) , π (ππσΈ , π) = π (ππΌπ·π , πππ’π ) π (βπσΈ β
π’πππΌπ·π , π) π (ππσΈ ππ , π) . (5) C looks up lists πΏ π»1 and πΏ π and for tuples and β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© β¨πΌπ·π , ππΌπ·π , ππΌπ·π β© separately, where ππΌπ·π = ππΌπ·π π and π’πππΌπ·π may have been replaced by A1. C makes π»2 query and π»3 query with ππππππ and gets tuples β¨ππππππ , ππ , πβ© and β¨ππππππ , ππ , πβ©, where π = ππ π and π = ππ π. At last, C returns (ππ (ππσΈ β ππ β
βπσΈ β
π’πππΌπ·π ) β ππσΈ (ππ β ππ β
βπ β
π’πππΌπ·π ))/ππΌπ·π (ππ β ππσΈ ) as the solution of CDH problem. Analysis. We show that C solves the given instance of the CDH problem with the probability π. To do so, we analyze the three events that result in Cβs success. πΈ1 : C does not abort in all the queries of π
πVπππππππ‘ππππΎππ¦. πΈ2 : A1 can forge a legal signature ππ = (ππ , ππ ). πΈ3 : the outputted tuple (πΌπ·π , ππ , ππ ) satisfies πΌπ·π = πΌπ·πΌ . From the simulation we know that Pr[πΈ1 ] β₯ (1β (1/ππ»1 ))ππ
ππΎ , Pr[πΈ2 | πΈ1 ] β₯ π, Pr[πΈ3 | πΈ1 β§ πΈ2 ] β₯ (1/ππ»1 ), where ππ»1 and ππ
ππΎ denote the numbers of π»1 queries and π
πVπππππππ‘ππππΎππ¦ queries separately. Then, the probability that C solves the CDH problem is π = Pr [πΈ1 β§ πΈ2 β§ πΈ3 ] = Pr [πΈ1 ] Pr [πΈ2 | πΈ1 ] Pr [πΈ3 | πΈ1 β§ πΈ2 ] β₯
ππΈπππΎ
1 1 (1 β ) ππ»1 ππ»1
(6)
π.
Then C could solve the CDH problem with a nonnegligible probability since π is nonnegligible. This contradicts the hardness of the CDH problem. Therefore, our CLS scheme is existentially unforgeable against Type I adversary in random oracle model under the assumption that the CDH problem is hard. Lemma 4. If there is a Type I adversary A2 wins Game 1 with nonnegligible probability π. Then we could construct an algorithm C to solve the CDH problem in πΊ1 with nonnegligible probability. Proof. Given an instance (π = π₯π, π = π¦π) of the CDH problem in πΊ1 , we will construct an algorithm C to compute π₯π¦π, where π₯, π¦ β ππβ and they are unknown to C. At first, C
picks an identity πΌπ·πΌ at random as the challenged identity in this game, generates a random number π β ππβ as the master key, sets the master public key πππ’π = π π, selects the system parameters ππππππ = {πΊ1 , πΊ2 , π, π, πππ’π , π»1 , π»2 , π»3 , π»4 , π»5 }, and returns the master key and the parameters to A2. Then C answers A2βs query as follows. (i) π»1 query: C maintains a list πΏ π»1 of form β¨πΌπ·π , ππΌπ·π , ππΌπ·π β©. When A1 makes this query on πΌπ·π , C does as follows. (a) If the list πΏ π»1 contains a tuple β¨πΌπ·π , ππΌπ·π , ππΌπ·π β©, C returns ππΌπ·π to A2. (b) Otherwise, C picks a random ππΌπ·π β ππβ , computes ππΌπ·π = ππΌπ·π π, adds β¨πΌπ·π , ππΌπ·π , ππΌπ·π β© to πΏ π»1 , and returns ππΌπ·π to A2. (ii) π»2 query: C maintains a list πΏ π»2 of form β¨ππ , ππ , ππ β©. When A2 makes this query on ππ , C does as follows. (a) If the list πΏ π»2 contains a tuple β¨ππ , ππ , ππ β©, C returns ππ to A2. (b) Otherwise, C picks a random ππ β ππβ , computes ππ = ππ π, adds β¨ππ , ππ , ππ β© to πΏ π»2 , and returns ππ to A2. (iii) π»3 query: C maintains a list πΏ π»3 of form β¨ππ , ππ , ππ β©. When A2 makes this query on ππ , C does as follows. (a) If the list πΏ π»3 contains a tuple β¨ππ , ππ , ππ β©, C returns ππ to A2. (b) Otherwise, C picks a random ππ β ππβ , computes ππ = ππ π, adds β¨ππ , ππ , ππ β© to πΏ π»3 , and returns ππ to A2. (iv) π»4 query: C maintains a list πΏ π»4 of form β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , βπ β©. When A2 makes this query on (ππ , πΌπ·π , π’πππΌπ·π , ππ ), C does as follows. (a) If the list πΏ π»4 contains a tuple β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , βπ β©, C returns βπ to A2. (b) Otherwise, C picks a random βπ β ππβ , returns βπ to A2, and adds β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , βπ β© to πΏ π»4 . (v) π»5 query: C maintains a list πΏ π»5 of form β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , ππ β©. When A2 makes this query on (ππ , πΌπ·π , π’πππΌπ·π , ππ ), C does as follows. (a) If the list πΏ π»5 contains a tuple β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , ππ β©, C returns ππ to A2. (b) Otherwise, C picks a random ππ β ππβ , returns ππ to A2, and adds β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , βπ β© to πΏ π»5 . (vi) CreateUser: C maintains a list πΏ π of form β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β©. When A2 makes this query on πΌπ·π , C does as follows. (a) If the list πΏ π contains a tuple β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β©, C returns π’πππΌπ·π to A2.
8
The Scientific World Journal (b) Otherwise, if πΌπ·π = πΌπ·πΌ , C gets ππΌπ·πΌ = ππΌπ·πΌ π by making π»1 query with πΌπ·πΌ and computes ππ ππΌπ·πΌ = π ππΌπ·πΌ . C sets π’π ππΌπ·π ββ₯ and π’πππΌπ·π β π. At last, C adds β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© to πΏ π and returns π’πππΌπ·π to A2. (c) Otherwise (πΌπ·π =ΜΈ πΌπ·πΌ ), C gets ππΌπ·π = ππΌπ·π β
π by making π»1 query with πΌπ·π and computes ππ ππΌπ·πΌ = π ππΌπ·πΌ . C selects a random number π₯πΌπ·π β ππβ as his secret key π’π ππΌπ·π and computes his public key as π’πππΌπ·π = π’π ππΌπ·π β
π. At last, C adds β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© to πΏ π and returns π’πππΌπ·π to A1.
C looks up lists πΏ π»1 and πΏ π and for tuples β¨πΌπ·π , ππΌπ·π , ππΌπ·π β© and β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© separately, where ππΌπ·π = ππΌπ·π π. C makes π»2 query and π»3 query with ππππππ and gets tuples β¨ππππππ , ππ , πβ© and β¨ππππππ , ππ , πβ©, where π = ππ π and π = ππ π. At last, C returns (ππ (ππσΈ β π β
ππΌπ·π ) β ππσΈ (ππ β π β
ππΌπ·π ))/ππ (βπσΈ ππ β βπ ππσΈ ) as the solution of CDH problem. Analysis. We show that C solves the given instance of the CDH problem with the probability π. To do so, we analyze the three events that result in Cβs success. πΈ1 : C does not abort in all the queries of π
πVπππππππππ‘πΎππ¦.
(vii) RevealPartialKey: when A2 makes this query on πΌπ·π , C looks up the list πΏ π for the tuple β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© and returns ππ ππΌπ·π to A2. (viii) RevealSecertKey: when A2 makes this query on πΌπ·π , C does as follows.
πΈ3 : the outputted tuple (πΌπ·π , ππ , ππ ) satisfies πΌπ·π = πΌπ·πΌ .
(a) If πΌπ·π = πΌπ·πΌ , C stops the simulation. (b) Otherwise (πΌπ·π =ΜΈ πΌπ·πΌ ), C looks up the list πΏ π for the tuple β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© and returns π’π ππΌπ·π to A2.
From the simulation we know that Pr[πΈ1 ] β₯ (1 β (1/ππ»1 ))ππ
ππΎ , Pr[πΈ2 | πΈ1 ] β₯ π, Pr[πΈ3 | πΈ1 β§ πΈ2 ] β₯ (1/ππ»1 ), where ππ»1 and ππ
ππΎ denote the numbers of π»1 queries and π
πVπππππππππ‘πΎππ¦ queries separately. Then, the probability that C solves the CDH problem is
(ix) Sign: when A1 makes this query on (ππ , πΌπ·π ), C does as follows. (a) If πΌπ·π = πΌπ·πΌ , C looks up lists πΏ π»1 and πΏ π and for tuples β¨πΌπ·π , ππΌπ·π , ππΌπ·π β© and β¨πΌπ·π , ππ ππΌπ·π , ππΌπ·π , π’π ππΌπ·π , π’πππΌπ·π β© separately, where ππΌπ·π = ππΌπ·π π and π’πππΌπ·π may have been replaced by A2. C makes π»2 query and π»3 query with ππππππ and gets tuples β¨ππππππ , ππ , πβ© and β¨ππππππ , ππ , πβ©, where π = ππ π and π = ππ π. C generates three random numbers βπ , ππ , ππ β ππβ , computes ππ = ππβ1 (ππ β
πβππ β
ππβ1 β
βπ β
π), ππ = ππ β
π+ππΌπ·π β
π β
π’πππΌπ·π , β βπ , and sets π»4 (ππ , πΌπ·π , π’πππΌπ·π , ππ ) π»5 (ππ , πΌπ·π , π’πππΌπ·π , ππ ) β ππ . At last, C adds tuples β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , βπ β© and β¨ππ , πΌπ·π , π’πππΌπ·π , ππ , ππ β© to πΏ π»4 and πΏ π»5 separately and returns (ππ , ππ ) to A2. It is easy to say (ππ , ππ ) satisfies the equation π(ππ , π) = π(ππΌπ·π , πππ’π )π(βπ β
π’πππΌπ·π , π)π(ππ ππ , π). (b) Otherwise (πΌπ·π =ΜΈ πΌπ·πΌ ), C acts according to the description of the algorithm ππππ since he knows both of π’π ππΌπ·π and ππ ππΌπ·π . Finally, A2 outputs a tuple (πΌπ·π , ππ , ππ ) as its forgery, where ππ = (ππ , ππ ). If πΌπ·π =ΜΈ πΌπ·πΌ , C stops the simulation. From the forgery lemma [27], if we have a replay of C with the same random tape but different choice of π»4 and π»5 , A2 will output another signatures. The following two equations hold since both of the two signatures are valid: π (ππ , π) = π (ππΌπ·π , πππ’π ) π (βπ β
π’πππΌπ·π , π) π (ππ ππ , π) , π (ππσΈ , π) = π (ππΌπ·π , πππ’π ) π (βπσΈ β
π’πππΌπ·π , π) π (ππσΈ ππ , π) . (7)
πΈ2 : A1 can forge a legal signature ππ = (ππ , ππ ).
π = Pr [πΈ1 β§ πΈ2 β§ πΈ3 ] = Pr [πΈ1 ] Pr [πΈ2 | πΈ1 ] Pr [πΈ3 | πΈ1 β§ πΈ2 ] β₯
1 1 (1 β ) ππ»1 ππ»1
ππ
ππΎ
(8)
π.
Then C could solve the CDH problem with a nonnegligible probability since π is nonnegligible. This contradicts the hardness of the CDH problem. Therefore, our CLS scheme is existentially unforgeable against a Type II adversary in random oracle model under the assumption that the CDH problem is hard. From the above two lemmas, we could get the following theorem. Theorem 5. The CLS scheme is secure against adaptively chosen warrant attacks and chosen message and identity attacks in the random oracle model if the CDH problem in πΊ1 is intractable. 6.2. Security Analysis of Our CLAS Scheme. For the security of our CLAS scheme, we have the following theorem. Theorem 6. The CLAS scheme is secure against adaptively chosen warrant attacks and chosen message and identity attacks in the random oracle model if the CDH problem in πΊ1 is intractable. Proof. Suppose there is an adversary A β {A1, A2} who could win Game 2 with nonnegligible probability. We could construct another adversary, who could win Game 1 with nonnegligible probability, through the method described in Theorem 2 of Xiong et al.βs work [25]. We have shown that no adversary could win Game 1 with nonnegligible probability
The Scientific World Journal
9
Table 1: Performance comparisons.
Zhang et al.βs scheme [22] Xiong et al.βs scheme [25] Our scheme
Sign 5ππ 3ππ 3ππ
Verify 5ππ + 2ππ 3ππ + 2ππ 4ππ + 2ππ
Aggregate verify 5ππ + 2πππ 3ππ + 2πππ 4ππ + 2πππ
in the above theorem. Therefore, our CLAS scheme is secure against adaptively chosen warrant attacks and chosen message and identity attacks in the random oracle model if the CDH problem in πΊ1 is intractable.
7. Performance Analysis In this section, we compare our scheme with two latest CLAS schemes, that is, Zhang et al.βs scheme [22] and Xiong et al.βs scheme [25]. For convenience, some notations are defined as follows: (i) ππ : the time for executing a pairing operation; (ii) ππ : the time for executing a scalar multiplications in πΊ1 . The comparisons are listed in Table 1. From the table, we know that Xiong et al.βs scheme and our scheme have better performance than Zhang et al.βs scheme. Xiong et al.βs scheme has better performance than our scheme. However, Xiong et al.βs scheme cannot withstand attacks of Type II adversary. It is well known that security is a top priority in network communications. It is acceptable to enhance security at the cost of increasing computational time slightly. Therefore, our scheme is more suitable for practical applications.
8. Conclusion Recently, Xiong et al. proposed an efficient CLAS scheme. They claimed that both of their schemes are provably secure in the random oracle model. In this paper, we propose a new attack against their scheme. To overcome weakness, we also propose an improved CLAS scheme and show our scheme is provable in the random oracle model.
Conflict of Interests The authors declare that they have no conflict of interests.
References [1] D. Boneh, C. Gentry, B. Lynn, and H. Shacham, βAggregate and verifiably encrypted signatures from bilinear maps,β in Proceedings of the Eurocrypt β03, vol. 3027 of Lecture Notes in Computer Science, pp. 416β432, 2003. [2] S. Kent, C. Lynn, and K. Seo, βSecure Border Gateway Protocol (S-BGP),β IEEE Journal on Selected Areas in Communications, vol. 18, no. 4, pp. 582β592, 2000. [3] US Department of Transportation, βNational Highway Traffic Safety Administration, vehicle safety communications project,β Final Report, US Department of Transportation, Washington DC, USA, 2006.
[4] A. Shamir, βIdentity-based cryptosystems and signature schemes,β in Proceedings of the CRYPTO β84, vol. 196 of Lecture Notes in Computer Science, pp. 47β53, Springer, Berlin, Germany, 1985. [5] S. Al-Riyami and K. Paterson, βCertificateless public key cryptography,β in Proceedings of the 9th International Conference on the Theory and Application of Cryptology and Information Security (ASIACRYPT β03), vol. 2894 of Lecture Notes in Computer Science, pp. 452β473, Springer, Berlin, Germany, 2003. [6] J. Baek, R. Safavi-Naini, and W. Susilo, βCertificateless public key encryption without pairing,β in Proceedings of the Industrial Simulation Conference (ISC β05), vol. 3650 of Lecture Notes in Computer Science, pp. 134β148, Springer, Berlin, Germany, 2005. [7] Y. Sun, F. Zhang, and J. Baek, βStrongly secure certificateless public key encryption without pairing,β in Proceedings of the Cryptology and Network Security (CANS β07), vol. 4856 of Lecture Notes in Computer Science, pp. 194β208, Springer, Berlin, Germany, 2007. [8] J. Lai, W. Kou, and K. Chen, βSelf-generated-certificate public key encryption without pairing and its application,β Information Sciences, vol. 181, no. 11, pp. 2422β2435, 2011. [9] D. He, Y. Chen, J. Chen, R. Zhang, and W. Han, βA new two-round certificateless authenticated key agreement protocol without bilinear pairings,β Mathematical and Computer Modelling, vol. 54, no. 11-12, pp. 3143β3152, 2011. [10] D. He, J. Chen, and J. Hu, βA pairing-free certificateless authenticated key agreement protocol,β International Journal of Communication Systems, vol. 25, no. 2, pp. 221β230, 2012. [11] D. He, S. Padhye, and J. Chen, βAn efficient certificateless twoparty authenticated key agreement protocol,β Computers and Mathematics with Applications, vol. 64, no. 6, pp. 1914β1926, 2012. [12] C. Zhou, W. Zhou, and X. Dong, βProvable certificateless generalized signcryption scheme,β Designs, Codes and Cryptography, 2012. [13] W. Liu and C. Xu, βCertificateless signcryption scheme without bilinear pairing,β Ruan Jian Xue Bao/Journal of Software, vol. 22, no. 8, pp. 1918β1926, 2011. [14] D. He, J. Chen, and J. Hu, βA pairing-free certificateless authenticated key agreement protocol,β International Journal of Communication Systems, vol. 25, no. 2, pp. 221β230, 2012. [15] D. He, Y. Chen, and J. Chen, βAn efficient secure certificateless proxy signature scheme without pairings,β Mathematical and Computer Modelling, vol. 57, no. 9-10, pp. 2510β2518, 2013. [16] D. He, B. Huang, and J. Chen, βNew certificateless short signature scheme,β IET Information Security, vol. 7, no. 2, pp. 113β117, 2013. [17] R. Castro and R. Dahab, βEfficient Certificateless Signatures Suitable for Aggregation,β Cryptology ePrint Archive, http://eprint.iacr.org/2007/454. [18] G. Zheng, L. Yu, H. Xuan, and C. Kefei, βTwo certificateless aggregate signatures from bilinear maps,β in Proceedings of the 8th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD β07), vol. 3, pp. 188β193, August 2007. [19] Z. Gong, Y. Long, X. Hong, and K. Chen, βPractical certificateless aggregate signatures from bilinear maps,β Journal of Information Science and Engineering, vol. 26, no. 6, pp. 2093β 2106, 2010. [20] L. Zhang and F. Zhang, βA new certificateless aggregate signature scheme,β Computer Communications, vol. 32, no. 6, pp. 1079β1085, 2009.
10 [21] X. Hu, Q. Wu, and Z. Chen, βStrong security enabled certificateless aggregate signatures applicable to mobile computation,β in Proceedings of the 3rd IEEE International Conference on Intelligent Networking and CollaborativeSystems (INCoS β11), pp. 92β99, IEEE Computer Society, Washington, DC, USA, December 2011. [22] L. Zhang, B. Qin, Q. Wu, and F. Zhang, βEfficient many-toone authentication with certificateless aggregate signatures,β Computer Networks, vol. 54, no. 14, pp. 2482β2491, 2010. [23] N. Yanai, R. Tso, M. Mambo, and E. Okamoto, βA certificateless ordered sequential aggregate signature scheme secure against super adversaries,β Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications, vol. 3, no. 1-2, pp. 30β54, 2012. [24] K. Shim, βOn the security of a certificateless aggregate signature scheme,β IEEE Communications Letters, vol. 15, no. 10, pp. 1136β 1138, 2011. [25] H. Xiong, Z. Guan, Z. Chen, and F. Li, βAn Efficient certificateless aggregate signature with constant pairing computations,β Information Science, vol. 219, no. 10, pp. 225β235, 2013. [26] D. He, M. Tian, and J. Chen, βInsecurity of an efficient certificateless aggregate signature with constant pairing computations,β Information Sciences, 2013. [27] P. David and S. Jacque, βSecurity arguments for digital signatures and blind signatures,β Journal of Cryptology, vol. 13, no. 3, pp. 361β396, 2000.
The Scientific World Journal