Next Article in Journal
The Characteristic Polynomials of Symmetric Graphs
Previous Article in Journal
The α-Representation Inexact T2 Fuzzy Sets Programming Model for Water Resources Management of the Southern Min River Basin under Uncertainty
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Strong Designated Verifier Proxy Re-Signature Scheme for IoT Environments

College of Computer Science and Engineering, Northwest Normal University, Lanzhou 730070, China
*
Author to whom correspondence should be addressed.
Symmetry 2018, 10(11), 580; https://doi.org/10.3390/sym10110580
Submission received: 7 September 2018 / Revised: 11 October 2018 / Accepted: 13 October 2018 / Published: 2 November 2018

Abstract

:
With the rapid popularization of the Internet of Things (IoT) in our daily lives, the communication security and identity privacy of IoT devices must be ensured. However, traditional authentication mechanisms utilized in IoT cannot completely ensure a user’s privacy when his/her messages are routed via an untrusted intermediate device. Strong designated-verifier proxy re-signature (SDVPRS) is a new cryptographic technology that combines the advantages of strong designated verifier signature and proxy re-signature. Therefore, SDVPRS is considered to be a better approach to maintain data integrity and protect the identity privacy of the signer in a resource-limited IoT device. Nevertheless, designing a secure SDVPRS scheme without random oracles is still a challenging task. In this paper, we mainly focus on such a construction by providing a new method. We first provide the formal definition of SDVPRS and its security model. Then, we present the first SDVPRS scheme, which is bidirectional, multi-use and non-transferable, and we prove its security under the standard complexity assumptions in the standard model. The analysis results show that our SDVPRS scheme can not only protect the privacy of the signer’s identity, but also provide non-delegatability for signature verification. We present an example of potential application to environmental monitoring systems using our SDVPRS scheme.

1. Introduction

The Internet of Things (IoT) is rapidly entering all aspects of our daily lives. IoT uses sensors, radio frequency identification (RFID), wireless data communications and other technologies to construct a network that covers all things in the world to make the interactions between people and things and between things and things more intelligent and convenient [1]. IoT devices equipped with sensors have the ability to sense and process information, and they are used to collect, transmit and disseminate data from the field to a server or other IoT devices. IoT has been deployed in many environments, such as smart transportation, smart cities, environmental surveillance, smart homes, military target tracking, biomedical health monitoring and industrial automation [2].
IoT is everywhere in our daily lives and offers great benefits for human life. However, IoT data are transmitted over public networks, and ensuring a user’s privacy and data security is of particular importance [3]. In an IoT environment, most IoT devices have limitations in terms of energy capacity, storage capacity and computing power. Therefore, conventional cryptosystems cannot be implemented in resource-constrained IoT devices. Digital signature technology guarantees the integrity of the data during transmission and also authenticates the identity of the sender. Based on various digital signature techniques, such as identity-based signature and certificateless signature, researchers have proposed several schemes [2,3,4,5,6] to ensure the integrity and authenticity of IoT data transmitted over public channels. However, anyone can use the signer’s public key to verify the validity of the signature, so these schemes [2,3,4,5,6] reveal some private information of the signer (such as the identity of the signer). Strong designated verifier proxy re-signature (SDVPRS) can provide a better solution to solve these problems. Due to the combination of the features of strong designated verifier signature (SDVS) and proxy re-signature (PRS), SDVPRS not only maintains the integrity of IoT data during transmission, but also protects the identity privacy of the IoT device that signs IoT data. In an SDVPRS scheme, only the designated verifier can verify the validity of a signature. Specifically, SDVPRS allows a signer to designate a verifier, and a semi-trusted proxy is allowed to convert the signer or the designated verifier into a signature. However, how to design an SDVPRS scheme without random oracles is still challenging. Hence, we focus on constructing an SDVPRS scheme in the standard model that can be applied to IoT devices.
PRS, which allows a proxy to transform the signature of a message generated by Alice into Bob’s signature of the same message, is an important cryptosystem in cryptography [7]. However, the proxy by itself is unable to create arbitrary signatures on behalf of Alice or Bob. If the proxy can not only convert Alice’s signature into Bob’s signature, but also convert Bob’s signature into Alice’s signature, then we say that a PRS scheme is bidirectional. Additionally, if the transformed signatures can be further transformed by the proxy, then we say that a PRS scheme is multi-use. Since PRS can convert signatures, it has been applied to key management, cross-domain identity authentication and other fields [7,8,9].
To designate a verifier to verify the validity of a signature, the designated verifier signature (DVS) was presented by Jakobsson et al. [10]. A DVS scheme ensures that only the designated verifier can verify signatures generated by the signer. However, the designated verifier is able to produce simulated signatures that are computationally indistinguishable from the real signatures on the same messages created by the signer. Consequently, a DVS scheme provides the authentication of signatures, but it does not satisfy the non-repudiation of ordinary signatures since only the designated verifier is able to ensure that signatures are generated by a real signer. Specifically, in a DVS scheme, both the signer and the designated verifier can generate a valid signature of the message. To avoid man-in-the-middle attacks, Jakobsson et al. [10] further proposed the concept of the strong designated verifier signature (SDVS), which requires the secret key of the designated verifier during signature verification. Since the attacker does not know the verifier’s secrete key, the validity of the intercepted signature cannot be verified. SDVS has stronger security and many special applications such as voting and deniable authentication [11,12,13].
Based on the concepts of PRS and DVS, designated verifier proxy re-signature (DVPRS) was introduced by Wei et al. [14]. In a DVPRS scheme, a semi-trusted proxy can change the signer or the verifier in a DVS. Consequently, DVPRS has the properties of both PRS and DVS. DVPRS is a useful technique in deniable or anonymous authentication, and it can be applied to fields such as wireless communication networks [15,16,17].
To enhance the privacy of the signer’s identity, we introduce the concept of SDVPRS in this paper, which is a variant of DVPRS. In SDVPRS, the designated verifier’s secret key is required in the signature verification; thus, the validity of the signature can only be checked by the signer or the designated verifier. This approach ensures that an adversary who captures a signature only knows that either the signer or the designated verifier created the signature, but the adversary cannot infer which one of them is the real signature generator. No third party other than the designated verifier knows the true identity of the signer; thus, SDVPRS can protect the privacy of the signer’s identity. Because SDVPRS combines the advantages of SDVS and PRS, most of the significant security requirements, such as integrity, unforgeability and non-transferability, and the signer’s identity privacy protection can be guaranteed in a single logic step.
The security concepts of DVPRS were presented by Wei et al. [14], but the formal definition of SDVPRS was not taken into account in [14]. In addition, Wei et al. [14] designed a DVPRS scheme in the random oracle model, which is also the only publicly available DVPRS scheme. Unfortunately, the random oracle model might not ensure the security of the scheme if the random oracles are instantiated with concrete hash functions [18]. In fact, Wei et al.’s proposal [14] is an SDVPRS scheme since the verification of the signature requires the designated verifier’s secret key. Therefore, constructing a secure (S)DVPRS scheme without random oracles in the standard model is an unsolved problem.

1.1. Our Contributions

In this paper, we first present the security concepts of SDVPRS. In contrast to PRS, our formal definition for SDVPRS relies on the security concepts of SDVS. Based on Waters’ technique [19], we then present a construction of an SDVPRS scheme without random oracles, which is proven to be existentially unforgeable in the standard model. Our SDVPRS scheme is bidirectional, multi-use, transparent and non-transferable. Furthermore, the security proof shows that our SDVPRS scheme can ensure the integrity and authenticity of IoT data, as well as protect the identity privacy of the IoT device. To the best of our knowledge, our proposal is the first (strong) designated verifier PRS scheme without random oracles. Our SDVPRS scheme is very useful for protecting the security of IoT data and the identity privacy of the sender.

1.2. Related Work

