Next Article in Journal
Walrasian Equilibrium-Based Incentive Scheme for Mobile Crowdsourcing Fingerprint Localization
Next Article in Special Issue
Real-Time User Identification and Behavior Prediction Based on Foot-Pad Recognition
Previous Article in Journal
OCA-MAC: A Cooperative TDMA-Based MAC Protocol for Vehicular Ad Hoc Networks
Previous Article in Special Issue
Secure Three-Factor Authentication Protocol for Multi-Gateway IoT Environments
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Strongly Unforgeable Certificateless Signature Scheme and Its Application in IoT Environments

Computer Science and Engineering, Northwest Normal University, Lanzhou 730070, China
*
Author to whom correspondence should be addressed.
Submission received: 4 April 2019 / Revised: 1 June 2019 / Accepted: 11 June 2019 / Published: 14 June 2019
(This article belongs to the Special Issue Emerging IoT Technologies for Smart Environments)

Abstract

:
With the widespread application of the Internet of Things (IoT), ensuring communication security for IoT devices is of considerable importance. Since IoT data are vulnerable to eavesdropping, tampering, forgery, and other attacks during an open network transmission, the integrity and authenticity of data are fundamental security requirements in the IoT. A certificateless signature (CLS) is a viable solution for providing data integrity, data authenticity, and identity identification in resource-constrained IoT devices. Therefore, designing a secure and efficient CLS scheme for IoT environments has become one of the main objectives of IoT security research. However, the existing CLS schemes rarely focus on strong unforgeability and replay attacks. Herein, we design a novel CLS scheme to protect the integrity and authenticity of IoT data. In addition to satisfying the strong unforgeability requirement, the proposed scheme also resists public key replacement attacks, malicious-but-passive key-generation-centre attacks, and replay attacks. Compared with other related CLS schemes without random oracles, our CLS scheme has a shorter private key, stronger security, and lower communication and computational costs.

1. Introduction

The Internet of Things (IoT) is a self-establishing network of smart devices that are equipped with electronics, sensors, software, and actuators and that are connected via the Internet to generate, collect, and exchange data [1]. Since IoT devices connect objects in different environments to the Internet for information exchange and communication to realize intelligent identification, location, tracking, monitoring, management, and other functions, IoT devices have the ability to support a wide range of services. Consequently, the IoT builds a network that covers various things throughout the world via numerous IoT devices, and it enables various human-to-human, human-to-thing, thing-to-thing, and thing-to-thing interactions. Figure 1 shows a variety of IoT applications, including intelligent transportation, military target tracking, surveillance, public safety, smart home, industrial monitoring, smart city, medical equipment, and food traceability [2]. The application of the IoT involves all economic and social aspects of daily life and fundamentally changes the way in which humans interact with the world around them. Hence, the IoT is considered to be an information technology revolution and has become a growth point for the global economy [3].
Various IoT-enabled devices with embedded sensors collect and send IoT data to data centres over public networks; thus, the issues of security and privacy in IoT environments have become increasingly important [4,5]. Only authentic data can be stored in data centres, which requires the integrity and authenticity of the data transmitted by an IoT device to be checked before being stored. The signature-based cryptosystem is technology that provides the integrity, real source, unforgeability, and non-repudiation of the data. An IoT device signs the data using its private key during data transmission, and the data centre confirms the data authenticity and integrity by verifying the validity of the received signature. Therefore, a digital signature scheme can ensure data integrity and data authenticity in the IoT. However, the IoT differs from traditional networks. Most IoT devices have limited computational and processing capabilities, short communication ranges, and restricted storage and power resources. Conventional cryptosystems cannot run on resource-constrained IoT devices. The main reason is that conventional cryptosystems are classified into two categories: PKI-based and ID-based cryptosystems. Traditional PKI-based cryptosystems require certificates to authenticate users’ public keys, which results in a large amount of computational overhead and communication costs to manage and exchange certificates. The identity-based cryptosystem avoids the use of certificates, but there are security flaws in key escrow that make it unsuitable for large-scale network environments. Hence, designing an efficient, secure signature scheme is very important for IoT security.
In a signature scheme, the private key of the signer is used to sign the message, and the validity of the corresponding signature is verified by the signer’s public key. The signature’s validity not only ensures that the signer with the private key can apply a valid signature to the message but also ensures the authenticity and integrity of the message. The user’s public key is generally a random string; thus, authenticating the authenticity of the user’s public key is particularly crucial. In traditional public key infrastructure (PKI) settings, a certificate issued by a fully trusted authority associates the user’s public key with the user’s real identity. The authenticity of the user’s public key can be verified by the legality of the corresponding certificate. However, the storage, distribution, verification, and revocation of certificates in PKI are resource-intensive and computationally expensive tasks [6]. Hence, PKI is unsuitable for resource-constrained IoT environments.
Shamir [7] proposed identity-based cryptography (IBC) to solve the complex certificate management problems in PKI. IBC allows a key generation centre (KGC) to produce the user’s private key, but the corresponding user’s public key comes from their public identity information, such as an e-mail address or mobile phone number. However, KGC can replace the user to decrypt any ciphertext or to forge the signature of any message without being found, which results in the key escrow problem.
The concept of certificateless signature (CLS) was introduced by Al-Riyami and Paterson [8]. In a CLS scheme, the user’s private key consists of two parts: One is a partial private key generated by the KGC, and the other is a secret value calculated independently by the user. The CLS scheme solves the key escrow problem because the KGC is unable to obtain the user’s final private key. In addition, the user generates the corresponding public key based on its secret value, but it is not necessary to verify the authenticity of the public key by using the certificate. In practical applications, the user’s public key is sent to the recipient together with the signature or is obtained from a public directory in a proper manner.
Certificateless signatures have received considerable attention in recent years, and researchers have designed numerous CLS schemes [9,10,11,12]. Most existing CLS schemes [13,14,15] have been proven to be secure in the random oracle model [16], where a cryptographic hash function is modelled as an ideal random oracle. The random oracle paradigm helps construct efficient cryptographic schemes, but it has received substantial criticism. It has been shown that, when random oracles are instantiated with actual hash functions, the cryptographic scheme that proves to be secure using the random oracle model may be unsafe in reality [17]. To overcome this security flaw, Liu et al. [18] designed the first CLS scheme without random oracles. Later, several CLS schemes [19,20,21,22] in the standard model were proposed, but these schemes cannot resist public key replacement (PKR) attacks or malicious-but-passive KGC (MKGC) attacks. In addition, most existing CLS schemes [23,24,25] without random oracles are proven to be existentially unforgeable against adaptive chosen-message attacks. This security notion only ensures that an attacker cannot forge the signature of any new message; it does not guarantee that the attacker generates the valid signature for the signed message. However, some signature schemes are malleable [26]; thus, an attacker can generate multiple valid signatures of the same message by using the previous message–signature pair without the signer’s private key. In other words, these schemes do not satisfy strong unforgeability, which is a stronger security notion than existential unforgeability. Strong unforgeability is desirable in some applications [27,28,29] (such as electronic commerce, construction of certificateless signcryption schemes, and certificateless group signature schemes). If a CLS signature scheme satisfies existential unforgeability and can prevent an attacker from forging a valid signature of a previously signed message, then we say that the CLS scheme is strongly unforgeable. Strong unforgeability is an important property of the CLS scheme, but few CLS schemes [30] satisfy strong unforgeability in the standard model. Unfortunately, none of those strongly unforgeable CLS schemes considers replay attacks [31,32]. Note that the energy of the IoT device is one of the main factors that restricts improvements in network performance. However, replay attacks, which are considered to be one of the major attacks faced by IoT devices, can consume a large amount of node energy. Therefore, a CLS scheme that is applicable to IoT environments must consider replay attacks.
In this paper, motivated by the above concerns, we present a new CLS scheme for IoT environments that is more secure and efficient than the previous CLS schemes. As a potential signature-based authentication technology, our proposed scheme manifests a solution to the problems of data authenticity and data integrity in the IoT. The main contributions of this paper are the following.
  • A novel CLS scheme without random oracles is constructed. Under the collision-resistant hash function (CRHF) and computational Diffie–Hellman (CDH) assumptions, the proposed CLS scheme is proven to be strongly unforgeable against adaptive chosen-message attacks in the standard model.
  • In our CLS scheme, the user’s public key is not only bound to the user’s partial private key but also embedded into the signature of the message. This makes the proposed CLS scheme have a higher security trust level and be capable of resisting PKR attacks and MKGC attacks.
  • The proposed CLS scheme resists replay attacks by verifying the freshness of the timestamp and the validity of the signature. To our best knowledge, our scheme is the first CLS scheme with a strong unforgeability in the standard model that can resist replay attacks.
  • Compared to other CLS schemes in the standard model, our CLS scheme has higher security, a smaller key size, a shorter signature length, and lower computational overhead for signature generation and signature verification.
  • Due to the aforementioned functionalities, our CLS scheme is able to be implemented and deployed in IoT environments where IoT devices have limited computing power, storage space, and communication bandwidth.
The remainder of this paper is organized as follows. We present the relevant CLS works in Section 2. Then, we introduce some preliminaries and security notions of the CLS scheme in Section 3. The proposed CLS scheme and its security proof are presented in Section 4 and Section 5. Section 6 gives the CLS system model for IoT environments and performance analysis. Section 7 concludes this paper.

2. Related Work

