A data verification method, device and computer readable storage medium

By using fuzzy search and homomorphic encryption algorithms, the requester and receiver verify the data, solving the problems of information leakage and low verification efficiency, and achieving secure and efficient data verification.

CN115730342BActive Publication Date: 2026-03-24CHINA MOBILE COMM LTD RES INST +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-30
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

Existing data verification technologies suffer from the risks of information leakage and low verification efficiency, especially when the data to be verified is sent directly to the recipient or matched one by one through the platform.

Method used

Using fuzzy query conditions and homomorphic encryption algorithms, the requester obtains the identifier of the real user to be verified, which is encrypted with the receiver's key, and performs matching and difference calculation. The receiver only reveals the matching relationship and does not disclose other information.

Benefits of technology

It enables secure and efficient verification of user identity existence and matching relationship correctness without disclosing user identifiers and attributes, thus protecting user data security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115730342B_ABST
    Figure CN115730342B_ABST
Patent Text Reader

Abstract

The present application provides a data verification method, device and computer readable storage medium, comprising: obtaining a received key encrypted to-be-verified user identifier, and constructing a fuzzy query condition based on the encrypted to-be-verified user identifier to query the serial number corresponding to the user identifier from a receiver; receiving the query result fed back by the receiver, wherein the query result comprises a plurality of receiver user identifier ciphertext values and corresponding serial numbers matched with the fuzzy query condition; matching the encrypted to-be-verified user identifier with the receiver user identifier ciphertext values in the query result, and if the matching is successful, obtaining the user attribute encrypted by a homomorphic encryption algorithm corresponding to the to-be-verified user identifier based on the corresponding serial number; calculating the difference between the homomorphic encryption value of the user attribute of the requester and the homomorphic encryption value of the user attribute obtained from the receiver through ciphertext calculation, and sending the difference to the receiver; receiving the verification result fed back by the receiver after decrypting and analyzing the difference.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of mobile communication technology, and in particular to a data verification method, apparatus, and computer-readable storage medium. Background Technology

[0002] In the field of data security, as businesses develop, there are scenarios that require comparing the location of user behavior with the location of the user's terminal, or verifying the correspondence between a user's mobile phone number and ID card number.

[0003] Current data verification technologies either directly send the data to be verified to the data owner for matching, or encrypt the data and send it to the platform, which then matches the encrypted data to verify its authenticity. Of these two methods, directly sending the information to the recipient for verification is prone to information leakage; while the platform's method of matching data one by one is less efficient. Summary of the Invention

[0004] In view of this, embodiments of the present invention aim to provide a data verification method, apparatus, and computer-readable storage medium.

[0005] To achieve the above objectives, the technical solution of this invention is implemented as follows:

[0006] This invention provides a data verification method, which is applied to the requesting party and includes:

[0007] Obtain the user identifier to be verified, which is encrypted with the receiver's key, and construct fuzzy query conditions based on the encrypted user identifier to query the serial number corresponding to the user identifier from the receiver.

[0008] The system receives query results from the recipient, which include multiple encrypted values ​​of recipient user identifiers and their corresponding sequence numbers that match the fuzzy query conditions.

[0009] The encrypted user identifier to be verified is matched with the encrypted value of the recipient user identifier in the query result. If the match is successful, the user attribute encrypted by the homomorphic encryption algorithm corresponding to the user identifier to be verified is obtained based on the corresponding sequence number.

[0010] The difference between the homomorphic encrypted value of the user attributes of the requester and the homomorphic encrypted value of the user attributes obtained from the receiver is calculated using ciphertext, and the difference is sent to the receiver.

[0011] The receiver decrypts the difference and analyzes it before sending back the verification result.

[0012] The step of obtaining the verified user identifier encrypted with the receiver's key includes:

[0013] Send a verification request to the recipient, the verification request including the user identifier to be verified encrypted with the requester's key;

[0014] Receive the true user identifier to be verified, which is encrypted again by the requester's key and then encrypted by the receiver's key;

[0015] The verified user identifier is decrypted twice using the requester's key, resulting in a verified user identifier encrypted only using the receiver's key.

[0016] The step of matching the encrypted genuine user identifier to be verified with the encrypted value of the recipient user identifier in the query result includes:

[0017] The encrypted user identifier to be verified is compared with the ciphertext values ​​of multiple recipient user identifiers in the query result. If the encrypted user identifier to be verified is the same as a ciphertext value of a recipient user identifier, the match is successful, and the sequence number corresponding to the ciphertext value of the recipient user identifier is determined as the sequence number corresponding to the encrypted user identifier to be verified.

[0018] The step of obtaining the user attributes encrypted using the homomorphic encryption algorithm based on the corresponding sequence number of the verified user identifier includes:

[0019] Receive all sequence numbers and corresponding user attributes encrypted with homomorphic encryption algorithms transmitted by the recipient via an unintentional transmission protocol;

[0020] Based on the sequence number obtained after a successful match, select the user attribute encrypted with the homomorphic encryption algorithm corresponding to the user identifier to be verified from the correspondence between the received sequence number and the user attribute encrypted with the homomorphic encryption algorithm.

[0021] The recipient stores multiple user information records, each of which includes, but is not limited to, the following:

[0022] The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence.

[0023] The user identifier encrypted with the recipient's key;

[0024] User attributes encrypted using a homomorphic encryption algorithm.

[0025] This invention also provides a data verification method, which is applied to a receiver and includes:

[0026] The query results are fed back to the requester based on the fuzzy query conditions sent by the requester. The query results include multiple encrypted values ​​of receiver user identifiers that match the fuzzy query conditions and their corresponding serial numbers. The fuzzy query conditions are constructed by the requester based on the verifiable user identifiers encrypted with the receiver's key.

[0027] Upon receiving a message from the requester confirming a successful match, the user attributes, encrypted using a homomorphic encryption algorithm, corresponding to the user identifier to be verified, are sent to the requester.

[0028] Receive and decrypt the difference between the homomorphic encrypted value of the user attributes sent by the requester and the homomorphic encrypted value of the user attributes sent by the receiver;

[0029] Analyze the difference after decryption and provide the verification results.

[0030] Optionally, before returning the query result to the requester based on the fuzzy query conditions sent by the requester, the method further includes:

[0031] Receive a verification request sent by the requester, the verification request including a user identifier to be verified encrypted with the requester's key;

