Next Article in Journal
On the Self-Structuring Antenna
Next Article in Special Issue
A Subspace Approach to Sparse Sampling Based Data Gathering in Wireless Sensor Networks
Previous Article in Journal
Experimentally Derived Feasibility of Optical Camera Communications under Turbulence and Fog Conditions
Previous Article in Special Issue
Discovering Suspicious APT Behaviors by Analyzing DNS Activities
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Reusable Mesh Signature Scheme for Protecting Identity Privacy of IoT Devices

1
School of Computer and Communication Engineering, Changsha University of Science and Technology, Changsha 410114, China
2
Liberal Arts & Convergence Studies, Honam University, Gwangju 62399, Korea
3
Department of Multimedia Engineering, Dongguk University, Seoul 04620, Korea
4
Computer Science Department, Community College, King Saud University, Riyadh 11437, Saudi Arabia
5
Mathematics and Computer Science Department, Faculty of Science, Menoufia University, Shebin-El-kom 32511, Egypt
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(3), 758; https://doi.org/10.3390/s20030758
Submission received: 30 December 2019 / Revised: 23 January 2020 / Accepted: 25 January 2020 / Published: 30 January 2020

Abstract

:
The development of the Internet of Things (IoT) plays a very important role for processing data at the edge of a network. Therefore, it is very important to protect the privacy of IoT devices when these devices process and transfer data. A mesh signature (MS) is a useful cryptographic tool, which makes a signer sign any message anonymously. As a result, the signer can hide his specific identity information to the mesh signature, namely his identifying information (such as personal public key) may be hidden to a list of tuples that consist of public key and message. Therefore, we propose an improved mesh signature scheme for IoT devices in this paper. The IoT devices seen as the signers may sign their publishing data through our proposed mesh signature scheme, and their specific identities can be hidden to a list of possible signers. Additionally, mesh signature consists of some atomic signatures, where the atomic signatures can be reusable. Therefore, for a large amount of data published by the IoT devices, the atomic signatures on the same data can be reusable so as to decrease the number of signatures generated by the IoT devices in our proposed scheme. Compared with the original mesh signature scheme, the proposed scheme has less computational costs on generating final mesh signature and signature verification. Since atomic signatures are reusable, the proposed scheme has more advantages on generating final mesh signature by reconstructing atomic signatures. Furthermore, according to our experiment, when the proposed scheme generates a mesh signature on 10 MB message, the memory consumption is only about 200 KB. Therefore, it is feasible that the proposed scheme is used to protect the identity privacy of IoT devices.

1. Introduction

1.1. Background

The Internet of Things (IoT) is an important environment for processing data at the edge of a network [1], where a huge amount of data is generated in IoT. Thus, we are always surrounded by IoT data in our homes, cars and offices. IoT devices are responsible for acquiring, storing and transferring data, as shown in Figure 1. By collecting, processing and analyzing the data through IoT devices, consumers and organizations can gain valuable insights, the data can further help them make better decisions for the future. However, since data usually comes from multiple IoT devices on different formats, after sensors acquire data from IoT devices, such as smart appliances, smart TVs, and wearable health devices, data must be preprocessed. In IoT, data may be transmitted, saved and retrieved at any time. For example, we build a system to collect location data of any things, such as a things track system. In the system, location data enables you to track your packages, pallets and devices in real time, rather than directing you to specific destinations. Therefore, as IoT devices keep “connected” and communicate with each other by introducing various new ways, IoT enables us to automatically complete certain tasks through some platforms, further making our life easier. Currently many IoT devices are located on the edge of a network and lack of protection measures to resist various attacks. Therefore, these devices are more vulnerable to some attacks, such as device theft, device manipulation, identity theft, data eavesdropping and so on. Once an IoT system is invaded, it may have a serious impact on the security of personal life or enterprise. For example, attackers may track a person by attacking his/her mobile phone; further, when a physical defense system based on IoT devices was successfully attacked in a building, it leads to that the attackers can more easily access some confidential areas in the building. Obviously the current vulnerabilities of IoT system can make attackers easier to implement these attacks. Therefore, when IoT devices process their data, their privacy is easily disclosed. It is very important to protect the privacy of IoT devices when these devices process and transfer data. Thus, the privacy of IoT devices needs to be focused. The privacy protection of IoT devices refers to the privacy protection measures to prevent the unnecessary disclosure of personal information. For the privacy protection technology of IoT devices, many scholars have done a lot of research. The current privacy protection technology mainly focuses on data publishing, data mining, wireless sensor network and other fields. In data publishing field, it is mainly divided into data distortion-based technology, data encryption-based technology and restricted publishing technology, among which the restricted publishing technology is mainly realized by data anonymity. For example, when IoT devices sign and publish their data, and the data anonymity technology may prevent disclosure of their identities. Additionally, IoT devices also need to publish a large amount of data, thus it is also very important for IoT devices to decrease the number of signatures generated by them in the same data. A mesh signature (MS) [2] allows a user to hide his specific identity information in a list of tuples that consist of public key and message when the user signs any message. Thus, mesh signature can only tell us that one of potential signers signed the message. Furthermore, a mesh signature consists of some atomic signatures, where the atomic signatures may be reused. Therefore, a mesh signature is a good choice for protecting the identities of IoT devices when these devices issue their data. For example, in some IoT devices that belong to one network group sign and publish their data through mesh signatures, no one can know the specific identities of the publishing IoT devices, and further the old mesh signatures are easily modified and reconstructed by partly generating some new atomic signatures so as to decrease the number of signatures.
A mesh signature is the extension of a ring signature [3]. Compared with ring signature, mesh signature can modularize the construction of signature, namely a user first must sign or collect enough atomic signatures which are seen as the basic elements of mesh signature, then the user may construct an access structure to mesh the atomic signatures and generate the final mesh signature. Boyen first proposed the notion of mesh signature in the Cryptology-EUROCRYPT, 2007, and a revised version [4] in the Journal of Cryptology, 2015. In the notion of mesh signatures, access structure is used to construct different combinations of atomic signatures; and mesh signature does not disclose that which atomic signature was used, thus atomic signatures can be reusable when a new mesh signature needs to be generated. Compared with a ring signature, a mesh signature has the modularity, which may provide much richer predicate expression of language. In [2,4], according to the context of mesh signature, the mesh signature may use a tree as the access structure to represent the relationship of atomic signatures. In the tree, its interior nodes denote the logic relationships, such as “And”, “Or”, and “Threshold gates”, and its leaf nodes denote the specific atomic signatures. Thus, the construction of mesh signature is similar to another anonymous signature, attribute-based signature (ABS) [5]. Compared with other kind of anonymous signatures (ring signature, attribute-based signature and group signature [6]), the mesh signature consists of some atomic signatures, where the atomic signatures can be reusable. Thus, the merit is very suitable for IoT devices. As IoT devices can generate a large amount of data every day, if each IoT device both needs to sign and then publish its data, then the signing cost is very heavy for itself, which needs to consume a lot of energy. However, for many IoT devices, some publishing data are the same. Thus, if each IoT device may reuse some “old” signatures by itself on the same data, then it will save the signing cost so as to decrease the number of signatures generated by IoT devices. Therefore, for a large amount of data published by the IoT devices, mesh signature is suitably used for publishing the same data.
We have the following example to show that how the structure of mesh signature is used to protect the identities of IoT devices. For example, IoT device 1, IoT device 2 and IoT device 3 belong to a online group at the edge of the network, where the public verification key of IoT device 1 is V K d 1 , the public verification key of IoT device 2 is V K d 2 and the public verification key of IoT device 3 is V K d 3 . These devices both need to send their data to the IoT data collector, as shown in Figure 2. When the IoT device 1 issues a tuple of messages { M s g 1 , M s g 2 , M s g 3 } to the IoT data collector, it does not want to disclose that these messages are only published by itself. Therefore, this device may create such mesh signature, σ 1 = [ V K d 1 : M s g 1 ] a t o m i c s i g n a t u r e 1 A n d [ V K d 2 : M s g 2 ] a t o m i c s i g n a t u r e 2 A n d [ V K d 3 : M s g 3 ] a t o m i c s i g n a t u r e 3 .
Then this device issues these messages by the names of three devices, thus its specific identity can be hidden into these names. Additionally, another feature of mesh signature is that it is modularized and its atomic signatures can be reusable, which is suitable for the same data published by the IoT devices. For example, IoT device 1 may flexibly create a new mesh signature on other messages { M s g 4 , M s g 2 , M s g 5 },
σ 2 = [ V K d 1 : M s g 4 ] a t o m i c s i g n a t u r e 4 A n d [ V K d 2 : M s g 2 ] a t o m i c s i g n a t u r e 2 A n d [ V K d 3 : M s g 5 ] a t o m i c s i g n a t u r e 5 ,
where the a t o m i c s i g n a t u r e 2 that binds to IoT device 2 is reused. As mesh signature has perfect anonymity, it does not disclose any fact that how the two signatures σ 1 and σ 2 are made up as long as the signatures σ 1 and σ 2 are valid.
However, although mesh signatures may be used in many security fields [3,7,8,9,10,11,12,13,14,15,16,17,18,19,20], few researchers focused on the improvement of mesh signatures because of their complexity. Currently the generation of mesh signatures consists of two main steps: (1) generating some atomic signatures; (2) generating a final mesh signature based on previous atomic signatures. Because atomic signatures can be reused, randomization technology is employed so that any adversary cannot know which atomic signatures were reused. Compared with other similar anonymous signature schemes, the generation of mesh signatures is relatively complicated in the existing schemes. In this paper, we focus on improving mesh signatures, where we construct a novel mesh signature scheme for IoT devices.

1.2. Our Contributions

In this paper, we present an improved mesh signature for protecting the identities of IoT devices. Also, we give a syntax of mesh signature in IoT. In this paper, our detailed contributions are as follows:
  • We present a syntax for mesh signature in IoT. Compared with the works of [2,4], we further clearly describe the frame of mesh signature in IoT. Under the proposed syntax, we present a fully anonymous mesh signature scheme for IoT devices, where the IoT devices may be seen as the signers to sign their data and their specific identities can be hidden. Additionally, the atomic signatures on the same data can be reusable so as to decrease the number of signatures generated by IoT devices.
  • In our proposed scheme, we have limitedly defined the access structure of language expression by monotone-span programs, thus the proposed mesh signature can resist the collusion attacks and its access structure still support generalized monotone predicates. Also, under the security frame proposed by [2,4], our proposed scheme is secure in the standard model, where the security of our scheme can be reduced to the CDH assumption. Also, the proposed scheme has the anonymity with enough security to protecting the identities of IoT devices.
  • Compared with the original mesh signature scheme [2], the proposed scheme preserves the original modularity. Although generating atomic signatures in the proposed scheme needs more computational cost, the proposed scheme has less computational costs on generating final mesh signature and signature verification. Since atomic signatures are reusable, the proposed scheme has more advantages on generating final mesh signature by reconstructing atomic signatures. According to our experiment, it is feasible that the proposed scheme is used to protect the identity privacy of IoT devices.

1.3. Organization