The first CLS scheme was proposed by Al-Riyami and Paterson [8]. Later, Huang et al. [33] noted that their CLS scheme [8] was unable to resist PKR attacks and proposed security notions for CLS schemes. Since then, researchers have constructed a large number of provably secure CLS schemes [9,10,11,12,13,14,15] in the random oracle model. Aiming to eliminate the security requirements of ideal random oracles, Liu et al. [18] constructed a CLS scheme without random oracles based on the identity-based signature scheme proposed by Paterson and Schuldt [34]. However, Xiong et al. [19] and Huang et al. [35] demonstrated that Liu et al.’s CLS scheme [18] was insecure against MKGC attacks. To enhance the security of Liu et al.’s CLS scheme [18], Xiong et al. [19] presented an improved scheme, but it was still vulnerable to MKGC attacks [36]. Furthermore, Xia et al. [37] showed that several CLS schemes [18,19,20] without random oracles were susceptible to PKR attacks.
Subsequently, Yu et al. [21] designed a CLS scheme and claimed that their scheme was secure in the standard model. However, Yuan et al. [23] and Pang et al. [27] independently demonstrated that Yu et al.’s CLS scheme [21] was insecure against PKR or MKGC attacks. As a countermeasure, Yuan et al. [23] designed an enhanced scheme, but it did not satisfy strong unforgeability. Based on the Boneh–Boyen signature [38] and Pointcheval–Sanders signature [39], Canard and Trinh [25] constructed a CLS scheme with a low computational cost. However, Canard and Trinh’s CLS scheme [25] was existentially unforgeable in the standard model. Subsequently, Huang et al. [22] constructed a CLS scheme with strong unforgeability in the standard model. Unfortunately, Yang et al. [30] demonstrated that Huang et al.’s CLS scheme [22] failed to achieve a strong unforgeability and was vulnerable to MKGC attacks. Furthermore, Yang et al. [30] presented a secure CLS scheme, but their scheme still has some drawbacks, including a longer private key size and a higher computational overhead than those of the previous schemes.
Digital signatures are widely used to ensure data authenticity and integrity. Yeh et al. [4] devised a CLS scheme for IoT environments. However, Jia et al. [40] demonstrated that Yeh et al.’s scheme [4] was insecure against PKR attacks and then proposed a new CLS scheme to overcome the flaws of Yeh et al.’s scheme [4]. Based on technologies such as RSA, DSA, and Merkle tree, Li et al. [41] proposed an IoT data communication framework to provide integrity and authenticity. Frädrich et al. [42] used redactable signature [43] to design another framework for the IoT environment to allow the redaction of parts from signed data and proved its security in the random oracle model. To achieve the security requirements in IoT, Challa et al. [44] presented a new signature-based authenticated key establishment scheme for the IoT environment. Based on Nyberg’s fast one-way accumulator [45], Yao et al. [46] designed a lightweight multicast authentication mechanism for small scale IoT applications. Yang et al. [47] proposed a certificateless aggregate signature scheme for vehicular ad hoc networks to reduce transmission bandwidth and verification overhead of signatures. To protect the identity privacy of IoT devices, Yang et al. [48] constructed a strong designated-verifier proxy re-signature (SDVPRS) scheme in the standard model and applied it to the IoT environment. Unfortunately, the existing data integrity and authenticity schemes in IoT have two drawbacks. (1) Some schemes [41,42,44,46,47,48] require heavy management and communication overheads of certificates to achieve authenticity authentication of the user’s public key. (2) Most of the schemes [4,40,41,42,44,46,47] are proved to be secure in the random oracle model. To fill thess gaps, Karati et al. [3] presented a secure CLS scheme for IoT environments in the standard model, but their scheme did not consider a strong unforgeability and replay attacks. To our best knowledge, designing an efficient CLS scheme that both satisfies strong unforgeability in the standard model and is resistant to PKR attacks, MKGC attacks, and replay attacks remains an open issue. Therefore, in this paper, we advance such a construction for IoT environments to ensure data integrity and data authenticity.

3. Preliminaries

Here, we briefly review some preliminary knowledge, including the definition of bilinear pairings, the complexity assumptions, and the security model of the CLS schemes.

3.1. Bilinear Paring

Assume that G 1 and G 2 are cyclic groups with the same order of prime p and that g is any generator of G 1 . A bilinear pair e : G 1 × G 1 G 2 is a map that satisfies the following conditions [23]:
  • Bilinearity: e ( g a , g b ) = e ( g , g ) a b for all a , b Z p .
  • Nondegeneracy: e ( g , g ) 1 .
  • Computability: There is an algorithm that can efficiently calculate e ( g a , g b ) for any a , b Z p .

3.2. Complexity Assumptions

Given two elements g , h G 1 , the discrete logarithm (DL) problem [30] is to find an integer a Z p such that h = g a .
Let A denote an attacker with probabilistic polynomial time (PPT). The advantage ε of A to solve the DL problem in G 1 is defined as
A d v A D L = Pr [ A ( g , h ) = a : a Z p ] ε .
Definition 1 (DL assumption).
We say that the DL assumption holds in G 1 if there is no PPT attacker A to solve the DL problem with a non-negligible advantage ε.
Given three elements, g , g a , a n d g b G 1 for unknown, randomly chosen a , b Z p , the computational Diffie–Hellman (CDH) problem [22] is to calculate g a b G 1 .
The advantage ε that any PPT adversary A can solve the CDH problem in G 1 is defined as
A d v A C D H = Pr [ A ( g , g a , g b ) = g a b : a , b Z p ] ε .
Definition 2 (CDH assumption).
The CDH assumption holds in G 1 if there is no PPT attacker A to solve the CDH problem with a non-negligible advantage ε.
Suppose that { H k } represents a family of hash functions H k : { 0 , 1 } { 0 , 1 } n , where n is the length of the output value of H k and k is an index. Given the index k, the collision resistance of hash function (CRHF) [30] H k is to find m 0 m 1 such that H k ( m 0 ) = H k ( m 1 ) . The advantage ε of any PPT adversary A in breaking the collision resistance of H k is defined as
A d v A C R H F = Pr [ A ( k ) = ( m 0 , m 1 ) : m 0 m 1 , H k ( m 0 ) = H k ( m 1 ) ] ε .
Definition 3 (CRHF assumption).
A hash family { H k } is collision resistant if the advantage ε of any PPT adversary A to break the collision resistance of hash function H k is negligible.

3.3. Security Model of CLS

A CLS scheme consists of six algorithms, as follows:
  • Setup : This algorithm takes as input a security parameter λ , and it outputs the master secret key m s k and system parameters p a r a m .
  • SetPubKey : This algorithm takes as input p a r a m and an identity I D , and it outputs a secret value u s k I D and a public key p k I D .
  • PSKExtract : This algorithm takes as input p a r a m , I D , and p k I D , and it returns a partial private key p s k I D for identity I D .
  • SetSecKey : Upon receiving p a r a m , u s k I D , and p s k I D , this algorithm outputs a private key s k I D .
  • Sign : This algorithm takes as input p a r a m , an identity I D ’s private key s k I D and public key p k I D , a timestamp T, and a message m, and it returns a signature σ on m.
  • Verify : Upon receiving p a r a m , I D , p k I D , T, m, and σ , this algorithm outputs 1 if σ is a valid signature of I D on m with respect to T and p k I D , and it outputs 0 otherwise.
According to the security model for CLS presented in References [15,35], a CLS scheme’s security should consider two types of adversaries: type I and type II adversaries. A type I adversary is a PKR attacker who knows the secret value of the targeted entity and who can replace any entity’s public key with its own. A type I adversary models an outside attacker who is not capable of possessing the master secret key of the KGC. In contrast, a type II adversary models an honest-but-curious KGC attacker who holds the master secret key of the KGC and generates the partial private key of any entity. However, a type II adversary can neither perform the entity’s PKR nor obtain the secret value of the targeted entity. To meet more realistic security requirements, Au et al. [49] presented an enhanced security model in which a type II adversary is viewed as an MKGC attacker. In this case, a malicious KGC can access the master secret key of the KGC and may embed extra trapdoors in the system parameters and the master secret key during the initialization phase of the system. Hence, the type II adversary that we focus on is an MKGC attacker. Here, the security model for a strongly secure CLS scheme is formalized via the following games (denoted Games 1 and 2) between a challenger C and an adversary A { A 1 , A 2 } .
Game 1: Executed between a challenger C and a type I adversary A 1 .
  • Initialization: C first runs the algorithm Setup to obtain the master secret key m s k and system parameters p a r a m . C then runs the algorithm SetPubKey to output the secret value u s k and corresponding public key p k of the targeted entity. Finally, C sends p a r a m and ( u s k , p k ) to A 1 while keeping m s k secret.
  • Queries: A 1 can adaptively access the following oracles with C .
    Public Key Query O p k ( I D i ) : Upon receiving an identity I D i , C runs the algorithm SetPubKey to obtain a public key p k i and sends it to A 1 .
    Public Key Replacement (PKR) Query O r e p ( I D i , p k i ) : Upon receiving such a query, C finds and replaces the original public key p k i of identity I D i with a new public key p k i .
    Partial Private Key Query O p s k ( I D i , p k i ) : Upon receiving an identity I D i and a public key p k i , C runs the algorithm PSKExtract to generate a partial private key p s k i and sends it to A 1 .
    Private Key Query O s k ( I D i ) : When A 1 initiates a private key inquiry about an identity I D i , C executes the algorithm SetSecKey to produce a private key s k i and sends it to A 1 . Note that C returns the symbol ⊥ if I D i has already appeared in PKR queries.
    Signing Query O s i g n ( I D i , T , m ) : Upon receiving an identity I D i , a timestamp Tm and a message m, C first executes the algorithm SetSecKey to produce a private key s k i and then uses s k i , T, and the identity I D i ’s matching public key p k i to execute the algorithm Sign to produce a signature σ i on m. Finally, C sends σ i to A 1 .
  • Forgery: A 1 eventually outputs a forged signature σ on a message m corresponding to an identity I D , a timestamp T , and the targeted public key p k . It is said that A 1 wins this game when the following conditions are fulfilled:
    (1)
    Verify ( p a r a m , I D , p k , T , m , σ ) = 1 .
    (2)
    I D is not requested in O p s k ( I D i , p k i ) and O s k ( I D i ) .
    (3)
    ( I D , T , m , σ ) is not an output of the oracle O s i g n ( I D i , T , m ) .
Game 2: Executed between a challenger C and a type II adversary A 2 . To launch malicious attacks more easily, A 2 is allowed to set some trapdoors during the initialization phase of the game.
  • Initialization: C invokes A 2 to produce the master secret key m s k and system parameters p a r a m . Then, C runs the algorithm SetPubKey to produce the secret value u s k and the corresponding public key p k of the targeted entity. Finally, C sends p k to A 2 while keeping u s k secret.
  • Queries: A 2 can adaptively access the oracles O p k ( I D i ) , O s k ( I D i ) , and O s i g n ( I D i , T , m ) , which are defined in Game 1, and C responds in the same way as it does in Game 1.
  • Forgery: A 2 eventually outputs a forged signature σ on a message m corresponding to an identity I D , a timestamp T , and the targeted public key p k . It is said that A 2 wins this game when the following conditions are fulfilled:
    (1)
    Verify ( p a r a m , I D , p k , T , m , σ ) = 1 .
    (2)
    I D is not requested in O s k ( I D i ) .
    (3)
    ( I D , T , m , σ ) is not an output of the oracle O s i g n ( I D i , T , m ) .
A d v A i S U F = Pr [ A i s u c c e e d s ] denotes the advantage that A i wins the above games, where i { 1 , 2 } .
Definition 4.
A CLS scheme is said to be strongly unforgeable against adaptive chosen message attacks if the advantages A d v A 1 S U F and A d v A 2 S U F are negligible for all PPT type I adversaries A 1 and type II adversaries A 2 .