[0032] The system sends a verification identifier to the requesting party, which is then encrypted again with the receiving party's key and encrypted with the requesting party's key. This identifier is used by the requesting party to obtain the verification identifier encrypted with the receiving party's key.

[0033] The step of sending the user attributes, encrypted with a homomorphic encryption algorithm, corresponding to the user identifier to be verified, to the requester includes:

[0034] All sequence numbers and corresponding homomorphic encryption algorithm-encrypted user attributes are transmitted to the requester via an unintentional transmission protocol. The requester then selects the homomorphic encryption algorithm-encrypted user attributes corresponding to the user identifier to be verified based on the sequence number obtained after a successful match.

[0035] The process of analyzing the decrypted difference and providing the verification result includes:

[0036] The plaintext difference obtained by decryption with the recipient's private key is analyzed. For exact matching, if the plaintext difference is 0, the matching result is returned to the requester; otherwise, a non-matching result is returned. For fuzzy matching, if the plaintext difference is within a preset threshold range, the matching result is returned; otherwise, a non-matching result is returned.

[0037] The recipient stores multiple user information records, each of which includes, but is not limited to, the following:

[0038] The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence.

[0039] The user identifier encrypted with the recipient's key;

[0040] User attributes encrypted using a homomorphic encryption algorithm.

[0041] This invention also provides a data verification device, which is applied to a requesting party and includes:

[0042] The first transceiver module is used to obtain the user identifier to be verified encrypted with the receiver's key, and construct fuzzy query conditions based on the encrypted user identifier to query the serial number corresponding to the user identifier from the receiver.

[0043] It is also used to receive query results fed back by the recipient, the query results including multiple encrypted values ​​of recipient user identifiers that match the fuzzy query conditions and their corresponding serial numbers; it is also used to receive verification results fed back by the recipient after decrypting and analyzing the difference;

[0044] The first processing module is used to match the encrypted user identifier to be verified with the encrypted value of the receiver user identifier in the query result. If the match is successful, the user attribute encrypted by the homomorphic encryption algorithm corresponding to the user identifier to be verified is obtained based on the corresponding sequence number.

[0045] It is also used to calculate the difference between the homomorphic encrypted value of the user attribute of the requester and the homomorphic encrypted value of the user attribute obtained from the receiver, and to send the difference to the receiver.

[0046] This invention also provides a data verification device, which is applied to a receiver and includes:

[0047] The second transceiver module is used to send back a query result to the requester based on the fuzzy query conditions sent by the requester. The query result includes multiple encrypted values ​​of receiver user identifiers that match the fuzzy query conditions and their corresponding serial numbers. The fuzzy query conditions are constructed by the requester based on the true user identifier to be verified, which is encrypted by the receiver's key.

[0048] It is also used to send the user attributes, encrypted with homomorphic encryption algorithm, corresponding to the user identifier to be verified to the requester when a matching success message is received from the requester;

[0049] The second processing module is used to receive and decrypt the difference between the homomorphic encrypted value of the user attributes of the requester and the homomorphic encrypted value of the user attributes of the receiver sent by the requester.

[0050] Analyze the difference after decryption and provide the verification results.

[0051] This invention also provides a data verification device, which includes: a processor and a memory for storing a computer program capable of running on the processor.

[0052] When the processor runs the computer program, it executes the steps of the above method.

[0053] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the above-described method.

[0054] The data verification method, apparatus, and computer-readable storage medium provided in this invention involve: acquiring a user identifier to be verified encrypted with a receiver's key; constructing fuzzy query conditions based on the encrypted user identifier to query the receiver for the corresponding sequence number of the user identifier; receiving the query result from the receiver, the query result including multiple ciphertext values ​​of receiver user identifiers matching the fuzzy query conditions and their corresponding sequence numbers; matching the encrypted user identifier to be verified with the ciphertext values ​​of receiver user identifiers in the query result; if a match is successful, obtaining the user attribute encrypted using a homomorphic encryption algorithm corresponding to the user identifier to be verified based on the corresponding sequence number; calculating the difference between the homomorphically encrypted value of the user attribute from the requester and the homomorphically encrypted value of the user attribute obtained from the receiver using ciphertext, and sending the difference to the receiver; and receiving the verification result from the receiver after decrypting and analyzing the difference. The data verification method proposed in this invention can verify the existence of a user identifier and the correctness of a matching relationship without disclosing the user identifier and user attributes obtained by the requester. In this process, the receiver only needs to disclose the matching relationship and does not need to disclose any other information other than the verification result to the requester. It is a verification method that can protect user data security and realize the protection of sensitive data. Attached Figure Description

[0055] Figure 1 This is a schematic diagram of the data verification method described in an embodiment of the present invention. Figure 1 ;

[0056] Figure 2 This is a schematic diagram of the data verification method described in an embodiment of the present invention. Figure 2 ;

[0057] Figure 3 This is a schematic diagram of the data verification device described in an embodiment of the present invention. Figure 1 ;

[0058] Figure 4 This is a schematic diagram of the data verification device described in an embodiment of the present invention. Figure 2 ;

[0059] Figure 5This is a schematic diagram of the data verification method described in an embodiment of the present invention. Detailed Implementation

[0060] The present invention will now be described in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. The present application will now be described in detail with reference to the accompanying drawings and embodiments.

[0061] This invention provides a data verification method, such as... Figure 1 As shown, this method is applied to the requesting party and includes:

[0062] Step 101: Obtain the user identifier to be verified encrypted with the receiver's key, and construct fuzzy query conditions based on the encrypted user identifier to query the serial number corresponding to the user identifier from the receiver.

[0063] Step 102: Receive the query results fed back by the receiver, the query results including multiple receiver user identifier encrypted values ​​and corresponding sequence numbers that match the fuzzy query conditions;

[0064] Step 103: Match the encrypted user identifier to be verified with the encrypted value of the receiver user identifier in the query result. If the match is successful, obtain the user attribute encrypted by the homomorphic encryption algorithm corresponding to the user identifier to be verified based on the corresponding sequence number.

[0065] Step 104: Calculate the difference between the homomorphic encrypted value of the user attributes of the requester and the homomorphic encrypted value of the user attributes obtained from the receiver using ciphertext, and send the difference to the receiver;

[0066] Step 105: Receive the verification result fed back by the receiver after decrypting and analyzing the difference.