The rest of this paper is organized as follows. In Section 2, we discuss the related works about the privacy protection of IoT devices. In Section 3, we review the complexity assumptions and the related technologies on which we build. In Section 4, we show a syntax for MS in IoT. In Section 5, we propose an improved mesh signature scheme for protecting the identities of IoT devices. In Section 6, we analyze the efficiency and security of the proposed scheme. Finally, we draw our conclusions in Section 7.

2. Related Work

Currently, many signature schemes have been used to protect the privacy (identities) of IoT devices. Li [21] proposed an attribute-based signature to receive WiFi beacons and use Doppler Effect and multipath signal to produce signatures. In their scheme, because these generated signatures do not need sensor attachments, the related identities are still anonymous. Karati [1] proposed a secure certificateless signature scheme to protect industrial-IoT Environments. The proposed signature scheme is proved to be secure under bilinear strong Diffie–Hellman (BSDH) assumptions, which can resist the Type-I and Type-II attacks. Furthermore, they analyzed the performance of their scheme, which is superior to other similar schemes. Sun [22] proposed a decentralized multi-authority attribute-based signature scheme for IoT devices. Compared with other similar signature schemes, their proposed scheme has more perfect privacy and can resist authority corruption. Furthermore, their scheme employs an extra cloud server to sign messages so as to decrease the signing cost. Xie [23] proposed a novel group signature based on lattice for anonymous authentication in IoT. In their scheme, a user may dynamically join a network group, and their proposed scheme easily revoke a group membership when the user quits the group. Also, their scheme can effectively resist the frameability attack, where other users cannot forge any user’s signature. Furthermore, their scheme is proved to be secure under lattice problem. Mughal [24] proposed a lightweight shortened signature scheme to secure the communication between devices in human centered IoT. In their scheme, the signing and verification procedures need less costs. Also, for different document protection requirements, their scheme provides the parameter selection function to make signature/verification. Their scheme is enough secure to resist traffic analysis attacks. Additionally, compared with other similar signature schemes, their scheme provides an experimental environment to test that whether their scheme can secure the communication procedure between cell phones (or smart devices). The obtained results show their scheme is effective. Cui [25] also proposed an attribute-based signature to protect industrial-IoT Environments under constrained resources. Their scheme employs a server to decrease the signing and verification cost, where a signing procedure can be immediately ceased when a signer is revoked. Li [26] proposed an effective ring signcryption scheme to protect the data transmission procedure from sensors to servers in IoT under public key infrastructure. They proved that their scheme is indistinguishable under adaptive chosen ciphertext attacks and unforgeable under adaptive chosen message attacks, whose security can be reduced to the computational Diffie–Hellman (CDH) assumption.
Additionally, many new anonymous signature schemes were also proposed, where the group signature [27,28,29,30,31], ring signature [32,33,34] and attribute-based signature [35,36,37] all belong to anonymous signatures. Libert et al. [28] proposed an effective group signature. Their proposed scheme has linear size public keys, linear size revocation list and constant signature size. Furthermore, the verification time is constant. We [31] proposed a traceable identity-based group signature, which employs verifier-local revocation to revoke users. Under the proposed security frame, the security of our scheme can be reduced to the CDH assumption. Yuen et al. [32] proposed a linkable ring signature, which is based on the logic operations, such as “and”, “or” and “threshold”. In their scheme, a sub-linear size O ( d · n ) signature can be generated, where d is a threshold and n is the number of potential signers in a ring. Liu et al. [33] also proposed a perfect anonymous linkable ring signature scheme, where the generated signature size is still linear with the number of possible signers in a ring. Au et al. [34] proposed a novel identity-based linkable ring signature scheme, which is revocable-iff-linked. Kaafarani et al. [35] proposed some traceable attribute-based signatures, which are decentralized. Their schemes provide anonymity under adaptive chosen-ciphertext attack. We [37] proposed an attribute-based signature, which supports monotone predicates. Compared with other similar schemes, our scheme is efficient by decreasing the signing and verification cost. Boyen first proposed the original mesh signature in [2], which may be seen as the extension of ring signature. Compared with other kind of anonymous signatures, the most advantage of mesh signature is that it can modularize the construction of signature and provide much richer predicate expression of language. In 2015, Boyen proposed a revised version in [4]. He considered that the construction of mesh signature is more flexible than that of ring signature, thus they proposed the notion of mesh signature, in which the access structure is used to construct different combinations of atomic signatures; and mesh signature does not disclose that which atomic signature was used, thus atomic signatures can be reusable when a new mesh signature needs to be generated. However, as the modularity of mesh signature is open to the construction of access structure of language expression, original mesh signature [2,4] has a security weakness that this scheme cannot satisfy the strict unforgeability because multiple illegal signers may collusively pool their obtained atomic signatures together and then generate final mesh signature which none of them could produce.

3. Preliminaries

3.1. Bilinear Maps

Let G 1 and G 2 be groups of prime order q and g be a generator of G 1 . We say G 2 has an admissible bilinear map, e : G 1 × G 1 G 2 if the following two conditions hold. The map is bilinear; for all a, b, we have e g a , g b = e g , g a · b . The map is non-degenerate; we must have that e g , g 1 .

3.2. Computational Diffie–Hellman Assumption

Definition 1 (Computational Diffie–Hellman (CDH) Problem).
Let G 1 be a group of prime order q and g be a generator of G 1 ; for all ( g , g a , g b ) G 1 , with a , b Z q , the CDH problem is to compute g a · b .
Definition 2.
The ( , ε ) -CDH assumption holds if no ℏ-time algorithm can solve the CDH problem with probability at least ε.

3.3. Monotone-Span Programs

Let Υ : { 0 , 1 } n { 0 , 1 } be a monotone boolean function. A monotone span program [5] for Υ over a field F is an l × t matrix Λ with entries in F , along with a labeling function ϖ : [ l ] [ n ] that associates each row of Λ with an input variable of Υ , that, for every ( x 1 , x 2 …… x n ) { 0 , 1 } n , satisfies the following:
Υ x 1 , x n = 1 η F 1 × l : η · Λ = 1 , 0 , 0 0   a n d   i : x ϖ ( i ) = 0 η i = 0 ;
in other words, Υ ( x 1 , x 2 …… x n ) = 1 if and only if the rows of Λ indexed by { i x ϖ ( i ) = 1 } span the vector [ 1 , 0 , 0 0 ] , where we call l the length and t the width of the span program, and l + t the size of the span program.

4. A Syntax for MS in IoT

In this section, we present a syntax for mesh signature in IoT, where each IoT device is seen as a signer, they need to issue their data to the IoT data collector. Intuitively, a mesh signature is the combination of some atomic signatures, which satisfies the condition that the monotone boolean expression Υ over access structure (or expression structure) is true. Therefore, in our proposed syntax we set that the monotone boolean expression Υ is associated with a list of tuples that consist of public key and message and its value is true if one IoT device possesses some corresponding atomic signatures on the verified messages under the public verification keys, as shown in Figure 3.
In Figure 3, when one IoT device belonging to a network group needs to issue its data set to the IoT data collector, the whole language expression E x p r e s s i o n is represented by the form E x p r e s s i o n : : = { L a g 1 OP L a g 2 OP L a g l } , where L a g i is sub-expression belongs to the whole expression, OP denotes the operation on the sub-expressions, l is the number of involved IoT devices belonging to the same network group (or the number of atomic clauses in a mesh structure). The more detailed and generalized form is as follows:
E x p r e s s i o n : : = { L a g 1 OP L a g 2 OP L a g l }
= And { L a g 1 , L a g 2 L a g m 1 }
| Or { L a g 1 , L a g 2 L a g m 2 }
| Threshold t , m 3 { L a g 1 , L a g 2 L a g m 3 } ,
where we set l = m 1 + m 2 + m 3 . Then we consider the monotone boolean expression Υ over access structure is true only if Υ ( L a g 1 , L a g 2 L a g l ) = 1 . Thus, for the previous-mentioned example, σ 1 = [ V K d 1 : M s g 1 ] a t o m i c s i g n a t u r e 1 A n d [ V K d 2 : M s g 2 ] a t o m i c s i g n a t u r e 2 A n d [ V K d 3 : M s g 3 ] a t o m i c s i g n a t u r e 3 , the form of the atomic signature [ V K i : M s g i ] is set to L a g i , which means this “ M s g i ” is signed under V K i .
Definition 3.
Improved Mesh signature in IoT: Let MS = (System-Setup, Generate-Key, Mesh-Sign, Mesh-Verify) be a mesh signature scheme in IoT. In MS, all detailed algorithms are as follows:
(1) 
System-Setup: The authority system runs the randomized algorithm, and inputs a security parameter 1 k . In addition, the algorithm outputs all related public system parameters M R K and a master system private key m s k on the parameter 1 k .
(2) 
Generate-Key: The authority system runs the randomized algorithm, and inputs ( M R K , m s k ), and then outputs the IoT device’s private/public key pair ( s k i , p k i ) to the device i, where i { 1 , 2 , n } (we set that n is the number of the IoT devices).
(3) 
Mesh-Sign: The randomized algorithm generates a mesh signature. The IoT device i issues its message set (data) M { 0 , 1 } * and then signs the message set, thus the device i runs the algorithm: (a) the algorithm inputs ( M R K , s k i , P K _ L i s t , M ), and then outputs a monotone boolean expression Υ and the atomic signatures σ i ; (b) the algorithm inputs ( M R K , s k i , σ i , Υ), and then outputs a mesh signature Φ, where P K _ L i s t is a list of all the public keys of the devices involved with this signing; (c) the algorithm run by the device i sends the message set M , the boolean expression Υ and the mesh signature Φ to the IoT data collector.
(4) 
Mesh-Verify: The IoT data collector verifies the standard mesh signature Φ on Υ and M . The IoT data collector runs the deterministic algorithm, and inputs ( M R K , P K _ L i s t , M , Υ, Φ), and then outputs the result, a c c e p t or r e j e c t .

5. Improved Mesh Signature Scheme for IoT Devices