With the substantial development of cloud computing and IoT techniques, data privacy [20,21,22,23], access control [24,25] and message authentication [26,27,28] have become important issues and the focus of many studies. According to the diverse requirements of the authentication, various signature schemes, such as homomorphic signature schemes [29,30] and proxy signature schemes [31,32,33], have been proposed. However, most of the existing message authentication schemes do not consider the privacy of IoT devices. SDVPRS is a new cryptographic technology that has the advantages of PRS and SDVS, so we introduce SDVPRS to solve the sender’s identity privacy problem in IoT environments.
The concept of PRS was presented by Blaze et al. [7] in 1998, and the security definition of PRS was formalized by Ateniese and Hohenberge [34] in 2005. Since then, researchers have designed a large number of PRS schemes with special properties. Hu et al. [35] proposed a secure identity-based proxy re-signature scheme under the standard model, but its security relies on strong difficult problem assumptions. Tian [36] designed an identity-based proxy re-signature scheme over lattices, but the size of the signature and secret key was relatively large. Wang and Xia [37] presented an identity-based proxy re-signature scheme with the aggregate property. However, their scheme required numerous system parameters. To reduce the security risks of an individual proxy, Yang et al. [38] introduced the concept of threshold proxy re-signature, which can distribute the re-signature key to multiple proxies for management. Yang et al. [39] introduced the concept of flexible threshold proxy re-signature, which can flexibly select different thresholds according to the importance of the message to be re-signed. To improve the response time of re-signing, Yang et al. [40] proposed an on-line/off-line threshold proxy re-signature scheme, which completes most of the computational tasks of re-signing in the off-line phase. To solve the key escrow problem in identity-based proxy re-signature, some certificateless proxy re-signature schemes [41,42] have been proposed. Unfortunately, these schemes have some security flaws [43].
The first DVS scheme was presented by Jakobsson et al. [10] in 1996. Saeednia et al. [44] gave the formal definition of SDVS. Later, some SDVS schemes were presented in [45,46,47]. Hung et al. [48] designed a secure SDVS scheme in the standard model, but its security depended on the security of pseudo-random functions. Hence, their scheme has potential security risks. Based on the standard complexity assumptions, Tian et al. [49] designed two SDVS schemes without random oracles. The researchers also proposed some variants of DVS such as universal DVS [50,51] and multi-verifier DVS [52,53]. Until now, the only DVPRS scheme was that proposed by Wei et al. [14], but its security was dependent on ideal random oracles.
Data security has become an important issue in IoT. When IoT data are transmitted through open and insecure channels, they are vulnerable to various attacks, such as forgery attack, tamper attack, and so on. To ensure the communication security of IoT devices, Jia et al. [3] proposed a data authentication scheme based on a certificateless signature. Combining aggregate signature and identity-based signature, Shen et al. [2] designed a data integrity protection scheme for wireless sensor networks. Kumar et al. [4] proposed a secure data transmission scheme for a healthcare wireless sensor network using certificateless aggregation signature technology. Yeh et al. [6] proposed an efficient certificateless signature scheme to ensure the security of IoT devices. However, these schemes [2,3,4,5,6] were proven to be secure in the random oracle model, which means that these schemes might be insecure in reality. In particular, these existing schemes protect the integrity of IoT data, but at the same time, they disclose the identity privacy of IoT devices. Motivated by this scenario, we construct an SDVPRS scheme in the standard model to protect the integrity of IoT data and the privacy of the sender’s identity. The proxy converts the IoT device’s signature to a group’s signature on the same data, thereby reducing the risk of identifying the identity of the IoT device according to the signature and realizing the anonymity of data transmission. In addition to the designated verifier, no one can verify the legality of the final signature. That is, our scheme enables the integrity and authenticity of IoT data to be verified without revealing the user’s identity privacy.

2. Preliminaries

2.1. Bilinear Pairing

Assume that p is a large prime, G 1 and G 2 are two multiplicative cyclic groups of order p and g is an arbitrary generator of G 1 . A map e : G 1 × G 1 G 2 is called a bilinear pairing if it satisfies the following conditions.
  • Bilinearity: e ( g x , g y ) = e ( g , g ) x y , where x , y Z p .
  • Non-degeneracy: e ( g , g ) 1 G 2 , where 1 G 2 is the identity element of G 2 .
  • Computability: e ( g x , g y ) is efficiently computable, where x , y Z p .

2.2. Complexity Assumptions

Polynomial-time algorithms are unable to solve the following hard problems [34,54], which are considered to be intractable in complexity theory.
Definition 1.
Given four elements g , g a , g b , g c G 1 , where unknown values a, b and c are randomly selected from Z p , the bilinear Diffie–Hellman (BDH) problem in ( G 1 , G 2 ) is to calculate e ( g , g ) a b c G 2 .
Definition 2.
Given g , g a , g b , g c G 1 and Z G 2 where unknown values a, b and c are randomly selected from Z p , the decisional bilinear Diffie–Hellman (DBDH) problem in ( G 1 , G 2 ) is to determine whether Z = e ( g , g ) a b c holds.
Taking as input ( g , g a , g b , g c ) G 1 4 and Z G 2 , the DBDH oracle O D B D H outputs one if Z = e ( g , g ) a b c ; else, it outputs zero.
Definition 3.
Given g , g a , g b , g c G 1 where unknown values a, b and c are randomly selected from Z p , the gap bilinear Diffie–Hellman (GBDH) problem in ( G 1 , G 2 ) is to use the oracle O D B D H to calculate e ( g , g ) a b c G 2 .
The main difference between the BDH problem and the GBDH problem is whether the DBDH oracle O D B D H is required to solve the corresponding problem.

3. Security Model and System Framework

3.1. The Syntax of SDVPRS

An SDVPRS scheme includes the following nine algorithms:
  • Setup : This algorithm takes a security parameter λ Z as input and produces system parameters s p .
  • KeyGen : Upon input of s p , this algorithm outputs a secret key s k and a corresponding public key p k .
  • ReSKey : Upon input of s p , a signer’s key pair ( p k A , s k A ) and another signer’s key pair ( p k B , s k B ) , this algorithm generates a re-signing key r s k A B for the proxy.
  • ReVKey : Upon input of s p and two verifiers’ key pairs ( p k C , s k C ) and ( p k D , s k D ) , this algorithm generates a re-designate-verifier key r v k C D .
  • Sign : This algorithm takes s p , a signer’s secret key s k S , a message m and a designated verifier’s public key p k V as input. It outputs a signature σ on m.
  • ReSign : This algorithm takes s p , a re-signing key r s k A B between a signer S A and another signer S B and a signature σ A C on a message m under the signer S A and a verifier V C as input. It generates a re-signature σ B C on m under S B and V C .
  • ReVer : This algorithm takes s p , a re-designate-verifier key r v k C D between a verifier V C and another verifier V D and a signature σ A C on a message m under a signer S A and the verifier V C as input. It generates a re-signature σ A D on m under S A and V D .
  • Verify : This algorithm takes s p , a signer’s public key p k S , a designated verifier’s secret key s k V and a signature σ on a message m as input. It outputs one if σ is a valid signature; otherwise, it outputs zero.
  • Sim : This algorithm takes s p , a signer’s public key p k S , a designated verifier’s secret key s k V and a message m as input. It generates a simulated signature σ that is indistinguishable from the one created by the signer.

3.2. Security Model of SDVPRS

An SDVPRS scheme consists of three entities: the signer, the proxy and the designated verifier. The security model of SDVPRS mainly considers the following four security concepts. Among them, two properties, unforgeability and non-delegatability for signature verification, ensure the integrity and authenticity of the IoT data in the communication process, and the other two properties, non-transferability and privacy of the signer’s identity (PSI), prevent any third party from obtaining the identity information of the IoT device from a signature. Similar to the security model of a bidirectional PRS scheme [34], the security model of a bidirectional SDVPRS scheme also requires that the proxy is semi-trusted and is not allowed to collude with the signer or the designated verifier.
Unforgeability means that a legal signature can only be generated by the signer or the designated verifier. We define a game between a challenger C and an adversary A to describe the unforgeability of an SDVPRS scheme.
  • Setup : C executes the algorithms Setup and KeyGen to generate system parameters s p , the key pair ( p k S , s k S ) of the target signer and the key pair ( p k V , s k V ) of the target verifier. Then, C sends ( s p , p k S , p k V ) and the public keys of other users to A .
  • Queries : A may adaptively request the following oracles built by C .
    -
    O S i g n : Upon input of message m i , this oracle outputs a signature σ i = Sign ( s k S , p k V , m i ) on m i .
    -
    O R e S K e y : Upon input of two signers’ public keys p k i and p k j , this oracle outputs a re-signing key r s k i j = ReSKey ( p k i , s k i , p k j , s k j ) , where s k i and s k j are the secret keys corresponding to p k i and p k j , respectively.
    -
    O R e V K e y : Upon input of two verifiers’ public keys p k i and p k j , this oracle outputs a re-designate-verifier key r v k i j = ReVKey ( p k i , s k i , p k j , s k j ) .
    -
    O S i m : Upon input of a message m i , this oracle returns a simulated signature σ i = Sim ( s k V , p k S , m i ) on m i .
    -
    O V e r i f y : This oracle takes a message m i and a signature σ i as input, and it outputs a decision d e c = Verify ( s k V , p k S , m i , σ i ) , where d e c { 0 , 1 } .
  • Forgery : Eventually, A produces a forgery ( m * , σ * ) . The adversary A wins if the following conditions are satisfied.
    • Verify ( s k V , p k S , m * , σ * ) = 1, which means that σ * is a valid signature on m * .
    • m * has never been submitted to O S i g n and O S i m .