4. Proposed CLS Scheme

Based on Waters’ scheme [26] and its variants [28,34], we propose an undeniable and strongly unforgeable CLS scheme in the standard model. Our CLS scheme is described as follows.
  • Setup : Upon giving the security parameter λ as input, the KGC produces the master secret key and system parameters by performing the following steps.
    (1)
    Select G 1 and G 2 as two cyclic groups with prime order p, a generator g of G 1 , and a bilinear pairing e : G 1 × G 1 G 2 .
    (2)
    Select two random values α , β Z p and compute g 1 = g α and g 2 = g β .
    (3)
    Select two random elements u 0 , v 0 G 1 and two vectors u = ( u i ) and v = ( v j ) of lengths n u and n m , respectively, where u i , v j G 1 for i = 1 , , n u and j = 1 , , n m .
    (4)
    Select three collision-resistant hash functions H 1 : { 0 , 1 } { 0 , 1 } n u , H 2 : { 0 , 1 } { 0 , 1 } n m , and H 3 : { 0 , 1 } Z p .
    (5)
    Secretly keep the master key m s k = g α β and publicly broadcast the system parameters p a r a m = { G 1 , G 2 , p , g , e , g 1 , g 2 , u 0 , v 0 , u , v , H 1 , H 2 , H 3 } .
  • SetPubKey : An entity with identity I D randomly selects θ 1 , θ 2 , θ 3 Z p and computes
    p k I D , 1 = g θ 1 , p k I D , 2 = g θ 2 and p k I D , 3 = g θ 3 .
    Then, the entity computes u s k I D = g θ 1 θ 2 as its secret value and sets its public key p k I D = ( p k I D , 1 , p k I D , 2 , p k I D , 3 ) .
  • PSKExtract : Given an identity I D and a public key p k I D of an entity, the KGC first computes a vector Q = H 1 ( I D , p k I D ) = ( Q 1 , , Q n u ) { 0 , 1 } n u and U I D = u 0 i = 1 n u u i Q i . Then, the KGC selects s Z p at random and computes
    p s k I D , 1 = g α β ( U I D ) s and p s k I D , 2 = g s .
    Finally, the KGC sends the partial private key p s k I D = ( p s k I D , 1 , p s k I D , 2 ) to the entity via a secure channel.
    After receiving p s k I D = ( p s k I D , 1 , p s k I D , 2 ) from the KGC, the entity can check the correctness of p s k I D by verifying
    e ( p s k I D , 1 , g ) = e ( g 2 , g 1 ) e ( U I D , p s k I D , 2 ) .
    If this equation holds, then the entity accepts p s k I D as a valid partial private key.
  • SetSecKey : The entity with identity I D selects a random value r Z p and computes a vector Q = H 1 ( I D , p k I D ) = ( Q 1 , , Q n u ) { 0 , 1 } n u and U I D = u 0 i = 1 n u u i Q i , where p k I D is I D ’s public key. Then, the entity uses its secret value u s k I D and partial private key p s k I D = ( p s k I D , 1 , p s k I D , 2 ) to compute its private key
    s k I D = ( s k I D , 1 , s k I D , 2 ) = ( p s k I D , 1 · u s k I D · ( U I D ) r , p s k I D , 2 · g r ) = ( g α β ( U I D ) s · g θ 1 θ 2 · ( U I D ) r , g s · g r ) = ( g α β g θ 1 θ 2 ( U I D ) s + r , g s + r ) .
  • Sign : The signer with identity I D generates a signature of a message m by performing the following steps.
    (1)
    Select a random value r m Z p and compute σ 3 = g r m .
    (2)
    Choose the current timestamp T and compute a vector M = H 2 ( m , T ) = ( M 1 , , M n m ) { 0 , 1 } n m and V m = v 0 j = 1 n m v j M j .
    (3)
    Compute
    h = H 3 ( m , T , I D , p k I D , s k I D , 2 , σ 3 , p a r a m ) , σ 1 = s k I D , 1 · ( ( p k I D , 3 ) h V m ) r m , σ 2 = s k I D , 2 ,
    where s k I D = ( s k I D , 1 , s k I D , 2 ) and p k I D = ( p k I D , 1 , p k I D , 2 , p k I D , 3 ) are the private and public keys of identity I D , respectively.
    (4)
    Output σ = ( σ 1 , σ 2 , σ 3 ) as a signature of m.
  • Verify : Given the signer’s identity I D and public key p k I D = ( p k I D , 1 , p k I D , 2 , p k I D , 3 ) , timestamp T, and a signature σ = ( σ 1 , σ 2 , σ 3 ) of message m, the verifier first chooses the current time T . Then, the verifier verifies the legality of σ as follows.
    (1)
    If T T > δ , where δ is a threshold value, the verifier refuses to verify the validity of σ and exits.
    (2)
    If T T δ , the verifier computes Q = H 1 ( I D , p k I D ) , U I D , M = H 2 ( m , T ) , V m and
    h = H 3 ( m , T , I D , p k I D , s k I D , 2 , σ 3 , p a r a m ) .
    Then, the verifier checks
    e ( σ 1 , g ) = e ( g 2 , g 1 ) · e ( p k I D , 1 , p k I D , 2 ) · e ( U I D , σ 2 ) · e ( ( p k I D , 3 ) h V m , σ 3 ) .
    If this equation holds, the verifier accepts σ and outputs 1; otherwise, the verifier rejects σ and outputs 0.
Correctness: The correctness of a signature σ = ( σ 1 , σ 2 , σ 3 ) on a message m is presented as follows:
e ( σ 1 , g ) = e ( s k I D , 1 · ( ( p k I D , 3 ) h V m ) r m , g ) = e ( g α β g θ 1 θ 2 ( U I D ) s + r · ( ( p k I D , 3 ) h V m ) r m , g ) = e ( g α β , g ) · e ( g θ 1 θ 2 , g ) · e ( ( U I D ) s + r , g ) · e ( ( ( p k I D , 3 ) h V m ) r m , g ) = e ( g α , g β ) · e ( g θ 1 , g θ 2 ) · e ( U I D , g s + r ) · e ( ( p k I D , 3 ) h V m , g r m ) = e ( g 2 , g 1 ) · e ( p k I D , 1 , p k I D , 2 ) · e ( U I D , σ 2 ) · e ( ( p k I D , 3 ) h V m , σ 3 ) .

5. Security Proof