In the section, we propose an improved mesh signature scheme for protecting the identities of IoT devices. Currently the generation of mesh signatures consists of two main steps: (1) generating some atomic signatures; (2) generating a final mesh signature based on previous atomic signatures. Because atomic signatures can be reused, in our construction the randomization technology is also employed so that any adversary cannot know which atomic signatures were reused. Compared with the original mesh signature [2,4], we have limitedly defined the access structure of language expression by monotone-span programs, thus improved mesh signature can still support generalized monotone predicates over access structure. Let MS = (System-Setup, Generate-Key, Mesh-Sign, Mesh-Verify) be a mesh signature scheme in IoT. In MS, all detailed algorithms are described as follows (shown in Figure 4):
(1) 
MS.System-Setup: The system runs this setup algorithm, and inputs the parameter 1 k (used as the security level). Also, we set that G 1 and G 2 are the groups of prime order q, g is a generator of G 1 , and that e : G 1 × G 1 G 2 denotes the bilinear map. In addition, we set that H : { 0 , 1 } * Z 1 k · q denotes one hash function and it can be used to output integers in Z 1 k · q . Additionally, we assume that the monotone span programs related to claim-predicates have their width at most t m a x in our construction.
Then the following parameters are outputted in the system. The algorithm randomly chooses a Z q and sets g 1 = g a . Five group elements y, f, ϑ , ψ and ϖ G 1 are randomly picked. Also, the algorithm generates a t m a x -length vector Ψ = ( u i ) , whose element u i is randomly picked from G 1 . Finally the algorithm outputs the public parameters M P K = ( G 1 , G 2 , e, g, g 1 , y, f, ϑ , ψ , ϖ , Ψ ), where m s k = a is a master private key in the system.
(2) 
MS.Generate-Key: The system runs the algorithm and then generates IoT device’s private/public key pair. For the device i, the algorithm inputs ( M R K , m s k ), and then it randomly picks a i , 0 , a i , 1 Z q , sets s k i , 0 = a i , 0 and computes s k i , 1 = f m s k · y a i , 1 = f a · y a i , 1 , p k i , 0 = g a i , 0 and p k i , 1 = g a i , 1 , where we set s k i = ( s k i , 0 , s k i , 1 ) as the private key of the device i and p k i = ( p k i , 0 , p k i , 1 ) as the public key of the device i.
(3) 
MS.Mesh-Sign: The IoT device i signs a message set M { 0 , 1 } * , where the message set M = { m s g 1 , m s g 2 , , m s g l } . The device i runs the algorithm, and then inputs ( M R K , s k i , P K _ L i s t , M ) where P K _ L i s t is a list of the public keys of the IoT devices involved with this signing, and then the following steps are finished:
  • atomic signature
    The algorithm randomly chooses z i Z q and a vector ( r i , k ) with r i , k Z q and k [ 1 , 2 l ] , and then computes the atomic signatures as follows:
    -
    Compute x i , 0 , k = g s k i , 0 l · ϖ r i , k , x i , 1 , k = g r i , k , with k [ 1 , 2 , , l ] ;
    -
    For the messages m s g 1 , m s g 2 , , m s g l , the algorithm computes v k = H ( m s g k | | p k k ) with k [ 1 , 2 , l ] , where we assume the signing needs to involve l IoT devices, p k k is the public key of the k-th device with p k k P K _ L i s t ;
    -
    For V = ( v 1 , v 2 , , v l ) , generate the claim-predicate Υ which satisfies Υ ( V ) = 1 , and then transform the claim-predicate Υ to its corresponding monotone span program Λ Z q l × t m a x ;
    -
    Compute s k , j = ψ r i , k · ( u j ) v k · r i , k with k [ 1 , 2 , l ] and j [ 1 , 2 , t m a x ] ;
    -
    The algorithm outputs the atomic signatures σ i = ( x i , 0 , k ) , ( x i , 1 , k ) , ( s k , j ) , where k [ 1 , 2 , l ] and j [ 1 , 2 , t m a x ] .
    Remark. 
    As one of the atomic signatures, we can denote
    σ i , k = x i , 0 , k , x i , 1 , k , ( s k , 1 , s k , 2 , , s k , t m a x ) ,
    with k [ 1 , 2 , l ] .
  • mesh signature
    The algorithm randomly chooses b , c , t , d 0 , d 1 , , d l Z q , and then computes the mesh signature as follows:
    -
    Compute X 0 = k = 1 l ( x i , 0 , k ) · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0 , X 1 = g d 0 + b , X 2 = g d 0 · k = 1 l ( x i , 1 , k ) = g d 0 + k = 1 l r i , k , X 3 = p k i , 1 · g c , X 4 = y a i , 0 · y c , X 5 , k = x i , 1 , k · g d 0 + t = g r i , k + d 0 + t with k [ 1 , 2 , l ] ;
    -
    Compute the vector η = η k related to the satisfying assignment V = ( v 1 , v 2 , , v l ) , where η k Z q with k [ 1 , 2 , l ] ;
    -
    Compute I k = g d k · ( X 1 ) η k v k with k [ 1 , 2 , l ] , Q j = s k i , 1 · y c · g c · X 0 · k = 1 l ψ ( d 0 + t ) · Λ k , j · k = 1 l [ ( s k , j ) Λ k , j · ( u j ) ( d 0 + t ) · Λ k , j · v k · ( u j ) d k · Λ k , j · v k ] with j [ 1 , 2 , t m a x ] ;
    -
    The algorithm finally generates and outputs a mesh signature
    Φ = { X 1 , X 2 , X 3 , X 4 , X 5 , 1 , , X 5 , l , I 1 , , I l , Q 1 , , Q t m a x } . Then the algorithm sends the message set M , the boolean expression Υ and the mesh signature Φ to the IoT data collector.
(4) 
MS.Mesh-Verify: The IoT data collector verifies the mesh signature Φ on the monotone boolean expression Υ and the message set M . The algorithm run by the IoT data collector inputs ( M R K , P K _ L i s t , M , Υ , Φ ), and then the following steps are finished (the complete computation is shown in Appendix A.3):
  • For the message set M = { m s g 1 , m s g 2 , m s g l } , the algorithm computes v k = H ( m s g k | | p k k ) with k [ 1 , 2 , l ] , where p k k is the public key of the k-th device with p k k P K _ L i s t .
  • For V = ( v 1 , v 2 , , v l ) , the algorithm transforms the claim-predicate Υ to the monotone span program Λ Z q l × t m a x , where Υ ( V ) = 1 .
  • The algorithm computes e f , g 1 · e y , X 3 · e g , X 4 · e ϑ H ( M ) · ψ , X 1 · e ϖ , X 2 · k = 1 l e ( ψ Λ k , j · u j v k · Λ k , j , X 5 , k ) · k = 1 l e ( u j v k · Λ k , j , I k )
    = e Q j , g · e u j , X 1 , j = 1 e Q j , g , j > 1
    If the equation is correct, the algorithm outputs a c c e p t , otherwise it outputs r e j e c t .

6. Analysis of Our Scheme

6.1. Security Analysis

In our proposed mesh signature scheme, we need to consider the two notions “one-more unforgeability” and “full anonymity”. First, any IoT device cannot forge a new mesh signature on any corrupted or fresh information. Second, the anonymity of IoT device will be preserved even if some atomic signatures are reused to generate a new mesh signature, namely mesh signature and its atomic signatures must be anonymous, where we need to use the technology of randomization to randomize the generated signatures. Under the security frame proposed by [2,4], our scheme is proven to be unforgeable and anonymous.
Theorem 1.
Our proposed scheme is (ℏ, ε, q k , q a , q m )-unforgeable, where we assume that the ( , ε )-CDH assumption can hold in G 1 , and:
ε = ( 1 q k q ) · [ 1 q a + q a · ( 1 1 q ) l ] · ( 1 q m q ) · ε , = + O ( q k · [ 3 · C e x p + C m u l ] + q a · [ ( 2 · l · t m a x + 3 ) · C e x p + ( l · t m a x + 1 ) · C m u l ] + q m · [ ( 4 · l · t m a x + 3 · l + 13 ) · C e x p + ( 4 · l · t m a x + 4 · l + 8 ) · C m u l ] ) ,
q k denotes the queries number of “Generate-Key” oracle, q a denotes the queries number of “Atomic Signature” oracle, q m denotes the queries number of “Mesh Signature” oracle, C m u l denotes the time of a multiplication in G 1 , C e x p denotes the time of an exponentiation in G 1 .(This proof is provided to Appendix A.1)
Theorem 2.
Our proposed scheme is (ℏ, ε, q k , q a , q m )-anonymous, where we assume that the ( , ε )-CDH assumption can hold in G 1 , and:
ε = ( 1 q k 1 q ) · ( 1 q k 2 q ) · [ 1 q a 1 + q a 1 · ( 1 1 q ) l ] · [ 1 q a 2 + q a 2 · ( 1 1 q ) l ] · ( 1 q m 1 q ) · ( 1 q m 2 q ) · ( ε 1 2 ) , = + O ( ( q k 1 + q k 2 ) · [ 3 · C e x p + C m u l ] + ( q a 1 + q a 2 ) · [ ( 2 · l · t m a x + 3 ) · C e x p + ( l · t m a x + 1 ) · C m u l ] + ( q m 1 + q m 2 ) · [ ( 4 · l · t m a x + 3 · l + 13 ) · C e x p + ( 4 · l · t m a x + 4 · l + 8 ) · C m u l ] ) ,
q k 1 and q k 2 denote the queries numbers of “Generate-Key” oracle in the query phases 1 and 2 respectively, q a 1 and q a 2 denote the queries numbers of “Atomic Signature” oracle in the query phases 1 and 2 respectively, q m 1 and q m 2 denote the queries numbers of “Mesh Signature” oracle in the query phases 1 and 2 respectively, C m u l denotes the time of a multiplication in G 1 , C e x p denotes the time of an exponentiation in G 1 .(This proof is provided to Appendix A.2)

6.2. Efficiency Analysis

In the proposed scheme, the length of the atomic signatures is ( 2 · l + l · t m a x ) · | G 1 | , the length of the mesh signature is ( 4 + 2 · l + t m a x ) · | G 1 | , where | G 1 | is the size of element in G 1 . Because x i , 0 , k , x i , 1 , k , ψ r i , k in s k , j may be pre-computed (To make our analysis simple, we set the time of integer and hash computations is ignored.), signing a message set for the atomic signatures only computes at most l · t m a x exponentiations in G 1 and l · t m a x multiplications in G 1 . Also, because X 1 , X 2 , X 3 , X 4 , X 5 , k , g d k in I k , k = 1 l ( x i , 0 , k ) · ψ d 0 + b · ϖ d 0 in X 0 , s k i , 1 · y c · g c in Q j may be pre-computed, signing a message set for the mesh signature only computes at most 4 · l · t m a x + l + 1 exponentiations in G 1 and 4 · l · t m a x + l + 1 multiplications in G 1 . In the verify algorithm, because the value e ( f , g 1 ) can be pre-computed and cached, the verification needs ( 2 · l + 1 ) · t m a x + 5 pairing computations, 2 · l · t m a x exponentiations in G 1 , 2 · l · t m a x + 5 multiplications in G 1 . Furthermore, we compare our proposed scheme with the original mesh signature scheme [2] in detail. Table 1 shows the performance comparison according to our theoretical analysis (In this comparison, we assume that the order of assigned structure tree in [2] is set to t m a x .), where C m u l denotes the time of a multiplication in G 1 , C e x p denotes the time of an exponentiation in G 1 and C p a i r denotes the time of a pairing computation. According to Table 1, we can know although generating atomic signatures in our scheme needs more computational cost, our scheme has less computational costs on generating final mesh signature and signature verification. Since atomic signatures are reusable, our scheme has more advantages on generating final mesh signature by reconstructing atomic signatures.
Additionally, we make some experiments to test and evaluate the actual performance of our scheme. In the tests, we employ the paring based cryptography (PBC) library to simulate our scheme, where the experimental computer is under Intel Core i5 2.7 GHz and RAM 8GB. In our experiments, we use the Type A parings in PBC library to construct the parings, where the lengths of the parameters p and q are respectively set as 160 bits and 512 bits. Furthermore, the parameter l is set to {1, 10, 20, 30, 40, 50}, and then we test our scheme and the original scheme [2] 10 times on average under the different settings of l. Table 2 shows the actual performance comparison of our scheme and the original scheme. Similar to our theoretical analysis, our scheme has less computational costs on generating final mesh signature and signature verification, compared with the original scheme.
Since our scheme is used to protect the identity privacy of IoT devices, we further test our memory consumption through signing different sizes of messages. Figure 5 shows the change of memory consumption by signing different sizes of messages, where the sizes of messages are set to 100 KB, 1 MB, 10 MB, 20 MB, 50 MB respectively. In Figure 5, when our scheme generates a mesh signature on 10 MB message, the memory consumption is only about 200 KB. Therefore, it is feasible that our scheme is used to protect the identity privacy of IoT devices.