Definition 4.
If there is no polynomial-time attacker A who can win in the above game with a non-negligible probability, then we say that a bidirectional SDVPRS scheme is existentially unforgeable against adaptive chosen-message attacks.
The property of non-transferability means that any third party cannot distinguish whether the real generator of a signature is the signer or the designated verifier.
Definition 5.
If the signature created by the signer and the signature simulated by the designated verifier are computationally indistinguishable, then we say that an SDVPRS scheme is non-transferable [14].
PSI ensures that no one other than the designated verifier can infer the signer’s true identity from a signature. Specifically, two signers S 0 and S 1 produce signatures for a designated verifier V. Given a signature σ on a message m, anyone without V’s secret key is unable to determine whether σ is created by S 0 or S 1 . We provide a game between a distinguisher D and a challenger B to describe the formal definition of PSI.
  • Setup : B performs the algorithms Setup and KeyGen to generate system parameters s p , S 0 ’s key pair ( p k S 0 , s k S 0 ) , S 1 ’s key pair ( p k S 1 , s k S 1 ) and V’s key pair ( p k V , s k V ) . Then, B sends ( s p , p k S 0 , p k S 1 , p k V ) to D .
  • Phase 1 : D may adaptively issue the following oracle queries.
    -
    O S i g n : Upon receiving s p , a message m i and an index d { 0 , 1 } , this oracle returns a signature σ i = Sign ( s k S d , p k V , m i ) of m i .
    -
    O S i m : Upon receiving s p , a message m i and an index d { 0 , 1 } , this oracle returns a simulated signature σ i = Sim ( s k V , p k S d , m i ) on m i .
    -
    O V e r i f y : Taking s p , an index d { 0 , 1 } and a signature σ on a message m as input, this oracle outputs a decision d e c = Verify ( s k V , p k S d , m , σ ) , where d e c { 0 , 1 } .
    -
    O R e S i g n : Upon input of s p , a message m d , an index d { 0 , 1 } , a signature σ d on m d and an index d 2 { 0 , 1 } , this oracle outputs a re-signature σ d 2 = ReSign ( ReVKey ( p k d , s k d , p k d 2 , s k d 2 ) , m d , p k d , σ d ) on m d .
  • Challenge : Upon receiving a challenge message m * submitted by D , B first selects a random bit b { 0 , 1 } and runs the algorithm Sign to generate a signature σ * = Sign ( s k S b , p k V , m * ) . Then, B returns σ * to D .
  • Phase 2 : D continues to query O S i g n , O S i m and O V e r i f y defined in Phase 1, but D is not allowed to submit ( m * , σ * ) to O V e r i f y .
  • Guessing Phase : D finally outputs a guess b { 0 , 1 } . The distinguisher D wins the game if b = b .
The advantage of D in the game is defined as follows:
A d v D = Pr [ b = b ] 1 2 .
Definition 6.
If the advantage A d v D of any polynomial-time distinguisher D is negligible in the above game, then we say that an SDVPRS scheme possesses the PSI property.
Non-delegatability for signature verification requires that the legality of a signature can only be correctly verified by those who know the secret key of the designated verifier. We use a game between a challenger C and an adversary A to define non-delegatability for signature verification.
  • Setup : C executes the algorithms Setup and KeyGen to generate system parameters s p , the key pair ( p k S , s k S ) of the target signer and the key pair ( p k V , s k V ) of the target verifier. Then, C sends ( s p , p k S , p k V ) to A .
  • Queries : C answers A ’s signing query and simulation query in the same manner as in the formal definition of existential unforgeability in Definition 5.
  • Forgery : A finally produces a forgery ( m * , σ * ) . If the following conditions are satisfied, then we say that A wins the game.
    • σ * is a valid signature on m * , namely Verify ( s k V , p k S , m * , σ * ) = 1.
    • A has never made a signature query and a simulated query on m * .
Definition 7.
An SDVPRS scheme is said to be non-delegatable for signature verification if there is no polynomial-time attacker A who can win the above game with a non-negligible probability.

3.3. System Framework

Our system model is shown in Figure 1, which contains three entities: IoT device, proxy and data center. It focuses on the integrity and authenticity of IoT data during transmission while protecting the identity privacy of the IoT device. The proposed SDVPRS scheme is easily implemented on each IoT device as software. Our system model focuses on the integrity and authenticity of IoT data.
  • IoT device: This entity has very limited computing and communication capabilities. Each IoT device uses its secret key to sign the data collected from the physical world and then sends the data and its signature to the proxy.
  • Proxy: This entity is usually served by a semi-trusted server with a certain computation and communication power. To ensure the security of data storage, IoT data are stored by multiple data centers for consumers of different security levels. The proxy uses the re-signing key r s k A B to convert the signature σ A C generated by the IoT device into a group’s signature σ B C for the same message m, so that the data center only knows that σ B C is a valid signature on m, but cannot infer the identity of the real signer. After receiving ( m , σ B C ) , another proxy uses the re-designate-verifier key r v k C D i to convert the signature σ B C into the signature σ B D i for every data center, and it sends the IoT data m and σ B D i to the i-th data center, where i { 1 , , n } .
  • Data center: This entity has high computing and storage capacities. After verifying the validity of the received signature, the authentic IoT data are stored by each data center.

4. Our SDVPRS Scheme

In this section, we present a construction of an SDVPRS scheme based on Waters’ scheme [19]. In our proposed SDVPRS scheme, the length of a message is assumed to be n bits. For a message of arbitrary length, we use a hash function H : { 0 , 1 } * { 0 , 1 } n to convert the length of the message to fixed length n. Our SDVPRS scheme works as follows.
  • Setup : This algorithm takes a security parameter λ Z as input and produces system parameters s p = ( G 1 , G 2 , p , g , e , u 0 , u 1 , , u n ) , where G 1 and G 2 are two cyclic groups of prime order p, g is a generator of G 1 , e : G 1 × G 1 G 2 is a bilinear pairing and n + 1 elements u 0 , u 1 , , u n are randomly chosen from G 1 .
  • KeyGen : The signer S randomly selects ( x S , y S ) Z p , computes p k S , 1 = g x S and p k S , 2 = g y S and sets its secret key s k S = ( s k S , 1 , s k S , 2 ) = ( x S , y S ) and the public key p k S = ( p k S , 1 , p k S , 2 ) = ( g x S , g y S ) . Similarly, the designated verifier V randomly selects x V Z p , computes p k V = g x V and outputs its public/secret key pair ( p k V , s k V ) = ( g x V , x V ) .
  • ReSKey : The proxy randomly selects r 1 Z p and sends r 1 to the signer S A . After receiving r 1 , S A uses his/her secret key s k A = ( x A , y A ) to compute r 2 = x A y A r 1 ( mod   p ) and forwards r 2 to the signer S B . Then, S B uses his/her secret key s k B = ( x B , y B ) to calculate and send r 3 = x B y B r 2 ( mod   p ) to the proxy. Finally, the proxy computes the re-signing key between S A and S B :
    r s k A B = r 3 r 1 = r 1 ( x B y B x A y A r 1 ) = x B y B x A y A ( mod   p ) .
  • ReVKey : To generate a re-designate-verifier key r v k C D between two verifiers V C and V D , the proxy does the following:
    • The proxy randomly selects s 1 Z p and returns s 1 to the verifier V C .
    • V C uses his/her secret key s k C = x C to compute s 2 = s 1 x C ( mod   p ) and sends s 2 to the verifier V D .
    • V D uses his/her secret key s k D = x D to compute s 3 = x D s 2 ( mod   p ) . Then, V D returns s 3 to the proxy.
    • After receiving s 3 , the proxy calculates the re-designate-verifier key as follows:
      r v k C D = s 3 s 1 = s 1 ( x D s 1 x C ) = x D x C ( mod   p ) .
    Note that r s k A B and r v k C D can be kept by different proxies to perform different operations, and they can also be assigned to a proxy to perform all operations. In ReSKey and ReVKey , a cryptographic algorithm (such as RSA or ECC) may be used to encrypt the transmitted messages to prevent the proxy from obtaining each participant’s secret key through intercepted messages in practical applications.
  • Sign : Given a message m = ( m 1 , m n ) { 0 , 1 } n and a designated verifier V’s public key g v , the signer S performs the following steps:
    • Choose a random integer r Z p , and calculate σ 2 = g r .
    • Calculate σ 1 = e ( g x S y S ( u 0 i = 1 n u i m i ) r , g v ) , where ( x S , y S ) is the secret key of the signer S.
    • Output σ = ( σ 1 , σ 2 ) as a signature on m.
  • ReSign : For a signature σ A C = ( σ A C , 1 , σ A C , 2 ) on a message m with respect to a signer S A and a verifier V C , the proxy uses a re-signing key r s k A B between two signers S A and S B to compute a new signature σ B C on m related to the signer S B and the verifier V C as follows:
    σ B C = ( ( σ A C , 1 ) r s k A B , ( σ A C , 2 ) r s k A B ) .
  • ReVer : Given a re-designate-verifier key r v k C D between two verifiers V C and V D , a message m and a signature σ A C = ( σ A C , 1 , σ A C , 2 ) of m for a signer S A and a verifier V C , the proxy computes a new signature σ A D on m for S A and V D as follows:
    σ A D = ( ( σ A C , 1 ) r v k C D , ( σ A C , 2 ) r v k C D ) .
  • Verify : Upon receiving the public key p k S = ( g x S , g y S ) of a signer S, a message m and a corresponding signature σ = ( σ 1 , σ 2 ) = ( e ( g x S y S ( u 0 i = 1 n u i m i ) r , g x V ) , g r ) , the designated verifier V utilizes its own secret key s k V = x V to check whether:
    σ 1 = e ( g x S , g y S ) x V e ( u 0 i = 1 n u i m i , σ 2 ) x V
    holds. If it holds, output one; else, output zero.
  • Sim : For a message m and the public key p k S = ( g x S , g y S ) of a signer S, the designated verifier V with a secret key s k V = x V randomly selects r Z p , computes σ 2 = g r and:
    σ 1 = e ( g x S , g y S ) x V e ( u 0 i = 1 n u i m i , σ 2 ) x V ,
    then generates σ = ( σ 1 , σ 2 ) as a simulated signature on m with respect to S and V.