[0067] In this embodiment of the invention, obtaining the identifier of the genuine user to be verified, encrypted with the receiver's key, includes:

[0068] Send a verification request to the recipient, the verification request including the user identifier to be verified encrypted with the requester's key;

[0069] Receive the true user identifier to be verified, which is encrypted again by the requester's key and then encrypted by the receiver's key;

[0070] The verified user identifier is decrypted twice using the requester's key, resulting in a verified user identifier encrypted only using the receiver's key.

[0071] In this embodiment of the invention, matching the encrypted genuine user identifier to be verified with the ciphertext value of the recipient user identifier in the query result includes:

[0072] The encrypted user identifier to be verified is compared with the ciphertext values ​​of multiple recipient user identifiers in the query result. If the encrypted user identifier to be verified is the same as a ciphertext value of a recipient user identifier, the match is successful, and the sequence number corresponding to the ciphertext value of the recipient user identifier is determined as the sequence number corresponding to the encrypted user identifier to be verified.

[0073] In this embodiment of the invention, obtaining the user attributes encrypted using a homomorphic encryption algorithm based on the corresponding sequence number of the verified user identifier includes:

[0074] Receive all sequence numbers and corresponding user attributes encrypted with homomorphic encryption algorithms transmitted by the recipient via an unintentional transmission protocol;

[0075] Based on the sequence number obtained after a successful match, select the user attribute encrypted with the homomorphic encryption algorithm corresponding to the user identifier to be verified from the correspondence between the received sequence number and the user attribute encrypted with the homomorphic encryption algorithm.

[0076] In this embodiment of the invention, the receiver stores multiple user information records, each of which includes, but is not limited to, the following:

[0077] The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence.

[0078] The user identifier encrypted with the recipient's key;

[0079] User attributes encrypted using a homomorphic encryption algorithm.

[0080] This invention also provides a data verification method, such as... Figure 2 As shown, this method is applied to the receiver and includes:

[0081] Step 201: Feed back the query result to the requester based on the fuzzy query conditions sent by the requester. The query result includes multiple encrypted values ​​of receiver user identifiers that match the fuzzy query conditions and their corresponding serial numbers. The fuzzy query conditions are constructed by the requester based on the true user identifier to be verified, which is encrypted by the receiver's key.

[0082] Step 202: Upon receiving a message from the requester confirming a successful match, send the user attributes encrypted with the homomorphic encryption algorithm corresponding to the user identifier to be verified to the requester.

[0083] Step 203: Receive and decrypt the difference between the homomorphic encrypted value of the user attributes sent by the requester and the homomorphic encrypted value of the user attributes sent by the receiver;

[0084] Step 204: Analyze the difference after decryption and provide the verification result.

[0085] In this embodiment of the invention, before returning the query result to the requester based on the fuzzy query conditions sent by the requester, the method further includes:

[0086] Receive a verification request sent by the requester, the verification request including a user identifier to be verified encrypted with the requester's key;

[0087] The system sends a verification identifier to the requesting party, which is then encrypted again with the receiving party's key and encrypted with the requesting party's key. This identifier is used by the requesting party to obtain the verification identifier encrypted with the receiving party's key.

[0088] In this embodiment of the invention, sending the user attributes encrypted with a homomorphic encryption algorithm corresponding to the user identifier to be verified to the requester includes:

[0089] All sequence numbers and corresponding homomorphic encryption algorithm-encrypted user attributes are transmitted to the requester via an unintentional transmission protocol. The requester then selects the homomorphic encryption algorithm-encrypted user attributes corresponding to the user identifier to be verified based on the sequence number obtained after a successful match.

[0090] In this embodiment of the invention, the step of analyzing the decrypted difference and feeding back the verification result includes:

[0091] The plaintext difference obtained by decryption with the recipient's private key is analyzed. For exact matching, if the plaintext difference is 0, the matching result is returned to the requester; otherwise, a non-matching result is returned. For fuzzy matching, if the plaintext difference is within a preset threshold range, the matching result is returned; otherwise, a non-matching result is returned.

[0092] In this embodiment of the invention, the receiver stores multiple user information records, each of which includes, but is not limited to, the following:

[0093] The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence.

[0094] The user identifier encrypted with the recipient's key;

[0095] User attributes encrypted using a homomorphic encryption algorithm.

[0096] To implement the above method embodiments, this invention also provides a data verification device, such as... Figure 3 As shown, the device is applied to the requesting party and includes:

[0097] The first transceiver module 301 is used to obtain the user identifier to be verified encrypted with the receiver's key, and construct fuzzy query conditions based on the encrypted user identifier to query the serial number corresponding to the user identifier from the receiver.

[0098] It is also used to receive query results fed back by the recipient, the query results including multiple encrypted values ​​of recipient user identifiers that match the fuzzy query conditions and their corresponding serial numbers; it is also used to receive verification results fed back by the recipient after decrypting and analyzing the difference;

[0099] The first processing module 302 is used to match the encrypted user identifier to be verified with the encrypted value of the receiver user identifier in the query result. If the match is successful, the user attribute encrypted by the homomorphic encryption algorithm corresponding to the user identifier to be verified is obtained based on the corresponding sequence number.

[0100] It is also used to calculate the difference between the homomorphic encrypted value of the user attribute of the requester and the homomorphic encrypted value of the user attribute obtained from the receiver, and to send the difference to the receiver.

[0101] In this embodiment of the invention, the first transceiver module 301 acquires the identifier of the verified genuine user, encrypted with the receiver's key, including:

[0102] Send a verification request to the recipient, the verification request including the user identifier to be verified encrypted with the requester's key;

[0103] Receive the true user identifier to be verified, which is encrypted again by the requester's key and then encrypted by the receiver's key;

[0104] The verified user identifier is decrypted twice using the requester's key, resulting in a verified user identifier encrypted only using the receiver's key.

[0105] In this embodiment of the invention, the first processing module 302 matches the encrypted genuine user identifier to be verified with the ciphertext value of the recipient user identifier in the query result, including:

[0106] The encrypted user identifier to be verified is compared with the ciphertext values ​​of multiple recipient user identifiers in the query result. If the encrypted user identifier to be verified is the same as a ciphertext value of a recipient user identifier, the match is successful, and the sequence number corresponding to the ciphertext value of the recipient user identifier is determined as the sequence number corresponding to the encrypted user identifier to be verified.