7. Conclusions

IoT devices are responsible for acquiring, storing, and transferring data. Currently, many IoT devices are located on the edge of a network and lack of protection measures to resist various attacks [38,39,40,41,42,43]. Therefore, these devices are more vulnerable to some attacks, such as device theft, device manipulation, identity theft, data eavesdropping and so on. Thus, the privacy of IoT devices needs to be focused. It is very important to protect the identities of IoT devices when these devices process and transfer data [44,45,46,47,48,49,50,51,52]. Then we present a syntax about mesh signature in IoT. Under the proposed syntax, we present a fully anonymous mesh signature scheme for IoT devices, where the IoT devices may be seen as the signers to sign their data and their specific identities can be hidden. In our proposed scheme, the generation of mesh signatures consists of two main steps: (1) generating some atomic signatures; (2) generating a final mesh signature based on previous atomic signatures. Additionally, as IoT devices can generate a large amount of data every day, if each IoT device both needs to sign and then publish its data, then the signing cost is very heavy for itself. Thus, if each IoT device reuses some “old” signatures by itself on the same data, it will save the signing cost so as to decrease the number of signatures generated by IoT devices. In our proposed scheme, the atomic signatures on the same data can be reusable so as to decrease the number of signatures. Although the atomic signatures can be reused, the randomization technology is employed so that any adversary cannot know which atomic signatures were reused. Thus, the merit is very suitable for IoT devices. Furthermore, in our proposed scheme we have limitedly defined the access structure of language expression by monotone-span programs, thus the proposed mesh signature can resist the collusion attacks and its access structure still support generalized monotone predicates. Compared with the original mesh signature scheme, our proposed scheme has its advantage, which has linear size length of signature.

Author Contributions

Conceptualization, K.G. and W.Z.; methodology, S.-J.L., A.T. and P.K.S.; formal analysis, K.G., S.L., A.T. and Z.A.-M.; writing—original draft preparation, K.G. and W.Z.; writing—review and editing, Z.A.-M., A.T. and S.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research is funded by the National Natural Science Foundation of China (No. 61504013, No. 61772280, No. 61772454, No.61811530332, No.61811540410) and the Hunan Provincial Natural Science Foundation (No. 2018JJ2445). The authors extend their appreciation to the Deanship of Scientific Research at King Saud University, Saudi Arabia for funding this work through Research Group No.RG-1439-088. Se-Jung Lim is the corresponding author.

Acknowledgments

The authors extend their appreciation to the Deanship of Scientific Research at King Saud University, Saudi Arabia for funding this work through Research Group No.RG-1439-088.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A.

Appendix A.1. Unforgeability

Proof (Proof of Theorem 1).
We set that MS is our proposed mesh signature scheme. Also we set that A is an adversary with the tuple (, ε , q k , q a , q m ) that can make attack to MS. To make interaction with the adversary A , an algorithm B is constructed. For (g, g a , g b ) G 1 , B may make interaction with A to compute g a · b . Then the algorithm B can be assumed to solve the CDH problem with probability at least ε and in time at most , which is contrary to the ( , ε )-CDH assumption. Therefore, we may build a simulation procedure as follows:
Setup: The parameter 1 k is inputted. Also, we set that G 1 and G 2 are the groups of prime order q, g is a generator of G 1 , and that e : G 1 × G 1 G 2 denotes the bilinear map. In addition, we set that H : { 0 , 1 } * Z 1 k · q denotes one hash function and it can be used to output integers in Z 1 k · q . Additionally, we assume that the monotone span programs related to claim-predicates have their width at most t m a x in our construction.
Then the following parameters are outputted. The algorithm sets g 1 = g a and f = g b with a , b Z q ( B does not know a and b), chooses ω , β , ι , φ , ϱ Z q , and then sets y = f ω = g β , ϑ = g ι , ψ = g φ and ϖ = g ϱ . In addition, the algorithm chooses j Z q for all js with j [ 1 , 2 t m a x ] , and then sets u j = g j for all js with j [ 1 , 2 t m a x ] . Then this system outputs all the parameters M R K = ( G 1 , G 2 , e, g, g 1 , y, f, ϑ , ψ , ϖ , Ψ = ( u j ) ), where m s k = a is seen as the master key of the system.
Queries: A makes the following key and signature queries, then B gives its answers as follows:
  • Generate-Key(): Given the public parameters M R K , for the device i, the algorithm randomly chooses a i , 0 , a i , 1 Z q , sets s k i , 0 = a i , 0 and computes s k i , 1 = y a i , 1 , p k i , 0 = g a i , 0 and p k i , 1 = g a i , 1 · g 1 1 ω , where s k i = ( s k i , 0 , s k i , 1 ) is the private key of the device i and p k i = ( p k i , 0 , p k i , 1 ) is the public key of the device i, and then the private/public key pair is passed to the adversary A .
    Remark. 
    To the correctness of s k i and p k i , they may be changed as follows:
    s k i , 1 = y a i , 1 = f a · f a · y a i , 1 = f a · f ω · a ω · y a i , 1 = f a · y a ω · y a i , 1 = f a · y a i , 1 a ω , p k i , 1 = g a i , 1 · g 1 1 ω = g a i , 1 · g a ω = g a i , 1 a ω
    Setting a i , 1 = a i , 1 a ω , then s k i , 1 = f a · y a i , 1 and p k i , 1 = g a i , 1 . Therefore, s k i and p k i is a valid private/public key pair.
    If a i , 1 a ω = 0 mod q, the above procedure cannot occur and aborts. Otherwise, a private/public key pair is outputted to A .
  • Atomic-Sign(): Given the public parameters M R K , the public key list P K _ L i s t and the message M , where P K _ L i s t is a list of the public keys of the devices involved with this query (with respect to the device i), the algorithm finishes the following steps:
    -
    The algorithm randomly chooses s k i , 0 , z i Z q and a vector ( r i , k ) with r i , k Z q and k [ 1 , 2 l ] , computes x i , 0 , k = g s k i , 0 l · ϖ r i , k and x i , 1 , k = g r i , k with k [ 1 , 2 l ] , and then saves s k i , 0 where s k i , 0 = a i , 0 ;
    -
    The message M is divided to m s g 1 , m s g 2 , m s g l ; then the algorithm computes v k = H ( m s g k | | p k k ) with k [ 1 , 2 l ] , where we assume the signing needs to involve l devices, p k k is the public key of the k-th device with p k k P K _ L i s t ;
    -
    For V = ( v 1 , v 2 , v l ) , generate the claim-predicate Υ which satisfies Υ ( V ) = 1 , and then transform the claim-predicate Υ to the monotone span program Λ Z q l × t m a x ;
    -
    Compute s k , j = ψ r i , k · ( u j ) v k · r i , k with k [ 1 , 2 l ] and j [ 1 , 2 t m a x ] ;
    -
    The algorithm outputs the atomic signatures σ a = ( x i , 0 , k ) , ( x i , 1 , k ) , ( s k , j ) to A , where k [ 1 , 2 l ] and j [ 1 , 2 t m a x ] .
    If v k = H ( m s g k | | p k k ) = 0 mod q with k [ 1 , 2 l ] , then the above procedure cannot ocur and aborts. Otherwise, the atomic signatures are passed to the adversary A .
  • Mesh-Sign(): Given the public parameters M R K , the atomic signatures σ a = ( x i , 0 , k ) , ( x i , 1 , k ) , ( s k , j ) on the public key list P K _ L i s t and the message M (with respect to the device i), and the monotone boolean expression Υ , the algorithm finishes the following steps:
    -
    Choose b , c , t , d 0 , d 1 , d l , a i , 1 Z q randomly, compute X 0 = k = 1 l ( x i , 0 , k ) · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0 , X 1 = g d 0 + b , X 2 = g d 0 · k = 1 l ( x i , 1 , k ) = g d 0 + k = 1 l r i , k , X 3 = g a i , 1 · g 1 1 ω · g c , X 4 = y s k i , 0 · y c according to the corresponding s k i , 0 , X 5 , k = x i , 1 , k · g d 0 + t = g r i , k + d 0 + t with k [ 1 , 2 l ] ;
    -
    Compute the vector η = η k related to the satisfying assignment V = ( v 1 , v 2 , v l ) , where η k Z q with k [ 1 , 2 l ] ;
    -
    Compute I k = g d k · ( X 1 ) η k v k with k [ 1 , 2 l ] , Q j = y a i , 1 · y c · g c · X 0 · k = 1 l ψ ( d 0 + t ) · Λ k , j · k = 1 l [ ( s k , j ) Λ k , j · ( u j ) ( d 0 + t ) · Λ k , j · v k · ( u j ) d k · Λ k , j · v k ] with j [ 1 , 2 . t m a x ] ;
    -
    The algorithm finally generates and outputs a mesh signature
    σ m = { X 1 , X 2 , X 3 , X 4 , X 5 , 1 , X 5 , l , I 1 , I l , Q 1 , Q t m a x } .
    Similarly, setting a i , 1 = a i , 1 a ω , σ m is a valid mesh signature. If a i , 1 a ω = 0 mod q, the above procedure cannot occur and aborts. Otherwise, a mesh signature σ m is outputted to A .
Forgery: If B finally does not abort, then A can return its forgery with probability at least ε , ( M R K , P K _ L i s t * , M * , Υ * , Φ * ), where Υ * can be converted to the corresponding monotone span program Λ * Z q l × t max , the vector η * = η k * is related to the satisfying assignment V * = ( v 1 * , v 2 * , v l * ) with k [ 1 , 2 l ] . It succeeds if
(a) 
a c c e p t Mesh-Verify( M R K , P K _ L i s t * , M * , Υ * , Φ * );
(b) 
A did not query Generate-Key on any public key belongs to P K _ L i s t * , and it did not query Mesh-Sign on the related inputs P K _ L i s t * , M * and Υ * .
Then we may get the following:
Φ * = { X 1 * , X 2 * , X 3 * , X 4 * , X 5 , 1 * , X 5 , 2 * , X 5 , l * , I 1 * , I 2 * , I l * , Q 1 * , Q 2 * , Q t m a x * } ,
where Υ * ( V * ) = 1 , and
  • X 1 * = g d 0 * + b * ,
    X 2 * = g d 0 * + k = 1 l r i , k * ,
    X 3 * = g a i , 1 * + c * ,
    X 4 * = y a i , 0 * + c * ,
    X 5 , k * = g r i , k * + d 0 * + t * ,
    I k * = g d k * · ( X 1 * ) η k * v k * ,
    Q j * = f a · y a i , 1 * + c * · g c * + a i , 0 * · ϑ ( d 0 * + b * ) · H ( M * ) · ψ d 0 * + b * · ϖ d 0 * + k = 1 l r i , k * · k = 1 l ψ ( d 0 * + t + r i , k * ) · Λ k , j * · k = 1 l ( u j ) ( d 0 * + t * + r i , k * ) · Λ k , j * · v k * · k = 1 l ( u j ) d k * · Λ k , j * · v k * .