In our CLS scheme, the algorithm SetSecKey randomizes the entity’s secret value u s k I D and partial private key p s k I D = ( p s k I D , 1 , p s k I D , 2 ) to generate the final private key s k I D = ( s k I D , 1 , s k I D , 2 ) = ( p s k I D , 1 · u s k I D · ( U I D ) r , p s k I D , 2 · g r ) . Hence, it is not feasible for a malicious KGC to produce a valid signature without the secret value u s k I D . Additionally, the KGC cannot derive the entity’s private key s k I D from the master secret key m s k and the entity’s partial private key p s k I D .
To prevent PKR and MKGC attacks, a part p k I D , 3 of the entity’s public key is embedded in the signature σ . Only each entity can produce its legal public key p k I D = ( p k I D , 1 , p k I D , 2 , p k I D , 3 ) = ( g θ 1 , g θ 2 , g θ 3 ) ; thus, the malicious KGC can neither set the entity’s public key at will nor derive the secret value u s k I D from the signature. Furthermore, it is impossible to obtain the value ( p k I D , 3 ) r m directly from the entity’s public key p k I D and the public value σ 3 = g r m of the signature unless the adversary can solve the CDH problem.
The algorithm PSKExtract binds each entity’s public key p k I D , identity I D , and partial private key p s k I D , which can enhance the trust level of the proposed CLS scheme. If the KGC attempts to replace the entity’s public key p k I D , then the entity’s identity I D and the new public key must be re-bound to compute a new partial private key, which results in the entity’s identity I D corresponding to two public keys and two partial private keys. Therefore, our CLS scheme can easily determine whether the KGC replaced the entity’s public key.
In addition, H 3 is a collision-resistant hash function. The hash value h combines the message m, the identity I D , public key p k I D , two values σ 2 , and σ 3 in the signature, a timestamp T, and system parameters p a r a m as h = H 3 ( m , T , I D , p k I D , s k I D , 2 , σ 3 , p a r a m ) . Hence, an attacker cannot forge a new valid signature from an existing signature on a message; that is, an adversary cannot generate a valid signature on any previously signed/new message in our CLS scheme.
In the following, we introduce two theorems to demonstrate that our CLS scheme satisfies a strong unforgeability against PKR and MKGC attacks in the standard model. Reduction technology is used to prove the strong unforgeability of the proposed scheme; specifically, if an attacker breaks the security of the scheme, a solver then uses the attacker’s ability to solve the underlying hard problem related to the scheme. However, this problem is intractable in reality; thus, such an attacker does not exist. Furthermore, we prove that the proposed CLS scheme can resist replay attacks.
Theorem 1.
In the standard model, our CLS scheme is strongly unforgeable against PKR attacks. Specifically, there is a type I adversary A 1 that breaks the security of the proposed CLS scheme with advantage ε 1 after making at most q p k public key queries, q p s k partial private key queries, q r e p PKR queries, q s k private key queries, and q s signing queries. Then, an algorithm C can use the forgery of A 1 to solve the CDH problem with advantage ε 1 .
Proof. 
C is given a random instance ( g , g a , g b ) G 1 3 of the CDH problem, and C ’s goal is to output g a b with the help of A 1 . The algorithm C simulates the challenger in Game 1 and responds to A 1 ’s queries as follows.
  • Initialization: C first sets l u = 2 ( q p s k + q s k + q s ) and l m = 2 q s such that l u ( n u + 1 ) < p and l m ( n m + 1 ) < p . Then, C simulates the algorithm Setup by performing the following steps:
    (1)
    Randomly select k u ( 0 k u n u ) and k m ( 0 k m n m ) .
    (2)
    Randomly select x 0 , x 1 , , x n u Z l u , y 0 , y 1 , , y n u Z p , c 0 , c 1 , , c n m Z l m , and d 0 , d 1 , , d n m Z p .
    (3)
    Select three hash functions H 1 : { 0 , 1 } { 0 , 1 } n u , H 2 : { 0 , 1 } { 0 , 1 } n m , and H 3 : { 0 , 1 } Z p . Note that the adopted hash functions are not considered to be random oracles in the following proof.
    (4)
    Set g 1 = g a and g 2 = g b , where g a and g b are from the input of the instance of the CDH problem. Note that the master secret key is implicitly set to m s k = g a b .
    (5)
    Assign u 0 = g 2 l u k u + x 0 g y 0 , u i = g 2 x i g y i for i = 1 , , n u , v 0 = g 2 l m k m + c 0 g d 0 , and v j = g 2 c j g d j for j = 1 , , n m , and set u = ( u 1 , , u n u ) and v = ( v 1 , , v n m ) .
    (6)
    Select three random integers θ 1 , θ 2 , θ 3 Z p and compute p k 1 = g θ 1 , p k 2 = g θ 2 , and p k 3 = g θ 3 . Next, set the secret value of the targeted entity to u s k = g θ 1 θ 2 and the corresponding public key to p k = ( p k 1 , p k 2 , p k 3 ) .
    (7)
    Send system parameters p a r a m = { G 1 , G 2 , p , g , e , g 1 , g 2 , u 0 , v 0 , u , v , H 1 , H 2 , H 3 } and the targeted entity’s secret value/public key pair ( u s k , p k ) to A 1 .
    From the perspective of A 1 , the distribution of the system parameters produced by C is identical to the real construction.
    In our CLS scheme, we have Q = H 1 ( I D , p k I D ) = ( Q 1 , , Q n u ) { 0 , 1 } n u for an identity I D and a public key p k I D , and we have M = H 2 ( m , T ) = ( M 1 , , M n m ) { 0 , 1 } n m for a message m and a timestamp T. Aiming to simplify the analysis, we define the following four functions:
    F ( I D ) = l u k u + x 0 + i = 1 n u x i Q i , J ( I D ) = y 0 + i = 1 n u y i Q i , K ( m ) = l m k m + c 0 + j = 1 n m c j M j , L ( m ) = d 0 + j = 1 n m d j M j .
    Hence, we have the following equations:
    U I D = u 0 i = 1 n u u i Q i = g 2 F ( I D ) g J ( I D ) , V m = v 0 j = 1 n m v j M j = g 2 K ( m ) g L ( m ) .
  • Queries: C maintains a list L = { ( I D i , θ i , 1 , θ i , 2 , θ i , 3 , u s k i , p k i , p s k i , s k i ) } , which is initially empty. C constructs the following oracles to answer a series of A 1 ’s queries.
    Public Key Query O p k ( I D i ) : When A 1 initiates such an inquiry for an identity I D i , C looks up the corresponding entry in the list L . If I D i is found in L , C returns p k i to A 1 . Otherwise, C randomly selects θ i , 1 , θ i , 2 , θ i , 3 Z p and computes the secret value u s k i = g θ i , 1 θ i , 2 and the public key p k i = ( p k i , 1 , p k i , 2 , p k i , 3 ) = ( g θ i , 1 , g θ i , 2 , g θ i , 3 ) . Then, C stores { ( I D i , θ i , 1 , θ i , 2 , θ i , 3 , u s k i , p k i ) } in L and sends p k i to A 1 .
    Public Key Replacement Query O r e p ( I D i , p k i ) : If there is an entry for the identity I D i in the list L , C replaces the original public key p k i of I D i with a new public key p k i . Otherwise, C directly sets p k i as the public key of I D i .
    Partial Private Key Query O p s k ( I D i , p k i ) : When A 1 requests a partial private key of an identity I D i and a public key p k i , C returns p s k i to A 1 if there is an entry for I D i and p k i in the list L . Otherwise, C computes F ( I D i ) and J ( I D i ) .
    (1)
    If F ( I D i ) 0 mod l u , C randomly selects s i Z p and calculates a partial private key
    p s k i = ( p s k i , 1 , p s k i , 2 ) = ( g 1 J ( I D i ) F ( I D i ) ( U I D i ) s i , g 1 1 F ( I D i ) g s i ) ,
    where U I D i = u 0 k = 1 n u u k Q i , k and Q i = H 1 ( I D i , p k i ) = ( Q i , 1 , , Q i , n u ) { 0 , 1 } n u . Then, C stores the partial private key of the corresponding entry in L and sends p s k i to A 1 .
    (2)
    If F ( I D i ) = 0 mod l u , C terminates the simulation.
    Note that the partial private key p s k i = ( p s k i , 1 , p s k i , 2 ) generated by C is legal.
    p s k i , 1 = g 1 J ( I D i ) F ( I D i ) ( U I D i ) s i = g 2 a ( g 2 F ( I D i ) g J ( I D i ) ) a F ( I D i ) ( U I D i ) s i = g 2 a ( U I D i ) s i a F ( I D i ) = g a b ( U I D i ) s i a F ( I D i ) , p s k i , 2 = g 1 1 F ( I D i ) g s i = g s i a F ( I D i ) .
    Then, we have
    e ( p s k i , 1 , g ) = e ( g 2 , g 1 ) e ( U I D i , p s k i , 2 ) .
    Hence, from A 1 ’s perspective, the partial private key p s k i simulated by C is computationally indistinguishable from that computed by the real KGC.
    Private Key Query O s k ( I D i ) : When A 1 requests the private key of an identity I D i , C checks for an entry of I D i in L . If it exists, C returns s k i to A 1 ; otherwise, C computes F ( I D i ) and J ( I D i ) . If F ( I D i ) = 0 mod l u , C terminates; otherwise, C initiates a public key query about I D i to acquire a secret value u s k i and a public key p k i and then initiates a partial private key query with ( I D i , p k i ) to acquire a partial private key p s k i . Next, C executes the algorithm SetSecKey to create a private key s k i , stores s k i of the corresponding entry in L and sends s k i to A 1 .
    Signing Query O s i g n ( I D i , T , m ) : Upon receiving an identity I D i , a timestamp T, and a message m, C issues a query O p k ( I D i ) to acquire a public key p k i = ( p k i , 1 , p k i , 2 , p k i , 3 ) and the triplet ( θ i , 1 , θ i , 2 , θ i , 3 ) . Then, C proceeds as follows.
    (1)
    If F ( I D i ) 0 mod l u , C first makes a query O s k ( I D i ) to acquire a private key s k i and then runs the algorithm Sign to generate a signature σ i of m. Finally, C sends σ i to A 1 .
    (2)
    If F ( I D i ) = 0 mod l u , C computes K ( m ) . If K ( m ) = 0 mod l m , C terminates; otherwise, C randomly selects r i , r m Z p and computes Q i = H 1 ( I D i , p k i ) , U I D i , M = H 2 ( m , T ) , and V m . Furthermore, C computes
    σ i , 2 = g r i , σ i , 3 = g 1 1 K ( m ) g r m , h i = H 3 ( m , T , I D i , p k i , σ i , 2 , σ i , 3 , p a r a m ) , σ i , 1 = ( U I D i ) r i g 1 L ( m ) h i θ i , 3 K ( m ) ( ( p k i , 3 ) h i V m ) r m g θ i , 1 θ i , 2 .
    Finally, C sends σ i = ( σ i , 1 , σ i , 2 , σ i , 3 ) to A 1 .
    For r ˜ m = r m a K ( m ) , we have
    σ i , 1 = ( U I D i ) r i g 1 L ( m ) h i θ i , 3 K ( m ) ( ( p k i , 3 ) h i V m ) r m g θ i , 1 θ i , 2 = ( U I D i ) r i g a b ( g 2 K ( m ) g L ( m ) g h i θ i , 3 ) a K ( m ) ( ( p k i , 3 ) h i V m ) r m g θ i , 1 θ i , 2 = g a b g θ i , 1 θ i , 2 ( U I D i ) r i ( ( p k i , 3 ) h i V m ) r m a K ( m ) = g a b g θ i , 1 θ i , 2 ( U I D i ) r i ( ( p k i , 3 ) h i V m ) r ˜ m , σ i , 2 = g r i , σ i , 3 = g 1 1 K ( m ) g r m = g r m a K ( m ) = g r ˜ m .
    Clearly, the signature σ i = ( σ i , 1 , σ i , 2 , σ i , 3 ) generated by C is legal because σ i satisfies the following verification equation:
    e ( σ i , 1 , g ) = e ( g a b g θ i , 1 θ i , 2 ( U I D i ) r i ( ( p k i , 3 ) h i V m ) r ˜ m , g ) = e ( g a , g b ) e ( g θ i , 1 , g θ i , 2 ) e ( U I D i , g r i ) e ( ( p k i , 3 ) h i V m , g r ˜ m ) = e ( g 2 , g 1 ) · e ( p k i , 1 , p k i , 2 ) · e ( U I D i , σ i , 2 ) e ( ( p k i , 3 ) h i V m , σ i , 3 ) .
    From A 1 ’s perspective, the signatures simulated by C are computationally indistinguishable from those produced by the real signer.
  • Forgery: A 1 eventually outputs a signature σ = ( σ 1 , σ 2 , σ 3 ) on a message m corresponding to an identity I D , a timestamp T , and targeted public key p k . If F ( I D ) 0 mod p or K ( m ) 0 mod p , C terminates; otherwise, C computes h = H 3 ( m , T , I D , p k , σ 2 , σ 3 , p a r a m ) and uses ( θ 1 , θ 2 , θ 3 ) to output g a b as a solution to the CDH instance as follows:
    σ 1 g θ 1 θ 2 ( σ 2 ) J ( I D ) ( σ 3 ) L ( m ) + h θ 3 = g 2 a g θ 1 θ 2 ( U I D ) r I D ( ( p k 3 ) h V m ) r m g θ 1 θ 2 ( g r I D ) J ( I D ) ( g r m ) L ( m ) + h θ 3 = g 2 a ( g 2 F ( I D ) g J ( I D ) ) r I D ( ( g θ 3 ) h ( g 2 K ( m ) g L ( m ) ) ) r m ( g J ( I D ) ) r I D ( g θ 3 ) r m h ( g L ( m ) ) r m = g 2 a g 2 F ( I D ) r I D g 2 K ( m ) r m ( since F ( I D ) = K ( m ) = 0 mod p ) = g 2 a = g a b .
Now, we analyze the probability that C can successfully solve the CDH problem. If the following conditions hold, C completes the above simulation without aborting.
(1)
All partial private key queries on ( I D i , p k i ) have F ( I D i ) 0 mod l u .
(2)
All private key queries on I D i have F ( I D i ) 0 mod l u .
(3)
All signing queries on ( I D i , T , m ) have F ( I D i ) 0 mod l u or K ( m ) 0 mod l m .
(4)
In the forgery phase, F ( I D ) = 0 mod p and K ( m ) = 0 mod p .
Here, we define four independent events X i , X , Y j , and Y as follows.
  • X i : F ( I D i ) 0 mod l u for the ith query, where 1 i q p s k + q s k + q s .
  • X : F ( I D ) = 0 mod p .
  • Y j : K ( m j ) 0 mod l m for the jth query, where 1 j q s .
  • Y : K ( m ) = 0 mod p .
