Multi-factor SM9 blind signature big data privacy protection method and system
Through the multi -factor SM9 blind signing technology and blockchain verification, the problem of sensitive information privacy protection and data belonging to the identity security of large model data, and realized efficient privacy protection and security in the data interaction process.
Patent Information
- Application Number
- CN202411421008.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-12
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2044-10-12
AI Technical Summary
In the multi-party interaction of large-model data, how to ensure the privacy protection of sensitive information and the security of the identity of the data attributable party, especially when the inference ability of generative artificial intelligence may leak private information.
Adopt multi -factor SM9 blind signature big data privacy protection method, blindly processing information through user nodes, signature processing of signature nodes, and verification in the blockchain system to ensure the privacy and Pottery.
The effective privacy protection of sensitive information during the data interaction of large models is achieved, ensuring the security and credibility of the data, and improving the security and efficiency of identity authentication.
Smart Images

Figure CN119378008A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of privacy protection technology, and specifically to a multi-factor SM9 blind signature big data privacy protection method and system. Background Art
[0002] Data is the key force driving today's scientific and technological revolution and social progress. In today's information age with rapid development of emerging technologies, big models are artificial intelligence models with a large amount of training data and powerful computing power. Relying on computing power, they can handle complex large-scale data set analysis tasks and provide accurate prediction and decision support. However, the rapid development and widespread application of big model technology are very dependent on data. Data-level issues, such as data security, are the first to be exposed. The model of multi-party interaction, sharing, and trading data to jointly create a big model ecosystem is gradually being recognized. Massive data often contains sensitive information in the training and application of big models. How to ensure the privacy of these data and the identity security of the data owner during the multi-party interaction has become an urgent problem to be solved. At the same time, the reasoning ability of generative artificial intelligence may generate private information in the data set after the big model training. This private information should be hidden and protected. How to efficiently process this private data is also a major challenge currently faced. Summary of the invention
[0003] In order to solve the deficiencies mentioned in the above background technology, the purpose of the present invention is to provide a multi-factor SM9 blind signature big data privacy protection method and system.
[0004] In a first aspect, the purpose of the present invention can be achieved by the following technical solution: a multi-factor SM9 blind signature big data privacy protection method, the method comprising the following steps:
[0005] Obtain user-related data, perform information blinding processing on the user-related data based on the user node to obtain blinded processing data, and the user node sends the blinded processing data to the signature node;
[0006] The signing node signs the blinded data to obtain the signed information data, and sends the signed information data to the user node and the verification node;
[0007] The user node unblinds the signed information data to obtain the real signature, and sends the real signature to the verification node. The verification node uses the real signature to verify the signed information data. If the verification fails, the user-related data is obtained again and processed and verified again. If the verification succeeds, the privacy-protected data is obtained.
[0008] In combination with the first aspect, in some implementations of the first aspect, the method further includes: the user-related data includes a user identity ID=γ, a timestamp T=τ, and a one-time password OTP=λ.
[0009] In combination with the first aspect, in some implementations of the first aspect, the method further includes: implementing in the blockchain system, and initializing the model system
[0010] Defining a finite field and elliptic curves Two additive groups G1 and G2 are generated in the elliptic curve, and there exists a bilinear mapping e:G1×G2→G T , where GT is the multiplication group; select the private key s according to the key generation center KGC and calculate P pub =s·G1,P pub As the public key, the user User selects the private key d User And calculate its public key P User =d User ·G1.
[0011] In combination with the first aspect, in some implementations of the first aspect, the method further includes: the process of performing information blinding processing on the user-related data:
[0012] Signature node Psigner in group G T Calculate g=e(P1,P pub ); randomly select an integer r in [1,n-1]; in the group G T Calculate w = g r , and sends w to the user node User; obtain the three elements to obtain γ, τ, λ, and send them to the user node User; after receiving w, the user node User uses γ and μ as blinding parameters according to the three elements; the user node User in the group G T Calculate w2=w γ g μ ; User node User continues to calculate h = H2 (M || w2, N) and BM = γ -1 h-ζ, where ζ is the distortion line parameter, and the blinded processed data BM is sent to the signature node Psigner.
[0013] In combination with the first aspect, in some implementations of the first aspect, the method further includes: a process in which the verification node verifies the signed information data using the real signature:
[0014] The signature verification user node Verifier calculates g = e(P1,P pub );Calculate t=g h ; Calculate h1 = H1 (ID A||hid,N); calculate P = [h1]P2 + P pub ; Calculate u=e(S,P); Calculate w'=u·t; Calculate h'=H2(M|w',N); Verify whether h'=h holds. If so, the verification passes, otherwise the verification fails.
[0015] In combination with the first aspect, in some implementations of the first aspect, the method further includes: the key exchange protocol uses a variant of elliptic curve Diffie-Hellman ECDH to implement secure key exchange between end-to-end devices, as shown below: the user node User establishes a shared session key K with the signature node Psigner session , which represents the unique authentication identifier of both parties in data interaction, and is used for identity authentication;
[0016] Each party chooses an elliptic curve E:y 2 =x 3 +ax+b(modp) as the private key, denoted by d User and d Signer , where G is a base point on the elliptic curve, a and b are the parameters of the curve, and p is a large prime number;
[0017] Both parties calculate the corresponding public key Q User =d User *G and Q Signer =d Signer *G and swap; then User will d User Send it to Psigner, Psigner will d Signer Sent to User, then User and Psigner calculate the shared key K User =d User *Q Signer and K Signer =d Signer *Q User , due to the additive property of elliptic curves, K User =K Signer =K, both parties have the same shared key K;
[0018] Introduce the bilinear map e:E1×E2→G T , where E1 and E2 are two different elliptic curves, G T is another elliptic curve group. The bilinear map satisfies the following properties: Bilinearity: For all P∈E1, Q∈E2, There is e(u a ·P,v b ·Q)=e(P,Q) ab ; Non-degeneracy: For non-infinitesimal P and Q, there exists
[0019] Use bilinear mapping and hash function to construct a secure key derivation function KDF: K session =KDF(K,ID User ,ID Signer ,TS); KDF is a secure key derivation function, ID User and ID Signer They are the identifiers of User and Psigner respectively, TS is the timestamp, KDF(K,ID User ,ID Signer ,TS)=H(e(K,α)||ID User ||ID Signer ||TS), where α is a randomly selected auxiliary element on E2, || represents a concatenation operation, and ID User and ID Signer are the identifiers of devices A and B respectively;
[0020] The public key, shared key, and session key information generated during the key exchange process are stored on the blockchain.
[0021] In combination with the first aspect, in some implementations of the first aspect, the method further includes: the key generation center KGC verifies the uniqueness of the generated key by using conventional cuckoo filtering, the steps are: initializing the cuckoo filter: the cuckoo filter consists of two hash tables H1 and H2 and four hash functions h1, h2, h3, and h4; user key generation: the user User requests the KGC to generate a key, and the KGC generates a unique private key d for it U , and calculate the corresponding public key P U =d U G1, the hash function maps the key to the index of the hash table; public key uniqueness verification and insertion: User User inserts the public key P U Sent to KGC, KGC uses hash functions h1,h2 to U Hash to obtain two index positions i=h1(P U ) and j = h2(P U ); KGC checks H1[i] = P U or At this time P U is inserted into H1[i], if H2[j]=P U or P U is inserted into H2[j], if P U If neither H1[i] nor H2[j] matches, and both positions are not empty, KGC will try to find P by kicking out and replacing operations. U location.
[0022] In combination with the first aspect, in some implementations of the first aspect, the method further includes: an improvement process of the conventional cuckoo filtering:
[0023] Add a timestamp field to each hash table entry or use a counter to track the usage of each entry. Whenever a public key is looked up or inserted, update the timestamp or counter of the relevant hash table entry.
[0024] Use an additional ordered linked list data structure to maintain the LRU order of all hash table entries. When a hash table entry needs to be kicked out to insert a new public key, the oldest entry is selected for kicking out;
[0025] When an entry needs to be kicked out from H1 or H2 to insert a new entry P U When P is reached, the following steps are performed: Use hash functions h1 and h2 to determine the possible positions i and j of the new entry; Check whether H1[i] and H2[j] are empty or not. U Match; if none of them match and the position is not empty, select an LRU entry from H1[i] and H2[j] to kick out; if you choose to kick out from H1[i], use h3 to determine P old At the new position k' in H2, place P old Insert H2[k'] and update its usage record;
[0026] Key store updates and lookup verification
[0027] Once P U is successfully inserted, KGC updates the cuckoo filter and auxiliary data structures to reflect this change, and when it needs to verify the public key P U To determine if it is unique, KGC only needs to look for P in H1 and H2. U existence and check its usage record.
[0028] In a second aspect, in order to achieve the above-mentioned object, the present invention discloses a multi-factor SM9 blind signature big data privacy protection system, comprising:
[0029] The blind processing module is used to obtain user-related data, perform information blind processing on the user-related data based on the user node, obtain blind processing data, and the user node sends the blind processing data to the signature node;
[0030] The signature processing module is used for the signature node to sign the blinded data to obtain the signed information data, and send the signed information data to the user node and the verification node;
[0031] The information verification module is used by the user node to unblind the signed information data, obtain the real signature, and send the real signature to the verification node. The verification node uses the real signature to verify the signed information data. If the verification fails, the user-related data is obtained again and processed and verified again. If the verification is successful, the privacy-protected data is obtained.
[0032] In another aspect of the present invention, in order to achieve the above-mentioned purpose, a terminal device is disclosed, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor, wherein the memory stores a computer program capable of running on the processor, and when the processor loads and executes the computer program, a multi-factor SM9 blind signature big data privacy protection method as described above is adopted.
[0033] Beneficial effects of the present invention:
[0034] Aiming at the privacy protection challenges encountered by large model data in multi-party interaction, the present invention proposes a constructive idea for privacy protection of large model data based on blockchain technology in the future. The SM9 algorithm and blind signature are used to perform partial privacy data blind signature on data that needs to hide information. Under the endorsement of blockchain signature authentication, data interaction with partial information can be realized. The invention relies on the algorithm to bind the identity of the user subject in the data interaction process with a strong signature. There is no possibility of successful evil in each authentication and interaction step. Combined with the public characteristics of the blockchain, data privacy is protected under the condition that user identity tampering cannot be achieved. At the same time, the least recently used (LRU) improved cuckoo filter strategy scheme is proposed to verify and optimize the uniqueness of the key generated by the key generation center (KGC) that the above algorithm needs to contact, and ensure the efficient processing of the uniqueness of each generated key. Compared with the existing scheme, the improved SM9 and identity authentication methods in the scheme of the present invention have been analyzed and compared for correctness and security, which can ensure data security and bring 4.7 / 5.9 times the time efficiency improvement of the blind signature verification stage and the SM2 / Schnorr scheme respectively. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0036] Figure 1 It is a schematic flow chart of the method of the present invention;
[0037] Figure 2 It is a schematic diagram of the system architecture of the present invention;
[0038] Figure 3 It is a schematic diagram of the time comparison between the present invention and four algorithm solutions in the whole process;
[0039] Figure 4 1. It is a schematic diagram of the time consumption comparison of the key duplication check operation time algorithm of the present invention;
[0040] Figure 5 It is a schematic diagram of the system structure of the present invention. DETAILED DESCRIPTION
[0041] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0042] Embodiment 1:
[0043] The following is an introduction to the relevant terms involved in the embodiments of the present application:
[0044] Blockchain (English name: blockchain or block chain) is a decentralized distributed ledger with block chain storage, immutability, security and reliability. It combines distributed storage, peer-to-peer transmission, consensus mechanism, cryptography and other technologies to record transactions and information through a growing data block chain (Blocks) to ensure data security and transparency. Blockchain originated from Bitcoin. Since the early days of the Bitcoin network, blockchain has gradually evolved into a global technology, attracting global attention and investment. Subsequently, the emergence of a new generation of blockchain platforms such as Ethereum has further expanded its application areas. The characteristics of blockchain include decentralization, immutability, transparency, security and programmability. Each data block is linked to the previous block to form a continuous chain, which ensures the integrity of the transaction history. Smart contract technology makes blockchain programmable and supports a wider range of applications. Blockchain has been widely used in finance, supply chain, medical care, real estate and other fields. Although it still faces scalability and regulatory challenges, it has become a powerful tool to change traditional business and social models and has great potential for the future.
[0045] like Figure 1 As shown, a multi-factor SM9 blind signature big data privacy protection method comprises the following steps:
[0046] S101: Obtain user-related data, perform information blinding processing on the user-related data based on the user node to obtain blinded processing data, and the user node sends the blinded processing data to the signature node;
[0047] Specifically, user-related data includes user identity ID = γ, timestamp T = τ and one-time password OTP = λ; multi-factor SM9 blind signature is implemented to protect privacy data from being leaked while providing relatively native and high-quality data for large model training and multi-party circulation; the SM9 algorithm is also used for authoritative authentication of the identity of data interactors and blockchain verifiers; at the same time, the improved cuckoo filter is introduced for collision detection in the KGC key generation stage. The improved scheme proposes a dynamically adjusted least recently used hash table scheme based on the characteristics of the huge amount of data, which solves the problem of KGC key uniqueness in SM9. The blind signature characteristics of the overall system enable the privacy data that needs to be hidden in a large amount of data to be publicly verified and leaked through the blockchain while maintaining high-efficiency operation.
[0048] The solution is implemented in the blockchain system, where data providers are collectively referred to as user nodes User, data acquirers are also collectively referred to as verification nodes Verifier, and user nodes and verification nodes exchange data through their own signature key pairs. The most important node in the system is the signature node Psigner that signs the data. Psigner is also responsible for block generation, multi-factor parameter configuration, SM9 blind signature and initialization of subsequent identity authentication methods, and management of system transaction data.
[0049] The following steps are the process of designing and describing the solution:
[0050] (1) Initialize the model system
[0051] Defining a finite field and elliptic curves Two additive groups G1 and G2 are generated in the elliptic curve, and there exists a bilinear mapping e:G1×G2→G T , where GT is the multiplication group. According to the key generation center (KGC), the private key s is selected and P is calculated. pub =s·G1,P pub As the public key. User User selects the private key d User And calculate its public key P User =d User ·G1.
[0052] (2) Information blindness processing
[0053] In order to ensure the privacy and integrity of the message M, the user node User will blindly sign the message M that needs to be blinded. The user User will first process the one-time random number OTP, ID and trusted timestamp T sent by Psigner. Since the timestamp may be repeated, the OTP and T are multiplied by τ*λ=μ. At this time, the information is blinded with two random parameters γ and μ to obtain the blinded information BM.
[0054] (3) The signature node signs
[0055] The blinded information BM is sent to the signature node Psigner in the blockchain network, signed by the signature node Psigner, and the signed information M' is sent to the user User;
[0056] (4) Unblind signature verification
[0057] The user User unblinds the information M' and obtains the signature. After successful verification, the real signature (h, s) is obtained, and h is sent to the verification user Verifier. At the same time, the signing node is notified to send the information M' to the verification user Verifier.
[0058] (5)Signature verification
[0059] The verifying user uses the signature to verify the blinded information M'. If the consistency check passes, the signature verification is successful, that is, the obtained message is the data information blinded by the user User and has not been tampered with.
[0060] The process of blinding user-related data:
[0061] Signature node Psigner in group G T Calculate g=e(P1,P pub ); randomly select an integer r in [1,n-1]; in the group G T Calculate w = g r , and sends w to the user node User; obtain the three elements to obtain γ, τ, λ, and send them to the user node User; after receiving w, the user node User uses γ and μ as blinding parameters according to the three elements; the user node User in the group G T Calculate w2=w γ g μ ; User node User continues to calculate h = H2 (M || w2, N) and BM = γ -1 h-ζ, where ζ is the distortion line parameter, and the blinded processed data BM is sent to the signature node Psigner.
[0062] S102: The signing node signs the blinded data to obtain signed information data, and sends the signed information data to the user node and the verification node;
[0063] The signature verification is implemented through the following eight steps: 1. The signature verification user node Verifier calculates g = e (P1, P pub );2. Calculate t=g h ; 3. Calculate h1 = H1 (ID A ||hid,N); 4. Calculate P = [h1]P2 + P pub ; 5. Calculate u = e(S, P); 6. Calculate w' = u·t; 7. Calculate h' = H2(M|w', N); 8. Verify whether h' = h is true. If so, the verification passes, otherwise the verification fails.
[0064] The method described in the present invention is aimed at the privacy protection measures taken for the original information during the information and key transmission process. However, during the interaction, the malicious party may impersonate the User, Verifier, or Psigner. At this time, it is necessary to identify the user's identity to ensure the secure transmission of data information. To this end, the present invention introduces a new key exchange protocol, based on blockchain technology, and uses bilinear mapping to improve the original identity authentication method based on the SM9 algorithm.
[0065] The key exchange protocol of the present invention uses a variant of Elliptic Curve Diffie-Hellman (ECDH) to implement secure key exchange between end-to-end devices. Taking the above use case notation as an example, the protocol can be expressed as follows: the user node User wants to establish a shared session key K with the signature node Psigner session , which is the unique authentication identifier of both parties in data interaction, for identity authentication. The model design is shown in Figure aa, and the steps are as follows.
[0066] Initialize elliptic curve parameters
[0067] Each party chooses an elliptic curve E:y 2 =x 3 +ax+b(modp) as the private key, denoted by d User and d Signer , where G is a base point on the elliptic curve, usually a point that satisfies the curve equation and has a suitable order (that is, there is a large prime number n such that nG = Θ, where Θ is an infinite point), a and b are the parameters of the curve, and p is a large prime number.
[0068] Key generation and exchange
[0069] Both parties calculate the corresponding public key Q User =d User *G and QSigner =d Signer *G and swap; then User will d User Send it to Psigner, Psigner will d Signer Sent to User, then User and Psigner calculate the shared key K User =d User *Q Signer and K Signer =d Signer *Q User , due to the additive property of elliptic curves, K User =K Signer =K, so both parties have the same shared key K, which can be used for subsequent encrypted communications.
[0070] Bilinear map introduction
[0071] To further enhance security, we introduce the bilinear mapping e:E1×E2→G T , where E1 and E2 are two different elliptic curves, G T is another elliptic curve group. Bilinear mapping satisfies the following property, bilinearity: for all P∈E1, Q∈E2, There is e(u a ·P,v b ·Q)=e(P,Q) ab . Non-degeneracy: For non-infinitesimal P and Q, there exists
[0072] Session key derivation
[0073] A secure key derivation function (KDF) is constructed using bilinear mapping and hash functions to derive the session key from the shared key: K session =KDF(K,ID User ,ID Signer ,TS). KDF is a secure key derivation function, ID User and ID Signer are the identifiers of User and Psigner respectively, and TS is the timestamp used to ensure the timeliness of the session key. User ,ID Signer ,TS)=H(e(K,α)||ID User ||ID Signer ||TS), where α is a randomly selected auxiliary element on E2, || represents a concatenation operation, and ID User and ID Signer are the identifiers of devices A and B respectively.
[0074] Secure storage on the blockchain
[0075] The public key, shared key and session key information generated in the above key exchange process are stored on the blockchain to ensure their immutability and traceability.
[0076] S103: The user node unblinds the signed information data to obtain the real signature, and sends the real signature to the verification node. The verification node verifies the signed information data using the real signature. If the verification fails, the user-related data is obtained again and processed and verified again. If the verification succeeds, the privacy-protected data is obtained.
[0077] Through the above steps, the algorithm logic ensures the authenticity and validity of the key. It is impossible for malicious nodes to try to break through the defense and disrupt normal behavior. The specific scenario is shown in the following case.
[0078] In the scheme described in the present invention, in order to verify the uniqueness of the key generated by the key generation center (KGC), the conventional cuckoo filtering steps are as follows: (1) Initialize the cuckoo filter: The cuckoo filter consists of two hash tables H1 and H2 and four hash functions h1, h2, h3, and h4. (2) User key generation: The user User requests the KGC to generate a key, and the KGC generates a unique private key d for it. U , and calculate the corresponding public key P U =d U G1. These hash functions map keys to hash table indices. (3) Public key uniqueness verification and insertion: User inserts the public key P U Sent to KGC, KGC uses hash functions h1,h2 to U Hash and get two possible index positions i=h1(P U ) and j = h2(P U ); KGC checks H1[i] = P U or At this time P U is inserted into H1[i]. Similarly, if H2[j]=P U or P U is inserted into H2[j]. If P U If neither H1[i] nor H2[j] matches, and both positions are not empty, KGC will try to find P by kicking out and replacing operations. U location.
[0079] The present invention discloses a multi-factor SM9 blind signature big data privacy protection method. The scheme aims at the characteristic that large model generated data needs to be repeatedly trained. The present invention improves the cuckoo filter and adds a hash table and an ordered linked list inside it to optimize the auxiliary replacement strategy. The present invention innovatively proposes a least recently used (LRU) cuckoo filtering strategy to cover and update the key. The authentication information synchronization expiration mechanism inside the strategy means that the data deleted by the LRU screening of the blind signature part will be synchronized to the authenticated user. If it is the last copy of the data, the user synchronization deletion will be performed on the authentication. Similarly, at the authentication site, if a user's authentication fails, the corresponding data will be deleted synchronously to reduce resource redundancy. The specific steps are as follows.
[0080] (1) Maintain usage records
[0081] Add a timestamp field to each hash table entry or use a counter to track the usage of each entry. Whenever a public key is looked up or inserted, update the timestamp or counter of the relevant hash table entry.
[0082] (2) LRU kick-out strategy
[0083] An additional ordered linked list data structure is used to maintain the LRU order of all hash table entries. When a hash table entry needs to be kicked out to insert a new public key, the oldest entry (that is, the one with the earliest timestamp or the lowest usage count) is selected for kicking out.
[0084] (3) Optimization of the kickout and replacement process
[0085] When an entry needs to be kicked out from H1 or H2 to insert a new entry P U When P is reached, the following steps are performed: 1. Use hash functions h1 and h2 to determine the possible positions i and j of the new entry; 2. Check whether H1[i] and H2[j] are empty or not. U Match; 3. If none of them match and the position is not empty, select an LRU entry from H1[i] and H2[j] to kick out; 4. If you choose to kick out from H1[i], use h3 to determine P old The new position k' in H2; 5. P old Insert H2[k'] and update its usage record.
[0086] (4) Key storage update and search verification
[0087] Once P U is successfully inserted, the KGC updates the cuckoo filter and auxiliary data structures to reflect this change. U To determine if it is unique, KGC only needs to look for P in H1 and H2. U existence and check its usage record.
[0088] Specifically, the present invention is further described below by way of embodiments:
[0089] Aiming at the privacy protection challenges encountered by large model data in multi-party interaction, the present invention proposes a constructive idea for privacy protection of large model data based on blockchain technology in the future. The SM9 algorithm and blind signature are used to perform partial privacy data blind signature on data that needs to hide information. Under the endorsement of blockchain signature authentication, data interaction with partial information can be realized. The invention relies on the algorithm to bind the identity of the user subject in the data interaction process with a strong signature. There is no possibility of successful evil in each authentication and interaction step. Combined with the public characteristics of the blockchain, data privacy is protected under the condition that user identity tampering cannot be achieved. At the same time, the least recently used (LRU) improved cuckoo filter strategy scheme is proposed to verify and optimize the uniqueness of the key generated by the key generation center (KGC) that the above algorithm needs to contact, and ensure the efficient processing of the uniqueness of each generated key. Compared with the existing scheme, the improved SM9 and identity authentication methods in the scheme of the present invention have been analyzed and compared for correctness and security, which can ensure data security and bring 4.7 / 5.9 times the time efficiency improvement of the blind signature verification stage and the SM2 / Schnorr scheme respectively.
[0090] This example uses the five grouped data sets mentioned above to compare the performance of the Schnorr blind signature algorithm based on SM2, the Schnorr blind signature algorithm based on elliptic curves, and the RSA blind signature algorithm. The experiment divides the complete process steps into four stages, and the four algorithms are compared at each stage and in terms of total time consumption. Figure 2 As shown. The execution speeds of the four blind signature algorithms are different in different stages. In the blinding stage with a data information volume of 5000, the blind signature algorithm based on SM2 runs the fastest; in the blind signature and unblinding stages under each group of data volume, the operation time of the schemes based on SM2 and Schnorr based on elliptic curves is close, and the algorithm based on RSA presents a slower time consumption. The scheme proposed in the present invention is significantly smaller than all the comparison schemes. With the increase of the test data volume, the increase of this scheme is obviously lower than that of other comparison groups. Although there will be scenarios where the time consumption of some stages is close to that of the existing schemes when the data volume is small, the overall time consumption has always been better than other schemes, which is also due to the optimization of the improved cuckoo in filtering strategy. When the data volume increases, this scheme can effectively reduce the time consumption of privacy data interaction by relying on the innovative algorithm strategy, and as the data volume increases, the data increase is significantly lower than the conventional average increase. This solution brings great time optimization while ensuring security. Taking the capped data volume experimental group as an example, the RSA solution is not compared because the value is too high. The overall time efficiency of this solution is 4.7 and 5.9 times higher than that of the SM2 / Schnorr solution.
[0091] In this example, the efficiency analysis of the Cuckoo filter experiment uses 10,000 / 20,000 / 60,000 / 100,000 / 160,000 keys generated by the SM9 algorithm in the above grouping experiment as the test data set. The data is subjected to the original KGC query operation, and the Cuckoo filter and the improved Cuckoo filter proposed in this paper are used to perform key duplication comparison to test its query performance under different data scales. The test results are shown in the attached Figure 3 As shown in the figure, as the amount of experimental key data increases from 10,000 to 60,000, there is a clear gap between the three comparison algorithms. Because the unique ID attribute in the original KGC algorithm does not have a collision after the query, there is no replacement link, and the replacement operation of the cuckoo algorithm makes it the most time-consuming. The improved cuckoo algorithm is specially designed according to the large amount of data. Although there will be collisions, the overall time consumption can be reduced by about 10ms. As the amount of test data increases further, it can be seen that the reduced time consumption is more obvious than that of other algorithms, and its growth is relatively slow, and the running time does not increase linearly. From the experimental data, the improved cuckoo filter has shown relatively excellent performance under various data volumes, especially when processing large amounts of data, its optimization efficiency is more significant.
[0092] Embodiment 2: In the second aspect, as Figure 5 As shown, in order to achieve the above purpose, a multi-factor SM9 blind signature big data privacy protection system includes:
[0093] The blind processing module 11 is used to obtain user-related data, perform information blind processing on the user-related data based on the user node, obtain blind processing data, and the user node sends the blind processing data to the signature node;
[0094] The signature processing module 12 is used for the signature node to sign the blinded data to obtain the signed information data, and send the signed information data to the user node and the verification node;
[0095] The information verification module 13 is used by the user node to unblind the signed information data and obtain the real signature, and send the real signature to the verification node. The verification node uses the real signature to verify the signed information data. If the verification fails, the user-related data is obtained again and processed and verified again. If the verification is successful, the privacy-protected data is obtained.
[0096] Based on the same inventive concept, the present invention also provides a computer device, which includes: one or more processors, and a memory for storing one or more computer programs; the program includes program instructions, and the processor is used to execute the program instructions stored in the memory. The processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. It is the computing core and control core of the terminal, which is used to implement one or more instructions, specifically for loading and executing one or more instructions in a computer storage medium to implement the above method.
[0097] It needs to be further explained that, based on the same inventive concept, the present invention also provides a computer storage medium, on which a computer program is stored, and the computer program is executed by a processor to execute the above method. The storage medium can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electrical, magnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.
[0098] In the description of this specification, the description with reference to the terms "one embodiment", "example", "specific example", etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present disclosure. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.
[0099] The above shows and describes the basic principles, main features and advantages of the present disclosure. Those skilled in the art should understand that the present disclosure is not limited by the above embodiments, and the above embodiments and descriptions are only for explaining the principles of the present disclosure. Without departing from the spirit and scope of the present disclosure, the present disclosure may have various changes and improvements, and these changes and improvements fall within the scope of the present disclosure to be protected.
Claims
1. A multi-factor SM9 blind signature big data privacy protection method, characterized in that: The method comprises the following steps: Obtain user-related data, perform information blinding processing on the user-related data based on the user node to obtain blinded processing data, and the user node sends the blinded processing data to the signature node; The signing node signs the blinded data to obtain the signed information data, and sends the signed information data to the user node and the verification node; The user node unblinds the signed information data to obtain the real signature, and sends the real signature to the verification node. The verification node uses the real signature to verify the signed information data. If the verification fails, the user-related data is obtained again and processed and verified again. If the verification succeeds, the privacy-protected data is obtained.
2. A multi-factor SM9 blind signature big data privacy protection method according to claim 1, characterized in that: The user-related data includes a user identity ID=γ, a timestamp T=τ and a one-time password OTP=λ.
3. A multi-factor SM9 blind signature big data privacy protection method according to claim 1, characterized in that: Build and implement it in the blockchain system and initialize the model system: Defining a finite field and elliptic curves Two additive groups G1 and G2 are generated in the elliptic curve, and there exists a bilinear mapping e:G1×G2→G T , where GT is the multiplication group; select the private key s according to the key generation center KGC and calculate P pub =s·G1,P pub As the public key, the user User selects the private key d User And calculate its public key P User =d User ·G1.
4. A multi-factor SM9 blind signature big data privacy protection method according to claim 1, characterized in that: The process of blinding user-related data: Signature node Psigner in group G T Calculate g=e(P1,P pub ); randomly select an integer r in [1,n-1]; in the group G T Calculate w = g r , and sends w to the user node User; obtain the three elements to obtain γ, τ, λ, and send them to the user node User; after receiving w, the user node User uses γ and μ as blinding parameters according to the three elements; the user node User in the group G T Calculate w2=w γ g μ ; User node User continues to calculate h = H2 (M || w2, N) and BM = γ -1 h-ζ, where ζ is the distortion line parameter, and the blinded processed data BM is sent to the signature node Psigner.
5. A multi-factor SM9 blind signature big data privacy protection method according to claim 1, characterized in that: The verification node verifies the signed information data using the real signature: The signature verification user node Verifier calculates g = e(P1,P pub );Calculate t=g h ; Calculate h1 = H1 (ID A ||hid,N); calculate P = [h1]P2 + P pub ; Calculate u=e(S,P); Calculate w'=u·t; Calculate h'=H2(M|w',N); Verify whether h'=h holds. If so, the verification passes, otherwise the verification fails.
6. A multi-factor SM9 blind signature big data privacy protection method according to claim 2, characterized in that: The key exchange protocol uses a variant of the elliptic curve Diffie-Hellman ECDH to implement secure key exchange between end-to-end devices, as shown below: The user node User establishes a shared session key K with the signature node Psigner session , which represents the unique authentication identifier of both parties in data interaction, and is used for identity authentication; Each party chooses an elliptic curve E:y 2 =x 3 +ax+b(modp) as the private key, denoted by d User and d Signer , where G is a base point on the elliptic curve, a and b are the parameters of the curve, and p is a large prime number; Both parties calculate the corresponding public key Q User =d User *G and Q Signer =d Signer *G and interchange; After that, User will User Send it to Psigner, Psigner will d Signer Sent to User, then User and Psigner calculate the shared key K User =d User *Q Signer and K Signer =d Signer *Q User , due to the additive property of elliptic curves, K User =K Signer =K, both parties have the same shared key K; Introduce the bilinear map e:E1×E2→G T , where E1 and E2 are two different elliptic curves, G T is another elliptic curve group. The bilinear map satisfies the following properties: Bilinearity: For all P∈E1, Q∈E2, There is e(u a ·P,v b ·Q)=e(P,Q) ab ; Non-degeneracy: For non-infinitesimal P and Q, there exists e(P,Q)≠1 GT ; Use bilinear mapping and hash function to construct a secure key derivation function KDF: K session =KDF(K,ID User ,ID Signer ,TS); KDF is a secure key derivation function, ID User and ID Signer They are the identifiers of User and Psigner respectively, TS is the timestamp, KDF(K,ID User ,ID Signer ,TS)=H(e(K,α)||ID User ||ID Signer ||TS), where α is a randomly selected auxiliary element on E2, || represents a concatenation operation, and ID User and ID Signer are the identifiers of devices A and B respectively; The public key, shared key, and session key information generated during the key exchange process are stored on the blockchain.
7. A multi-factor SM9 blind signature big data privacy protection method according to claim 6, characterized in that: The key generation center KGC verifies the uniqueness of the generated key using conventional cuckoo filtering, the steps are: Initialize the cuckoo filter: The cuckoo filter consists of two hash tables H1 and H2 and four hash functions h1, h2, h3, h4; User key generation: The user User requests KGC to generate a key, and KGC generates a unique private key d for it U , and calculate the corresponding public key P U =d U G1, a hash function that maps a key to an index into a hash table; Public key uniqueness verification and insertion: User User inserts the public key P U Sent to KGC, KGC uses hash functions h1,h2 to U Hash to obtain two index positions i=h1(P U ) and j = h2(P U ); KGC checks H1[i] = P U or At this time P U is inserted into H1[i], if H2[j]=P U or P U is inserted into H2[j], if P U If neither H1[i] nor H2[j] matches, and both positions are not empty, KGC will try to find P by kicking out and replacing operations. U location.
8. A multi-factor SM9 blind signature big data privacy protection method according to claim 7, characterized in that: The improvement process of the conventional cuckoo filtering is as follows: Add a timestamp field to each hash table entry or use a counter to track the usage of each entry. Whenever a public key is looked up or inserted, update the timestamp or counter of the relevant hash table entry. Use an additional ordered linked list data structure to maintain the LRU order of all hash table entries; when a hash table entry needs to be kicked out to insert a new public key, the oldest entry is selected for kicking out; When an entry needs to be kicked out from H1 or H2 to insert a new entry P U When P is reached, the following steps are performed: Use hash functions h1 and h2 to determine the possible positions i and j of the new entry; Check whether H1[i] and H2[j] are empty or not. U Match; if none of them match and the position is not empty, select an LRU entry from H1[i] and H2[j] to kick out; if you choose to kick out from H1[i], use h3 to determine P old At the new position k' in H2, place P old Insert H2[k'] and update its usage record; Key store updates and lookup verification Once P U is successfully inserted, KGC updates the cuckoo filter and auxiliary data structures to reflect this change, and when it needs to verify the public key P U To determine if it is unique, KGC only needs to look for P in H1 and H2. U existence and check its usage record.
9. A multi-factor SM9 blind signature big data privacy protection system, characterized in that: include: The blind processing module is used to obtain user-related data, perform information blind processing on the user-related data based on the user node, obtain blind processing data, and the user node sends the blind processing data to the signature node; The signature processing module is used for the signature node to sign the blinded data to obtain the signed information data, and send the signed information data to the user node and the verification node; The information verification module is used by the user node to unblind the signed information data, obtain the real signature, and send the real signature to the verification node. The verification node uses the real signature to verify the signed information data. If the verification fails, the user-related data is obtained again and processed and verified again. If the verification is successful, the privacy-protected data is obtained.
10. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and capable of running on the processor, characterized in that: The memory stores a computer program that can be run on the processor. When the processor loads and executes the computer program, a multi-factor SM9 blind signature big data privacy protection method according to any one of claims 1 to 8 is adopted.
Citation Information
Patent Citations
Blind signature generation method and system based on SM9 digital signature
CN108551392A
Voting method, device and equipment based on Blockchain, and medium
CN108768607A
A block chain privacy protection scheme and system based on SM9 algorithm
CN109409884A
Blockchain anti-signature traceable certificateless blind signature generation method
CN112532394A
Blind signature generation method based on SM9 digital signature algorithm
CN113055163A