Finally, the algorithm B computes and outputs
Q j * ( X 3 * ) β · ( X 4 * ) 1 β · ( X 1 * ) ι · H ( M * ) · ( X 1 * ) φ · ( X 2 * ) ϱ · k = 1 l ( X 5 , k * ) φ · Λ k , j * · k = 1 l ( X 5 , k * ) j · Λ k , j * · v k * · k = 1 l g j · d k * · Λ k , j * · v k * = f a = g a · b ,
which solves the given CDH problem.
Then, we compute the probability that B does not abort. For the complete simulation procedure of B , we must assure that all key queries can have a i , 1 a ω 0 mod q, all atomic signature queries can have v k = H ( m s g k | | p k k ) 0 mod q for all k [ 1 , 2 l ] , and all mesh signature queries can have a i , 1 a ω 0 mod q. Therefore, if B will not abort, then we must assure that the following three conditions hold:
(a) 
a i , 1 a ω 0 mod q in related key queries;
(b) 
v k = H ( m s g k | | p k k ) 0 mod q for all k [ 1 , 2 l ] in related atomic signature queries;
(c) 
a i , 1 a ω 0 mod q in related mesh signature queries.
To make our analysis easier to understand, we define the events E j , R j and T j as
E j : a i , 1 a ω 0 mod q, with j = 1 , 2 q k , q k denotes the queries number of “Generate-Key” oracle;
R j : v k = H ( m s g k | | p k k ) 0 mod q for all k [ 1 , 2 l ] , with j= 1 , 2 q a , q a denotes the queries number of “Atomic Signature” oracle;
T j : a i , 1 a ω 0 mod q, with j = 1 , 2 q m , q m denotes the queries number of “Mesh Signature” oracle.
The probability that B is completely simulated is Pr ( n o t _ a b o r t ) = Pr j = 1 q k E j j = 1 q a R j j = 1 q m T j . It is easy to see that the events j = 1 q k E j , j = 1 q a R j , j = 1 q m T j are independent. Then we may compute
Pr ( j = 1 q k E j ) = 1 Pr ( j = 1 q k ¬ E j ) = 1 q k · 1 q = 1 q k q ;
Pr ( j = 1 q a R j ) = 1 Pr ( j = 1 q a ¬ R j ) = 1 q a · [ 1 ( 1 1 k 1 k · q ) l ] = 1 q a + q a · ( 1 1 q ) l ;
Pr ( j = 1 q m T j ) = 1 Pr ( j = 1 q m ¬ T j ) = 1 q m · 1 q = 1 q m q .
Therefore,
Pr ( n o t _ a b o r t ) = Pr j = 1 q k E j j = 1 q a R j j = 1 q m T j
= Pr ( j = 1 q k E j ) · Pr ( j = 1 q a R j ) · Pr ( j = 1 q m T j )
= ( 1 q k q ) · [ 1 q a + q a · ( 1 1 q ) l ] · ( 1 q m q ) .
Therefore, we can get that ε = ( 1 q k q ) · [ 1 q a + q a · ( 1 1 q ) l ] · ( 1 q m q ) · ε .
If B is completely simulated, then A generates a valid mesh signature forgery with probability at least ε , and B may be used to compute g a · b . The time cost of B mainly includes the time of the exponentiations and multiplications in queries. We assume that the time of other lightweight computations is ignored (such as integer addition, integer multiplication and hash computation), then the time cost of B is
= + O ( q k · [ 3 · C e x p + C m u l ] + q a · [ ( 2 · l · t m a x + 3 ) · C e x p + ( l · t m a x + 1 ) · C m u l ] + q m · [ ( 4 · l · t m a x + 3 · l + 13 ) · C e x p + ( 4 · l · t m a x + 4 · l + 8 ) · C m u l ] ) .
Thus, Theorem 1 follows. □

Appendix A.2. Anonymity

Proof (Proof of Theorem 2).
(This proof is similar to that of Theorem 1, the difference between them is to add the queries of phase 2.)
We set that MS is our proposed mesh signature scheme. Also we set that A is an adversary with the tuple (, ε , q k , q a , q m ) that can make attack to MS. To make interaction with the adversary A , an algorithm B is constructed. For (g, g a , g b ) G 1 , B may make interaction with A to compute g a · b . Then the algorithm B can be assumed to solve the CDH problem with probability at least ε and in time at most , which is contrary to the ( , ε )-CDH assumption. Therefore, we may build a simulation procedure as follows:
1. Setup: The parameter 1 k is inputted. Also, we set that G 1 and G 2 are the groups of prime order q, g is a generator of G 1 , and that e : G 1 × G 1 G 2 denotes the bilinear map. In addition, we set that H : { 0 , 1 } * Z 1 k · q denotes one hash function and it can be used to output integers in Z 1 k · q . Additionally, we assume that the monotone span programs related to claim-predicates have their width at most t m a x in our construction.
Then the following parameters are outputted. The algorithm sets g 1 = g a and f = g b with a , b Z q ( B does not know a and b), chooses ω , β , ι , φ , ϱ Z q , and then sets y = f ω = g β , ϑ = g ι , ψ = g φ and ϖ = g ϱ . In addition, the algorithm chooses j Z q for all js with j [ 1 , 2 t m a x ] , and then sets u j = g j for all js with j [ 1 , 2 t m a x ] . Then this algorithm outputs all the parameters M R K =( G 1 , G 2 , e, g, g 1 , y, f, ϑ , ψ , ϖ , Ψ = ( u j ) ), where m s k = a is seen as the master key of the system.
2. Queries Phase 1: A makes the following key and signature queries, then B gives its answers as follows:
  • Generate-Key(): Given the public parameters M R K , for the device i, the algorithm randomly chooses a i , 0 , a i , 1 Z q , sets s k i , 0 = a i , 0 and computes s k i , 1 = y a i , 1 , p k i , 0 = g a i , 0 and p k i , 1 = g a i , 1 · g 1 1 ω , where s k i = ( s k i , 0 , s k i , 1 ) is the private key of the device i and p k i = ( p k i , 0 , p k i , 1 ) is the public key of the device i, and then the private/public key pair is passed to the adversary A . Similarly, setting a i , 1 = a i , 1 a ω , then s k i , 1 = f a · y a i , 1 and p k i , 1 = g a i , 1 . Therefore, s k i and p k i is a valid private/public key pair.
    If a i , 1 a ω = 0 mod q, the above procedure cannot occur and aborts. Otherwise, a private/public key pair is outputted to A .
  • Atomic-Sign(): Given the public parameters M R K , the public key list P K _ L i s t and the message M , where P K _ L i s t is a list of the public keys of the devices involved with this query (with respect to the device i), the algorithm finishes the following steps:
    -
    The algorithm randomly chooses s k i , 0 , z i Z q and a vector ( r i , k ) with r i , k Z q and k [ 1 , 2 l ] , computes x i , 0 , k = g s k i , 0 l · ϖ r i , k and x i , 1 , k = g r i , k with k [ 1 , 2 l ] , and then saves s k i , 0 where s k i , 0 = a i , 0 ;
    -
    The message M is divided to m s g 1 , m s g 2 , m s g l ; then the algorithm computes v k = H ( m s g k | | p k k ) with k [ 1 , 2 l ] , where we assume the signing needs to involve l devices, p k k is the public key of the k-th device with p k k P K _ L i s t ;
    -
    For V = ( v 1 , v 2 , v l ) , generate the claim-predicate Υ which satisfies Υ ( V ) = 1 , and then transform the claim-predicate Υ to the monotone span program Λ Z q l × t m a x ;
    -
    Compute s k , j = ψ r i , k · ( u j ) v k · r i , k with k [ 1 , 2 l ] and j [ 1 , 2 t m a x ] ;
    -
    The algorithm outputs the atomic signatures σ a = ( x i , 0 , k ) , ( x i , 1 , k ) , ( s k , j ) to A , where k [ 1 , 2 l ] and j [ 1 , 2 t m a x ] .
    If v k = H ( m s g k | | p k k ) = 0 mod q with k [ 1 , 2 l ] , then the above procedure cannot occur and will abort; otherwise the atomic signatures are passed to the adversary A .
  • Mesh-Sign(): Given the public parameters M R K , the atomic signatures σ a = ( x i , 0 , k ) , ( x i , 1 , k ) , ( s k , j ) on the public key list P K _ L i s t and the message M (with respect to the device i), and the monotone boolean expression Υ , the algorithm finishes the following steps:
    -
    Choose b , c , t , d 0 , d 1 , d l , a i , 1 Z q randomly, compute X 0 = k = 1 l ( x i , 0 , k ) · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0 , X 1 = g d 0 + b , X 2 = g d 0 · k = 1 l ( x i , 1 , k ) = g d 0 + k = 1 l r i , k , X 3 = g a i , 1 · g 1 1 ω · g c , X 4 = y s k i , 0 · y c according to the corresponding s k i , 0 , X 5 , k = x i , 1 , k · g d 0 + t = g r i , k + d 0 + t with k [ 1 , 2 l ] ;
    -
    Compute the vector η = η k related to the satisfying assignment V = ( v 1 , v 2 , v l ) , where η k Z q with k [ 1 , 2 l ] ;
    -
    Compute I k = g d k · ( X 1 ) η k v k with k [ 1 , 2 l ] , Q j = y a i , 1 · y c · g c · X 0 · k = 1 l ψ ( d 0 + t ) · Λ k , j · k = 1 l [ ( s k , j ) Λ k , j · ( u j ) ( d 0 + t ) · Λ k , j · v k · ( u j ) d k · Λ k , j · v k ] with j [ 1 , 2 . t m a x ] ;
    -
    The algorithm finally generates and outputs a mesh signature
    σ m = { X 1 , X 2 , X 3 , X 4 , X 5 , 1 , X 5 , l , I 1 , I l , Q 1 , Q t m a x } .
    Similarly, setting a i , 1 = a i , 1 a ω , σ m is a valid mesh signature. If a i , 1 a ω = 0 mod q, the above procedure cannot occur and aborts. Otherwise, a mesh signature σ m is passed to A .