Because the events i = 1 q p s k + q s k + q s X i , X , j = 1 q s Y j , and Y are independent, the probability that C does not terminate is
Pr [ ¬ a b o r t ] Pr [ i = 1 q p s k + q s k + q s X i X j = 1 q s Y j Y ] = Pr [ X ] · Pr [ i = 1 q p s k + q s k + q s X i | X ] · Pr [ Y ] · Pr [ j = 1 q s Y j | Y ] .
From l u ( n u + 1 ) < p , l m ( n m + 1 ) < p , 0 k u n u , 0 k m n m , x 0 , x 1 , , x n u Z l u and c 0 , c 1 , , c n m Z l m , we have 0 l u k u < p , 0 l m k m < p , 0 x 0 + i = 1 n u x i Q i < p and 0 c 0 + j = 1 n m c j M j < p . Therefore, it is easy to derive F ( I D ) = 0 mod l u and K ( m ) = 0 mod l m from F ( I D ) = 0 mod p and K ( m ) = 0 mod p , respectively. Moreover, F ( I D ) 0 mod l u implies that F ( I D ) 0 mod p , and K ( m ) 0 mod l m implies that K ( m ) 0 mod p . Since x 0 , x 1 , , x n u and c 0 , c 1 , , c n m are randomly chosen, we obtain the probabilities of the events X and Y as follows:
Pr [ X ] = Pr [ F ( I D ) = 0 mod p ] Pr [ F ( I D ) = 0 mod p F ( I D ) = 0 mod l u ] = Pr [ F ( I D ) = 0 mod l u ] Pr [ F ( I D ) = 0 mod p | F ( I D ) = 0 mod l u ] = 1 l u 1 n u + 1 , Pr [ Y ] = Pr [ K ( m ) = 0 mod p ] Pr [ K ( m ) = 0 mod p K ( m ) = 0 mod l m ] = Pr [ K ( m ) = 0 mod l m ] Pr [ K ( m ) = 0 mod p | K ( m ) = 0 mod l m ] = 1 l m 1 n m + 1 .
Furthermore, we have
Pr [ i = 1 q p s k + q s k + q s X i | X ] = 1 Pr [ i = 1 q p s k + q s k + q s ¬ X i | X ] 1 i = 1 q p s k + q s k + q s Pr [ ¬ X i | X ] = 1 q p s k + q s k + q s l u , Pr [ j = 1 q s Y j | Y ] = 1 Pr [ j = 1 q s ¬ Y j | Y ] 1 j = 1 q s Pr [ ¬ Y j | Y ] = 1 q s l m .
Since l u = 2 ( q p s k + q s k + q s ) and l m = 2 q s , we write
Pr [ ¬ a b o r t ] 1 l u · 1 n u + 1 · 1 q p s k + q s k + q s l u 1 l m · 1 n m + 1 · 1 q s l m = 1 16 q s ( n u + 1 ) ( n m + 1 ) ( q p s k + q s k + q s ) .
Therefore, if A 1 breaks the strong unforgeability of the proposed CLS scheme with advantage ε 1 , then C has an advantage ε 1 ε 1 16 q s ( n u + 1 ) ( n m + 1 ) ( q p s k + q s k + q s ) to solve the given instance of the CDH problem. □
Theorem 2.
In the standard model, the proposed CLS scheme is strongly unforgeable against MKGC attacks launched by the type II adversary A 2 . Concretely, assuming that A 2 compromises the security of our CLS scheme with advantage ε 2 after making at most q p k public key queries, q s k private key queries, and q s signing queries, then an algorithm C can use A 2 ’s forgery to solve the CDH problem in G 1 with advantage ε 2 .
Proof. 
Supposing that a PPT adversary A 2 breaks the strong unforgeability of our CLS scheme in an adaptive chosen-message attack, we can construct an algorithm C that calls A 2 as a subroutine to violate the CDH assumption. Assuming that C is given a random instance ( g , A = g a , B = g b ) G 1 3 , to calculate g a b , C simulates the challenger in Game 2 to answer all A 2 ’s queries.
  • Initialization: For the given values q s k , q s , n u , and n m , C sets l u = 2 ( q s k + q s ) and l m = 2 q s such that l u ( n u + 1 ) < p and l m ( n m + 1 ) < p . C selects a random element θ Z p and calculates p k 3 = g θ . Then, C sets the targeted entity’s public key p k = ( p k 1 , p k 2 , p k 3 ) = ( A = g a , B = g b , g θ ) and sends parameters ( G 1 , G 2 , p , g , e ) and p k to A 2 .
    Subsequently, A 2 performs the following steps to produce other system parameters and the master secret key.
    (1)
    Select two random integers k u and k m , where 0 k u n u and 0 k m n m .
    (2)
    Randomly select x 0 , x 1 , , x n u Z l u , c 0 , c 1 , , c n m Z l m and y 0 , y 1 , , y n u , d 0 , d 1 , , d n m Z p .
    (3)
    Select three collision-resistant hash functions H 1 : { 0 , 1 } { 0 , 1 } n u , H 2 : { 0 , 1 } { 0 , 1 } n m , and H 3 : { 0 , 1 } Z p .
    (4)
    Assign u 0 = B l u k u + x 0 g y 0 , u i = B x i g y i for i = 1 , , n u , v 0 = B l m k m + c 0 g d 0 , and v j = B c j g d j for j = 1 , , n m and set u = ( u 1 , , u n u ) and v = ( v 1 , , v n m ) .
    (5)
    Select two random values α , β Z p and compute g 1 = g α , g 2 = g β and m s k = g α β .
    (6)
    Send parameters ( g 1 , g 2 , u 0 , v 0 , u , v , H 1 , H 2 , H 3 ) and the master secret key m s k to C .
    Note that the secret value of the targeted entity is u s k = g a b , which is unknown to C , and the system parameters are p a r a m = { G 1 , G 2 , p , g , e , g 1 , g 2 , u 0 , v 0 , u , v , H 1 , H 2 , H 3 } .
    As the initialization phase in Theorem 1, we define the following four functions:
    F ( I D ) = l u k u + x 0 + i = 1 n u x i Q i , J ( I D ) = y 0 + i = 1 n u y i Q i , K ( m ) = l m k m + c 0 + j = 1 n m c j M j , L ( m ) = d 0 + j = 1 n m d j M j .
    Furthermore, we have the following equations:
    U I D = u 0 i = 1 n u u i Q i = B F ( I D ) g J ( I D ) , V m = v 0 j = 1 n m v j M j = B K ( m ) g L ( m ) .
  • Queries: C maintains an initially empty list L 2 of tuples { ( I D i , θ i , 1 , θ i , 2 , θ i , 3 , p k i , s k i ) } and builds the following oracles to answer the queries initiated by A 2 .
    Public Key Query O p k ( I D i ) : When A 2 issues such a query on an identity I D i , C looks up the corresponding entry in list L 2 and sends p k i to A 2 . Otherwise, if L 2 does not store this entry, C randomly selects θ i , 1 , θ i , 2 , θ i , 3 Z p and computes the public key p k i = ( p k i , 1 , p k i , 2 , p k i , 3 ) = ( A θ i , 1 , B θ i , 2 , g θ i , 3 ) = ( g a θ i , 1 , g b θ i , 2 , g θ i , 3 ) . Note that the secret value is u s k i = g a b θ i , 1 θ i , 2 , but a and b are unknown to C . Then, C stores { ( I D i , θ i , 1 , θ i , 2 , θ i , 3 , p k i ) } in L 2 and transmits p k i to A 2 .
    Private Key Query O s k ( I D i ) : Upon receipt of a query on an identity I D i , C returns s k i to A 2 if I D i is found in L 2 ; otherwise, C makes a query O p k ( I D i ) to obtain a public key p k i = ( p k i , 1 , p k i , 2 , p k i , 3 ) and the triplet ( θ i , 1 , θ i , 2 , θ i , 3 ) and then verifies whether F ( I D i ) = 0 mod l u .
    (1)
    If F ( I D i ) = 0 mod l u , C exits the simulation.
    (2)
    If F ( I D i ) 0 mod l u , C selects s i Z p and uses the master secret key m s k = g α β to compute
    s k i , 1 = A J ( I D i ) θ i , 1 θ i , 2 F ( I D i ) g α β ( U I D i ) s i , s k i , 2 = A θ i , 1 θ i , 2 F ( I D i ) g s i ,
    where U I D i = u 0 k = 1 n u u k Q i , k and Q i = H 1 ( I D i , p k i ) = ( Q i , 1 , , Q i , n u ) { 0 , 1 } n u . Then, C stores the private key of the corresponding entry in L 2 and sends s k i = ( s k i , 1 , s k i , 2 ) to A 2 .
    The correctness of s k i simulated by C is
    s k i , 1 = A J ( I D i ) θ i , 1 θ i , 2 F ( I D i ) g α β ( U I D i ) s i = g α β g a b θ i , 1 θ i , 2 ( g b F ( I D i ) g J ( I D i ) ) a θ i , 1 θ i , 2 F ( I D i ) ( U I D i ) s i = g α β g a b θ i , 1 θ i , 2 ( U I D i ) s i a θ i , 1 θ i , 2 F ( I D i ) = g α β g a b θ i , 1 θ i , 2 ( U I D i ) s ˜ i , s k i , 2 = A θ i , 1 θ i , 2 F ( I D i ) g s i = g s i a θ i , 1 θ i , 2 F ( I D i ) = g s ˜ i ,
    where s ˜ i = s i a θ i , 1 θ i , 2 F ( I D i ) . Hence, the above equations indicate that s k i = ( s k i , 1 , s k i , 2 ) is a valid private key of identity I D i .
    Signing Query O s i g n ( I D i , T , m ) : Upon receiving a message m, an identity I D i , and a timestamp T, C issues a query O p k ( I D i ) to obtain a public key p k i = ( p k i , 1 , p k i , 2 , p k i , 3 ) and a triplet ( θ i , 1 , θ i , 2 , θ i , 3 ) . Then, C considers the following two cases:
    (1)
    If F ( I D i ) 0 mod l u , C makes a query O s k ( I D i ) to obtain a private key s k i and then runs the algorithm Sign to generate a signature σ i on m. Finally, C sends σ i to A 2 .
    (2)
    If F ( I D i ) = 0 mod l u , C computes K ( m ) . If K ( m ) = 0 mod l m , C quits the simulation; otherwise, C randomly selects r i , r m Z p and computes Q i = H 1 ( I D i , p k i ) , U I D i , M = H 2 ( m , T ) , and V m . Furthermore, C computes
    σ i , 2 = g r i , σ i , 3 = A θ i , 1 θ i , 2 K ( m ) g r m , h i = H 3 ( m , T , I D i , p k i , σ i , 2 , σ i , 3 , p a r a m ) , σ i , 1 = g α β ( U I D i ) r i A ( L ( m ) h i θ i , 3 ) θ i , 1 θ i , 2 K ( m ) ( ( p k i , 3 ) h i V m ) r m .
    Finally, C sends σ i = ( σ i , 1 , σ i , 2 , σ i , 3 ) to A 2 .
    Let r ˜ m = r m a θ i , 1 θ i , 2 K ( m ) ; then, we have
    σ i , 1 = g α β ( U I D i ) r i A ( L ( m ) h i θ i , 3 ) θ i , 1 θ i , 2 K ( m ) ( ( p k i , 3 ) h i V m ) r m = g α β g a b θ i , 1 θ i , 2 ( g b K ( m ) g L ( m ) g h i θ i , 3 ) a θ i , 1 θ i , 2 K ( m ) ( U I D i ) r i ( ( p k i , 3 ) h i V m ) r m = g α β g a b θ i , 1 θ i , 2 ( ( B K ( m ) g L ( m ) ) ( g θ i , 3 ) h i ) a θ i , 1 θ i , 2 K ( m ) ( U I D i ) r i ( ( p k i , 3 ) h i V m ) r m = g α β g a b θ i , 1 θ i , 2 ( U I D i ) r i ( ( p k i , 3 ) h i V m ) r m a θ i , 1 θ i , 2 K ( m ) = g α β g a b θ i , 1 θ i , 2 ( U I D i ) r i ( ( p k i , 3 ) h i V m ) r ˜ m , σ i , 2 = g r i , σ i , 3 = A θ i , 1 θ i , 2 K ( m ) g r m = g a θ i , 1 θ i , 2 K ( m ) g r m = g r m a θ i , 1 θ i , 2 K ( m ) = g r ˜ m .
    The simulated signature σ i = ( σ i , 1 , σ i , 2 , σ i , 3 ) satisfies the following signature verification equation; thus, σ i is a valid signature on message m:
    e ( σ i , 1 , g ) = e ( g α β g a b θ i , 1 θ i , 2 ( U I D i ) r i ( ( p k i , 3 ) h i V m ) r ˜ m , g ) = e ( g α β , g ) e ( g a b θ i , 1 θ i , 2 , g ) e ( ( U I D i ) r i , g ) e ( ( ( p k i , 3 ) h i V m ) r ˜ m , g ) = e ( g α , g β ) e ( g a θ i , 1 , g b θ i , 2 ) e ( U I D i , g r i ) e ( ( p k i , 3 ) h i V m , g r ˜ m ) = e ( g 2 , g 1 ) e ( p k i , 1 , p k i , 2 ) e ( U I D i , σ i , 2 ) e ( ( p k i , 3 ) h i V m , σ i , 3 ) .
  • Forgery: A 2 eventually outputs a signature σ = ( σ 1 , σ 2 , σ 3 ) on a message m corresponding to an identity I D , a timestamp T , and the targeted public key p k . If F ( I D ) 0 mod p or K ( m ) 0 mod p , C terminates; otherwise, C calculates h = H 3 ( m , T , I D , p k , σ 2 , σ 3 , p a r a m ) and then uses θ and g α β to output the CDH value g a b by calculating
    σ 1 g α β ( σ 2 ) J ( I D ) ( σ 3 ) L ( m ) + h θ = g α β g a b ( U I D ) r I D ( ( p k 3 ) h V m ) r m g α β ( g r I D ) J ( I D ) ( g r m ) L ( m ) + h θ = g a b ( B F ( I D ) g J ( I D ) ) r I D ( ( p k 3 ) h ( B K ( m ) g L ( m ) ) ) r m ( g J ( I D ) ) r I D ( g θ ) r m h ( g r m ) r m L ( m ) = g a b B F ( I D ) r I D B K ( m ) r m ( since F ( I D ) = K ( m ) = 0 mod p ) = g a b .