[0107] In this embodiment of the invention, the first processing module 302 obtains the user attributes encrypted using a homomorphic encryption algorithm based on the corresponding sequence number, including:

[0108] Receive all sequence numbers and corresponding user attributes encrypted with homomorphic encryption algorithms transmitted by the recipient via an unintentional transmission protocol;

[0109] Based on the sequence number obtained after a successful match, select the user attribute encrypted with the homomorphic encryption algorithm corresponding to the user identifier to be verified from the correspondence between the received sequence number and the user attribute encrypted with the homomorphic encryption algorithm.

[0110] In this embodiment of the invention, the receiver stores multiple user information records, each of which includes, but is not limited to, the following:

[0111] The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence.

[0112] The user identifier encrypted with the recipient's key;

[0113] User attributes encrypted using a homomorphic encryption algorithm.

[0114] This invention also provides a data verification device, such as... Figure 4 As shown, the device is used on the receiver and includes:

[0115] The second transceiver module 401 is used to send back a query result to the requester based on the fuzzy query conditions sent by the requester. The query result includes multiple encrypted values ​​of receiver user identifiers that match the fuzzy query conditions and their corresponding serial numbers. The fuzzy query conditions are constructed by the requester based on the true user identifier to be verified, which is encrypted by the receiver key.

[0116] It is also used to send the user attributes, encrypted with homomorphic encryption algorithm, corresponding to the user identifier to be verified to the requester when a matching success message is received from the requester;

[0117] The second processing module 402 is used to receive and decrypt the difference between the homomorphic encrypted value of the user attributes of the requester and the homomorphic encrypted value of the user attributes of the receiver sent by the requester.

[0118] Analyze the difference after decryption and provide the verification results.

[0119] In this embodiment of the invention, before the second transceiver module 401 sends the query result back to the requester based on the fuzzy query conditions sent by the requester, it is also used to receive the verification request sent by the requester. The verification request includes the user identifier to be verified encrypted with the requester's key.

[0120] The system sends a verification identifier to the requesting party, which is then encrypted again with the receiving party's key and encrypted with the requesting party's key. This identifier is used by the requesting party to obtain the verification identifier encrypted with the receiving party's key.

[0121] In this embodiment of the invention, the second transceiver module 401 sends the user attributes encrypted with a homomorphic encryption algorithm corresponding to the user identifier to be verified to the requesting party, including:

[0122] All sequence numbers and corresponding homomorphic encryption algorithm-encrypted user attributes are transmitted to the requester via an unintentional transmission protocol. The requester then selects the homomorphic encryption algorithm-encrypted user attributes corresponding to the user identifier to be verified based on the sequence number obtained after a successful match.

[0123] In this embodiment of the invention, the second processing module 402 analyzes the decrypted difference and returns the verification result, including:

[0124] The plaintext difference obtained by decryption with the recipient's private key is analyzed. For exact matching, if the plaintext difference is 0, the matching result is returned to the requester; otherwise, a non-matching result is returned. For fuzzy matching, if the plaintext difference is within a preset threshold range, the matching result is returned; otherwise, a non-matching result is returned.

[0125] In this embodiment of the invention, the receiver stores multiple user information records, each of which includes, but is not limited to, the following:

[0126] The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence.

[0127] The user identifier encrypted with the recipient's key;

[0128] User attributes encrypted using a homomorphic encryption algorithm.

[0129] This invention also provides a data verification device, which includes: a processor and a memory for storing a computer program capable of running on the processor.

[0130] When the processor runs the computer program, it performs the following:

[0131] Obtain the user identifier to be verified, which is encrypted with the receiver's key, and construct fuzzy query conditions based on the encrypted user identifier to query the serial number corresponding to the user identifier from the receiver.

[0132] The system receives query results from the recipient, which include multiple encrypted values ​​of recipient user identifiers and their corresponding sequence numbers that match the fuzzy query conditions.

[0133] The encrypted user identifier to be verified is matched with the encrypted value of the recipient user identifier in the query result. If the match is successful, the user attribute encrypted by the homomorphic encryption algorithm corresponding to the user identifier to be verified is obtained based on the corresponding sequence number.

[0134] The difference between the homomorphic encrypted value of the user attributes of the requester and the homomorphic encrypted value of the user attributes obtained from the receiver is calculated using ciphertext, and the difference is sent to the receiver.

[0135] The receiver decrypts the difference and analyzes it before sending back the verification result.

[0136] When obtaining the verified user identifier encrypted with the receiver's key, the processor is also configured to execute the following when running the computer program:

[0137] Send a verification request to the recipient, the verification request including the user identifier to be verified encrypted with the requester's key;

[0138] Receive the true user identifier to be verified, which is encrypted again by the requester's key and then encrypted by the receiver's key;

[0139] The verified user identifier is decrypted twice using the requester's key, resulting in a verified user identifier encrypted only using the receiver's key.

[0140] When matching the encrypted verified user identifier with the ciphertext value of the recipient user identifier in the query result, the processor is also configured to execute the following when running the computer program:

[0141] The encrypted user identifier to be verified is compared with the ciphertext values ​​of multiple recipient user identifiers in the query result. If the encrypted user identifier to be verified is the same as a ciphertext value of a recipient user identifier, the match is successful, and the sequence number corresponding to the ciphertext value of the recipient user identifier is determined as the sequence number corresponding to the encrypted user identifier to be verified.

[0142] When obtaining the user attributes encrypted using the homomorphic encryption algorithm corresponding to the verified user identifier based on the corresponding sequence number, the processor is also used to execute the following when running the computer program:

[0143] Receive all sequence numbers and corresponding user attributes encrypted with homomorphic encryption algorithms transmitted by the recipient via an unintentional transmission protocol;

[0144] Based on the sequence number obtained after a successful match, select the user attribute encrypted with the homomorphic encryption algorithm corresponding to the user identifier to be verified from the correspondence between the received sequence number and the user attribute encrypted with the homomorphic encryption algorithm.

[0145] The recipient stores multiple user information records, each of which includes, but is not limited to, the following:

[0146] The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence.

[0147] The user identifier encrypted with the recipient's key;

[0148] User attributes encrypted using a homomorphic encryption algorithm.

[0149] This invention also provides a data verification device, which includes: a processor and a memory for storing a computer program capable of running on the processor.