3. Challenge: The adversary A sends its forgeries ( M R K , P K _ L i s t * { p k 0 * } { p k 1 * } , M * , Υ * , Φ * ) to the challenger. The following conditions are satisfies:
(a) 
The adversary did not make query to Generate-Key on p k 0 * (and p k 1 * );
(b) 
The adversary did not make query to Atomic-Sign on p k 0 * (and p k 1 * );
(c) 
The adversary did not make query to Mesh-Sign on p k 0 * (and p k 1 * ).
The challenger randomly chooses a bit x { 0 , 1 } , and then the following is outputted as
σ * M e s h - S i g n ( M R K , s k x * , P K _ L i s t * { p k 0 * } { p k 1 * } , M ) to A .
4. Queries Phase 2: A makes the following key and signature queries, then B gives its answers as follows:
  • Generate-Key(): Given the public parameters M R K , for the device i, the algorithm randomly chooses a i , 0 , a i , 1 Z q , sets s k i , 0 = a i , 0 and computes s k i , 1 = y a i , 1 , p k i , 0 = g a i , 0 and p k i , 1 = g a i , 1 · g 1 1 ω , where s k i = ( s k i , 0 , s k i , 1 ) is the private key of the device i and p k i = ( p k i , 0 , p k i , 1 ) is the public key of the device i, and then the private/public key pair is passed to the adversary A . Similarly, setting a i , 1 = a i , 1 a ω , then s k i , 1 = f a · y a i , 1 and p k i , 1 = g a i , 1 . Therefore, s k i and p k i is a valid private/public key pair.
    If a i , 1 a ω = 0 mod q, the above procedure cannot occur and aborts. Otherwise, a private/public key pair is outputted to A .
  • Atomic-Sign(): Given the public parameters M R K , the public key list P K _ L i s t and the message M , where P K _ L i s t is a list of the public keys of the devices involved with this query (with respect to the device i), the algorithm finishes the following steps:
    -
    The algorithm randomly chooses s k i , 0 , z i Z q and a vector ( r i , k ) with r i , k Z q and k [ 1 , 2 , l ] , computes x i , 0 , k = g s k i , 0 l · ϖ r i , k and x i , 1 , k = g r i , k with k [ 1 , 2 , l ] , and then saves s k i , 0 where s k i , 0 = a i , 0 ;
    -
    The message M is divided to m s g 1 , m s g 2 , , m s g l ; then the algorithm computes v k = H ( m s g k | | p k k ) with k [ 1 , 2 , l ] , where we assume the signing needs to involve l devices, p k k is the public key of the k-th device with p k k P K _ L i s t ;
    -
    For V = ( v 1 , v 2 , , v l ) , generate the claim-predicate Υ which satisfies Υ ( V ) = 1 , and then transform the claim-predicate Υ to the monotone span program Λ Z q l × t m a x ;
    -
    Compute s k , j = ψ r i , k · ( u j ) v k · r i , k with k [ 1 , 2 , l ] and j [ 1 , 2 , t m a x ] ;
    -
    The algorithm outputs the atomic signatures σ a = ( x i , 0 , k ) , ( x i , 1 , k ) , ( s k , j ) to A , where k [ 1 , 2 , l ] and j [ 1 , 2 , t m a x ] .
    If v k = H ( m s g k | | p k k ) = 0 mod q with k [ 1 , 2 , l ] , the above procedure cannot be occur and will abort; otherwise the atomic signatures are passed to the adversary A .
  • Mesh-Sign(): Given the public parameters M R K , the atomic signatures σ a = ( x i , 0 , k ) , ( x i , 1 , k ) , ( s k , j ) on the public key list P K _ L i s t and the message M (with respect to the device i), and the monotone boolean expression Υ , the algorithm finishes the following steps:
    -
    Choose b , c , t , d 0 , d 1 , , d l , a i , 1 Z q randomly, compute X 0 = k = 1 l ( x i , 0 , k ) · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0 , X 1 = g d 0 + b , X 2 = g d 0 · k = 1 l ( x i , 1 , k ) = g d 0 + k = 1 l r i , k , X 3 = g a i , 1 · g 1 1 ω · g c , X 4 = y s k i , 0 · y c according to the corresponding s k i , 0 , X 5 , k = x i , 1 , k · g d 0 + t = g r i , k + d 0 + t with k [ 1 , 2 , l ] ;
    -
    Compute the vector η = η k related to the satisfying assignment V = ( v 1 , v 2 , , v l ) , where η k Z q with k [ 1 , 2 , l ] ;
    -
    Compute I k = g d k · ( X 1 ) η k v k with k [ 1 , 2 , l ] , Q j = y a i , 1 · y c · g c · X 0 · k = 1 l ψ ( d 0 + t ) · Λ k , j · k = 1 l [ ( s k , j ) Λ k , j · ( u j ) ( d 0 + t ) · Λ k , j · v k · ( u j ) d k · Λ k , j · v k ] with j [ 1 , 2 , . t m a x ] ;
    -
    The algorithm finally generates and outputs a mesh signature
    σ m = { X 1 , X 2 , X 3 , X 4 , X 5 , 1 , , X 5 , l , I 1 , , I l , Q 1 , , Q t m a x } .
    Similarly, setting a i , 1 = a i , 1 a ω , σ m is a valid mesh signature. If a i , 1 a ω = 0 mod q, the above procedure cannot occur and aborts. Otherwise, a mesh signature σ m is passed to A .
5. Guess: If B finally does not abort, then the adversary A can output its result x { 0 , 1 } with probability at least ε and succeeds if x = x . Then we may get the following:
Φ * = { X 1 * , X 2 * , X 3 * , X 4 * , X 5 , 1 * , X 5 , 2 * , , X 5 , l * , I 1 * , I 2 * , , I l * , Q 1 * , Q 2 * , , Q t m a x * } ,
where Υ * ( V * ) = 1 , and
  • X 1 * = g d 0 * + b * ,
    X 2 * = g d 0 * + k = 1 l r i , k * ,
    X 3 * = g a i , 1 * + c * ,
    X 4 * = y a i , 0 * + c * ,
    X 5 , k * = g r i , k * + d 0 * + t * ,
    I k * = g d k * · ( X 1 * ) η k * v k * ,
    Q j * = f a · y a i , 1 * + c * · g c * + a i , 0 * · ϑ ( d 0 * + b * ) · H ( M * ) · ψ d 0 * + b * · ϖ d 0 * + k = 1 l r i , k * · k = 1 l ψ ( d 0 * + t + r i , k * ) · Λ k , j * · k = 1 l ( u j ) ( d 0 * + t * + r i , k * ) · Λ k , j * · v k * · k = 1 l ( u j ) d k * · Λ k , j * · v k * .
Therefore, the algorithm B computes and outputs
Q j * ( X 3 * ) β · ( X 4 * ) 1 β · ( X 1 * ) ι · H ( M * ) · ( X 1 * ) φ · ( X 2 * ) ϱ · k = 1 l ( X 5 , k * ) φ · Λ k , j * · k = 1 l ( X 5 , k * ) j · Λ k , j * · v k * · k = 1 l g j · d k * · Λ k , j * · v k * = f a = g a · b ,
which solves the given CDH problem.
Then we compute the probability that B does not abort. For the complete simulation procedure of B , we must assure that all key queries can have a i , 1 a ω 0 mod q in related queries Phases 1 and 2, all atomic signature queries can have v k = H ( m s g k | | p k k ) 0 mod q for all k [ 1 , 2 , , l ] in related Queries Phases 1 and 2, and all mesh signature queries can have a i , 1 a ω 0 mod q in related Queries Phases 1 and 2. Therefore, if B will not abort, then we must assure that the following three conditions hold:
(a) 
a i , 1 a ω 0 mod q in the related key queries of Queries Phases 1 and 2;
(b) 
v k = H ( m s g k | | p k k ) 0 mod q for all k [ 1 , 2 , , l ] in the related atomic signature queries of Queries Phases 1 and 2;
(c) 
a i , 1 a ω 0 mod q in the related mesh signature queries of Queries Phases 1 and 2.
To make our analysis easier to understand, we define the following events E j 1 , R j 1 , T j 1 , E j 2 , R j 2 and T j 2 as
E j 1 : a i , 1 a ω 0 mod q, with j 1 = 1 , 2 , , q k 1 , q k 1 denotes the queries number of “Generate-Key” oracle in related Queries Phase 1;
R j 1 : v k = H ( m s g k | | p k k ) 0 mod q for all k [ 1 , 2 , , l ] , with j 1 = 1 , 2 , , q a 1 , q a 1 denotes the queries number of “Atomic Signature” oracle in related Queries Phase 1;
T j 1 : a i , 1 a ω 0 mod q, with j 1 = 1 , 2 , , q m 1 , q m 1 denotes the queries number of “Mesh Signature” oracle in related Queries Phase 1;
E j 2 : a i , 1 a ω 0 mod q, with j 2 = 1 , 2 , , q k 2 , q k 2 denotes the queries number of “Generate-Key” oracle in related Queries Phase 2;
R j 2 : v k = H ( m s g k | | p k k ) 0 mod q for all k [ 1 , 2 , , l ] , with j 2 = 1 , 2 , , q a 2 , q a 2 denotes the queries number of “Atomic Signature” oracle in related Queries Phase 2;
T j 2 : a i , 1 a ω 0 mod q, with j 2 = 1 , 2 , , q m 2 , q m 2 denotes the queries number of “Mesh Signature” oracle in related Queries Phase 2.
Therefore, the probability that B is completely simulated is
Pr ( n o t _ a b o r t ) = Pr j 1 = 1 q k 1 E j 1 j 1 = 1 q a 1 R j 1 j 1 = 1 q m 1 T j 1 j 2 = 1 q k 2 E j 2 j 2 = 1 q a 2 R j 2 j 2 = 1 q m 2 T j 2 .
It is easy to see that the events j 1 = 1 q k 1 E j 1 , j 1 = 1 q a 1 R j 1 , j 1 = 1 q m 1 T j 1 , j 2 = 1 q k 2 E j 2 , j 2 = 1 q a 2 R j 2 and j 2 = 1 q m 2 T j 2 are independent. Then we may compute
Pr ( j 1 = 1 q k 1 E j 1 ) = 1 Pr ( j 1 = 1 q k 1 ¬ E j 1 ) = 1 q k 1 · 1 q = 1 q k 1 q ;
Pr ( j 1 = 1 q a 1 R j 1 ) = 1 Pr ( j 1 = 1 q a 1 ¬ R j 1 ) = 1 q a 1 · [ 1 ( 1 1 k 1 k · q ) l ] = 1 q a 1 + q a 1 · ( 1 1 q ) l ;
Pr ( j 1 = 1 q m 1 T j 1 ) = 1 Pr ( j 1 = 1 q m 1 ¬ T j 1 ) = 1 q m 1 · 1 q = 1 q m 1 q ;
Pr ( j 2 = 1 q k 2 E j 2 ) = 1 Pr ( j 2 = 1 q k 2 ¬ E j 2 ) = 1 q k 2 · 1 q = 1 q k 2 q ;
Pr ( j 2 = 1 q a 2 R j 2 ) = 1 Pr ( j 2 = 1 q a 2 ¬ R j 2 ) = 1 q a 2 · [ 1 ( 1 1 k 1 k · q ) l ] = 1 q a 2 + q a 2 · ( 1 1 q ) l ;
Pr ( j 2 = 1 q m 2 T j 2 ) = 1 Pr ( j 2 = 1 q m 2 ¬ T j 2 ) = 1 q m 2 · 1 q = 1 q m 2 q .
Therefore,
Pr ( n o t _ a b o r t ) = Pr j 1 = 1 q k 1 E j 1 j 1 = 1 q a 1 R j 1 j 1 = 1 q m 1 T j 1 j 2 = 1 q k 2 E j 2 j 2 = 1 q a 2 R j 2 j 2 = 1 q m 2 T j 2
= ( 1 q k 1 q ) · ( 1 q k 2 q ) · [ 1 q a 1 + q a 1 · ( 1 1 q ) l ] · [ 1 q a 2 + q a 2 · ( 1 1 q ) l ] · ( 1 q m 1 q ) · ( 1 q m 2 q ) .
Therefore, we can get that ε = ( 1 q k 1 q ) · ( 1 q k 2 q ) · [ 1 q a 1 + q a 1 · ( 1 1 q ) l ] · [ 1 q a 2 + q a 2 · ( 1 1 q ) l ] · ( 1 q m 1 q ) · ( 1 q m 2 q ) · ( ε 1 2 ) .
If B is completely simulated, then A generates a valid mesh signature forgery with probability at least ε , and B may be used to compute g a · b . The time cost of B mainly includes the time of the exponentiations and multiplications in queries. We assume that the time of other lightweight computations is ignored, then the time cost of B is
= + O ( ( q k 1 + q k 2 ) · [ 3 · C e x p + C m u l ] + ( q a 1 + q a 2 ) · [ ( 2 · l · t m a x + 3 ) · C e x p + ( l · t m a x + 1 ) · C m u l ] + ( q m 1 + q m 2 ) · [ ( 4 · l · t m a x + 3 · l + 13 ) · C e x p + ( 4 · l · t m a x + 4 · l + 8 ) · C m u l ] ) .
Thus, Theorem 2 follows. □