Here, we discuss the probability of C outputting a correct solution for the CDH instance. C completes the above simulation if all of the following events occur:
  • F ( I D i ) 0 mod l u during private key queries.
  • F ( I D i ) 0 mod l u or K ( m ) 0 mod l m during signing queries.
  • F ( I D ) = 0 mod p and K ( m ) = 0 mod p in the forgery phase.
The probability of C completing the simulation is analogous to that in Theorem 1. We define four independent events, X i , X , Y j , and Y , as follows:
  • X i : F ( I D i ) 0 mod l u for 1 i q s k + q s .
  • X : F ( I D ) = 0 mod p .
  • Y j : K ( m j ) 0 mod l m for 1 j q s .
  • Y : K ( m ) = 0 mod p .
Similar to the probability analysis in Theorem 1, we give the probability of C not aborting as
Pr [ ¬ a b o r t ] = Pr [ i = 1 q s k + q s X i X j = 1 q s Y j Y ] = Pr [ X ] Pr [ i = 1 q s k + q s X i | X ] Pr [ Y ] Pr [ j = 1 q s Y j | Y ] = 1 l u ( n u + 1 ) 1 q s k + q s l u 1 l m ( n m + 1 ) 1 q s l m = 1 16 q s ( q s k + q s ) ( n u + 1 ) ( n m + 1 ) .
Hence, C can solve the given instance of the CDH problem with advantage ε 2 ε 2 16 q s ( q s k + q s ) ( n u + 1 ) ( n m + 1 ) . □
We obtain Theorem 3 by combining Theorems 1 and 2, as follows.
Theorem 3.
In the standard model, our CLS scheme is strongly unforgeable against adaptive chosen-message attacks corresponding to type I and II adversaries under the CDH and CRHF assumptions.
Theorem 4.
Our CLS scheme is resistant to replay attacks.
Proof. 
In replay attacks, the adversary generally initiates two types of attacks [31,32]. One is to directly replay the intercepted message and the corresponding signature, and the other is to modify the timestamp in the signature of the intercepted message and to create a new signature for the message.
In the first type of attack, it is assumed that the adversary replays an intercepted combination of message m, timestamp T, and signature σ generated by an IoT device. Upon receiving this combination { m , T , σ } , the data centre compares the timestamp T in the combination with the current timestamp T . If the value of T T exceeds the threshold δ , the data centre can determine that m in this combination is a replayed message and can discard m. Therefore, the first type of attack has no effect on our CLS scheme. □
Since our CLS scheme satisfies strong unforgeability, the attacker cannot generate a legal signature for any message. Therefore, in the second type of attack, the attacker can only use the existing combination { m , T , σ } to initiate the attack. In the proposed scheme, the timestamp T is bound to the message m, i.e., M = H 2 ( m , T ) . Additionally, the timestamp T is embedded in the parameter h in the form of h = H 3 ( m , T , I D , p k I D , σ 2 , σ 3 , p a r a m ) and is also embedded in the signature σ of the message m in the form of ( p k 3 ) r m h . If the attacker wants to replace T in the signature σ with a new timestamp T , the attacker needs to calculate h = H 3 ( m , T , I D , p k I D , σ 2 , σ 3 , p a r a m ) and ( p k 3 ) r m h . Although an attacker can calculate h and ( p k 3 ) h , the difficulty in calculating r m from ( p k 3 ) r m h is equivalent to solving the DL problem. However, if the attacker does not know r m , then they cannot calculate the correct value ( p k 3 ) r m h . In addition, T must satisfy the conditions H 2 ( m , T ) = H 2 ( m , T ) and H 1 ( m , T ) = H 1 ( m , T ) , which is equivalent to finding a collision of the hash functions H 2 and H 3 . Since the DL problem is unsolvable in reality and the functions H 2 and H 3 are CRHF, the second type of attack does not compromise the security of our CLS scheme. In summary, the proposed CLS scheme can efficiently withstand replay attacks.

6. Application in IoT Environments and Performance Analysis

6.1. System Model

In a CLS scheme for IoT environments, it is very important that data are not modified and that the source of the data is authentic during data transmission. Therefore, we mainly focus on the integrity and authenticity of IoT data in our system while simultaneously reducing the bandwidth, computational cost, and storage overhead for IoT devices. Figure 2 shows our CLS system model for IoT environments, which consists of three entities: PKG, data centre, and IoT device.
  • PKG: This entity is primarily responsible for producing system parameters and computing partial private keys for the data centre and each IoT device. The PKG sends system parameters to all of the entities through a public channel and transmits an individual partial private key to each entity via a secure channel.
  • Data centre: This entity has a strong computing power and storage space; thus, it can check the integrity and authenticity of the data by verifying the signature sent by each IoT device and can store the authentic data for other users to use. Initially, the data centre submits its identity information to the PKG to apply for the corresponding partial private key; it then saves the system parameters and partial private key sent by the PKG.
  • IoT device: This entity equipped with sensors has limited computational and memory resources and limited battery capacity. During the registration of the IoT device, the PKG generates a unique partial private key based on the physical address of each IoT device. After the IoT device is embedded with system parameters and its private key, it signs messages collected from the physical world and sends the corresponding signatures along with messages to the data centre.

6.2. Performance Analysis