Correctness: Assume that σ A C = ( σ A C , 1 , σ A C , 2 ) = ( e ( g x A y A ( u 0 i = 1 n u i m i ) r A , g x V ) , g r A ) is a signature on a message m for S A and V C , r s k A B = x B y B x A y A ( mod   p ) is a re-signing key between S A and S B and σ B C = ( σ B C , 1 , σ B C , 2 ) is a signature on m that is derived from σ A C and r s k A B .
Let r ^ A = r A ; we have:
σ B C , 1 = ( σ A C , 1 ) r s k A B = e ( g x A y A ( u 0 i = 1 n u i m i ) r A , g x V ) x B y B x A y A = e ( g ( x A y A ) x B y B x A y A ( u 0 i = 1 n u i m i ) r A x B y B x A y A , g x V ) = e ( g x B y B ( u 0 i = 1 n u i m i ) r ^ A , g x V ) ,
σ B C , 2 = ( σ A C , 2 ) r s k A B = ( g r A ) x B y B x A y A = g r A x B y B x A y A = g r ^ A .
Then, we can obtain:
σ B C , 1 = e ( g x B y B ( u 0 i = 1 n u i m i ) r ^ A , g x V ) = e ( g x B y B , g x V ) e ( ( u 0 i = 1 n u i m i ) r ^ A , g x V ) = e ( g x B , g y B ) x V e ( u 0 i = 1 n u i m i , g r ^ A ) x V = e ( g x B , g y B ) x V e ( u 0 i = 1 n u i m i , σ B C , 2 ) x V .
Similarly, we are able to check the correctness of the signature σ A D for S A and V D . Hence, we can conclude that our SDVPRS scheme is correct.
Remark 1.
For a re-signing key r s k A B between S A and S B , it is easy to obtain another key r s k B A = 1 r s k A B between S B and S A that converts S B ’s signatures into S A ’s signatures. From a re-designate-verifier key r v k C D between V C and V D , we can also obtain another key r v k D C = 1 r v k C D that transforms the identity of the verifier in a signature from V D to V C . Hence, our SDVPRS scheme is bidirectional.
Remark 2.
As σ B C = ( σ A C ) r s k A B and σ A D = ( σ A C ) r v k C D , it is easy to infer that signatures created by the Sign algorithm are computationally indistinguishable from signatures generated by the ReSign and ReVer algorithms. This shows that the proposed SDVPRS scheme possesses the multi-use property.
Remark 3.
If σ = ( e ( g x S y S ( u 0 i = 1 n u i m i ) r , g x V ) , g r ) is a signature created by the signer S for the message m, then the designated verifier V can also output a valid signature σ = ( e ( g x S , g y S ) x V e ( u 0 i = 1 n u i m i , g r ) x V , g r ) on the same message m. Consequently, the distribution of σ is the same as that of σ . This result implies that signatures generated by the Sign algorithm are indistinguishable from those simulated by the Sim algorithm. Therefore, our SDVPRS scheme is non-transferable.
Theorem 1.
If the GBDH problem is intractable, then our proposed SDVPRS scheme is existentially unforgeable against adaptively chosen message attacks in the standard model.
Proof of Theorem 1.
Let A be an attacker against the unforgeability of the proposed scheme with probability ε. A is allowed to make at most q S signing queries, q V signature verification queries, q S i m simulation queries, q r s k re-signing key queries and q r v k re-designate-verifier key queries. We can build an algorithm C that utilizes A ’s output to solve the GBDH problem. Given an instance ( g , g a , g b , g c ) G 1 4 of the GBDH problem, C ’s goal is to calculate e ( g , g ) a b c by invoking the oracle O D B D H . C will act as a challenger to answer the following queries requested by A .
  • Setup : C sets l m = 2 ( q S + q V + q S i m ) such that l m ( n + 1 ) < p . Then, C chooses a random integer k m ( 0 k m n ) , n + 1 random values v 0 , v 1 , , v n Z l m and n + 1 random elements w 0 , w 1 , , w n Z p . Furthermore, C assigns u 0 = ( g b ) v 0 l m k m g w 0 and u i = ( g b ) v i g w i for i = 1 , , n . In addition, C randomly selects x i , y i , z j Z p and sets the public key of the signer i to be p k i = ( g a x i , g b y i ) and the public key of the verifier j as p k j = g c z j for i = 1 , , 2 q r s k and j = 1 , , 2 q r v k . The public key of the target signer is set to p k S = ( p k S , 1 , p k S , 2 ) = ( g a , g b ) , and the public key of the target designated verifier’s public key is set to p k V = g c . This implicitly indicates that s k S = ( a , b ) is the target signer’s secret key and s k V = c is the target designated verifier’s secret key, but ( a , b ) and c are unknown to C . Finally, C sends ( G 1 , G 2 , p , g , e , u 0 , u 1 , , u n , p k S , p k V ) and the public keys of other users to A .
    Given any n-bit message m = ( m 1 , , m n ) , we define two functions to simplify the expression: F ( m ) = v 0 l m k m + i = 1 n v i m i and J ( m ) = w 0 + i = 1 n w i m i . Consequently, we have u 0 i = 1 n u i m i = ( g b ) F ( m ) g J ( m ) .
  • Queries : C builds the following oracles to answer A ’s queries.
    -
    O S i g n : Upon receiving a message m, C checks whether F ( m ) = 0 ( mod l m ) holds. If it does hold, then C aborts. Otherwise, C randomly selects r Z p , computes σ 1 = e ( ( g a ) J ( m ) F ( m ) ( u 0 i = 1 n u i m i ) r , g c ) and σ 2 = ( g a ) 1 F ( m ) g r and then returns a signature σ = ( σ 1 , σ 2 ) on m to A .
    Correctness: For a signature σ = ( σ 1 , σ 2 ) produced by C , we have:
    σ 1 = e ( ( g a ) J ( m ) F ( m ) ( u 0 i = 1 n u i m i ) r , g c ) = e ( ( g a b ) ( g a b ) ( g a ) J ( m ) F ( m ) ( u 0 i = 1 n u i m i ) r , g c ) = e ( g a b ( ( g b ) F ( m ) ( g J ( m ) ) ) a F ( m ) ( u 0 i = 1 n u i m i ) r , g c ) = e ( g a b ( u 0 i = 1 n u i m i ) a F ( m ) ( u 0 i = 1 n u i m i ) r , g c ) = e ( g a b ( u 0 i = 1 n u i m i ) r a F ( m ) , g c ) = e ( g a b ( u 0 i = 1 n u i m i ) r ^ , g c )
    and σ 2 = ( g a ) 1 F ( m ) g r = g r a F ( m ) = g r ^ , where r ^ = r a F ( m ) .
    Then, we deduce that σ = ( σ 1 , σ 2 ) satisfies the following signature verification equation:
    σ 1 = e ( g a b ( u 0 i = 1 n u i m i ) r ^ , g c ) = e ( g a b , g c ) e ( ( u 0 i = 1 n u i m i ) r ^ , g c ) = e ( g a , g b ) c e ( u 0 i = 1 n u i m i , σ 2 ) c .
    This equation shows that the signature σ is valid. Moreover, it indicates that the signature computed by C and the signature created by the signer in the real scheme are computationally indistinguishable from the adversary A ’s view.
    -
    O R e S K e y : Upon receiving two signers’ public keys p k i and p k j , C computes r s k i j = a x j · b y j a x i · b y i = x j · y j x i · y i ( mod   p ) and returns a re-signing key r s k i j to A .
    -
    O R e V K e y : Upon input of two verifiers’ public keys p k i and p k j , C computes r v k i j = c z j c z i = z j z i ( mod   p ) and returns a corresponding re-designate-verifier key r v k i j to A .
    -
    O S i m : This oracle is the same as O S i g n .
    -
    O V e r i f y : Upon receiving a message m and a signature σ = ( σ 1 , σ 2 ) , C responds by performing the following steps:
    (1)
    If F ( m ) 0 ( mod   p ) , then C creates another signature σ ˜ = ( σ ˜ 1 , σ ˜ 2 ) of m just as C responds to the signing queries in the oracle O S i g n . Subsequently, C submits ( g , u 0 i = 1 n u i m i , σ 2 σ ˜ 2 , g c , σ 1 σ ˜ 1 ) to the oracle O D B D H . If O D B D H outputs one, then C sends one to A ; otherwise, C sends zero to A .
    Correctness: If σ = ( σ 1 , σ 2 ) is a valid signature for message m, then σ must satisfy the following signature verification equation:
    σ 1 = e ( g a , g b ) c e ( u 0 i = 1 n u i m i , σ 2 ) c .
    Another valid signature σ ˜ = ( σ ˜ 1 , σ ˜ 2 ) calculated by C must also satisfy the following verification equation:
    σ ˜ 1 = e ( g a , g b ) c e ( u 0 i = 1 n u i m i , σ ˜ 2 ) c .
    Thus, we can obtain:
    σ 1 σ ˜ 1 = e ( g a , g b ) c e ( u 0 i = 1 n u i m i , σ 2 ) c e ( g a , g b ) c e ( u 0 i = 1 n u i m i , σ ˜ 2 ) c = e ( u 0 i = 1 n u i m i , σ 2 σ ˜ 2 ) c .
    The above equation demonstrates that ( g , u 0 i = 1 n u i m i , σ 2 σ ˜ 2 , g c , σ 1 σ ˜ 1 ) is a correct BDH tuple.
    (2)
    If F ( m ) = 0 ( mod   p ) , C makes a query to the oracle O D B D H with input ( g , g a , g b , g c , σ 1 e ( g c , σ 2 ) J ( m ) ) . If O D B D H returns one, then C sends one to A ; else, C sends zero to A .
    Correctness: Assuming that σ = ( σ 1 , σ 2 ) is a valid signature, the following equation holds:
    σ 1 = e ( g a , g b ) c e ( u 0 i = 1 n u i m i , σ 2 ) c = e ( g a , g b ) c e ( ( g b ) F ( m ) g J ( m ) , σ 2 ) c = e ( g a , g b ) c e ( g J ( m ) , σ 2 ) c = e ( g a , g b ) c e ( g c , σ 2 ) J ( m ) .
    Hence, we can obtain:
    e ( g , g ) a b c = σ 1 e ( g c , σ 2 ) J ( m ) .
    This shows that ( g , g a , g b , g c , σ 1 e ( g c , σ 2 ) J ( m ) ) is a valid BDH tuple.
  • Forgery : A produces a message/signature pair ( m * , σ * ) = ( m * , ( σ 1 * , σ 2 * ) ) , where m * has never been submitted to O S i g n and O S i m . If F ( m * ) 0 ( mod   p ) , then C terminates the simulation. Otherwise, C can successfully obtain a solution for the given CDHinstance by calculating:
    e ( g , g ) a b c = σ 1 * e ( g c , σ 2 * ) J ( m * ) .