[0150] When the processor runs the computer program, it performs the following:

[0151] The query results are fed back to the requester based on the fuzzy query conditions sent by the requester. The query results include multiple encrypted values ​​of receiver user identifiers that match the fuzzy query conditions and their corresponding serial numbers. The fuzzy query conditions are constructed by the requester based on the verifiable user identifiers encrypted with the receiver's key.

[0152] Upon receiving a message from the requester confirming a successful match, the user attributes, encrypted using a homomorphic encryption algorithm, corresponding to the user identifier to be verified, are sent to the requester.

[0153] Receive and decrypt the difference between the homomorphic encrypted value of the user attributes sent by the requester and the homomorphic encrypted value of the user attributes sent by the receiver;

[0154] Analyze the difference after decryption and provide the verification results.

[0155] Before the processor returns the query result to the requester based on the fuzzy query conditions sent by the requester, it is also used to execute the following when running the computer program:

[0156] Receive a verification request sent by the requester, the verification request including a user identifier to be verified encrypted with the requester's key;

[0157] The system sends a verification identifier to the requesting party, which is then encrypted again with the receiving party's key and encrypted with the requesting party's key. This identifier is used by the requesting party to obtain the verification identifier encrypted with the receiving party's key.

[0158] When the processor sends the user attributes encrypted with homomorphic encryption corresponding to the user identifier to be verified to the requester, the processor is also used to execute the following when running the computer program:

[0159] All sequence numbers and corresponding homomorphic encryption algorithm-encrypted user attributes are transmitted to the requester via an unintentional transmission protocol. The requester then selects the homomorphic encryption algorithm-encrypted user attributes corresponding to the user identifier to be verified based on the sequence number obtained after a successful match.

[0160] When analyzing the decrypted difference and feeding back the verification result, the processor is also used to execute the following when running the computer program:

[0161] The plaintext difference obtained by decryption with the recipient's private key is analyzed. For exact matching, if the plaintext difference is 0, the matching result is returned to the requester; otherwise, a non-matching result is returned. For fuzzy matching, if the plaintext difference is within a preset threshold range, the matching result is returned; otherwise, a non-matching result is returned.

[0162] The recipient stores multiple user information records, each of which includes, but is not limited to, the following:

[0163] The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence.

[0164] The user identifier encrypted with the recipient's key;

[0165] User attributes encrypted using a homomorphic encryption algorithm.

[0166] It should be noted that the above embodiments of the apparatus are only illustrated by the division of the above program modules when performing data verification. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the apparatus and the corresponding method embodiments provided above belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.

[0167] In an exemplary embodiment, the present invention also provides a computer-readable storage medium, which may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM; or it may be a device including one or any combination of the above-mentioned memories, such as a mobile phone, computer, tablet device, personal digital assistant, etc.

[0168] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, performs the following:

[0169] Obtain the user identifier to be verified, which is encrypted with the receiver's key, and construct fuzzy query conditions based on the encrypted user identifier to query the serial number corresponding to the user identifier from the receiver.

[0170] The system receives query results from the recipient, which include multiple encrypted values ​​of recipient user identifiers and their corresponding sequence numbers that match the fuzzy query conditions.

[0171] The encrypted user identifier to be verified is matched with the encrypted value of the recipient user identifier in the query result. If the match is successful, the user attribute encrypted by the homomorphic encryption algorithm corresponding to the user identifier to be verified is obtained based on the corresponding sequence number.

[0172] The difference between the homomorphic encrypted value of the user attributes of the requester and the homomorphic encrypted value of the user attributes obtained from the receiver is calculated using ciphertext, and the difference is sent to the receiver.

[0173] The receiver decrypts the difference and analyzes it before sending back the verification result.

[0174] When obtaining the verified user identifier encrypted with the receiver's key, the computer program, when executed by the processor, also performs the following:

[0175] Send a verification request to the recipient, the verification request including the user identifier to be verified encrypted with the requester's key;

[0176] Receive the true user identifier to be verified, which is encrypted again by the requester's key and then encrypted by the receiver's key;

[0177] The verified user identifier is decrypted twice using the requester's key, resulting in a verified user identifier encrypted only using the receiver's key.

[0178] When the encrypted user identifier to be verified is matched with the ciphertext value of the recipient user identifier in the query result, the computer program, when run by the processor, also executes:

[0179] The encrypted user identifier to be verified is compared with the ciphertext values ​​of multiple recipient user identifiers in the query result. If the encrypted user identifier to be verified is the same as a ciphertext value of a recipient user identifier, the match is successful, and the sequence number corresponding to the ciphertext value of the recipient user identifier is determined as the sequence number corresponding to the encrypted user identifier to be verified.

[0180] When obtaining the user attributes encrypted using the homomorphic encryption algorithm corresponding to the verified user identifier based on the corresponding sequence number, the computer program, when run by the processor, also executes:

[0181] Receive all sequence numbers and corresponding user attributes encrypted with homomorphic encryption algorithms transmitted by the recipient via an unintentional transmission protocol;

[0182] Based on the sequence number obtained after a successful match, select the user attribute encrypted with the homomorphic encryption algorithm corresponding to the user identifier to be verified from the correspondence between the received sequence number and the user attribute encrypted with the homomorphic encryption algorithm.

[0183] The recipient stores multiple user information records, each of which includes, but is not limited to, the following:

[0184] The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence.

[0185] The user identifier encrypted with the recipient's key;

[0186] User attributes encrypted using a homomorphic encryption algorithm.

[0187] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, performs the following:

[0188] The query results are fed back to the requester based on the fuzzy query conditions sent by the requester. The query results include multiple encrypted values ​​of receiver user identifiers that match the fuzzy query conditions and their corresponding serial numbers. The fuzzy query conditions are constructed by the requester based on the verifiable user identifiers encrypted with the receiver's key.

[0189] Upon receiving a message from the requester confirming a successful match, the user attributes, encrypted using a homomorphic encryption algorithm, corresponding to the user identifier to be verified, are sent to the requester.

[0190] Receive and decrypt the difference between the homomorphic encrypted value of the user attributes sent by the requester and the homomorphic encrypted value of the user attributes sent by the receiver;

[0191] Analyze the difference after decryption and provide the verification results.

[0192] Before the query result is returned to the requester based on the fuzzy query conditions sent by the requester, the computer program, when run by the processor, also executes:

