1. Introduction
Recently, the integration of blockchain and the industrial Internet of Things (IIoT) has emerged as a novel trend and area of research within industrial applications [
1,
2]. However, smart objects attached to the IIoT interact with humans and also process their private data [
3,
4]. Moreover, information is collected in large quantities and disclosed to the Internet without the consent of specific persons. In data storage, privacy disclosure stands out as one of the most serious threats within the IIoT [
5,
6].
In 2008, Nakamoto proposed blockchain for the first time [
7]. However, with the in-depth study of blockchain, more and more people take a skeptical attitude towards blockchain’s anonymity in bitcoin trading [
8,
9,
10,
11]. In 2016, Zerocash was designed, which satisfies anonymity [
12]. Saberhagen et al. designed the CryptoNote protocol [
13]. Afterwards, Monero was proposed based on this CryptoNote protocol by using a ring signature to achieve anonymity. Thus, the ring signature was proposed [
14]. Then, Liu et al. proposed a new kind of ring signature scheme, which was called the linkable ring signature (LRS) [
15]. In LRS, not only does the signer’s identity in a ring signature remain anonymous but two ring signatures that are signed by the same signer can also be linked [
16]. Considering its advantages, the LRS scheme is suitable in many different practical applications, such as e-voting, e-money, supply chains, and healthcare [
17,
18,
19]. However, it still faces a problem, which cannot be ignored in Monero and Zerocash [
20]. More specifically, in 2018, Fedorov clearly pointed out the security risks of quantum computing in blockchain [
21].
Fortunately, lattice-based cryptography has been proven to have anti-quantum security [
22]. Afterwards, Ajtai provided an innovative algorithm for constructing random short lattices [
23,
24]. Gentry et al. put forward a trapdoor function to construct a cryptographic algorithm [
25]. Subsequently, some lattice-based signature schemes were proposed based on the bonsai tree algorithm [
26]. In 2010, Agrawal et al. proposed an efficient lattice basis delegation algorithm [
27]. By using this algorithm, Wang proposed an identity-based ring signature scheme [
28]. Lyubashevsky provided the rejection sampling lemma for constructing lattice-based signatures without using the hash-and-sign methodology. This signature scheme is provably secure based on the worst-case hardness of the
-SIVP problem [
29]. Then, a new ring signature scheme on lattice was proposed, and its security was proven under the random oracle model [
30].
Facing quantum computing attacks and privacy disclosure issues in blockchain-enabled IIoT, we propose a new LRS scheme and introduce it into blockchain to design a new post-quantum blockchain (PQB) with privacy protection for IIoT.
The rest of this study is organized as follows. In
Section 2, some definitions and lemmas of the lattice theories are presented. In
Section 3, we propose a secure LRS scheme based on lattice. A security proof is presented in
Section 4. In
Section 5, this LRS scheme is introduced into blockchain; we construct a privacy protection scheme for blockchain in IIoT and present a performance analysis and efficiency comparison of our scheme with other schemes. In
Section 6, conclusions are provided.
3. Lattice-Based LRS Scheme
3.1. Formal Definition
Suppose that the number of users in the ring is k, and represents all users in the ring.
Definition 4. (Linkable ring signature): The linkable ring signature scheme is usually composed of five PPT algorithms as follows.
Setup (): Select a security parameter n. This Setup algorithm outputs public parameters PP and the master key Mk.
KeyGen: Input public parameters, the KeyGen algorithm can output the secret key pair (pk, sk) and a corresponding public key I. So, we can obtain a public key set .
Ringsign : Input public key set R of the ring, the signer’s key pair and the message . Run the Ringsign algorithm to output signature e of message M.
Ringverify (e, R, M): Input the public key set R, message M and ring signature e; if the signature e is reasonable, the Ringverify algorithm accepts or refuses.
Link : Take a set and two signatures and . Output “linked” or “independent”.
3.2. Security Model
Generally speaking, the linkable ring signature scheme should satisfy three important security properties, namely anonymity, unforgeability and linkability.
Anonymity. The anonymity is defined by a game between adversary with a challenger as follows.
KeyGen (n). Input a security parameter n, challenger runs KeyGen algorithm to output a private key sk and a public key pk for each game participant, and there are k participants, . So, challenger obtains the public and private key pairs set .
Queries. Set the public key set . Suppose adversary selects a participant I with his public key . Challenger uses participant I’s public and private key pair and runs Ringsign algorithm to output the signature ; then, he returns to adversary .
Challenge. Adversary submits a message , ring and two other participants . The challenger chooses a bit and runs Ringsign algorithm to output signature , then returns to adversary .
Verify. If adversary outputs a guess and , adversary wins this game.
In this game, suppose that the probability of opponent a winning the game is , and the advantage of adversary is . If for every probabilistic polynomial-time adversary , the advantage is negligible, the ring signature scheme is anonymous.
Unforgeability. Unforgeability is defined by using the game between an adversary with a challenger as follows.
Setup. The challenger runs Setup(n) algorithm to generate public parameters PP and MK, and sends PP to the adversary . Then, adversary issues k queries on identity .
Queries. Set the public key set . Suppose adversary selects a participant I with his public key . Challenger uses participant I’s public and private key pair . Adversary submits a ring , private key and message msg. The challenger runs Ringsign algorithm to output signature , then returns to adversary .
Forgery. The adversary outputs , wins this game if:
- (1)
Verify = accept.
- (2)
Adversary does not have the private key of the user in .
- (3)
is not submitted to sign query.
Linkability. For two different messages and , the signer can obtain two different signatures and . There exists a PPT algorithm which verifies the probability of the same signer is not negligible. On the contrary, if the two different signatures and are signed by different signers, the PPT algorithm verifies that the probability of the same signer is negligible. Thus, the signature scheme is linkable.
3.3. Details of Our Scheme
Here, a security parameter , a prime , , and is a collision-resistant hash function. . Suppose that there are k users in the ring . Our linkable ring signature scheme contains the five PPT algorithms as follows.
Setup
: Select and input the security parameter .
- (1)
Based on Lemma 2, sender runs and obtain a random matrix and a corresponding short basis . is sender’s master key .
- (2)
For each user , the hash function takes as input ID, outputs and message . Thus, the public parameter .
KeyGen
: For each member, select each ID and input the Gaussian parameter , MK, and PP.
Based on Lemma 3, sender runs and obtains his private key . Thus, is a basis of , and his public key .
RingSign : Generate a signature by the following steps.
- (1)
Randomly select a vector , compute .
- (2)
Set and , select , then select vectors .
- (3)
- (4)
Compute .
- (5)
Let , if , . If , .
- (6)
Output the ring signature .
Verify : Verifier can verify the correctness of this signature as follows.
- (1)
For each and , verify .
- (2)
Verify .
If the above conditions are satisfied, the verifier runs the following Link algorithm. Otherwise, this signature e will be rejected.
Link (I,e): There is a set I that these values are stored in, verifier checks if has been used in past signatures.
For two signatures and , if , return 1 (linked) to indicate these two signatures are signed by the same user. If not, return 0 (unlinked).
Correctness. Suppose that there is a set l, and
, such that
Such that . Therefore, this linkable ring signature scheme satisfies correctness.
4. Security Analysis
4.1. Anonymity
Theorem 1. Our proposed ring signature scheme satisfies anonymity.
Proof. Suppose that there is an adversary attacking this proposed ring signature scheme based on the anonymity’s definition. □
KeyGen. At first, challenger selects k users to obtain an ID set . Then, for each user ID, input a security parameter n; challenger runs algorithm and generates a uniformly random matrix with a corresponding short basis . At last, challenger runs to obtain the private key . Similarly, a corresponding public key is . There are k participants , and challenger can obtain the public–private key pairs set .
Queries. Challenger answers the hash queries, private key queries and signing queries of adversary . Suppose adversary selects a participant with his ID. Challenger returns this ID’s public and private key pair and runs Ringsign algorithm to output signature , then returns this signature to adversary .
Challenge. Adversary submits a message , ring and two other participants . The challenger chooses a bit and runs Ringsign algorithm to output signature , then he returns this signature to adversary .
Guess. Adversary outputs a guess and verify .
For the signature, if , . If , . According to Lemma 4, is not distinguishable from Gauss distribution . Similarly, is also not distinguishable from . We can see that, because these two signatures, e and , have the same distribution of the domain, they are computationally indistinguishable.
In summary, under the simulated environment, the adversary in this anonymity game advantage is negligible in guessing the right identity.
4.2. Unforgeability
Theorem 2. Under the lattice SIS problem assumption, the proposed linkable ring signature scheme is existentially unforgeable.
Proof. Suppose that A is regarded as a PPT adversary. A is able to successfully attack this proposed scheme and forge a new signature. We use to denote the probability of success. Then, A is a subroutine, which can solve the lattice short integer solution problem via non-negligible probability. Thus, a PPT algorithm T is constructed, which is realized through interaction with the adversary A as follows. □
Setup. The challenger selects a user set and a user . And runs the Setup algorithm to obtain PP and MK, and sends PP to . Then, issues queries on identity .
KeyGen. For , challenger does as follow.
- (1)
According to Lemma 2, challenger uses to obtain a random matrix with a corresponding short basis . is sender’s master key .
- (2)
For each user , the hash function outputs . For message . obtains the public parameter . Then, transmits PP and U to .
- (3)
Run to generate a secret key which is a basis of . Correspondingly, .
Queries. Challenger answers the following hash queries, private key queries and signing queries from adversary .
- (1)
Hash queries. Adversary chooses a user’s . Challenger checks the list . If adversary submitted this query before, it will return the same result. Otherwise, Challenger runs the algorithm , returns to adversary and stores it in .
- (2)
Private key queries. Adversary selects a user from U. Challenger checks the list and finds (). Then, challenger runs to return his private key to adversary and store it in .
- (3)
Signing queries. Adversary submits a message M, a ring and . Challenger runs Ringsign algorithm to output ring signature , then return to adversary .
Forgery. Adversary submits a message , a ring , a user , adversary can forge a signature . wins the game if:
- (i)
Verify is accepted.
- (ii)
Adversary does not have the private key of the user in .
- (iii)
is not submitted to the signing query.
According to our signature scheme, it is shown that if
is a legal signature of ring
, we have
Because challenger
can use private key queries to obtain the private key
of
,
is also a legal signature of ring
, so we have
Through the analysis of Equations (3) and (4), we have
So,
; then, we have
Let
, so
, such that
Consequently, it means that the result is a non-zero solution to the lattice SIS problem.
At last, according to the preimage min-entropy property, the probability of the non-zero solution is not less than . The probability that adversary successfully forges a legal signature is , and . Therefore, the non-zero solution to the lattice problem with a negligible probability .
As shown in the calculation and analysis, the probability that adversary forges a legal and valid signature is negligible. Under the lattice SIS problem assumption, the proposed linkable ring signature scheme satisfies unforgeability. Thus, the proof of this theorem is completed.
4.3. Linkability
Theorem 3. The proposed ring signature scheme is linkable. Formally, adversary cannot produce valid signatures with key images for any .
Proof. Suppose that, for the sake of contradiction, adversary A can generate valid signatures. Since the secret key set , there is at least one which does not belong to the set I. Without a loss of generality, considering this event happened in , which is a valid signature, we have . Because does not belong to the set I, its secret key does not belong to secret key set S. Therefore, for and it contradicts previous assumptions, in which adversary A can generate valid signatures. Consequently, our ring signature scheme is linkable. □
5. LRS-Based Blockchain for IIoT
5.1. Stealth Address
As described in CryptoNote, the stealth address technology is used in all transactions to provide privacy protection for the receiver. For instance, Alice and Bob have a transaction to make. In this transaction, Alice needs to pay her cryptocurrency to Bob. At first, Alice generates a one-time address for Bob and publishes it as a broadcast in the distributed network. Subsequently, Bob has to check each transaction by using his private key to identify which transaction belongs to him. Subsequently, he recovers this secret key corresponding to the destination address.
Through using a stealth address, the connection of a blockchain transaction’s output with the recipient’s wallet address is broken. More specifically, the actual destination address of a transaction is hidden with the stealth address in CryptoNote. For the sake of protecting the privacy of receivers in blockchain, we also produce stealth addresses as follows, which will be used as the verifying and signing key pairs in the PQB with privacy protection based on lattice.
5.2. Blockchain with Privacy Protection
According to the framework of CryptoNote, in this subsection, we introduce our LRS scheme into blockchain to design a secure PQB scheme with privacy protection for IIoT. Suppose that Alice wants to transfer her cryptocurrency to Bob from her address of a secret key pair
. As shown in
Figure 1, we describe our scheme through the implementation of a transaction as follows.
Key generation. Alice and Bob run the KeyGen algorithm to obtain her/his secret key pairs and , respectively. It should be noted that Alice’s secret key pair address has been used for receiving the cryptocurrency in the last transaction.
Key image. Bob randomly selects a string . Then, he calculates and sends this hash value to Alice. Then, Alice calculates and key image .
Transaction generation. Alice specifies
n−1 foreign outputs with the same amount as her outputs and mixes all of these foreign outputs without other people’s participation. All previous transactions with outputs are added to the hash function. Then, this hash value
h is signed by running the
Ringsign algorithm, which generates a ring signature
. Afterwards, as shown in
Figure 2, she inputs these outputs,
Y, key image
X, ring signature
e and generates a new transaction
tx.
Transaction verification. By running the Link algorithm, the miner nodes verify whether the cryptocurrency in the transaction has been consumed to prevent a double spending attack. Subsequently, miner nodes run the Verify algorithm to verify whether the signature of this transaction is correct. If it is correct, this transaction will be encapsulated in a new block. Otherwise, this transaction will be discarded.
Transaction confirmation. Bob checks this transaction. Afterwards, he extracts the destination key from this transaction and calculates . If , this transaction is the one which Alice sends to Bob. Thus, Bob accepts this transaction, and he records with and in his wallet. When he wants to spend this coin with the destination address , he can use the corresponding one-time key pair to generate a new transaction as in the above steps.
Different from traditional blockchain, for each ring signature , it can be checked by using the public key set in our proposed scheme instead of a unique public key. Before the owner uses the same key pair to generate a second signature, the identity of the signer cannot be distinguished from other users in the public key set. More specifically, by using our LRS scheme in PQB for IIoT, the signer’s identity in a ring signature remains anonymous, and two ring signatures, which are signed by the same signer, can be linked. Therefore, this new PQB not only protects the user’s privacy information but also resists the double spending attack. Additionally, as discussed above, the LRS scheme used in PQB satisfies unforgeability. With these above security advantages, the proposed PQB scheme enhances data security for IIoT.
5.3. Security and Comparison
As previously highlighted, the lattice-based cryptography algorithm represents a unique mathematical structural model. It has been rigorously demonstrated to possess robust resistance against quantum computing attacks, positioning it as an indispensable component in the future landscape of information security. Consequently, in line with the aforementioned considerations, we opted to employ lattice-based cryptography as the foundational framework for constructing our linkable ring signature scheme. In this study, our linkable ring signature scheme’s security mainly depends on the intractability of the SIS problem from lattice-based cryptography. And the lattice SIS problem in an average case can be reduced to the SIVP in the worst case, which is often used to construct signature schemes for resisting quantum computing attacks [
40]. Therefore, our scheme has anti-quantum security.
Furthermore, lattice-based cryptography algorithms are matrix and vector operations, and the computation cost largely determines the cryptography algorithm’s efficiency, especially the public key size and signature size. In this subsection, it is assumed that the parameters (
n, m, q, k) are the same in our scheme and other related lattice-based ring signature schemes. The detailed comparison results are shown in
Table 1. Compared with other schemes, the results show that our public key size and signature size are shorter than those in Refs. [
32,
33,
34,
35]. Therefore, our scheme is efficient, with lower computation costs.
Meanwhile,
Ttg,
Tbd,
Teb,
Terb,
Trb,
Tsp,
Tgsp,
Tmul are set to represent the average consumption time of the following algorithms, TrapGen, BasisDel, ExtBasis, ExtRandBasis, RandBasis, SamplePre, GenSamplePre and vector multiplication, respectively. Then, the master key generation time, user key generation time and signature generation time in these above ring signature schemes are compared, respectively, and the time cost comparison results are shown in
Table 2. Among them, our ring signature scheme only uses the TrapGen algorithm once in the master key generation, and the user key generation adopts the BasisDel algorithm
times. Using the rejection sampling lemma, the main steps of generating a ring signature adopt simple vector multiplication. Through this comprehensive comparison, it shows that in the transaction signature process, our scheme’s time cost is less than that in other schemes.
Furthermore, based on the parameters of 80-bit and 192-bit security levels in Ref. [
41], and in combination with the parameter requirements of the scheme in our study, the parameters used in the experimental testing are set as follows. We consider two security level of 80-bit and 192-bit, and the parameters polynomial degree n and modulus q are set as n = 256; q = 2
10, m = 3853 and n = 512; q = 2
10, m = 7706, respectively. Other reasonable parameters include g = 256, k = 10,
. Under two security levels of 80-bit and 192-bit, the public key size, signature size and private key of our proposed scheme and those in Refs. [
32,
33,
34,
35] are compared. The simulation results are shown in
Figure 3, where (a) and (b) represent the 80-bit security level and 192-bit security level, respectively. As shown in
Figure 3, the public key size and signature size of the transaction in our scheme are 362.42 KB and 14.11 KB for 80-bit security, 1444.87 KB and 28.22 KB for 192-bit security. Under the same security levels, our scheme achieves a significant reduction in public key size and signature size compared to Refs. [
32,
33,
35]. In terms of the generated private key size, since the private key sizes in Refs. [
32,
35] are 4m
2log
q, according to the parameter settings of 80-bit and 192-bit security levels, it is obvious that their sizes are much larger than other schemes. Ref. [
33]’s generated private key sizes at 80-bit and 192-bit security levels are 458.74 KB and 1834.97 KB, respectively. Ref. [
34]’s private key sizes are 0.38 KB and 0.76 KB at 80-bit and 192-bit security levels, respectively. And our scheme’s private key sizes are 0.09 KB for 80-bit security and 0.19 KB for 192-bits security, which are significantly smaller than those in other schemes. After comprehensive comparisons, our LRS scheme for blockchain has lower computational overhead, reduces storage costs, and achieves higher efficiency.