We now analyze the probability that C can successfully solve the GBDH instance. If C completes the entire simulation without aborting, then the following events must occur.
  • A 1 : All signature, simulation and verification queries on any message m j satisfy F ( m j ) 0 ( mod   l m ) .
  • A 2 : F ( m * ) = 0 ( mod   p ) .
As F ( m ) = v 0 l m k m + i = 1 n v i m i and n + 1 random elements v 0 , v 1 , , v n Z l m Z p , F ( m ) = 0 ( mod   p ) implies that F ( m ) = 0 ( mod   l m ) . In contrast, F ( m ) 0 ( mod   l m ) implies that F ( m ) 0 ( mod   p ) . The probability of C completing the entire simulation is Pr [ A 1 A 2 ] . Since Pr [ F ( m * ) = 0 ( mod   l m ) ] = 1 l m and l m ( n + 1 ) < p , we have:
Pr [ A 2 ] = Pr [ F ( m * ) = 0 ( mod   l m ) F ( m * ) = 0 ( mod   p ) ] 1 l m 1 n + 1 .
Since two events A 1 and A 2 are independent, we have:
Pr [ A 1 | A 2 ] = Pr [ A 1 ] = Pr [ j = 1 q S + q S i m + q V F ( m j ) 0 ( mod   l m ) ] = 1 q S + q S i m + q V l m = 1 q S + q S i m + q V 2 ( q S + q S i m + q V ) = 1 2 .
Furthermore, we conclude that:
Pr [ A 1 A 2 ] = Pr [ A 2 ] · Pr [ A 1 | A 2 ] 1 l m · 1 n + 1 · 1 2 = 1 2 ( q S + q S i m + q V ) · 1 2 ( n + 1 ) = 1 4 ( n + 1 ) ( q S + q S i m + q V ) .
The probability ε of C successfully solving the GBDH problem is at least ε 4 ( n + 1 ) ( q S + q S i m + q V ) . ☐
Theorem 2.
If the DBDH problem is intractable, then our SDVPRS scheme possesses the PSI property.
Proof of Theorem 2.
Let D be a polynomial-time distinguisher against the PSI property in the proposed SDVPRS scheme. We can construct another algorithm B that invokes D to solve the DBDH problem. Upon receiving a DBDH instance ( g , g a , g b , g c , Z ) , where a , b , c Z p and Z G 2 , the task of B is to determine whether Z = e ( g , g ) a b c holds.
  • Setup : B selects x , y , w 0 , w 1 , , w n Z p at random and sets u 0 = g w 0 and u i = g w i ( 1 i n ) . Then, B assigns the signer S 0 ’s public key p k S 0 = ( g a , g b ) , the signer S 1 ’s public key p k S 1 = ( g x , g y ) and the public key p k V = g c of the designated verifier V. B sets the common secret key between S 0 and V as s k S 0 V = Z . Additionally, B sets the common secret key between S 1 and V as s k S 1 V = e ( g x , g c ) y . Finally, B sends ( G 1 , G 2 , p , g , e , u 0 , u 1 , , u n , p k S 0 , p k S 1 , p k V ) to D .
    Given any n-bit message m = ( m 1 , , m n ) , we define a function K ( m ) = w 0 + i = 1 n w i m i . Thus, we have:
    u 0 i = 1 n u i m i = g K ( m ) .
  • Phase 1 : D adaptively issues queries to the following oracles.
    -
    O S i g n : Upon receiving an index d { 0 , 1 } and a message m, B selects r Z p at random and uses the common secret key s k S d V to compute:
    σ 1 = s k S d V e ( u 0 i = 1 n u i m i , g c ) r
    and σ 2 = g r . Then, B sends a signature σ = ( σ 1 , σ 2 ) of m to D .
    -
    O S i m : This oracle is the same as O S i g n .
    -
    O V e r i f y : When D issues a verification query on a signature σ = ( σ 1 , σ 2 ) of a message m and an index d { 0 , 1 } , B computes K ( m ) and uses s k S d V to check whether the following equation is true:
    σ 1 = s k S d V e ( σ 2 , g c ) K ( m ) .
    If this equation holds, then B sends one to D ; else, B sends zero to D .
    Correctness: For a signature σ = ( σ 1 , σ 2 ) associated with the signer S d and the verifier V, we have:
    σ 1 = s k S d V e ( u 0 i = 1 n u i m i , g c ) r = s k S d V e ( g K ( m ) , g c ) r = s k S d V e ( g r , g c ) K ( m ) = s k S d V e ( σ 2 , g c ) K ( m ) .
    This shows that B can correctly verify the legality of the signature submitted by D .
    -
    O R e S i g n : Upon input of a message m d , an index d { 0 , 1 } , a signature σ d on m d and an index d 2 { 0 , 1 } , B first performs a verification query O V e r i f y with input ( m d , d , σ d ) to obtain a corresponding decision d e c { 0 , 1 } . If d e c = 0 , then B returns ⊥; otherwise, B obtains a signature σ d 2 related to S d 2 and V by querying the oracle O S i g n with input ( m d , d 2 ) . Then, B sends σ d 2 to D as a re-signature on m d .
  • Challenge : After receiving a challenge message m * submitted by D , B first randomly selects a bit b { 0 , 1 } and queries the oracle O S i g n on input ( m * , b ) to obtain a corresponding signature σ * of m * . Then, B sends σ * to D .
    Note that if b = 0 , then Z = e ( g , g ) a b c ; otherwise, Z = e ( g x , g c ) y is a random element in G 2 .
  • Phase 2 : B handles the subsequent queries submitted by D as in Phase 1, and D is not allowed to query O V e r i f y with input ( m * , σ * , d ) , where d { 0 , 1 } .
  • Guessing Phase : D eventually produces a guess b { 0 , 1 } . B outputs one if b = b and zero otherwise.