[0193] Receive a verification request sent by the requester, the verification request including a user identifier to be verified encrypted with the requester's key;

[0194] The system sends a verification identifier to the requesting party, which is then encrypted again with the receiving party's key and encrypted with the requesting party's key. This identifier is used by the requesting party to obtain the verification identifier encrypted with the receiving party's key.

[0195] When the user attributes, encrypted with homomorphic encryption algorithm, corresponding to the user identifier to be verified are sent to the requesting party, the computer program, when executed by the processor, also performs the following:

[0196] All sequence numbers and corresponding homomorphic encryption algorithm-encrypted user attributes are transmitted to the requester via an unintentional transmission protocol. The requester then selects the homomorphic encryption algorithm-encrypted user attributes corresponding to the user identifier to be verified based on the sequence number obtained after a successful match.

[0197] When analyzing the decrypted difference and feeding back the verification result, the computer program, when run by the processor, also executes:

[0198] The plaintext difference obtained by decryption with the recipient's private key is analyzed. For exact matching, if the plaintext difference is 0, the matching result is returned to the requester; otherwise, a non-matching result is returned. For fuzzy matching, if the plaintext difference is within a preset threshold range, the matching result is returned; otherwise, a non-matching result is returned.

[0199] The recipient stores multiple user information records, each of which includes, but is not limited to, the following:

[0200] The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence.

[0201] The user identifier encrypted with the recipient's key;

[0202] User attributes encrypted using a homomorphic encryption algorithm.

[0203] The present invention will now be described in conjunction with specific scenario examples.

[0204] The data verification process proposed in this embodiment involves a data requester and a data receiver.

[0205] The data requester is the party seeking data verification, such as a financial institution. The requester obtains relevant user information through some channel, including the user's identifier and certain attributes, such as name, mobile phone number, etc.; and attributes such as location, ID number, etc. Then, the requester sends a verification request to the data receiver, requesting the data receiver to determine whether the correspondence between the identifier and the attribute is true.

[0206] The data receiver stores the identifiers and attribute information of multiple users. After receiving a request, the receiver verifies the identifiers and attribute information sent by the requester through a data verification process and returns the verification result to the data requester.

[0207] Data initialization is required before the solution is executed:

[0208] The encryption algorithms and key configurations for both the requester and receiver are as follows:

[0209] The requester possesses the homomorphic encryption algorithm E1, public key pk, and unique encryption algorithm E2, key2.

[0210] Recipient: Possesses homomorphic encryption algorithm E1, public key pk, unique private key sk, unique encryption algorithm E3, and key3.

[0211] 2) Establishment of the recipient's user information database: The recipient establishes a user information database containing multiple user information records. Each record may contain the following information:

[0212] The user identifier corresponds to a serial number, and there is a one-to-one correspondence between the identifier and the serial number;

[0213] E3 encrypted user identifier E3 key3 (num) (This symbol indicates that the user identifier num is encrypted using the key key3 and the encryption algorithm E3);

[0214] If the user attributes encrypted by the homomorphic encryption algorithm are non-numeric user attributes, the attribute values ​​need to be encoded as numeric before encryption, such as using Unicode encoding.

[0215] Homomorphic encryption is a cryptographic technique based on the computational complexity theory of mathematical problems. Processing homomorphically encrypted data to obtain an output, and then decrypting this output, yields the same result as processing the original unencrypted data using the same method.

[0216] Data verification process

[0217] The data requester obtains a pair of user identifiers and user attributes and wants to verify with the receiver whether the user identifier and user attributes correspond. The specific process is as follows: Figure 5 As shown, it includes:

[0218] Step 1: Without exposing the user identifier to be verified, the data requester obtains the user identifier to be verified from the receiver, encrypted using the receiver's key3, as follows:

[0219] a) The requesting party sends a verification request to the data receiver, which includes the user identifier E2 encrypted using the requesting party's own key2. key2 (n);

[0220] b) The data receiver receives E2 key2 (n), and then encrypt it again using your own key and algorithm to obtain E3. key3 (E2 key2 (n)) and return the calculated value to the requester;

[0221] c) The requesting party decrypts E3 using its own key2. key3 (E2 key2 (n)), obtain the user identifier E3 encrypted using only the receiver's key. key3 (n).

[0222] Step 2: The requester uses E3 key3 (n) Construct fuzzy query conditions and query the receiver for the sequence number corresponding to the user identifier;

[0223] Here, the identifier of the user being queried is hidden by using fuzzy search conditions, such as retrieving E3. key3 The first k elements of (n) are used as query conditions.

[0224] Step 3: The receiver returns a list L based on the query criteria, which contains multiple E3s that match the query criteria. key3 (num) value and corresponding sequence number;

[0225] Step 4: The requester sends E3 key3 (n) and multiple E3s in list L key3 Match (num) to get E3 key3 (n) The corresponding sequence number; if none of them match, it means that the receiver has no relevant information about the user to be queried, or the user identifier is incorrect, and the process ends;

[0226] Step 5: If the match is successful in step 4, the requesting party will submit the request via OT (On-The-Air). n 1 The unintentional transmission protocol obtains the user attributes corresponding to the user identifier to be verified. These attributes have been encrypted using E1 and the public key pk, as follows:

[0227] a) The requester returns a matching success message to the receiver;

[0228] b) The recipient uses OT n 1 The protocol sends the user attributes corresponding to the serial numbers in the list L, where all attributes are encrypted using E1 and the public key pk, and n is the number of entries in list L; the requester selects the user attribute corresponding to the user identifier to be verified based on the serial number obtained in step 4.

[0229] OT (oblivious transfer) is a cryptographic protocol in which the sender sends multiple encrypted messages to the receiver, and the receiver can only decrypt one or more of these messages (less than the total number of messages). The sender does not know which messages the receiver can decrypt afterward. This protocol is also called the oblivious transfer protocol.

[0230] Using the OT protocol, the receiver cannot know which attribute the requester is obtaining, and the requester can only obtain one attribute value.

[0231] Step 6: The requester calculates the difference between its own (the requester's) user attributes and the encrypted user attributes sent by the receiver using ciphertext, as follows:

[0232] a) Let the user attribute value on the requesting side be m', and the requesting side use the public key pk to calculate E1(m');