Appendix A.3. Correctness

In the proposed scheme, the mesh signature is
Φ = { X 1 , X 2 , X 3 , X 4 , X 5 , 1 , , X 5 , l , I 1 , , I l , Q 1 , , Q t m a x } ,
where
  • X 0 = k = 1 l ( x i , 0 , k ) · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0
    = k = 1 l ( g s k i , 0 l · ϖ r i , k ) · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0
    = g s k i , 0 · ϖ k = 1 l r i , k · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0
    = g a i , 0 · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0 + k = 1 l r i , k ,
    X 1 = g d 0 + b ,
    X 2 = g d 0 · k = 1 l ( x i , 1 , k ) = g d 0 + k = 1 l r i , k ,
    X 3 = p k i , 1 · g c ,
    X 4 = y a i , 0 · y c ,
    X 5 , k = x i , 1 , k · g d 0 + t = g r i , k + d 0 + t ,
    I k = g d k · ( X 1 ) η k v k ,
    Q j = s k i , 1 · y c · g c · X 0 · k = 1 l ψ ( d 0 + t ) · Λ k , j · k = 1 l [ ( s k , j ) Λ k , j · ( u j ) ( d 0 + t ) · Λ k , j · v k · ( u j ) d k · Λ k , j · v k ]
    = f a · y a i , 1 · y c · g c · g a i , 0 · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0 + k = 1 l r i , k · k = 1 l ψ ( d 0 + t ) · Λ k , j · k = 1 l [ ( s k , j ) Λ k , j · ( u j ) ( d 0 + t ) · Λ k , j · v k · ( u j ) d k · Λ k , j · v k ]
    = f a · y a i , 1 + c · g c + a i , 0 · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0 + k = 1 l r i , k · k = 1 l ψ ( d 0 + t ) · Λ k , j · k = 1 l [ ( ψ r i , k · ( u j v k · r i , k ) ) Λ k , j · ( u j ) ( d 0 + t ) · Λ k , j · v k · ( u j ) d k · Λ k , j · v k ]
    = f a · y a i , 1 + c · g c + a i , 0 · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0 + k = 1 l r i , k · k = 1 l ψ ( d 0 + t ) · Λ k , j · k = 1 l ψ r i , k · Λ k , j · k = 1 l ( u j ) v k · r i , k · Λ k , j · k = 1 l ( u j ) ( d 0 + t ) · Λ k , j · v k · k = 1 l ( u j ) d k · Λ k , j · v k
    = f a · y a i , 1 + c · g c + a i , 0 · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0 + k = 1 l r i , k · k = 1 l ψ ( d 0 + t + r i , k ) · Λ k , j · k = 1 l ( u j ) ( d 0 + t + r i , k ) · Λ k , j · v k · k = 1 l ( u j ) d k · Λ k , j · v k .
Therefore, we have that e f , g 1 · e y , X 3 · e g , X 4 · e ϑ H ( M ) · ψ , X 1 · e ϖ , X 2 · k = 1 l e ( ψ Λ k , j · u j v k · Λ k , j , X 5 , k ) · k = 1 l e ( u j v k · Λ k , j , I k )
= e f , g a · e y , g a i , 1 + c · e g , y c + a i , 0 · e ϑ H ( M ) · ψ , g d 0 + b · e ϖ , g d 0 + k = 1 l r i , k · k = 1 l e ( ψ Λ k , j · u j v k · Λ k , j , g r i , k + d 0 + t ) · k = 1 l e ( u j v k · Λ k , j , g d k · ( X 1 ) η k v k )
= e f a · y a i , 1 + c · g c + a i , 0 · ϑ ( d 0 + b ) · H ( M ) · ψ d 0 + b · ϖ d 0 + k = 1 l r i , k · k = 1 l ψ ( r i , k + d 0 + t ) · Λ k , j · k = 1 l ( u j ) ( r i , k + d 0 + t ) · Λ k , j · v k · k = 1 l ( u j ) d k · Λ k , j · v k , g · k = 1 l e ( u j η k · Λ k , j , X 1 )
= e Q j , g · k = 1 l e ( u j η k · Λ k , j , X 1 ) , when j = 1 , we have that k = 1 l Λ k , j · η k = 1 , so
e f , g 1 · e y , X 3 · e g , X 4 · e ϑ H ( M ) · ψ , X 1 · e ϖ , X 2 · k = 1 l e ( ψ Λ k , j · u j v k · Λ k , j , X 5 , k ) · k = 1 l e ( u j v k · Λ k , j , I k )
= e Q j , g · e ( u j , X 1 ) ; when j > 1 , we have that k = 1 l Λ k , j · η k = 0 , so e f , g 1 · e y , X 3 · e g , X 4 · e ϑ H ( M ) · ψ , X 1 · e ϖ , X 2 · k = 1 l e ( ψ Λ k , j · u j v k · Λ k , j , X 5 , k ) · k = 1 l e ( u j v k · Λ k , j , I k )
= e Q j , g .

References

  1. Karati, A.; Islam, S.H.; Karuppiah, M. Provably Secure and Lightweight Certificateless Signature Scheme for IIoT Environments. IEEE Trans. Ind. Inf. 2018, 14, 3701–3711. [Google Scholar] [CrossRef]
  2. Boyen, X. Mesh Signatures-How to Leak a Secret with Unwitting and Unwilling Participants. In Advances in Cryptology—EUROCRYPT 2007; Springer-Verlag: Berlin/Heidelberg, Germany, 2007. [Google Scholar]
  3. Rivest, R.; Shamir, A.; Tauman, Y. How to leak a secret. In Asiacrypt 2001, LNCS 2248; Boyd, C., Ed.; Springer: Berlin/Heidelberg, Germany, 2001; pp. 552–565. [Google Scholar]
  4. Boyen, X. Unconditionally Anonymous Ring and Mesh Signatures. J. Cryptol. 2016, 29, 729–774. [Google Scholar] [CrossRef]
  5. Maji, H.K.; Prabhakaran, M.; Rosulek, M. Attribute-Based Signatures, Topics in Cryptology-CT-RSA 2011, LNCS 6558; Springer-Verlag: Berlin/Heidelberg, Germany, 2011; pp. 376–392. [Google Scholar]
  6. Chaum, D.; van Heyst, E. Group Signatures. In Eurocrypt’91, LNCS 547; Springer: Berlin/Heidelberg, Germany, 1991; pp. 257–265. [Google Scholar]
  7. Liu, J.K.; Wei, V.K.; Wong, D.S. Linkable spontaneous anonymous group signature for ad hoc groups. In ACISP 2004: Information Security and Privacy; Springer: Berlin/Heidelberg, Germany, 2004; pp. 325–335. [Google Scholar]
  8. Chow, S.S.M.; Liu, J.K.; Wong, D.S. Robust receipt-free election system with ballot secrecy and verifieability. NDSS 2008, 8, 81–94. [Google Scholar]
  9. Tsang, P.P.; Wei, V.K. Short linkable ring signatures for e-voting, e-cash and attestation. In ISPEC 2005: Information Security Practice and Experience; Springer: Berlin/Heidelberg, Germany, 2005; pp. 48–60. [Google Scholar]
  10. Susilo, W.; Mu, Y. Non-Interactive Deniable Ring Authentication. In ICISC 2003: Information Security and Cryptology—ICISC 2003; Springer: Berlin/Heidelberg, Germany, 2004; pp. 386–401. [Google Scholar]
  11. Laguillaumie, F.; Vergnaud, D. Multi-designated Verifiers Signatures. In ICICS 2004, Volume 3269 of Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; pp. 495–507. [Google Scholar]
  12. Gu, K.; Wu, N.; Yin, B.; Jia, W. Secure Data Query Framework for Cloud and Fog Computing. IEEE Trans. Netw. Serv. Manag. 2019. [Google Scholar] [CrossRef]
  13. Gu, K.; Wu, N.; Yin, B.; Jia, W. Secure Data Sequence Query Framework Based on Multiple Fogs. IEEE Trans. Netw. Serv. Manag. 2019. [Google Scholar] [CrossRef]
  14. Gu, K.; Wang, K.; Yang, L. Traceable Attribute-Based Signature. J. Inf. Secur. Appl. 2019, 49, 102400. [Google Scholar] [CrossRef]
  15. Gu, K.; Dong, X.; Wang, L. Efficient Traceable Ring Signature Scheme without Pairings. Adv. Math. Commun. 2019. [Google Scholar] [CrossRef] [Green Version]
  16. Yu, F.; Liu, L.; Xiao, L.; Li, K.; Cai, S. A robust and fixed-time zeroing neural dynamics for computing time-variant nonlinear equation using a novel nonlinear activation function. Neurocomputing 2019, 350, 108–116. [Google Scholar] [CrossRef]
  17. Yu, F.; Liu, L.; He, B.; Huang, Y.; Shi, C.; Cai, S.; Song, Y.; Du, S.; Wan, Q. Analysis and FPGA Realization of a Novel 5D Hyperchaotic Four-Wing Memristive System, Active Control Synchronization, and Secure Communication Application. Complexity 2019, 2019, 4047957. [Google Scholar] [CrossRef] [Green Version]
  18. Yu, F.; Zhang, Z.; Liu, L.; Shen, H.; Huang, H.; Shi, C.; Cai, S.; Song, Y.; Du, S.; Xu, Q. Secure communication scheme based on a new 5D multistable four-wing memristive hyperchaotic system with disturbance inputs. Complexity 2020, 2020, 5859273. [Google Scholar] [CrossRef]
  19. Chen, Y.; Wang, J.; Xia, R.; Zhang, Q.; Cao, Z.; Yang, K. The visual object tracking algorithm research based on adaptive combination kernel. J. Ambient Intell. Humaniz. Comput. 2019, 10, 4855–4867. [Google Scholar] [CrossRef]
  20. Li, W.; Chen, Z.; Gao, X.; Liu, W.; Wang, J. Multi-Model Framework for Indoor Localization under Mobile Edge Computing Environment. IEEE Internet Things J. 2019, 6, 4844–4853. [Google Scholar] [CrossRef]
  21. Li, Y.; Zhu, T. Gait-Based Wi-Fi Signatures for Privacy-Preserving. In Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security (ASIA CCS ’16), Xi’an, China, 30 May–3 June 2016; pp. 571–582. [Google Scholar] [CrossRef] [Green Version]
  22. Sun, J.; Su, Y.; Qin, J.; Hu, J.; Ma, J. Outsourced Decentralized Multi-authority Attribute Based Signature and Its Application in IoT. IEEE Trans. Cloud Comput. 2019. [Google Scholar] [CrossRef]
  23. Xie, R.; He, C.; Xu, C.; Gao, C. Lattice-based dynamic group signature for anonymous authentication in IoT. Ann. Telecommun. 2019, 74, 531–542. [Google Scholar] [CrossRef]
  24. Mughal, M.A.; Luo, X.; Ullah, A.; Ullah, S.; Mahmood, Z. A Lightweight Digital Signature Based Security Scheme for Human-Centered Internet of Things. IEEE Access 2018, 6, 31630–31643. [Google Scholar] [CrossRef]
  25. Cui, H.; Deng, R.H.; Liu, R.H.; Yi, X.; Li, Y. Server-Aided Attribute-Based Signature With Revocation for Resource-Constrained Industrial-Internet-of-Things Devices. IEEE Trans. Ind. Inf. 2018, 14, 3724–3732. [Google Scholar] [CrossRef]
  26. Li, F.; Zheng, Z.; Jin, C. Secure and efficient data transmission in the Internet of Things. Telecommun. Syst. 2016, 62, 111–122. [Google Scholar] [CrossRef]
  27. Libert, B.; Peters, T.; Yung, M. Scalable Group Signatures with Revocation. In Advances in Cryptology-EUROCRYPT 2012; Springer-Verlag: Berlin/Heidelberg, Germany, 2012; pp. 609–627. [Google Scholar]
  28. Libert, B.; Peters, T.; Yung, M. Scalable Group Signatures with Almost-for-Free Revocation. In Advances in Cryptology-CRYPTO2012; Springer-Verlag: Berlin/Heidelberg, Germany, 2012; pp. 571–589. [Google Scholar]
  29. Ibraimi, L.; Nikova, S.; Hartel, S.; Jonker, W. An Identity-Based Group Signature with Membership Revocation in the Standard Model. Available online: http:/doc.utwente.nl/72270/1/Paper.pdf (accessed on 28 January 2020).
  30. Emura, K.; Miyaji, A.; Omote, K. An r-Hiding Revocable Group Signature Scheme: Group Signatures with the Property of Hiding the Number of Revoked Users. Eur. J. Appl. Math. 2014, 2014, 983040. [Google Scholar] [CrossRef] [Green Version]
  31. Gu, K.; Yang, L.; Wang, Y.; Wen, S. Traceable Identity-Based Group Signature. RAIRO-Theor. Inf. Appl. 2016, 50, 193–226. [Google Scholar] [CrossRef]
  32. Yuen, T.H.; Liu, J.K.; Au, M.H.; Susilo, W.; Zhou, J. Efficient linkable and/or threshold ring signature without random oracles. Comput. J. 2013, 56, 407–421. [Google Scholar] [CrossRef]
  33. Liu, J.K.; Au, M.H.; Susilo, W.; Zhou, J. Linkable Ring Signature with Unconditional Anonymity. IEEE Trans. Knowl. Data Eng. 2014, 26, 157–165. [Google Scholar] [CrossRef]
  34. Au, M.H.; Liu, J.K.; Susilo, W.; Yuen, T.H. Secure ID-Based Linkable and Revocable-iff-Linked Ring Signature with Constant-Size Construction. Theor. Comput. Sci. 2013, 469, 1–14. [Google Scholar] [CrossRef]
  35. Kaafarani, A.E.; Ghadafi, E.; Khader, D. Decentralized Traceable Attribute-Based Signatures. In Topics in Cryptology—CT-RSA 2014; Springer-Verlag: Berlin/Heidelberg, Germany, 2014; pp. 327–348. [Google Scholar]
  36. Ghadafi, E. Stronger Security Notions for Decentralized Traceable Attribute-Based Signatures and More Efficient Constructions. In Topics in Cryptology—CT-RSA 2015; Springer-Verlag: Berlin/Heidelberg, Germany, 2015; pp. 391–409. [Google Scholar]
  37. Gu, K.; Jia, W.; Wang, G.; Wen, S. Efficient and secure attribute-based signature for monotone predicates. Acta Inf. 2017, 54, 521–541. [Google Scholar] [CrossRef]
  38. Song, T.; Li, R.; Mei, B.; Yu, J.; Xing, X.; Cheng, X. A privacy preserving communication protocol for IoT applications in smart homes. IEEE Internet Things J. 2017, 4, 1844–1852. [Google Scholar] [CrossRef]
  39. Dwivedi, A.D.; Srivastava, G.; Dhar, G.; Singh, R. A decentralized privacy-preserving healthcare blockchain for IoT. Sensors 2019, 19, 326. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  40. Sharma, S.; Chen, K.; Sheth, K. Toward practical privacy-preserving analytics for IoT and cloud-based healthcare systems. IEEE Internet Comput. 2018, 22, 42–51. [Google Scholar] [CrossRef] [Green Version]
  41. Zhou, J.; Cao, Z.; Dong, X.; Vasilakos, A. Security and privacy for cloud-based IoT: Challenges. IEEE Commun. Mag. 2017, 55, 26–33. [Google Scholar] [CrossRef]
  42. Gope, P.; Sikdar, B. Lightweight and privacy-preserving two-factor authentication scheme for IoT devices. IEEE Internet Things J. 2018, 6, 580–589. [Google Scholar] [CrossRef]
  43. Li, X.; Liu, S.; Wu, F.; Kumari, S.; Rodrigues, J. Privacy preserving data aggregation scheme for mobile edge computing assisted IoT applications. IEEE Internet Things J. 2018, 6, 4755–4763. [Google Scholar] [CrossRef]
  44. Shen, M.; Tang, X.; Zhu, L.; Du, X.; Guizani, M. Privacy-preserving support vector machine training over blockchain-based encrypted IoT data in smart cities. IEEE Internet Things J. 2019, 6, 7702–7712. [Google Scholar] [CrossRef]
  45. Lu, R. A new communication-efficient privacy-preserving range query scheme in fog-enhanced IoT. IEEE Internet Things J. 2018, 6, 2497–2505. [Google Scholar] [CrossRef]
  46. Huang, P.; Guo, P.; Li, M.; Fang, Y. Practical Privacy-preserving ECG-based Authentication for IoT-based Healthcare. IEEE Internet Things J. 2019, 6, 9200–9210. [Google Scholar] [CrossRef]
  47. Jiang, L.; Chen, L.; Giannetsos, T.; Luo, B.; Liang, K.; Han, J. Toward Practical Privacy-Preserving Processing Over Encrypted Data in IoT: An Assistive Healthcare Use Case. IEEE Internet Things J. 2019, 6, 10177–10190. [Google Scholar] [CrossRef] [Green Version]
  48. Ma, Z.; Liu, Z.; Liu, X.; Ma, J.; Li, F. Privacy-Preserving Outsourced Speech Recognition for Smart IoT Devices. IEEE Internet Things J. 2019, 6, 8406–8420. [Google Scholar] [CrossRef]
  49. Zhao, Y.; Yang, L.T.; Sun, J. Privacy-Preserving Tensor-Based Multiple Clusterings on Cloud for Industrial IoT. IEEE Trans. Ind. Inf. 2018, 15, 2372–2381. [Google Scholar] [CrossRef]
  50. Gan, X.; Li, X.; Huang, Y.; Fu, L.; Wang, X. When Crowdsourcing Meets Social IoT: An Efficient Privacy-Preserving Incentive Mechanism. IEEE Internet Things J. 2019, 6, 9707–9721. [Google Scholar] [CrossRef]
  51. Gochoo, M.; Tan, T.H.; Huang, S.C.; Batjargal, T.; Hsieh, J.; Alnajjar, F.S.; Chen, Y. Novel IoT-Based Privacy-Preserving Yoga Posture Recognition System Using Low-Resolution Infrared Sensors and Deep Learning. IEEE Internet Things J. 2019, 6, 7192–7200. [Google Scholar] [CrossRef]
  52. Xu, C.; Ren, J.; Zhang, D.; Zhangm, Y. Distilling at the edge: A local differential privacy obfuscation framework for IoT data analytics. IEEE Commun. Mag. 2018, 56, 20–25. [Google Scholar] [CrossRef]
Figure 1. Data collection framework in IoT.
Figure 1. Data collection framework in IoT.
Sensors 20 00758 g001
Figure 2. A example of mesh signature in IoT.
Figure 2. A example of mesh signature in IoT.
Sensors 20 00758 g002
Figure 3. Syntax for mesh signature in IoT.
Figure 3. Syntax for mesh signature in IoT.
Sensors 20 00758 g003
Figure 4. Improved mesh signatures for IoT devices.
Figure 4. Improved mesh signatures for IoT devices.
Sensors 20 00758 g004
Figure 5. Memory consumption under different sizes of messages.
Figure 5. Memory consumption under different sizes of messages.
Sensors 20 00758 g005
Table 1. Complexity of Two Schemes.
Table 1. Complexity of Two Schemes.
Atomic SignaturesMesh SignatureVerification
Original scheme [2] C e x p ( 6 · ( l + 1 ) · t m a x ) · C e x p + ( ( l + 1 ) · t m a x + 1 ) · C p a i r +
( 4 · l · t m a x + t m a x ) · C m u l 3 · ( l + 1 ) · t m a x · C e x p +
  3 · l · t m a x · C m u l
Our scheme l · t m a x · ( C e x p + C m u l ) ( 4 · l · t m a x + l + 1 ) · ( ( 2 · l + 1 ) · t m a x + 5 ) · C p a i r +
( C e x p + C m u l ) 2 · l · t m a x · C e x p +
  ( 2 · l · t m a x + 5 ) · C m u l
Table 2. Actual Performance of Two Schemes.
Table 2. Actual Performance of Two Schemes.
Computational Costs (ms)
111020304050
Original scheme [2]Atomic Signatures1.9581.7461.5901.6051.5661.629
Mesh Signature91.495583.2251038.551617.782003.152270.82
Verification61.457339.048593.3151001.731263.151473.34
Our schemeAtomic Signatures7.89078.850164.900236.100313.600387.250
Mesh Signature37.752353.003881.153981.8361551.641675.29
Verification37.910441.830591.7101000.431150.841128.29

Share and Cite

MDPI and ACS Style

Gu, K.; Zhang, W.; Lim, S.-J.; Sharma, P.K.; Al-Makhadmeh, Z.; Tolba, A. Reusable Mesh Signature Scheme for Protecting Identity Privacy of IoT Devices. Sensors 2020, 20, 758. https://doi.org/10.3390/s20030758

AMA Style

Gu K, Zhang W, Lim S-J, Sharma PK, Al-Makhadmeh Z, Tolba A. Reusable Mesh Signature Scheme for Protecting Identity Privacy of IoT Devices. Sensors. 2020; 20(3):758. https://doi.org/10.3390/s20030758

Chicago/Turabian Style

Gu, Ke, WenBin Zhang, Se-Jung Lim, Pradip Kumar Sharma, Zafer Al-Makhadmeh, and Amr Tolba. 2020. "Reusable Mesh Signature Scheme for Protecting Identity Privacy of IoT Devices" Sensors 20, no. 3: 758. https://doi.org/10.3390/s20030758

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