If D can correctly guess b such that b = b , then we have:
ε = | Pr [ b = b z = e ( g , g ) a b c ] Pr [ b = b z = e ( g x , g c ) y ] | 1 2 ( | Pr [ b = b | z = e ( g , g ) a b c ] Pr [ b = b | z = e ( g x , g c ) y ] | ) = 1 2 ε D B D H .
Therefore, B can successfully solve a DBDH instance with at least 2 ε probability. ☐
Theorem 3.
If the BDH problem is intractable, then our SDVPRS scheme is non-delegatable for signature verification.
Proof of Theorem 3.
Let A be a polynomial-time attacker against the property of non-delegatability for signature verification. Given a BDH tuple ( g , g a , g b , g c ) G 1 4 , we can construct another algorithm C that utilizes A ’s forgery to calculate Z = e ( g , g ) a b c .
  • Setup : C sets system parameters s p , the signer’s public key p k S = ( g a , g b ) and the designated verifier’s public key p k V = g c in the same way as in the proof of Theorem 1.
  • Queries : C answers A ’s signing and simulation queries in the same manner as in the proof of Theorem 1.
  • Forgery : Eventually, A produces a message/signature pair ( m * , σ * = ( σ 1 * , σ 2 * ) ) . If F ( m * ) 0 ( mod   p ) , then C terminates the simulation. Otherwise, C evaluates J ( m * ) and outputs the BDH value:
    e ( g , g ) a b c = σ 1 * e ( g c , σ 2 * ) J ( m * ) .
The probabilistic analysis of C successfully solving the BDH problem is similar to the probability analysis of Theorem 1. ☐

5. Performance Evaluation

This section discusses the performance comparison between our SDVPRS scheme and Wei et al.’s [14] DVPRS scheme with respect to the security model, the size of the secret key, the signature length and the computational overhead. The corresponding comparison results are shown in Table 1 and Table 2. We use the PBClibrary to evaluate the time cost of cryptographic operations. We select the curve a.param of Type A in the PBC-0.47-VC library to perform bilinear pairing, and p is a 512-bit prime. The simulated environment is set up on a laptop with the Windows 10 operating system, with an Intel(R) Core(TM) i7-6500 CPU @2.59 GHz and 8 GB of RAM. Since the computational overhead of other cryptographic operations is relatively small, we mainly consider time-consuming exponentiation and bilinear pairing. To simplify the description, let E denote an exponentiation computation that takes 7.46 ms. P represents a bilinear pairing operation, which takes 14.13 ms. | p | represents the length of an element in Z p , which is 20 bits. | G 1 | represents the length of an element in G 1 , which is 128 bits. In Table 1, KeySize and SigSize are used to represent the size of a secret key and a signature, respectively.
Table 1 presents the comparisons of the communication overhead based on the size of the secret key and signature. In both our SDVPRS scheme and Wei et al.’s scheme [14], the size of the secret key is 2 | p | (40 bits). In our SDVPRS scheme, the length of a signature is 2 | G 1 | (256 bits). The length of a signature in Wei et al.’s scheme [14] is | G 1 | (128 bits), but this scheme has been proven to be secure in the random oracle model.
Table 2 presents the comparisons between our SDVPRS scheme and Wei et al.’s DVPRS scheme [14] in terms of the computational overheads of the Sign , ReSign , ReVer and Verify algorithms. It should be noted that g x S y S and e ( g x S , g y S ) x V can be pre-computed in our scheme. To generate a signature, our scheme needs two exponentiations and one bilinear pairing operation (29.05 ms), while Wei et al.’s scheme [14] needs one exponentiation and one bilinear pairing operation (21.59 ms). As for the computation cost of signature conversion, our scheme requires two exponentiations (14.92 ms), while Wei et al.’s scheme [14] requires one exponentiation (7.46 ms). For the signature verification process, our scheme needs one exponentiation and one bilinear pairing operation (21.59 ms), while Wei et al.’s scheme [14] requires one exponentiation and two bilinear pairing operations (35.72 ms).
From the above analysis, we have observed that our scheme is comparable in computational performance to that of Wei et al.’s scheme [14]. However, our SDVPRS scheme provides higher security because the security of our scheme does not depend on ideal random oracles.

6. Application for Environmental Monitoring System

We describe an environmental monitoring data transmission system using our proposed SDVPRS scheme. This system, as shown in Figure 2, consists of three entities: IoT device, a server node and a set of n data centers that store IoT data.
The IoT device A belonging to a group B is mainly responsible for collecting environmental data and generating signatures of these data. Each data center U i has powerful computing and storage capabilities to store or analyze environmental data sent by IoT devices. For example, data centers receiving environmental data are usually government agencies, universities, research institutes or various types of environmental companies. The server node S acts as a proxy with a certain computing power and communication capabilities. It can convert the signature of IoT device A into the signature of group B, where the IoT device is located, and send the environmental monitoring data and corresponding signature anonymously to a subset of some designated data centers (denoted by { U 1 , , U n } ). The system consists of four phases: system setup, data acquisition, data transmission and data storage. The environmental monitoring data transmission system is described as follows.
  • System setup:
    The system parameters s p = ( G 1 , G 2 , p , g , e , u 0 , u 1 , , u n ) are generated by the Setup algorithm in Section 4. Each entity in the system generates its public/secret key pair ( p k , s k ) by running the KeyGen algorithm in Section 4.
    • The IoT device A sets its secret key s k A = ( s k A , 1 , s k A , 2 ) = ( x A , y A ) and public key p k A = ( p k A , 1 , p k A , 2 ) = ( g x A , g y A ) . Similarly, the group B in which the IoT device A is located sets the secret key s k B = ( s k B , 1 , s k B , 2 ) = ( x B , y B ) and public key p k B = ( p k B , 1 , p k B , 2 ) = ( g x B , g y B ) .
    • Each data center U i sets its public/secret key pair ( p k i , s k i ) = ( g x i , x i ) , i = 1 , , n .
    • The server node S runs the ReSKey algorithm in Section 4 to generate the re-signing key r s k A B = x B y B x A y A ( mod   p ) between the IoT device A and the group B. The server node S then runs the ReVKey algorithm in Section 4 to generate the re-designate-verifier key r v k 1 i = x i x 1 ( mod   p ) between the data center U 1 and the other data center U i ( i = 2 , , n ) .
  • Data acquisition:
    The IoT device A that assembles the sensor(s) collects environmental monitoring data m = ( m 1 , m n ) { 0 , 1 } n (e.g., atmosphere, water, soil, plants, etc.). Then, A randomly selects r Z p and calculates σ A 1 , 2 = g r and σ A 1 , 1 = e ( g x A y A ( u 0 i = 1 n u i m i ) r , g x 1 ) , where g x 1 is the public key of the data center U 1 . Finally, A sends m and the corresponding signature σ A 1 = ( σ A 1 , 1 , σ A 1 , 2 ) to the server node S.
  • Data transmission:
    After receiving the message m and signature σ A 1 = ( σ A 1 , 1 , σ A 1 , 2 ) sent by A, the server node S performs the following steps.
    • S calculates the signature σ B 1 = ( σ B 1 , 1 , σ B 1 , 2 ) = ( ( σ A 1 , 1 ) r s k A B , ( σ A 1 , 2 ) r s k A B ) using the re-signature key r s k A B . That is, the server node S converts the signature σ A 1 of the IoT device into the signature σ B 1 on m of the group B.
    • S uses the re-designate-verifier key r v k 1 i to convert the signature σ B 1 = ( σ B 1 , 1 , σ B 1 , 2 ) to σ B i = ( σ B i , 1 , σ B i , 2 ) , where σ B i , 1 = ( σ B 1 , 1 ) r v k 1 i and σ B i , 2 = ( σ B 1 , 2 ) r v k 1 i for i = 2 , , n .
    • S sends m and the corresponding signature σ B i to the designated data center U i , i = 1 , , n .
  • Data storage:
    After receiving the environmental monitoring data m = ( m 1 , m n ) { 0 , 1 } n and the corresponding signature σ B i = ( σ B i , 1 , σ B i , 2 ) , each data center U i ( 1 i n ) uses its own private key s k i = x i and the public key p k B = ( g x B , g y B ) of group B to check whether the following equation holds:
    σ B i , 1 = e ( g x B , g y B ) x i e ( u 0 i = 1 n u i m i , σ B i , 2 ) x i .
    If the above equation does not hold, it means that m is not authentic environmental monitoring data, and U i aborts and stops. Otherwise, m is securely stored by the data center U i so that other authorized users can access and analyze the collected environmental data.
In the above system, only the data center U i can verify the validity of the signature σ B i on the environmental monitoring data m. The server node S converts the signature of the IoT device A into the signature of the group B, so that each data center U i cannot infer the true identity of the IoT device from the received signature. Therefore, our system can verify the authenticity and integrity of environmental monitoring data, while protecting the identity privacy of IoT devices.
Here, we experimentally evaluate the performance of the proposed system. The experimental environment is the same as the simulation environment in Section 5. In the data acquisition phase, the following values can be precomputed:
Z 1 = g x A y A , Z 2 = g r , T 0 = u 0 r , T i = u i r , i = 1 , , n .
For environmental monitoring data m = ( m 1 , m n ) { 0 , 1 } n , IoT device A generates a signature σ A 1 = ( σ A 1 , 1 , σ A 1 , 2 ) on m as:
σ A 1 = ( e ( Z 1 · T 0 · i = 1 n T i m i , p k 1 ) , Z 2 ) ,
where p k 1 = g x 1 is the public key of data center U 1 . Figure 3 shows that when the length of the data is 100 bits, 300 bits, 500 bits, 700 bits and 900 bits, the time overhead of the IoT device is up to 20 ms, 27 ms, 35 ms, 42 ms and 50 ms, respectively.
In the data transmission phase, the server node needs two exponentiations to convert the signature σ A 1 of the IoT device into the signature σ B 1 of its group. In addition, the server node needs two exponentiations to change the data center U 1 in σ B 1 to the data center U i . Figure 4 shows that when the total number of data centers is 2, 4, 6, 8 and 10, the computational overhead required by the server node is approximately 29 ms, 60 ms, 92 ms, 125 ms and 156 ms, respectively.
For the data storage phase, the signature verification equation of the data is:
σ B i , 1 = e ( g x B , g y B ) x i e ( u 0 i = 1 n u i m i , σ B i , 2 ) x i ,
where e ( g x B , g x B ) x i can be pre-computed. When the length of the data is 100 bits, 300 bits, 500 bits, 700 bits and 900 bits, the time overhead required for each data center is as shown in Figure 5. Because the server nodes and data centers have strong computing power, our proposal has practical application.

7. Conclusions

Data authenticity and identity privacy are still critical issues for IoT devices. To secure IoT devices, a new SDVPRS technique applied to the IoT environment is presented in this paper. First, we present the security concepts of SDVPRS, and then, we propose the first construction of an SDVPRS scheme without random oracles. Furthermore, we prove that the proposed scheme is secure in the standard model based on the BDH, GBDH and DBDH problems. The security proofs demonstrate that our SDVPRS scheme can protect the identity privacy of IoT devices while ensuring the authenticity and integrity of IoT data. Our SDVPRS scheme is very useful for IoT-based data transmission systems.

Author Contributions

For the research paper, X.-D.Y. and L.-K.X. proposed and designed the SDVPRS scheme. C.-L.C. presented the background about SDVPRS. C.-F.W. did the performance analysis. The four authors cooperatively proved the security of the proposed scheme.

Funding

This research was funded by the National Natural Science Foundation of China Grant Numbers 61662069, 61672020 and 61472433; the China Postdoctoral Science Foundation Grant Number 2017M610817; the Science and Technology Project of Lanzhou City of China Grant Number 2013-4-22; and the Foundation for Excellent Young Teachers by Northwest Normal University Grant Number NWNU-LKQN-14-7.

Acknowledgments