[0233] b) Let E1(m) be the user attribute obtained from the receiver. The requester calculates E1(Δm) = E1(m') - E1(m).

[0234] Step 7: The requester sends E1(Δm) to the receiver;

[0235] Step 8: The receiver uses the private key sk to decrypt E1(Δm) to obtain the plaintext Δm;

[0236] Step 9: The receiver analyzes the plaintext Δm and sends the verification result to the requester. For an exact match, if Δm is 0, a match is returned to the requester; otherwise, a mismatch is returned. For a fuzzy match, if Δm is within a certain threshold, a match is returned; otherwise, a mismatch is returned.

[0237] The following describes the data verification process using mobile phone number as the user identifier and user location as the user attribute:

[0238] Data initialization:

[0239] The data recipient's database entries must contain at least:

[0240] The serial number corresponding to the mobile phone number;

[0241] E3 encrypted phone number E3 key3 (num) (This symbol indicates that the phone number num is encrypted using the key key3 and the encryption algorithm E3);

[0242] The user location data collection time E1(t), user latitude information E1(la), and user longitude information E1(lo) are encrypted using the homomorphic encryption algorithm, and the encryption key is pk.

[0243] The data is represented as follows: the collection time is represented by a standard numerical string, such as 11:05:05 AM as 110505 and 6:01:01 PM as 180101; latitude and longitude are represented in decimal, with east longitude being positive and west longitude being negative, north latitude being positive and south latitude being negative, or vice versa. The data receiver updates the user terminal's latest location information and location collection time to the database, and the location information must be mapped to latitude and longitude information.

[0244] The data verification process is as follows:

[0245] Step 1: The data requester sends a verification request to the data receiver, which includes the phone number E2 encrypted with key2. key2 (n); where n is the mobile phone number;

[0246] Step 2: The data receiver receives E2 key2 (n), then calculate E3 key3 (E2 key2(n) is returned to the requester;

[0247] Step 3: The requester decrypts E3 using key2. key3 (E2 key2 (n)) obtain E3 key3 (n), then use E3 key3 (n) Construct query conditions so that the query conditions can match multiple values, such as taking E3. key3 The first k elements of (n);

[0248] Step 4: The receiver returns a list L based on the query criteria, which contains multiple E3s that match the query criteria. key3 (num) value and corresponding sequence number;

[0249] Step 5: The requesting party sends E3 key3 (n) and multiple E3s in list L key3 (num) is used for matching, and E3 is used based on the successful matches. key3 (num) obtains E3 key3 (n) corresponds to the serial number, which can also be associated with the user's latitude and longitude information;

[0250] Step 6: Using the obtained serial number of the mobile phone number to be verified, the requester can complete three OT (On-Time) tests. n 1 The unintentional transmission protocol obtains E1(t), E1(lo), and E1(la) corresponding to the sequence numbers respectively. Using this protocol, the receiver cannot know which mobile phone number the requester is obtaining, and the requester can only obtain the information of the mobile phone number to be verified.

[0251] Step 7: Record the time when the user behavior collected by the requesting side occurs as t', and the location as lo' and la'. The requesting side uses the public key pk to calculate E1(t'), E1(lo'), and E1(la').

[0252] Step 8: The requester uses E1(t), E1(lo), E1(la) obtained from the receiver and E1(t'), E1(lo'), E1(la') obtained in step 7 to calculate E1(Δt) = E1(t) - E1(t'), E1(Δlo) = E1(lo) - E1(lo'), E1(Δla) = E1(la) - E1(la');

[0253] Step 9: The requester sends E1(Δt), E1(Δlo), and E1(Δla) to the receiver;

[0254] Step 10: The receiver uses the private key sk to decrypt E1(Δt), E1(Δlo), and E1(Δla) to obtain the plaintext Δt, Δlo, and Δla;

[0255] Step 11: The receiver analyzes the plaintext Δt, Δlo, and Δla and sends the verification result to the requester. If Δt is small, and Δlo and Δla are also small, it indicates that the location where the user's behavior occurred is close to the user's terminal location, and the probability that the user's behavior was executed by a legitimate user is high; the receiver returns a match. If Δt is small, but Δlo and Δla are far apart, it indicates that the location where the user's behavior occurred is far from the user's terminal location, and the probability that the user's behavior was executed by a legitimate user is low; the receiver returns a no-match.

[0256] The data verification method proposed in this invention can verify the existence of a user identifier and the correctness of a matching relationship without disclosing the user identifier and user attributes obtained by the requester. In this process, the receiver only needs to disclose the matching relationship and does not need to disclose any other information other than the verification result to the requester. It is a verification method that can protect user data security and realize the protection of sensitive data.

[0257] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention.

Claims

1. A data verification method, characterized in that, This method applies to the requesting party, including: Obtain the user identifier to be verified, which is encrypted with the receiver's key, and construct fuzzy query conditions based on the encrypted user identifier to query the serial number corresponding to the user identifier from the receiver. The system receives query results from the recipient, which include multiple encrypted values ​​of recipient user identifiers and their corresponding sequence numbers that match the fuzzy query conditions. The encrypted user identifier to be verified is matched with the encrypted value of the recipient user identifier in the query result. If the match is successful, the user attribute encrypted by the homomorphic encryption algorithm corresponding to the user identifier to be verified is obtained based on the corresponding sequence number. The difference between the homomorphic encrypted value of the user attributes of the requester and the homomorphic encrypted value of the user attributes obtained from the receiver is calculated using ciphertext, and the difference is sent to the receiver. The receiver decrypts and analyzes the difference, and then returns the verification result. The step of obtaining the user identifier to be verified encrypted with the receiver's key includes: sending a verification request to the receiver, the verification request including the user identifier to be verified encrypted with the requester's key; receiving the user identifier to be verified encrypted with the requester's key after being re-encrypted with the receiver's key; and decrypting the user identifier to be verified twice with the requester's key to obtain the user identifier to be verified encrypted only with the receiver's key.

2. The method according to claim 1, characterized in that, The step of matching the encrypted user identifier to be verified with the ciphertext value of the recipient user identifier in the query result includes: The encrypted user identifier to be verified is compared with the ciphertext values ​​of multiple recipient user identifiers in the query result. If the encrypted user identifier to be verified is the same as a ciphertext value of a recipient user identifier, the match is successful, and the sequence number corresponding to the ciphertext value of the recipient user identifier is determined as the sequence number corresponding to the encrypted user identifier to be verified.

3. The method according to claim 1, characterized in that, The step of obtaining the user attributes encrypted using the homomorphic encryption algorithm corresponding to the verified user identifier based on the corresponding sequence number includes: Receive all sequence numbers and corresponding user attributes encrypted with homomorphic encryption algorithms transmitted by the recipient via an unintentional transmission protocol; Based on the sequence number obtained after a successful match, select the user attribute encrypted with the homomorphic encryption algorithm corresponding to the user identifier to be verified from the correspondence between the received sequence number and the user attribute encrypted with the homomorphic encryption algorithm.

4. The method according to claim 1, characterized in that, The receiver stores multiple user information records, each of which includes, but is not limited to, the following: The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence. The user identifier encrypted with the recipient's key; User attributes encrypted using a homomorphic encryption algorithm.

5. A data verification method, characterized in that, This method is applied to the receiver and includes: The query results are fed back to the requester based on the fuzzy query conditions sent by the requester. The query results include multiple encrypted values ​​of receiver user identifiers that match the fuzzy query conditions and their corresponding serial numbers. The fuzzy query conditions are constructed by the requester based on the verifiable user identifiers encrypted with the receiver's key. Upon receiving a message from the requester confirming a successful match, the user attributes, encrypted using a homomorphic encryption algorithm, corresponding to the user identifier to be verified, are sent to the requester. Receive and decrypt the difference between the homomorphic encrypted value of the user attributes sent by the requester and the homomorphic encrypted value of the user attributes sent by the receiver; Analyze the difference after decryption and provide the verification results; Before returning the query result to the requester based on the fuzzy query conditions sent by the requester, the method further includes: receiving a verification request sent by the requester, the verification request including a user identifier to be verified encrypted with the requester's key; returning to the requester a user identifier to be verified encrypted with the requester's key again, which is then encrypted with the receiver's key, for the requester to obtain the user identifier to be verified encrypted with the receiver's key. Sending the user attributes encrypted with the homomorphic encryption algorithm corresponding to the user identifier to be verified to the requester includes: transmitting all sequence numbers and the corresponding user attributes encrypted with the homomorphic encryption algorithm to the requester via an unintentional transmission protocol, so that the requester can select the user attributes encrypted with the homomorphic encryption algorithm corresponding to the user identifier to be verified based on the sequence number obtained after a successful match.

6. The method according to claim 5, characterized in that, The analysis of the decrypted difference and the feedback of the verification results include: The plaintext difference obtained by decryption with the recipient's private key is analyzed. For exact matching, if the plaintext difference is 0, the matching result is returned to the requester; otherwise, a non-matching result is returned. For fuzzy matching, if the plaintext difference is within a preset threshold range, the matching result is returned; otherwise, a non-matching result is returned.

7. The method according to claim 5, characterized in that, The receiver stores multiple user information records, each of which includes, but is not limited to, the following: The user identifier corresponds to a serial number, and the user identifier and the serial number are in one-to-one correspondence. The user identifier encrypted with the recipient's key; User attributes encrypted using a homomorphic encryption algorithm.

8. A data verification device, characterized in that, The device is used by the requester and includes: The first transceiver module is used to obtain the user identifier to be verified encrypted with the receiver's key, and construct fuzzy query conditions based on the encrypted user identifier to query the serial number corresponding to the user identifier from the receiver. The first transceiver module is further configured to receive the query results fed back by the receiver, the query results including multiple receiver user identifier ciphertext values ​​and corresponding sequence numbers that match the fuzzy query conditions; The first processing module is used to match the encrypted user identifier to be verified with the encrypted value of the receiver user identifier in the query result. If the match is successful, the user attribute encrypted by the homomorphic encryption algorithm corresponding to the user identifier to be verified is obtained based on the corresponding sequence number. The first processing module is further configured to calculate the difference between the homomorphic encrypted value of the user attribute of the requester and the homomorphic encrypted value of the user attribute obtained from the receiver, and send the difference to the receiver. The first transceiver module is also used to receive the verification result fed back by the receiver after decrypting and analyzing the difference; The first transceiver module is further configured to send a verification request to the receiver, the verification request including a user identifier to be verified encrypted with the requester's key; receive the user identifier to be verified encrypted with the requester's key after being re-encrypted with the receiver's key; and decrypt the twice-encrypted user identifier to be verified with the requester's key to obtain a user identifier to be verified encrypted only with the receiver's key.

9. A data verification device, characterized in that, The device is used at the receiver and includes: The second transceiver module is used to send back a query result to the requester based on the fuzzy query conditions sent by the requester. The query result includes multiple encrypted values ​​of receiver user identifiers that match the fuzzy query conditions and their corresponding serial numbers. The fuzzy query conditions are constructed by the requester based on the true user identifier to be verified, which is encrypted by the receiver's key. It is also used to send the user attributes, encrypted with homomorphic encryption algorithm, corresponding to the user identifier to be verified to the requester when a matching success message is received from the requester; The second processing module is used to receive and decrypt the difference between the homomorphic encrypted value of the user attributes of the requester and the homomorphic encrypted value of the user attributes of the receiver sent by the requester. Analyze the difference after decryption and provide the verification results; Before the second transceiver module returns the query result to the requester based on the fuzzy query conditions sent by the requester, it is further configured to receive a verification request sent by the requester, the verification request including a user identifier to be verified encrypted with the requester's key; and return to the requester a user identifier to be verified encrypted with the requester's key again after being encrypted with the receiver's key, for the requester to obtain the user identifier to be verified encrypted with the receiver's key. The second transceiver module is further configured to transmit all sequence numbers and corresponding homomorphic encryption algorithm-encrypted user attributes to the requester via an unintentional transmission protocol, so that the requester can select the homomorphic encryption algorithm-encrypted user attributes corresponding to the user identifier to be verified based on the sequence number obtained after successful matching.

10. A data verification device, characterized in that, The device includes: a processor and a memory for storing computer programs that can run on the processor. When the processor is used to run the computer program, it performs the steps of the method according to any one of claims 1-4, or the steps of the method according to any one of claims 5-7.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the method according to any one of claims 1-4, or the steps of the method according to any one of claims 5-7.

Citation Information

Patent Citations

  • Data query method, computing device and system

    CN109299149A

  • Authority control method and device, electronic equipment and storage medium

    CN111680310A