In this subsection, we analyze the performance of the proposed CLS scheme. Compared with other cryptographic operations, bilinear pairing and exponentiation are the most time-consuming operations [22,28]; hence, our efficiency analysis mainly emphasizes the computational costs of these two operations. Table 1 and Table 2 compare the performance of our CLS scheme and other related CLS schemes [21,22,23,27,30] without random oracles in terms of private key size, signature length, computational cost, and security. In Table 1, the KeySize and SigSize columns list the sizes of the private key and signature, respectively. The Sign and Verify columns present the computational costs of the algorithms Sign and Verify , respectively. Let P and E represent the execution times of a bilinear pairing and an exponentiation, respectively. Let n u represent the length of an identity, and let | G 1 | and | p | represent the lengths of an element in G 1 and Z p , respectively. In Table 2, the columns Type I, Type II, and Replay attacks show whether the CLS scheme can resist PKR attacks, MKGC attacks, and replay attacks, respectively. The SUF column denotes whether the CLS scheme satisfies a strong unforgeability in the standard model. It should be noted that the key length affects the storage capacity of the IoT device and the data center and that the signature length affects the communication capabilities of the IoT device and the storage capacity of the data center. In addition, the overhead of signature generation and signature verification affect the computing power of the IoT device and the data center, respectively.
From Table 1 and Table 2, the length of the private key in our CLS scheme is 2 | G 1 | , which is the shortest among the six CLS schemes. The size of the signature in the proposed CLS scheme is 3 | G 1 | , which is equivalent to that of the schemes presented in References [22,23,27] but smaller than that of other schemes [21,30]. In the signing phase, our CLS scheme requires three exponentiations, as does Yuan et al.’s scheme [23], but is superior to other schemes [21,22,27,30]. In the verification phase, the computational cost of the proposed CLS scheme is E + 5 P , which is lower than that of the five other CLS schemes. Moreover, the efficiency of the verification process in our CLS scheme can be improved by a pre-calculation. Note that the verification equation for signature legitimacy is as follows:
e ( σ 1 , g ) = e ( g 2 , g 1 ) · e ( p k I D , 1 , p k I D , 2 ) · e ( U I D , σ 2 ) · e ( ( p k I D , 3 ) h V m , σ 3 ) .
Here, e ( g 2 , g 1 ) and e ( p k I D , 1 , p k I D , 2 ) can be pre-computed; thus, the time cost of verification in our CLS scheme can be reduced to one exponentiation and 3 bilinear pairings. Furthermore, only our CLS scheme can resist PKR attacks, MKGC attacks, and replay attacks while satisfying a strong unforgeability.
We also evaluated the performance of the proposed CLS scheme via experiments conducted with the PBC-0.47-VC cryptographic library [50]. The simulation program was run on a laptop equipped with a basic configuration of a 2.50 GHz CPU, 8 GB RAM, and the 64-bit Windows 10 operating system. To obtain faster pairing computation, we selected the Type A curve in the PBC library, which is a super-singular curve y 2 = x 3 + x built with the 512-bit order of the base field. The results of the experiment are presented in Figure 3, Figure 4, Figure 5 and Figure 6.
The IoT device must secretly store its private key; therefore, the size of the private key is important for an IoT device with a limited storage capacity. As shown in Figure 3, the size of the private key in our CLS scheme is 256 bits, which is 92.8% of that in Yuan et al.’s CLS scheme [23]. However, the size of the private key increases linearly with the length of the entity’s identity in Yang et al.’s CLS scheme [30]. For example, if the length n u of the entity’s identity is 100 bits, then the private key size in our CLS scheme is approximately 11% of that in Yang et al.’s CLS scheme [30]. In other words, our CLS scheme has a higher performance in private key length.
Since IoT devices possess limited battery power and communication bandwidth, one of the goals of our CLS scheme is to reduce the communication overhead of IoT devices. The most critical factor affecting communication cost is signature size. Figure 4 shows that the signature size of our CLS scheme and that of Yuan et al. [23] is 384 bits, while the signature size of Yang et al.’s CLS scheme [30] is 532 bits. Hence, the proposed CLS scheme has a lower communication overhead.
Due to the characteristics of IoT devices, such as limited computing and processing power, the computational overhead of generating signatures for IoT devices should be as small as possible. Figure 5 shows that the cost of signature generation in our CLS scheme is almost the same as that in Yuan et al.’s CLS scheme [23] but less than that in Yang et al.’s CLS scheme [30].
The data centre has a strong computation and storage capability to verify the validity of signatures sent by IoT devices. Figure 6 shows that the proposed CLS scheme greatly reduces the computational overhead of signature verification and that its performance is superior to that of the other two schemes [23,30].
A scheme in the random oracle model usually has a higher computational performance, but its security depends on the ideal random oracle. Both our scheme and Yang et al.’s [48] scheme are provable in the standard model, and their security only depends on the difficulty of the associated mathematical problems. Therefore, these two schemes have higher security than other schemes [4,40,41,42,44,46,47]. Our scheme and Yang et al.’s scheme [48] use CLS and SDVPRS respectively to guarantee the integrity and authenticity of data in IoT. We compare the signature generation and verification overhead of two schemes, and the corresponding results are shown in Figure 7 and Figure 8.
From Figure 7, we can see that the computational cost of signature generation in our scheme is lower than that in the scheme of Reference [48]. This is because the signature generation in the scheme of Reference [48] requires an additional bilinear pairing operation. Figure 8 shows that the time consumption of signature verification in the scheme of Reference [48] is lower than ours, but the scheme in Reference [48] does not satisfy the properties of a strong unforgeability and replay attack resistance. As a result, our scheme has a higher security.
In summary, the results of all the above experimental analyses are consistent with those of the theoretical analysis in Table 1. Therefore, we conclude that our CLS scheme is applicable to IoT environments.

7. Conclusions

The IoT is profoundly changing production activities, social management, and public services, but ensuring the integrity and authenticity of data is an important issue for IoT. To solve this problem, a new CLS scheme for IoT environments is presented in this paper. In addition to protecting data integrity and data authenticity, our CLS scheme also reduces the computational and communication costs for IoT devices. The proposed CLS scheme is proven to be strongly unforgeable against adaptive chosen-message attacks under the CDH and CRHF assumptions in the standard model. Additionally, our CLS scheme can withstand replay attacks. Furthermore, the performance comparisons demonstrate that our CLS scheme outperforms the previous CLS schemes without random oracles. The Internet of Vehicles is considered to be one of the most potential areas in IoT and has wide application prospects in the field of intelligent transportation. Compared with ordinary sensors, the vehicle terminal equipment has a more stable power supply and higher computing power and storage space. Hence, our CLS scheme is suitable for the Internet of Vehicles.

Author Contributions

X.Y. wrote the original draft. X.P. conducted security analysis. G.C. and T.L. designed the simulation experiments. M.W. re-edited the draft. C.W. validated the rightness and feasibility of the proposed scheme.

Funding