The authors would like to appreciate the anonymous referees for their valuable comments and constructive suggestions.

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. 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]
  4. Kumar, P.; Kumari, S.; Sharma, V.; Sangaiah, A.K.; Wei, J.; Li, X. A certificateless aggregate signature scheme for healthcare wireless sensor network. Sustain. Comput. Inform. Syst. 2018, 18, 80–89. [Google Scholar] [CrossRef]
  5. 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]
  6. 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]
  7. Blaze, M.; Bleumer, G.; Strauss, M. Divertible protocols and atomic proxy cryptography. In Proceedings of the Theory and Applications of Cryptographic Techniques (EUROCRYPT’98), Espoo, Finland, 31 May–4 June 1998; Springer: Berlin/Heidelberg, Germany, 1996; LNCS Volume 1403, pp. 127–144. [Google Scholar]
  8. Yang, X.; Chen, C.; Ma, T.; Wang, J.; Wang, C. Revocable identity-based proxy re-signature against signing key exposure. PLoS ONE 2018, 13, e0194783. [Google Scholar] [CrossRef] [PubMed]
  9. Shao, J.; Cao, Z.; Wang, L.; Liang, X. Proxy re-signature schemes without random oracles. In Proceedings of the Cryptology in India (INDOCRYPT), Chennai, India, 9–13 December 2007; Springer: Berlin/Heidelberg, Germany, 2007; LNCS Volume 4859, pp. 197–209. [Google Scholar]
  10. Jakobsson, M.; Sako, K.; Impagliazzo, R. Designated verifier proofs and their applications. In Proceedings of the Theory and Applications of Cryptographic Techniques (EUROCRYPT’96), Saragossa, Spain, 12–16 May 1996; Springer: Berlin/Heidelberg, Germany, 1996; LNCS Volume 1070, pp. 143–154. [Google Scholar]
  11. Zhao, W.; Peng, Y.; Xie, F.; Dai, Z.; Gao, H.; Gao, Y. Designated verifier signature scheme over circulant matrices. In Proceedings of the Intelligent Information Hiding and Multimedia Signal Processing (IIH-MSP), Piraeus, Greece, 18–20 July 2012; IEEE Press: Piscataway, NJ, USA, 2012; pp. 420–423. [Google Scholar]
  12. Li, M.; Fang, T. Provably secure and efficient id-based strong designated verifier signature scheme with message recovery. In Proceedings of the Network-Based Information Systems (NBiS), Salerno, Italy, 10–12 September 2014; IEEE Press: Piscataway, NJ, USA, 2014; pp. 287–293. [Google Scholar]
  13. Tso, R.; Nieto, J.M.G.; Okamoto, T.; Boyd, C.; Okamoto, E. Verifier-key-flexible universal designated-verifier signatures. In Proceedings of the Cryptography and Coding, Cirencester, UK, 18–20 December 2007; Springer: Berlin/Heidelberg, Germany, 2007; LNCS Volume 4887, pp. 403–421. [Google Scholar]
  14. Wei, J.; Yang, G.; Mu, Y. Designated verifier proxy re-signature for deniable and anonymous wireless communications. Wirel. Pers. Commun. 2017, 97, 3017–3030. [Google Scholar] [CrossRef]
  15. Yang, X.; Yang, M.; An, F.; Leng, Q. A payment mechanism with multi-authority and privacy protection in mobile social networks. In Proceedings of the Wavelet Active Media Technology and Information Processing (ICCWAMTIP), Chengdu, China, 15–17 December 2017; IEEE Press: Piscataway, NJ, USA, 2017; pp. 258–262. [Google Scholar]
  16. Zhou, C.X. Identity based generalized proxy signcryption scheme. Inf. Technol. Control 2016, 45, 13–26. [Google Scholar]
  17. Hu, X.; Tan, W.; Xu, H.; Wang, J. Short and provably secure designated verifier proxy signature scheme. IET Inf. Secur. 2016, 10, 69–79. [Google Scholar] [CrossRef]
  18. Canetti, R.; Goldreich, O.; Halevi, S. The random oracle methodology, revisited. J. ACM (JACM) 2004, 51, 557–594. [Google Scholar] [CrossRef] [Green Version]
  19. Waters, B. Efficient identity-based encryption without random oracles. In Proceedings of the Theory and Applications of Cryptographic Techniques (EUROCRYPT 2005), Aarhus, Denmark, 22–26 May 2005; LNCS Volume 3494, pp. 114–127. [Google Scholar]
  20. Gao, C.Z.; Cheng, Q.; He, P.; Susilo, W.; Li, J. Privacy-preserving Naive Bayes classifiers secure against the substitution-then-comparison attack. Inf. Sci. 2018, 444, 72–88. [Google Scholar] [CrossRef]
  21. Li, T.; Li, J.; Liu, Z.; Li, P.; Jia, C. Differentially private naive bayes learning over multiple data sources. Inf. Sci. 2018, 444, 89–104. [Google Scholar] [CrossRef]
  22. Zhang, X.; Tan, Y.; Liang, C.; Li, Y.; Li, J. A covert channel over volte via adjusting silence periods. IEEE Access 2018, 6, 9292–9302. [Google Scholar] [CrossRef]
  23. Huang, Z.; Liu, S.; Mao, X.; Chen, K.; Li, J. Insight of the protection for data security under selective opening attacks. Inf. Sci. 2017, 412, 223–241. [Google Scholar] [CrossRef]
  24. Li, J.; Chen, X.; Chow, S.S.; Huang, Q.; Wong, D.S.; Liu, Z. Multi-authority fine-grained access control with accountability and its application in cloud. J. Netw. Comput. Appl. 2018, 112, 89–96. [Google Scholar] [CrossRef]
  25. Castiglione, A.; De Santis, A.; Masucci, B.; Palmieri, F.; Castiglione, A.; Li, J.; Huang, X. Hierarchical and shared access control. IEEE Trans. Inf. Forensics Secur. 2016, 11, 850–865. [Google Scholar] [CrossRef]
  26. Shen, H.; Gao, C.; He, D.; Wu, L. New biometrics-based authentication scheme for multi-server environment in critical systems. J. Ambient Intell. Humaniz. Comput. 2015, 6, 825–834. [Google Scholar] [CrossRef]
  27. Cai, Z.; Yan, H.; Li, P.; Huang, Z.A.; Gao, C. Towards secure and flexible EHR sharing in mobile health cloud under static assumptions. Clust. Comput. 2017, 20, 2415–2422. [Google Scholar] [CrossRef]
  28. Shen, J.; Zhou, T.; Chen, X.; Li, J.; Susilo, W. Anonymous and traceable group data sharing in cloud computing. IEEE Trans. Inf. Forensics Secur. 2018, 13, 912–925. [Google Scholar] [CrossRef]
  29. Lin, Q.; Yan, H.; Huang, Z.; Chen, W.; Shen, J.; Tang, Y. An ID-based linearly homomorphic signature scheme and its application in blockchain. IEEE Access 2018, 6, 20632–20640. [Google Scholar] [CrossRef]
  30. Chen, W.; Lei, H.; Qi, K. Lattice-based linearly homomorphic signatures in the standard model. Theor. Comput. Sci. 2016, 634, 47–54. [Google Scholar] [CrossRef]
  31. Lin, Q.; Li, J.; Huang, Z.; Chen, W.; Shen, J. A short linearly homomorphic proxy signature scheme. IEEE Access 2018, 6, 12966–12972. [Google Scholar] [CrossRef]
  32. Tian, H.; Li, J. A short non-delegatable strong designated verifier signature. Front. Comput. Sci. 2014, 8, 490–502. [Google Scholar] [CrossRef]
  33. Chen, W.; Chen, Z.; Samatova, N.F.; Peng, L.; Wang, J.; Tang, M. Solving the maximum duo-preservation string mapping problem with linear programming. Theor. Comput. Sci. 2014, 530, 1–11. [Google Scholar] [CrossRef]
  34. Ateniese, G.; Hohenberger, S. Proxy re-signatures: New definitions, algorithms, and applications. In Proceedings of the Computer and Communications Security (CCS), Alexandria, VA, USA, 7–11 November 2005; ACM Press: New York, NY, USA, 2005; pp. 310–319. [Google Scholar]
  35. Hu, X.; Zhang, Z.; Yang, Y. Identity based proxy re-signature schemes without random oracle. In Proceedings of the Computational Intelligence and Security (CIS), Beijing, China, 11–14 December 2009; IEEE Press: Piscataway, NJ, USA, 2009; pp. 256–259. [Google Scholar]
  36. Tian, M. Identity-based proxy re-signatures from lattices. Inf. Process. Lett. 2015, 115, 462–467. [Google Scholar] [CrossRef]
  37. Wang, Z.W.; Xia, A.D. ID-based proxy re-signature with aggregate property. J. Inf. Sci. Eng. 2015, 31, 1199–1211. [Google Scholar]
  38. Yang, P.; Cao, Z.; Dong, X. Threshold proxy re-signature. J. Syst. Sci. Complex. 2011, 24, 816–824. [Google Scholar] [CrossRef]
  39. Yang, X.D.; Wang, C.F.; Lan, C.H.; Wang, B. Flexible threshold proxy re-signature schemes. Chin. J. Electron. 2011, 20, 691–696. [Google Scholar]
  40. Yang, X.; Wang, C.; Zhang, L.; Qiu, J. On-line/off-line threshold proxy re-signatures. Chin. J. Electron. 2014, 23, 248–253. [Google Scholar]
  41. Guo, D.; Wei, P.; Yu, D.; Yang, X. A certificateless proxy re-signature scheme. In Proceedings of the Computer Science and Information Technology (ICCSIT), Chengdu, China, 9–11 July 2010; IEEE Press: Piscataway, NJ, USA, 2010; pp. 157–161. [Google Scholar]
  42. Xiao, H.; Zhang, M. Provably-secure certificateless proxy re-signature scheme. In Proceedings of the Intelligent Networking and Collaborative Systems (INCoS), Xi’an, China, 9–11 September 2013; IEEE Press: Piscataway, NJ, USA, 2013; pp. 591–594. [Google Scholar]
  43. Hu, X.; Liu, Y.; Xu, H.; Wang, J.; Zhang, X. Analysis and improvement of certificateless signature and proxy re-signature schemes. In Proceedings of the Information Technology, Electronic and Automation Control Conference (IAEAC), Chongqing, China, 19–20 December 2015; IEEE Press: Piscataway, NJ, USA, 2015; pp. 166–170. [Google Scholar]
  44. Saeednia, S.; Kremer, S.; Markowitch, O. An efficient strong designated verifier signature scheme. In Proceedings of the International Conference on Information Security and Cryptology (ICISC), Seoul, Korea, 27–28 November 2003; Springer: Berlin/Heidelberg, Germany, 2003; LNCS Volume 2971, pp. 40–54. [Google Scholar]
  45. Noh, G.; Jeong, I.R. Strong designated verifier signature scheme from lattices in the standard model. Secur. Commun. Netw. 2015, 18, 6202–6214. [Google Scholar] [CrossRef]
  46. Chen, Y.; Zhao, Y.; Xiong, H.; Yue, F. A certificateless strong designated verifier signature scheme with non-delegatability. IJ Netw. Secur. 2017, 19, 573–582. [Google Scholar]
  47. Khan, A.U.; Ratha, B.K. A secure strong designated verifier signature scheme. IJ Netw. Secur. 2017, 19, 599–604. [Google Scholar]
  48. Huang, Q.; Yang, G.; Wong, D.S.; Susilo, W. Efficient strong designated verifier signature schemes without random oracles or delegatability. Int. J. Inf. Secur. 2009, 10, 373–385. [Google Scholar] [CrossRef]
  49. Tian, H.; Jiang, Z.; Liu, Y.; Wei, B. A systematic method to design strong designated verifier signature without random oracles. Clust. Comput. 2013, 16, 817–827. [Google Scholar] [CrossRef]
  50. Lin, H.Y. Secure universal designated verifier signature and its variant for privacy protection. Inf. Technol. Control 2013, 42, 268–276. [Google Scholar]
  51. Lin, C.; Wu, W.; Huang, X.; Xu, L. A new universal designated verifier transitive signature scheme for big graph data. J. Comput. Syst. Sci. 2017, 83, 73–83. [Google Scholar] [CrossRef]
  52. Laguillaumie, F.; Vergnaud, D. Multi-designated verifiers signatures: Anonymity without encryption. Inf. Process. Lett. 2007, 102, 127–132. [Google Scholar] [CrossRef]
  53. Ming, Y.; Wang, Y. Universal designated multi verifier signature scheme without random oracles. Wuhan Univ. J. Nat. Sci. 2008, 13, 685–691. [Google Scholar] [CrossRef]
  54. Huang, Q.; Yang, G.; Wong, D.S.; Susilo, W. Efficient strong designated verifier signature schemes without random oracle or with non-delegatability. Int. J. Inf. Secur. 2011, 10, 373–385. [Google Scholar] [CrossRef] [Green Version]
Figure 1. System framework for IoT data authenticity.
Figure 1. System framework for IoT data authenticity.
Symmetry 10 00580 g001
Figure 2. Environmental monitoring data transmission based on IoT.
Figure 2. Environmental monitoring data transmission based on IoT.
Symmetry 10 00580 g002
Figure 3. Time cost of the IoT device.
Figure 3. Time cost of the IoT device.
Symmetry 10 00580 g003
Figure 4. Time cost of the server node.
Figure 4. Time cost of the server node.
Symmetry 10 00580 g004
Figure 5. Time cost for verifying signature validity in each data center.
Figure 5. Time cost for verifying signature validity in each data center.
Symmetry 10 00580 g005
Table 1. Comparison of communication overhead. SigSize, signature size; SDVPRS, strong designated-verifier proxy re-signature.
Table 1. Comparison of communication overhead. SigSize, signature size; SDVPRS, strong designated-verifier proxy re-signature.
SchemesKeySizeSigSizeStandard Model
Wei et al.’s scheme [14] 2 | p | | G 1 | No
Our SDVPRS scheme 2 | p | 2 | G 1 | Yes
Table 2. Comparison of computational overhead.
Table 2. Comparison of computational overhead.
SchemesSignReSignReVerVerify
Wei et al.’s scheme [14] E + P EE E + 2 P
Our SDVPRS scheme 2 E + P 2 E 2 E E + P

Share and Cite

MDPI and ACS Style

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. https://doi.org/10.3390/sym10110580

AMA Style

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(11):580. https://doi.org/10.3390/sym10110580

Chicago/Turabian Style

Yang, Xiao-Dong, Li-Kun Xiao, Chun-Lin Chen, and Cai-Fen Wang. 2018. "A Strong Designated Verifier Proxy Re-Signature Scheme for IoT Environments" Symmetry 10, no. 11: 580. https://doi.org/10.3390/sym10110580

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