This research was funded by the National Natural Science Foundation of China under Grant 61662069, the China Postdoctoral Science Foundation under Grant 2017M610817, and the Foundation for Excellent Young Teachers by Northwest Normal University under Grant NWNU-LKQN-14-7.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Yang, Y.; Wu, L.; Yin, G.; Li, L.; Zhao, H. A survey on security and privacy issues in Internet-of-Things. IEEE Internet Things J. 2017, 4, 1250–1258. [Google Scholar] [CrossRef]
  2. Shen, L.; Ma, J.; Liu, X.; Wei, F.; Miao, M. A secure and efficient id-based aggregate signature scheme for wireless sensor networks. IEEE Internet Things J. 2017, 4, 546–554. [Google Scholar] [CrossRef]
  3. Karati, A.; Islam, S.H.; Karuppiah, M. Provably secure and lightweight certificateless signature scheme for IIoT environments. IEEE Trans. Ind. Inform. 2018, 14, 3701–3711. [Google Scholar] [CrossRef]
  4. Yeh, K.H.; Su, C.; Choo, K.K.R.; Chiu, W. A novel certificateless signature scheme for smart objects in the Internet-of-Things. Sensors 2017, 17, 1001. [Google Scholar] [CrossRef] [PubMed]
  5. Conti, M.; Dehghantanha, A.; Franke, K.; Watson, S. Internet of Things security and forensics: Challenges and opportunities. Future Gener. Comput. Syst. 2018, 78, 544–546. [Google Scholar] [CrossRef]
  6. Perlman, R. An overview of PKI trust models. IEEE Netw. 2018, 13, 38–43. [Google Scholar] [CrossRef]
  7. Shamir, A. Identity-based cryptosystems and signature schemes. In Proceedings of the CRYPTO 1984, Santa Barbara, CA, USA, 19–22 August 1984; pp. 47–53. [Google Scholar]
  8. Al-Riyami, S.S.; Paterson, K.G. Certificateless public key cryptography. In Proceedings of the Theory and Application of Cryptology and Information Security, Taipei, Taiwan, 30 November–4 December 2003; pp. 452–473. [Google Scholar]
  9. Yum, D.H.; Lee, P.J. Generic construction of certificateless signature. In Proceedings of the Australasian Conference on Information Security and Privacy, Sydney, Australia, 13–15 July 2004; pp. 200–211. [Google Scholar]
  10. Wan, Z.; Weng, J.; Li, J. Security mediated certificateless signatures without pairing. J. Comput. 2010, 12, 1862–1869. [Google Scholar] [CrossRef]
  11. Xiong, H.; Guan, Z.; Chen, Z.; Li, F. An efficient certificateless aggregate signature with constant pairing computations. Inf. Sci. 2013, 219, 225–235. [Google Scholar] [CrossRef]
  12. He, D.; Tian, M.; Chen, J. Insecurity of an efficient certificateless aggregate signature with constant pairing computations. Inf. Sci. 2014, 268, 458–462. [Google Scholar] [CrossRef]
  13. Chen, Y.C.; Tso, R.; Mambo, M.; Huang, K.; Horng, G. Certificateless aggregate signature with efficient verification. Secur. Commun. Netw. 2015, 13, 2232–2243. [Google Scholar] [CrossRef]
  14. Kang, B.; Wang, M.; Jing, D. An efficient certificateless aggregate signature scheme. Wuhan Univ. J. Nat. Sci. 2017, 22, 165–170. [Google Scholar] [CrossRef]
  15. Wang, L.; Chen, K.; Long, Y.; Wang, H. An efficient pairing-free certificateless signature scheme for resource-limited systems. Sci. China Inf. Sci. 2017, 60, 119102. [Google Scholar] [CrossRef]
  16. Bellare, M.; Rogaway, P. The exact security of digital signatures-How to sign with RSA and Rabin. In Proceedings of the Theory and Applications of Cryptographic Techniques, Konstanz, Germany, 2–6 May 1999; pp. 399–416. [Google Scholar]
  17. Canetti, R.; Goldreich, O.; Halevi, S. The random oracle methodology, revisited. J. ACM 2004, 51, 557–594. [Google Scholar] [CrossRef] [Green Version]
  18. Liu, J.K.; Au, M.H.; Susilo, W. Self-generated-certificate public key cryptography and certificateless signature/encryption scheme in the standard model. In Proceedings of the 2nd ACM Symposium on Information, Computer and Communications Security, Singapore, 20–22 March 2007; pp. 273–283. [Google Scholar]
  19. Xiong, H.; Qin, Z.; Li, F. An improved certificateless signature scheme secure in the standard model. Fundam. Inf. 2008, 88, 193–206. [Google Scholar]
  20. Yuan, Y.; Li, D.; Tian, L.; Zhu, H. Certificateless signature scheme without random oracles. In Proceedings of the Information Security and Assurance, Seoul, Korea, 18–20 August 2009; pp. 31–40. [Google Scholar]
  21. Yu, Y.; Mu, Y.; Wang, G.; Xia, Q.; Yang, B. Improved certificateless signature scheme provably secure in the standard model. IET Inf. Secur. 2012, 6, 102–110. [Google Scholar] [CrossRef]
  22. Hung, Y.H.; Huang, S.S.; Tseng, Y.M.; Tsai, T.T. Certificateless signature with strong unforgeability in the standard model. Informatica 2016, 26, 663–684. [Google Scholar] [CrossRef]
  23. Yuan, Y.; Wang, C. Certificateless signature scheme with security enhanced in the standard model. Inf. Process. Lett. 2014, 114, 492–499. [Google Scholar] [CrossRef]
  24. Tsai, T.T.; Huang, S.S.; Tseng, Y.M. Secure certificateless signature with revocation in the standard model. Math. Probl. Eng. 2014, 2014, 1–16. [Google Scholar] [CrossRef]
  25. Canard, S.; Trinh, V.C. An Efficient certificateless signature scheme in the standard model. In Proceedings of the Information Systems Security, Rome, Italy, 8–9 December 2016; pp. 175–192. [Google Scholar]
  26. Waters, B. Efficient identity-based encryption without random oracles. In Proceedings of the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; pp. 114–127. [Google Scholar]
  27. Pang, L.; Zhao, H.; Zhou, X.; Li, H. Strongly unforgeable and efficient proxy signature scheme with fast revocation secure in the standard model. Int. J. Distrib. Sens. Netw. 2016, 12, 1–12. [Google Scholar] [CrossRef]
  28. Tsai, T.T.; Tseng, Y.M.; Huang, S.S. Efficient strongly unforgeable ID-based signature without random oracles. Informatica 2014, 25, 505–521. [Google Scholar] [CrossRef]
  29. Kwon, S. An identity-based strongly unforgeable signature without random oracles from bilinear pairings. Inf. Sci. 2014, 276, 1–9. [Google Scholar] [CrossRef]
  30. Yang, W.; Weng, J.; Luo, W.; Yang, A. Strongly Unforgeable Certificateless Signature Resisting Attacks from Malicious-But-Passive KGC. Secur. Commun. Netw. 2017, 5704865, 1–8. [Google Scholar] [CrossRef]
  31. Huang, Y.; Zhang, X.; Yu, B. Efficient anti-replay identity-based signature scheme for wireless body area network. J. Cryptol. Res. 2017, 4, 447–457. [Google Scholar]
  32. Pei, H.L.; Shang, T.; Liu, J.W. Secure network coding method merged with timestamp and homomorphic signature. J. China Inst. Commun. 2013, 34, 28–35. [Google Scholar]
  33. Huang, X.; Susilo, W.; Mu, Y.; Zhang, F. On the security of certificateless signature schemes from Asiacrypt 2003. In Proceedings of the Cryptology and Network Security, Xiamen, China, 14–16 December 2005; pp. 13–25. [Google Scholar]
  34. Paterson, K.G.; Schuldt, J.C. Efficient identity-based signatures secure in the standard model. In Proceedings of the Australasian Conference on Information Security and Privacy, Melbourne, Australia, 3–5 July 2006; pp. 207–222. [Google Scholar]
  35. Huang, X.; Mu, Y.; Susilo, W.; Wong, D.S.; Wu, W. Certificateless signature revisited. In Proceedings of the Australasian Conference on Information Security and Privacy, Townsville, Australia, 2–4 July 2007; pp. 308–322. [Google Scholar]
  36. Shim, K.A.; Lee, Y.R. Security pitfalls of the certificateless signature and multi-receiver signcryption schemes. Fund. Inf. 2011, 112, 365–376. [Google Scholar]
  37. Xia, Q.; Xu, C.X.; Yu, Y. Key replacement attack on two certificateless signature schemes without random oracles. Key Eng. Mater. 2010, 439, 1606–1611. [Google Scholar] [CrossRef]
  38. Boneh, D.; Boyen, X. Short signatures without random oracles. In Proceedings of the Theory and Applications of Cryptographic Techniques, Istanbul, Turkey, 13–17 April 2008; pp. 56–73. [Google Scholar]
  39. Pointcheval, D.; Sanders, O. Short randomizable signatures. In Proceedings of the Cryptographers’ Track at the RSA Conference, San Francisco, CA, USA, 29 February–4 March 2016; pp. 111–126. [Google Scholar]
  40. Jia, X.; He, D.; Liu, Q.; Choo, K.K.R. An efficient provably-secure certificateless signature scheme for Internet-of-Things deployment. Ad Hoc Netw. 2018, 71, 78–87. [Google Scholar] [CrossRef]
  41. Li, X.; Wang, H.; Yu, Y.; Qian, C. An IoT data communication framework for authenticity and integrity. In Proceedings of the IEEE/ACM Second International Conference on Internet-of-Things Design and Implementation, Pittsburgh, PA, USA, 18–21 April 2017; pp. 159–170. [Google Scholar]
  42. Frädrich, C.; Pöhls, H.C.; Popp, W.; Rakotondravony, N.; Samelin, K. Integrity and authenticity protection with selective disclosure control in the cloud and IoT. In Proceedings of the International Conference on Information and Communications Security, Singapore, 29 November–2 December 2016; pp. 197–213. [Google Scholar]
  43. Steinfeld, R.; Bull, L.; Zheng, Y. Content extraction signatures. In Proceedings of the International Conference on Information Security and Cryptology, Seoul, Korea, 6–7 December 2001; pp. 285–304. [Google Scholar]
  44. Challa, S.; Wazid, M.; Das, A.K.; Kumar, N.; Reddy, A.G.; Yoon, E.J.; Yoo, K.Y. Secure signature-based authenticated key establishment scheme for future IoT applications. IEEE Access 2017, 5, 3028–3043. [Google Scholar] [CrossRef]
  45. Nyberg, K. Fast accumulated hashing. In Proceedings of the International Workshop on Fast Software Encryption, Cambridge, UK, 21–23 February 1996; pp. 83–87. [Google Scholar]
  46. Yao, X.; Han, X.; Du, X.; Zhou, X. A lightweight multicast authentication mechanism for small scale IoT applications. IEEE Sens. J. 2013, 13, 3693–3701. [Google Scholar] [CrossRef]
  47. Yang, X.; Chen, C.; Ma, T.; Li, Y.; Wang, C. An improved certificateless aggregate signature scheme for vehicular ad-hoc networks. In Proceedings of the IEEE 3rd Advanced Information Technology, Electronic and Automation Control Conference, Chongqing, China, 12–14 October 2018; pp. 2334–2338. [Google Scholar]
  48. Yang, X.D.; Xiao, L.K.; Chen, C.L.; Wang, C.F. A strong designated verifier proxy re-signature scheme for IoT environments. Symmetry 2018, 10, 580. [Google Scholar] [CrossRef]
  49. Au, M.H.; Mu, Y.; Chen, J.; Wong, D.S.; Liu, J.K.; Yang, G. Malicious KGC attacks in certificateless cryptography. In Proceedings of the 2nd ACM symposium on Information, Computer and Communications Security, Singapore, 20–22 March 2007; pp. 302–311. [Google Scholar]
  50. Lynn, B. The Pairing-Based Cryptography Library. Available online: http://crypto.stanford.edu/pbc (accessed on 14 June 2019).
Figure 1. Internet of Things (IoT) applications.
Figure 1. Internet of Things (IoT) applications.
Sensors 19 02692 g001
Figure 2. System model of the proposed certificateless signature (CLS) scheme for IoT.
Figure 2. System model of the proposed certificateless signature (CLS) scheme for IoT.
Sensors 19 02692 g002
Figure 3. A comparison of the private key size.
Figure 3. A comparison of the private key size.
Sensors 19 02692 g003
Figure 4. A comparison of the communication cost.
Figure 4. A comparison of the communication cost.
Sensors 19 02692 g004
Figure 5. A comparison of the signature generation cost.
Figure 5. A comparison of the signature generation cost.
Sensors 19 02692 g005
Figure 6. A comparison of the signature verification cost.
Figure 6. A comparison of the signature verification cost.
Sensors 19 02692 g006
Figure 7. A comparison of the signature generation cost between CLS-based and SDVPRS-based authentication schemes.
Figure 7. A comparison of the signature generation cost between CLS-based and SDVPRS-based authentication schemes.
Sensors 19 02692 g007
Figure 8. A comparison of the signature verification cost between CLS-based and SDVPRS-based authentication schemes.
Figure 8. A comparison of the signature verification cost between CLS-based and SDVPRS-based authentication schemes.
Sensors 19 02692 g008
Table 1. A comparison of the CLS scheme performance.
Table 1. A comparison of the CLS scheme performance.
SchemeKeySizeSigSizeSignVerify
Yu et al. [21] | p | + 2 | G 1 | 4 | G 1 | 7 E E + 5 P
Yuan et al. [23] | p | + 2 | G 1 | 3 | G 1 | 3 E E + 6 P
Pang et al. [27] | p | + 2 | G 1 | 3 | G 1 | 7 E 4 E + 5 P
Huang et al. [22] 3 | G 1 | 3 | G 1 | 5 E 3 E + 6 P
Yang et al. [30] ( 4 + n u ) | p | + 2 | G 1 | | p | + 4 | G 1 | 10 E 3 E + 7 P
Our scheme 2 | G 1 | 3 | G 1 | 3 E E + 3 P
Table 2. A comparison of the security attributes.
Table 2. A comparison of the security attributes.
SchemeType IType IISUFReplay Attacks
Yu et al. [21]NoNoNoNo
Yuan et al. [23]YesYesNoNo
Pang et al. [27]YesYesNoNo
Huang et al. [22]YesNoNoNo
Yang et al. [30]YesYesYesNo
Our schemeYesYesYesYes

Share and Cite

MDPI and ACS Style

Yang, X.; Pei, X.; Chen, G.; Li, T.; Wang, M.; Wang, C. A Strongly Unforgeable Certificateless Signature Scheme and Its Application in IoT Environments. Sensors 2019, 19, 2692. https://0-doi-org.brum.beds.ac.uk/10.3390/s19122692

AMA Style

Yang X, Pei X, Chen G, Li T, Wang M, Wang C. A Strongly Unforgeable Certificateless Signature Scheme and Its Application in IoT Environments. Sensors. 2019; 19(12):2692. https://0-doi-org.brum.beds.ac.uk/10.3390/s19122692

Chicago/Turabian Style

Yang, Xiaodong, Xizhen Pei, Guilan Chen, Ting Li, Meiding Wang, and Caifen Wang. 2019. "A Strongly Unforgeable Certificateless Signature Scheme and Its Application in IoT Environments" Sensors 19, no. 12: 2692. https://0-doi-org.brum.beds.ac.uk/10.3390/s19122692

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop