WO2023077596A1 - 一种双向隐匿数据查询方法及装置 - Google Patents

一种双向隐匿数据查询方法及装置 Download PDF

Info

Publication number
WO2023077596A1
WO2023077596A1 PCT/CN2021/135362 CN2021135362W WO2023077596A1 WO 2023077596 A1 WO2023077596 A1 WO 2023077596A1 CN 2021135362 W CN2021135362 W CN 2021135362W WO 2023077596 A1 WO2023077596 A1 WO 2023077596A1
Authority
WO
WIPO (PCT)
Prior art keywords
ciphertext
party
plaintext
key
auxiliary information
Prior art date
Application number
PCT/CN2021/135362
Other languages
English (en)
French (fr)
Inventor
王朝阳
严强
李昊轩
廖飞强
李辉忠
张开翔
范瑞彬
Original Assignee
深圳前海微众银行股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳前海微众银行股份有限公司 filed Critical 深圳前海微众银行股份有限公司
Publication of WO2023077596A1 publication Critical patent/WO2023077596A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Definitions

  • the invention relates to the field of financial technology (Fintech), in particular to a two-way hidden data query method and device.
  • the querying party initiates a query request with obfuscated information and information to be queried; then the data party encrypts the plaintext corresponding to the obfuscated data and the information to be queried to obtain each ciphertext, and converts each The private key and ciphertext corresponding to the ciphertext are sent to the querying party as a feedback result; finally, the querying party decrypts each ciphertext with the private key to obtain the plaintext corresponding to the information to be queried.
  • the information to be queried included in the query request of the existing technology makes the query party have the possibility of privacy leakage, that is, the concealment effect of the query party is probabilistic; the feedback result of the data party includes the ciphertext corresponding to the plaintext, and there is a probability of passing
  • the private key decrypts the plaintext corresponding to the ciphertext, resulting in information leakage, that is, the concealment effect of the data party is probabilistic; therefore, the current concealment query method has poor security and privacy, and there are security risks.
  • Embodiments of the present invention provide a two-way concealed data query method and device, which are used to eliminate probabilistic security and privacy, realize complete concealment of data between the query party and the data party, and improve security and privacy during the query process .
  • the embodiment of the present invention provides a two-way hidden data query method, including:
  • the inquiring party determines a query request based on the first unique identifier of the information to be queried, and sends the query request to the data party; the query request includes first auxiliary information; the first auxiliary information is based on the first unique identifier definite;
  • the querying party receives the feedback result sent by the data party;
  • the feedback result includes the ciphertexts corresponding to the plaintexts in the data party and the decryption indexes corresponding to the ciphertexts;
  • the ciphertexts are the obtained by the data party encrypting the plaintexts according to the encryption keys corresponding to the plaintexts;
  • the encryption keys corresponding to the plaintexts are determined according to the second auxiliary information of the plaintexts;
  • the first auxiliary information of the plaintexts The second auxiliary information is determined by the data party according to the first auxiliary information and the second unique identifier of each plaintext; when the first unique identifier is consistent with the second unique identifier, the first unique identifier Offset with the second unique identifier;
  • the querying party determines the decryption key of the ciphertext according to the decryption index of the ciphertext, and decrypts the ciphertext according to the decryption key of the ciphertext;
  • the querying party determines the successfully decrypted plaintext as the query result.
  • the query request includes the first auxiliary information determined according to the first unique identifier, that is, the query request does not include the first unique identifier of the information to be queried, thus realizing the complete concealment of the query request from the querying party , which prevents the leakage of the first unique identifier and improves the privacy and security of the query request; the feedback result determined by the data party does not include the decryption key, which avoids the information leakage caused by the decryption of the ciphertext.
  • the data The feedback result of the party includes the ciphertext of all the plaintexts of the data party.
  • the querying party determines the query request based on the first unique identifier of the information to be queried, including:
  • the inquiring party determines the first public key of the inquiring party and the second public key of the inquiring party according to the public key, the first private key of the inquiring party, and the second private key of the inquiring party;
  • the inquiring party determines the first auxiliary information according to the public key, the first private key, the second private key, and the first unique identifier;
  • the querying party generates a query request, and the query request includes the first public key, the second public key, and the first auxiliary information.
  • the query request includes the first auxiliary information determined according to the first unique identifier, which is equivalent to using the first auxiliary information to represent the first unique identifier of the information to be queried, that is, the query request does not include the information to be queried Therefore, the complete concealment of the query request of the querying party is realized, the leakage of the first unique identifier is prevented, and the privacy and security of the query request are improved.
  • the querying party determines the decryption key of the ciphertext according to the decryption index of the ciphertext, including:
  • the decryption index of the ciphertext is determined according to the first public key; the encryption key of the plaintext corresponding to the ciphertext is determined according to the second auxiliary information of the plaintext and the second public key;
  • the querying party converts the decryption index into a decryption key of the ciphertext based on the second private key; or the decryption index of the ciphertext is determined according to the second public key; the encryption The encryption key of the plaintext corresponding to the text is determined according to the second auxiliary information of the plaintext and the first public key;
  • the querying party converts the decryption index into a decryption key of the ciphertext based on the first private key or the second private key.
  • the second auxiliary information includes the first auxiliary information and the second unique identifier
  • the first auxiliary information includes the first unique identifier, which is equivalent to that the second auxiliary information includes the second unique identifier and the first unique identifier, that is, encrypted
  • the key includes the first unique identifier and the second unique identifier.
  • the first unique identifier and the second unique identifier are offset, so that the encryption key only includes the public key of the querying party and the private key of the querying party, the decryption key converted by the querying party through the decryption index also includes the public key of the querying party and the private key of the querying party; because the public key of the querying party is determined by the private key of the querying party, the encryption key The key only includes the private key of the querying party, and the decryption key converted by the querying party through the decryption index also includes the private key of the querying party; thus, the encryption key and the decryption key correspond to each other, that is, the querying party can only decrypt the data to be queried.
  • the ciphertext corresponding to the plaintext of the information improves the privacy and security of the data party.
  • the feedback result also includes a first hash value of the encryption key corresponding to each ciphertext
  • the querying party determines the decryption key of the ciphertext according to the decryption index of the ciphertext, and decrypts the ciphertext according to the decryption key of the ciphertext, including:
  • the querying party determines the decryption key of the ciphertext according to the decryption index of the ciphertext
  • the querying party determines a second hash value of the decryption key of the ciphertext
  • the querying party determines a second hash value consistent with the first hash value, and decrypts the ciphertext corresponding to the first hash value according to the second hash value.
  • the ciphertext corresponding to the information to be queried can be determined without repeatedly decrypting other ciphertexts, thereby reducing the amount of calculation and increasing query efficiency.
  • the embodiment of the present invention provides a two-way hidden data query method, including:
  • the data party acquires a query request; the query request includes first auxiliary information; the first auxiliary information is determined according to the first unique identifier;
  • the data party determines the second auxiliary information of the plaintext according to the second unique identifier and public key of the plaintext;
  • the data party determines the encryption key of the plaintext and the decryption index of the ciphertext corresponding to the plaintext according to the second auxiliary information;
  • the data party encrypts the plaintext according to the encryption key to obtain ciphertext
  • the data party determines the decryption index and ciphertext of each ciphertext as a feedback result, and sends the feedback result to the querying party.
  • the feedback result determined by the data party does not include the decryption key, which avoids information leakage due to the decryption of the ciphertext.
  • the key includes the first unique identifier and the second unique identifier, so that the inquiring party can only decrypt the ciphertext corresponding to the plaintext inquired by itself, which improves the privacy and security of the data party.
  • the data party determines the encryption key of the plaintext and the decryption index of the ciphertext corresponding to the plaintext according to the second auxiliary information, including:
  • the data party For any plaintext, the data party generates a first random number and a second random number
  • the data party determines the encryption key according to any public key of the query party, the first random number, and the second random number based on the second auxiliary information;
  • the data party determines the decryption index according to another public key of the query party, the first random number, and the second random number based on the public key.
  • random numbers are used to ensure the relevance and uniqueness between the plaintext and the encryption key, and ensure the security of the encryption key.
  • the data party determines the decryption index and ciphertext of each plaintext as a feedback result, including:
  • the data party determines the first hash value of the encryption key of the plaintext
  • the data party takes the first hash value of the encryption key of the plaintext, the decryption index, and the ciphertext as a tuple;
  • the data party determines each tuple as a feedback result.
  • the first hash value of the encryption key corresponding to the plaintext, the decryption index and the ciphertext are taken as a tuple, which increases the correlation between the first hash value, the decryption index and the ciphertext, and improves the The decryption efficiency of the query party is improved, thereby improving the query efficiency.
  • an embodiment of the present invention provides a two-way hidden data query device, including:
  • a determining module configured to determine a query request based on the first unique identifier of the information to be queried, and send the query request to the data party; the query request includes first auxiliary information; the first auxiliary information is based on the first auxiliary information a unique identification;
  • any ciphertext determine the decryption key of the ciphertext according to the decryption index of the ciphertext, and decrypt the ciphertext according to the decryption key of the ciphertext;
  • the receiving module is configured to receive the feedback result sent by the data party; the feedback result includes the ciphertexts corresponding to the plaintexts in the data party and the decryption indexes corresponding to the ciphertexts; the ciphertexts are obtained by the data party by encrypting the plaintexts according to the encryption keys corresponding to the plaintexts; the encryption keys corresponding to the plaintexts are determined according to the second auxiliary information of the plaintexts; The second auxiliary information is determined by the data party according to the first auxiliary information and the second unique identifier of each plaintext.
  • the determination module is specifically used for:
  • a query request is generated, where the query request includes the first public key, the second public key, and the first auxiliary information.
  • the determination module is specifically used for:
  • the decryption index of the ciphertext is determined according to the first public key; the encryption key of the plaintext corresponding to the ciphertext is determined according to the second auxiliary information of the plaintext and the second public key;
  • the decryption index into a decryption key of the ciphertext based on the second private key; or the decryption index of the ciphertext is determined according to the second public key; the plaintext corresponding to the ciphertext
  • the encryption key is determined according to the second auxiliary information of the plaintext and the first public key;
  • the feedback result also includes a first hash value of the encryption key corresponding to each ciphertext
  • the determination module is specifically used for:
  • an embodiment of the present invention provides a two-way concealed data query device, including:
  • An acquiring unit configured to acquire a query request; the query request includes first auxiliary information; the first auxiliary information is determined according to the first unique identifier;
  • a processing unit configured to, for any plaintext, based on the first auxiliary information, determine the second auxiliary information of the plaintext according to the second unique identifier and the public key of the plaintext;
  • processing unit is specifically used for:
  • the decryption index is determined from another public key of the querying party, the first random number and the second random number.
  • processing unit is specifically used for:
  • Each tuple is determined as a feedback result.
  • the embodiment of the present invention also provides a computer device, including:
  • the processor is used to call the program instructions stored in the memory, and execute the above two-way hidden data query method according to the obtained program.
  • an embodiment of the present invention further provides a computer-readable storage medium, where the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to cause a computer to execute the above two-way concealed data query method.
  • FIG. 1 is a schematic diagram of a system architecture provided by an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a two-way concealed data query method provided by an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of a two-way concealed data query method provided by an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a two-way concealed data query device provided by an embodiment of the present invention.
  • Fig. 5 is a schematic structural diagram of a two-way concealed data query device provided by an embodiment of the present invention.
  • the two parties of data interaction are the query party and the data party; the query party is used to query the deposit corresponding to the user name ID; the data party is used to receive the query request sent by the query
  • the deposit data return value query party in order to better illustrate the two-way hidden query method in the prior art, the following will use specific examples to illustrate, and the specific process is as follows:
  • the inquiring party determines that the username to be queried is 1001;
  • the inquiring party randomly selects four obfuscated user names, namely: 1002, 1003, 1004 and 1005; used to confuse the user name 1001 to be queried;
  • the data party receives the query request sent by the query party.
  • the query request includes h ⁇ (1001), h ⁇ (1002), h ⁇ (1003), h ⁇ (1004) and h ⁇ (1005);
  • the data party performs a hash operation on all user names in its own database to obtain a hash list, which includes the hash values corresponding to each user name; if it includes user names a1, ..., a9, The hash list includes h(a1), ..., h(a9);
  • the data party takes the first seven digits of the hash value in the hash list (corresponding to the query party above), and obtains the updated hash list including h ⁇ (a1), ..., h ⁇ (a9) ;
  • the data party compares the updated hash list with h ⁇ (1001), h ⁇ (1002), h ⁇ (1003), h ⁇ (1004) and h ⁇ (1005) in the query request, Determine the consistent hash value; for example, h ⁇ (a1) is consistent with h ⁇ (1001), h ⁇ (a5) is consistent with h ⁇ (1002), h ⁇ (a7) is consistent with h ⁇ (1003), h ⁇ (a2) is consistent with h ⁇ (1004), and h ⁇ (a9) is consistent with h ⁇ (1005).
  • the data party determines h ⁇ (a1), h ⁇ (a5), h ⁇ (a7), h ⁇ (a2) and h ⁇ (a9) deposit data b1, b5, b7, b2 and b9;
  • the data party randomly generates multiple obfuscated deposit data, such as generating three obfuscated deposit data b11, b12 and b13;
  • the data party generates 8 (the sum of the above-mentioned deposit data quantity and the confusion deposit data quantity) encryption keys, pk1, ..., pk8; and deposit data b1, b5, b7, b2, b9 and confusion deposit respectively
  • Data b11, b12, b13 are encrypted to obtain ciphertexts c1, c5, c7, c2, c9, c11, c12 and c13;
  • the data party returns the encryption keys pk1, ..., pk8 and ciphertexts c1, c5, c7, c2, c9, c11, c12, c13 to the querying party.
  • the inquiring party receives the encryption keys pk1, ..., pk8 and ciphertexts c1, c5, c7, c2, c9, c11, c12, c13 sent by the data party and returns them to the inquiring party; according to the encryption keys pk1, ... ..., pk8 decrypt the ciphertexts c1, c5, c7, c2, c9, c11, c12, c13 to obtain the deposit data;
  • auxiliary information Based on the auxiliary information, determine the deposit data corresponding to the user name 1001 to be queried; wherein, the auxiliary information may be the relationship between the ciphertext and the user name.
  • the data party is based on the fact that "h ⁇ (a1) is consistent with h ⁇ (1001), h ⁇ (a5) is consistent with h ⁇ (1002 ) are consistent, h ⁇ (a7) is consistent with h ⁇ (1003), h ⁇ (a2) is consistent with h ⁇ (1004), h ⁇ (a9) is consistent with h ⁇ (1005)" can determine the user name a1, a5 One of , a7, a2, and a9 is the user name to be queried, that is to say, the data party has a 1/5 chance to determine the user name to be queried, resulting in the privacy of the query party being leaked. Therefore, the security and privacy of the querying party are probabilistic, that is, the security and privacy are low.
  • the query party For the deposit data returned by the data party, the query party will obtain other deposit data except the user name to be queried, resulting in the leakage of deposit data corresponding to other user names. Therefore, the security and privacy of the data party are probabilistic, that is, the security and privacy are low.
  • FIG. 1 exemplarily shows a system architecture applicable to this embodiment of the present invention, and the system architecture includes a query side 110 and a data side 120 .
  • the inquiring party 110 is used to determine the first auxiliary information according to the public key, the first private key, the second private key and the first unique identifier; then generate the query according to the first public key, the second public key and the first auxiliary information request, and send the query request to the data party 120;
  • Receive the feedback result sent by the data party 120 determine the decryption key of the ciphertext according to the decryption index of the ciphertext, determine the second hash value of the decryption key of the ciphertext, and then determine the second hash value consistent with the first hash value hash value, and decrypt the ciphertext corresponding to the first hash value according to the second hash value to obtain the plaintext corresponding to the information to be queried.
  • the inquiring party 110 is used to receive the query request, based on the first auxiliary information of the query request, and determine the second auxiliary information in plain text according to the second unique identifier and public key in plain text; then based on the second auxiliary information, according to any A public key, the first random number and the second random number determine the encryption key; based on the public key, determine the decryption index according to the other public key of the inquiring party, the first random number and the second random number; then determine the encryption of the plaintext
  • the first hash value of the key; finally, the first hash value of the encryption key of each plaintext, the decryption index, and the ciphertext are sent to the querying party 110 as a feedback result.
  • FIG. 1 is only an example, which is not limited in this embodiment of the present invention.
  • FIG. 2 exemplarily shows a schematic flowchart of a two-way concealed data query method provided by an embodiment of the present invention, and the process can be executed by a two-way concealed data query device.
  • the process specifically includes:
  • Step 210 the query party determines a query request based on the first unique identifier of the information to be queried, and sends the query request to the data party.
  • the query request includes first auxiliary information; the first auxiliary information is determined according to the first unique identifier; the first unique identifier may be an ID card number, a telephone number, etc., which are not specifically limited here.
  • Step 220 the inquiring party receives the feedback result sent by the data party.
  • the feedback result includes each ciphertext corresponding to each plaintext in the data party and the decryption index corresponding to each ciphertext; each ciphertext is an encryption key pair corresponding to each plaintext of the data party Each plaintext is obtained by encrypting; the encryption key corresponding to each plaintext is determined according to the second auxiliary information of each plaintext; the second auxiliary information of each plaintext is obtained by the data party according to the first auxiliary information and the second unique information of each plaintext Identified.
  • Step 230 for any ciphertext, the querying party determines the decryption key of the ciphertext according to the decryption index of the ciphertext, and decrypts the ciphertext according to the decryption key of the ciphertext.
  • the ciphertext corresponding to the first unique identifier is determined by determining the first hash value of the decryption key, and then the ciphertext is decrypted by using the decryption key.
  • Step 240 the querying party determines the successfully decrypted plaintext as the query result.
  • step 210 the querying party determines the first credential information based on the pre-agreed public key with the data party, thereby generating a querying request.
  • the inquiring party determines the first public key of the inquiring party and the second public key of the inquiring party according to the public key, the first private key of the inquiring party, and the second private key of the inquiring party. key; determine the first auxiliary information according to the public key, the first private key, the second private key and the first unique identifier; the querying party generates a query request, and the query request includes the The first public key, the second public key, and the first auxiliary information.
  • the inquiring party P1 determines the first unique identifier i of the information to be queried, for example, the first unique identifier is the user's ID number, phone number, and the like.
  • the inquiring party P1 generates two private keys, including a first private key e and a second private key f, where the private key can be a random number or generated by a key generation algorithm, which is not specifically limited here.
  • the inquiring party P1 takes the first public key x, the second public key y and the first auxiliary information zi as a query request.
  • the encryption key of the plaintext is determined according to the second auxiliary information.
  • the second auxiliary information is determined according to the first auxiliary information and the second unique identifier corresponding to the plaintext, and when the first unique identifier is consistent with the second unique identifier, the first unique identifier and the second unique identifier That is to say, the encryption key of the plaintext corresponding to the first unique identifier does not include the information of the first unique identifier and the second unique identifier, so that the query party can determine the encryption key corresponding to the encryption key according to the decryption index. decryption key.
  • FIG. 3 exemplarily shows a schematic flowchart of a two-way concealed data query method, which can be executed by a two-way concealed data query device.
  • the specific process includes:
  • Step 310 the data party obtains the query request.
  • the query request includes first auxiliary information; the first auxiliary information is determined according to the first unique identifier.
  • Step 320 for any plaintext, the data party determines second auxiliary information of the plaintext based on the first auxiliary information and according to the second unique identifier and public key of the plaintext.
  • the first auxiliary information includes the first unique identifier, so the second auxiliary information determined according to the second unique identifier includes the first unique identifier and the second unique identifier, and the first unique identifier and the second unique identifier The relationship between them is subtraction or division, so that when the first unique identifier and the second unique identifier are consistent, the first unique identifier and the second unique identifier cancel each other out.
  • Step 330 the data party determines the encryption key of the plaintext and the decryption index of the ciphertext corresponding to the plaintext according to the second auxiliary information.
  • the encryption key includes the second unique identifier and the first unique identifier of the information to be queried, and the decryption index does not include the second unique identifier and the first unique identifier of the information to be queried.
  • Step 340 the data party encrypts the plaintext according to the encryption key to obtain ciphertext.
  • Step 350 the data party determines the decryption index and ciphertext of each ciphertext as a feedback result, and sends the feedback result to the query.
  • the second auxiliary information includes the second unique identifier and the first unique identifier of the information to be queried; combining the above statement for example, the data party P2 obtains the query request (including the first public key x, the second public key After y and the first auxiliary information zi), the first random number and the second random number are generated for each plaintext in the data party P2's own database, such as the first random number of the data mj is rj, and the second random number is sj, Wherein, j represents the second unique identifier of the plaintext, and the random number may be a symmetric key or a randomly generated value, which is not specifically limited here.
  • the data party P2 determines the second auxiliary information of each plaintext based on the first auxiliary information zi.
  • step 330 the encryption key is determined based on the second side information, and the decryption index is determined based on the public key.
  • the data party For any plaintext, the data party generates a first random number and a second random number
  • the data party determines the encryption key according to any public key of the query party, the first random number, and the second random number based on the second auxiliary information;
  • the data party determines the decryption index according to another public key of the query party, the first random number, and the second random number based on the public key.
  • the encryption key can be determined according to the first public key x
  • step 340 taking the above plaintext mj as an example, the plaintext is encrypted in the following formula (1):
  • Ej is the ciphertext of the plaintext mj
  • kj is the encryption key of the plaintext mj.
  • the feedback result also includes the first hash value of the encryption key of each plaintext; specifically, for any plaintext, the data party determines the first hash value of the encryption key of the plaintext; The first hash value of the encryption key of the plaintext, the decryption index and the ciphertext are taken as a tuple; the data side determines each tuple as a feedback result.
  • the data party P2 performs a hash operation on the encryption key kj of the plaintext mj to obtain the first hash value hash(kj).
  • the data party P2 uses the encryption key kj, the first hash value hash(kj) and the ciphertext Ej as a tuple corresponding to the plaintext mj, and the data party P2 sends the tuples corresponding to each plaintext as a feedback result to the query party P1.
  • the query party After the query party receives the query result sent by the data party, it will calculate according to any tuple, and determine the decryption key according to the decryption index of the ciphertext in the tuple.
  • the decryption index of the ciphertext is determined according to the first public key; the encryption key of the plaintext corresponding to the ciphertext is determined according to the second auxiliary information of the plaintext and the second public key. key; the querying party converts the decryption index into a decryption key of the ciphertext based on the second private key; or the decryption index of the ciphertext is determined according to the second public key ; The encryption key of the plaintext corresponding to the ciphertext is determined according to the second auxiliary information of the plaintext and the first public key; the querying party is based on the first private key or the second private key , convert the decryption index into the decryption key of the ciphertext.
  • the ciphertext corresponding to the plaintext mj is Ej
  • the decryption index wj x sj *g rj of Ej, which includes the first public key.
  • the decryption index wj y sj *g rj of the ciphertext Ej includes the second public key.
  • the query party uses different private keys when determining the decryption key. Specifically, if the decryption index includes the first public key, the query party will decrypt The index is converted to a decryption key for the ciphertext. If the decryption index includes the second public key, the querying party converts the decryption index into a decryption key of the ciphertext based on the first private key.
  • the encryption key and the decryption key are symmetric keys, that is, when the encryption key and the decryption key are consistent, the ciphertext encrypted by the encryption key can be successfully decrypted by the decryption key. Further, when the first unique identifier is consistent with the second unique identifier, the encryption key is consistent with the decryption key.
  • the querying party directly decrypts the ciphertext using the decryption key until the decryption succeeds.
  • the ciphertext corresponding to the first unique identifier is determined by comparing the hash value of the decryption key with the hash value of the encryption key.
  • the querying party determines the decryption key of the ciphertext according to the decryption index of the ciphertext; determines the second hash value of the decryption key of the ciphertext; a consistent second hash value, and decrypt the ciphertext corresponding to the first hash value according to the second hash value.
  • the first hash value of the decryption key kj ⁇ of the plaintext mj is hash(kj ⁇ )
  • the second hash value of the encryption key kj of the plaintext mj is hash(kj). If the first hash value is consistent with the second hash value, it is determined that the encryption key is consistent with the decryption key, that is, the decryption key determined by the querying party can successfully decrypt the ciphertext to obtain the plaintext.
  • the preset digits of the first hash value and the second hash value can be used for comparison, such as taking the first 9 digits of the first hash value and the second hash value, where Not specifically limited.
  • Ei is the ciphertext of the plaintext mi.
  • the querying party After obtaining the plaintext mi, the querying party takes the plaintext mi as the query result.
  • the inquiring party does not send its own information to be queried (that is, the first unique identifier) to the data party. Only the first public key x, the second public key y and the first auxiliary information zi representing the first unique identifier i are sent. After receiving x, y, and zi, the data party cannot deduce the first unique identifier i of the information to be queried by the inquiring party. Therefore, the complete concealment of the query request of the query party is realized, the leakage of the first unique identifier is prevented, and the privacy and security of the query request are improved;
  • the first unique identifier and the second unique identifier are offset, so that the decryption key converted by the querying party through the decryption index is consistent with the encryption key, realizing that the querying party can only Decrypt the ciphertext corresponding to the plaintext of the information to be queried.
  • the querying party obtains ciphertexts other than the ciphertext corresponding to the first unique identifier i, it cannot know the decryption keys of other ciphertexts, that is, it cannot Successfully decrypt other ciphertexts, making the data of the data party completely hidden, preventing the leakage of other plaintexts, and improving the privacy and security of query requests;
  • the query party After the query party receives the feedback result sent by the data party or each possible tuple, it calculates each tuple and obtains the decryption key of each ciphertext. According to the first hash of the decryption key The hash value is compared with the second hash value of the encryption key in the tuple to determine the tuple corresponding to the first unique identifier, without ergodic decryption of all ciphertexts, which improves computing efficiency and reduces calculation volume, which improves query efficiency.
  • FIG. 4 exemplarily shows a schematic structural diagram of a two-way concealed data query device provided by an embodiment of the present invention, and a process that the device can execute.
  • the device specifically includes:
  • a determining module 410 configured to determine a query request based on the first unique identifier of the information to be queried, and send the query request to the data party; the query request includes first auxiliary information; the first auxiliary information is based on the determined by the first unique identifier;
  • any ciphertext determine the decryption key of the ciphertext according to the decryption index of the ciphertext, and decrypt the ciphertext according to the decryption key of the ciphertext;
  • the receiving module 420 is configured to receive the feedback result sent by the data party; the feedback result includes the ciphertexts corresponding to the plaintexts in the data party and the decryption indexes corresponding to the ciphertexts; the ciphertexts It is obtained by the data party encrypting the plaintexts according to the encryption keys corresponding to the plaintexts; the encryption key corresponding to the plaintexts is determined according to the second auxiliary information of the plaintexts; the plaintexts The second auxiliary information is determined by the data party according to the first auxiliary information and the second unique identifier of each plaintext.
  • the determining module 410 is specifically configured to:
  • a query request is generated, where the query request includes the first public key, the second public key, and the first auxiliary information.
  • the determining module 410 is specifically configured to:
  • the decryption index of the ciphertext is determined according to the first public key; the encryption key of the plaintext corresponding to the ciphertext is determined according to the second auxiliary information of the plaintext and the second public key;
  • the decryption index into a decryption key of the ciphertext based on the second private key; or the decryption index of the ciphertext is determined according to the second public key; the plaintext corresponding to the ciphertext
  • the encryption key is determined according to the second auxiliary information of the plaintext and the first public key;
  • the feedback result also includes a first hash value of the encryption key corresponding to each ciphertext
  • the determining module 410 is specifically used for:
  • FIG. 5 exemplarily shows a schematic structural diagram of a two-way concealed data query device provided by an embodiment of the present invention, and a process that the device can execute.
  • the device specifically includes:
  • An obtaining unit 510 configured to obtain a query request; the query request includes first auxiliary information; the first auxiliary information is determined according to the first unique identifier;
  • the processing unit 520 is configured to, for any plaintext, based on the first auxiliary information, determine the second auxiliary information of the plaintext according to the second unique identifier and public key of the plaintext;
  • processing unit 520 is specifically configured to:
  • the decryption index is determined from another public key of the querying party, the first random number and the second random number.
  • processing unit 520 is specifically configured to:
  • Each tuple is determined as a feedback result.
  • the embodiment of the present invention also provides a computer device, including:
  • the processor is used to call the program instructions stored in the memory, and execute the above two-way hidden data query method according to the obtained program.
  • an embodiment of the present invention also provides a computer-readable storage medium, the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to make the computer perform the above-mentioned two-way hidden data query method.
  • the embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the instructions
  • the device realizes the function specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

一种双向隐匿数据查询方法及装置,包括:查询方基于待查询信息的第一唯一标识确定查询请求,并发送至数据方;查询请求包括第一辅助信息;第一辅助信息是根据第一唯一标识确定的;接收数据方发送的反馈结果;反馈结果包括数据方中的各密文和各密文对应的解密索引;各密文是数据方根据各明文对应的加密密钥对各明文进行加密得到的;各明文对应的加密密钥是根据各明文的第二辅助信息确定的;第二辅助信息是数据方根据第一辅助信息和第二唯一标识确定的;根据解密索引确定解密密钥,并根据解密密钥对密文进行解密;将解密成功的明文确定为查询结果。该方法和装置实现了查询方和数据方之间的数据完全隐匿,提高查询过程中的安全性和隐私性。

Description

一种双向隐匿数据查询方法及装置
相关申请的交叉引用
本申请要求在2021年11月03日提交中国专利局、申请号为202111292880.0、申请名称为“一种双向隐匿数据查询方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及金融科技(Fintech)领域,尤其涉及一种双向隐匿数据查询方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术(例如:区块链、云计算或大数据)应用在金融领域,传统金融业正在逐步向金融科技转变,大数据技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对大数据技术的数据隐匿提出了更高的要求。
现有技术的隐匿查询方法是由查询方发起带有混淆信息和待查询信息的查询请求;再由数据方将带有混淆数据与待查询信息对应的明文进行加密,得到各密文,将各密文对应的私钥和密文作为反馈结果发送至查询方;最后查询方通过私钥对各密文进行解密,得到待查询信息对应的明文。
但是,现有技术的查询请求中包括的待查询信息,使查询方存在隐私泄露的概率,即查询方的隐匿效果是概率性的;数据方的反馈结果包括明文对应的密文,有概率通过私钥解密出密文对应的明文,导致信息泄露,即数据方的隐匿效果是概率性的;因此,目前的隐匿查询方法的安全性和隐私性差,存在安全风险。
发明内容
本发明实施例提供一种双向隐匿数据查询方法及装置,用于消除概率性的安全性和隐私性,实现查询方和数据方之间的数据完全隐匿,提高查询过程中的安全性和隐私性。
第一方面,本发明实施例提供一种双向隐匿数据查询方法,包括:
查询方基于待查询信息的第一唯一标识确定查询请求,并将所述查询请求发送至数据方;所述查询请求包括第一辅助信息;所述第一辅助信息是根据所述第一唯一标识确定的;
所述查询方接收所述数据方发送的反馈结果;所述反馈结果包括所述数据方中的各明文对应的各密文和所述各密文对应的解密索引;所述各密文是所述数据方根据各明文对应的加密密钥对所述各明文进行加密得到的;所述各明文对应的加密密钥是根据所述各明文的第二辅助信息确定的;所述各明文的第二辅助信息是所述数据方根据所述第一辅助信息和所述各明文的第二唯一标识确定的;所述第一唯一标识与所述第二唯一标识一致时,所述第一唯一标识与所述第二唯一标识相抵消;
针对任一密文,所述查询方根据所述密文的解密索引确定所述密文的解密密钥,并根 据所述密文的解密密钥对所述密文进行解密;
所述查询方将解密成功的明文确定为查询结果。
上述技术方案中,查询请求包括根据第一唯一标识确定的第一辅助信息,也就是说,查询请求中并未包括待查询信息的第一唯一标识,因此实现了查询方的查询请求的完全隐匿,防止了第一唯一标识的泄露,提升了查询请求的隐私性和安全性;数据方确定的反馈结果不包括解密密钥,避免了因密文被解密而导致信息泄露的情况,同时,数据方的反馈结果中包括了数据方所有明文的密文,通过加密密钥中包括第一唯一标识和第二唯一标识,使查询方只能解密出自己查询的明文对应的密文,提升了数据方的隐私性和安全性。
可选的,查询方基于待查询信息的第一唯一标识确定查询请求,包括:
所述查询方根据公共密钥、所述查询方的第一私钥和所述查询方的第二私钥确定所述查询方的第一公钥和所述查询方的第二公钥;
所述查询方根据公共密钥、所述第一私钥、所述第二私钥和所述第一唯一标识确定所述第一辅助信息;
所述查询方生成查询请求,所述查询请求中包括所述第一公钥、所述第二公钥和所述第一辅助信息。
上述技术方案中,查询请求包括根据第一唯一标识确定的第一辅助信息,相当于通过第一辅助信息表征待查询信息的第一唯一标识,也就是说,查询请求中并未包括待查询信息的第一唯一标识,因此实现了查询方的查询请求的完全隐匿,防止了第一唯一标识的泄露,提升了查询请求的隐私性和安全性。
可选的,所述查询方根据所述密文的解密索引确定所述密文的解密密钥,包括:
所述密文的解密索引是根据所述第一公钥确定的;所述密文对应的明文的加密密钥是根据所述明文的第二辅助信息和所述第二公钥确定的;
所述查询方基于所述第二私钥,将所述解密索引转换为所述密文的解密密钥;或所述密文的解密索引是根据所述第二公钥确定的;所述密文对应的明文的加密密钥是根据所述明文的第二辅助信息和所述第一公钥确定的;
所述查询方基于所述第一私钥或所述第二私钥,将所述解密索引转换为所述密文的解密密钥。
上述技术方案中,第二辅助信息包括第一辅助信息和第二唯一标识,第一辅助信息包括第一唯一标识,相当于第二辅助信息包括了第二唯一标识和第一唯一标识,即加密密钥中包括了第一唯一标识和第二唯一标识,当第一唯一标识和第二唯一标识一致时,第一唯一标识与第二唯一标识抵消,从而加密密钥仅包括查询方的公钥和查询方的私钥,查询方通过解密索引转换的解密密钥也包括查询方的公钥和查询方的私钥;因为查询方的公钥是通过查询方的私钥确定的,使加密密钥仅包括查询方的私钥,查询方通过解密索引转换的解密密钥也包括查询方的私钥;进而使加密密钥和解密密钥相对应,即实现了查询方只能解密出待查询信息的明文对应的密文,提升了数据方的隐私性和安全性。
可选的,所述反馈结果还包括所述各密文对应的加密密钥的第一哈希值;
所述查询方根据所述密文的解密索引确定所述密文的解密密钥,并根据所述密文的解 密密钥对所述密文进行解密,包括:
所述查询方根据所述密文的解密索引确定所述密文的解密密钥;
所述查询方确定所述密文的解密密钥的第二哈希值;
所述查询方确定与所述第一哈希值一致的第二哈希值,并根据所述第二哈希值对所述第一哈希值对应的密文进行解密。
上述技术方案中,通过确定第一哈希值和第二哈希值,可以确定出待查询信息对应的密文,不需要重复解密其他密文,进而减少计算量,增加查询效率。
第二方面,本发明实施例提供一种双向隐匿数据查询方法,包括:
数据方获取查询请求;所述查询请求包括第一辅助信息;所述第一辅助信息是根据所述第一唯一标识确定的;
针对任一明文,所述数据方基于所述第一辅助信息,根据所述明文的第二唯一标识和公共密钥确定所述明文的第二辅助信息;
所述数据方根据所述第二辅助信息确定所述明文的加密密钥和所述明文对应的密文的解密索引;
所述数据方根据所述加密密钥对所述明文进行加密,得到密文;
所述数据方将各密文的解密索引和密文确定为反馈结果,并将所述反馈结果发送至查询方。
上述技术方案中,数据方确定的反馈结果不包括解密密钥,避免了因密文被解密而导致信息泄露的情况,数据方的反馈结果中包括了数据方所有明文的密文,通过加密密钥中包括第一唯一标识和第二唯一标识,使查询方只能解密出自己查询的明文对应的密文,提升了数据方的隐私性和安全性。
可选的,所述数据方根据所述第二辅助信息确定所述明文的加密密钥和所述明文对应的密文的解密索引,包括:
针对任一明文,所述数据方生成第一随机数和第二随机数;
所述数据方基于所述第二辅助信息,根据所述查询方的任一公钥、所述第一随机数和所述第二随机数确定所述加密密钥;
所述数据方基于所述公共密钥,根据所述查询方的另一公钥、所述第一随机数和所述第二随机数确定所述解密索引。
上述技术方案中,通过随机数来保证明文与加密密钥之间的关联性和唯一性,并保证了加密密钥的安全性。
可选的,所述数据方将各明文的解密索引和密文确定为反馈结果,包括:
针对任一明文,所述数据方确定所述明文的加密密钥的第一哈希值;
所述数据方将所述明文的加密密钥的第一哈希值、解密索引和密文作为元组;
所述数据方将各元组确定为反馈结果。
上述技术方案中,将明文对应的加密密钥的第一哈希值、解密索引和密文作为一个元组,增加了第一哈希值、解密索引和密文之间的关联性,提升了查询方的解密效率,从而提升查询效率。
第三方面,本发明实施例提供一种双向隐匿数据查询装置,包括:
确定模块,用于基于待查询信息的第一唯一标识确定查询请求,并将所述查询请求发送至数据方;所述查询请求包括第一辅助信息;所述第一辅助信息是根据所述第一唯一标识确定的;
针对任一密文,根据所述密文的解密索引确定所述密文的解密密钥,并根据所述密文的解密密钥对所述密文进行解密;
将解密成功的明文确定为查询结果;
接收模块,用于接收所述数据方发送的反馈结果;所述反馈结果包括所述数据方中的各明文对应的各密文和所述各密文对应的解密索引;所述各密文是所述数据方根据各明文对应的加密密钥对所述各明文进行加密得到的;所述各明文对应的加密密钥是根据所述各明文的第二辅助信息确定的;所述各明文的第二辅助信息是所述数据方根据所述第一辅助信息和所述各明文的第二唯一标识确定的。
可选的,所述确定模块具体用于:
根据公共密钥、所述查询方的第一私钥和所述查询方的第二私钥确定所述查询方的第一公钥和所述查询方的第二公钥;
根据公共密钥、所述第一私钥、所述第二私钥和所述第一唯一标识确定所述第一辅助信息;
生成查询请求,所述查询请求中包括所述第一公钥、所述第二公钥和所述第一辅助信息。
可选的,所述确定模块具体用于:
所述密文的解密索引是根据所述第一公钥确定的;所述密文对应的明文的加密密钥是根据所述明文的第二辅助信息和所述第二公钥确定的;
基于所述第二私钥,将所述解密索引转换为所述密文的解密密钥;或所述密文的解密索引是根据所述第二公钥确定的;所述密文对应的明文的加密密钥是根据所述明文的第二辅助信息和所述第一公钥确定的;
基于所述第一私钥或第二私钥,将所述解密索引转换为所述密文的解密密钥。
可选的,所述反馈结果还包括所述各密文对应的加密密钥的第一哈希值;
所述确定模块具体用于:
根据所述密文的解密索引确定所述密文的解密密钥;
确定所述密文的解密密钥的第二哈希值;
确定与所述第一哈希值一致的第二哈希值,并根据所述第二哈希值对所述第一哈希值对应的密文进行解密。
第四方面,本发明实施例提供一种双向隐匿数据查询装置,包括:
获取单元,用于获取查询请求;所述查询请求包括第一辅助信息;所述第一辅助信息是根据所述第一唯一标识确定的;
处理单元,用于针对任一明文,基于所述第一辅助信息,根据所述明文的第二唯一标识和公共密钥确定所述明文的第二辅助信息;
根据所述第二辅助信息确定所述明文的加密密钥和所述明文对应的密文的解密索引;
根据所述加密密钥对所述明文进行加密,得到密文;
将各密文的解密索引和密文确定为反馈结果,并将所述反馈结果发送至查询方。
可选的,所述处理单元具体用于:
针对任一明文,生成第一随机数和第二随机数;
基于所述第二辅助信息,根据所述查询方的任一公钥、所述第一随机数和所述第二随机数确定所述加密密钥;
基于所述公共密钥,根据所述查询方的另一公钥、所述第一随机数和所述第二随机数确定所述解密索引。
可选的,所述处理单元具体用于:
针对任一明文,确定所述明文的加密密钥的第一哈希值;
将所述明文的加密密钥的第一哈希值、解密索引和密文作为元组;
将各元组确定为反馈结果。
第五方面,本发明实施例还提供一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述双向隐匿数据查询方法。
第六方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述双向隐匿数据查询方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构示意图;
图2为本发明实施例提供的一种双向隐匿数据查询方法的流程示意图;
图3为本发明实施例提供的一种双向隐匿数据查询方法的流程示意图;
图4为本发明实施例提供的一种双向隐匿数据查询装置的结构示意图;
图5为本发明实施例提供的一种双向隐匿数据查询装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
现有技术中,为了防止数据交互的双方(即查询方和数据方)的数据被盗取、泄露等行为,数据交互的双方的隐私性和安全性,一般通过双向隐匿的查询方法来实现。
举例来说,数据交互的双方为查询方和数据方;查询方用于查询用户名ID对应的存款;数据方用于接收查询方发送的包括用户名ID的查询请求,并将用户名ID对应的存款数据返回值查询方;为了更好的阐述现有技术中的双向隐匿查询方法,下面将用具体实例进行举例,具体流程如下:
S1.1、查询方确定待查询用户名为1001;
S1.2、查询方随机选择四个混淆用户名,分别为:1002、1003、1004和1005;用于对待查询用户名1001进行混淆;
S1.3、对待查询用户名1001和混淆用户名1002、1003、1004、1005进行哈希运算,得到对应的哈希值,分别为h(1001)、h(1002)、h(1003)、h(1004)和h(1005);
S1.4、取预设位数的哈希值来表征用户名,如分别对h(1001)、h(1002)、h(1003)、h(1004)和h(1005)取前七位数,得到h`(1001)、h`(1002)、h`(1003)、h`(1004)和h`(1005);
S1.5、将h`(1001)、h`(1002)、h`(1003)、h`(1004)和h`(1005)作为查询请求发送至数据方。
S2.1、数据方接收查询方发送的查询请求,查询请求包括h`(1001)、h`(1002)、h`(1003)、h`(1004)和h`(1005);
S2.2、数据方对自身数据库中所有用户名进行哈希运算,得到哈希列表,该哈希列表中包括了各用户名对应的哈希值;如包括用户名a1、……、a9,哈希列表包括h(a1)、……、h(a9);
S2.3、数据方对哈希列表中的哈希值取前七位数(与上述查询方对应),得到更新后的哈希列表包括h`(a1)、……、h`(a9);
S2.4、数据方将更新后的哈希列表与查询请求中的h`(1001)、h`(1002)、h`(1003)、h`(1004)和h`(1005)作对比,确定出一致的哈希值;如h`(a1)与h`(1001)一致、h`(a5)与h`(1002)一致、h`(a7)与h`(1003)一致、h`(a2)与h`(1004)一致、h`(a9)与h`(1005)一致。
S2.5、数据方确定h`(a1)、h`(a5)、h`(a7)、h`(a2)和h`(a9)存款数据b1、b5、b7、b2和b9;
S2.6、数据方随机生成多个混淆存款数据,如生成三个混淆存款数据b11、b12和b13;
S2.7、数据方生成8个(上述存款数据数量与混淆存款数据数量的和)加密密钥,pk1、……、pk8;并分别对存款数据b1、b5、b7、b2、b9和混淆存款数据b11、b12、b13进行加密,得到密文c1、c5、c7、c2、c9、c11、c12和c13;
S2.8、数据方将加密密钥pk1、……、pk8和密文c1、c5、c7、c2、c9、c11、c12、c13返回至查询方。
S3.1、查询方接收数据方发送的加密密钥pk1、……、pk8和密文c1、c5、c7、c2、c9、c11、c12、c13返回至查询方;根据加密密钥pk1、……、pk8对密文c1、c5、c7、c2、c9、 c11、c12、c13进行解密,得到各存款数据;
S3.2、基于辅助信息,确定出待查询用户名1001对应的存款数据;其中,辅助信息可以是密文与用户名之间的关联关系等。
由上述实例可以看出,针对查询方的查询请求,包括混淆用户名和待查询用户名,数据方基于“h`(a1)与h`(1001)一致、h`(a5)与h`(1002)一致、h`(a7)与h`(1003)一致、h`(a2)与h`(1004)一致、h`(a9)与h`(1005)一致”可以确定出用户名a1、a5、a7、a2、a9中有一个为待查询用户名,也就是说,数据方有1/5的机会确定出待查询用户名,导致查询方的隐私泄露。因此,查询方的安全性和隐私性是概率性的,即安全性和隐私性较低。
针对数据方返回的存款数据,查询方会获得除了待查询用户名以外的其他存款数据,导致其他用户名对应的存款数据泄露。因此,数据方的安全性和隐私性是概率性的,即安全性和隐私性较低。
图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构包括查询方110和数据方120。
其中,查询方110用于根据公共密钥、第一私钥、第二私钥和第一唯一标识确定第一辅助信息;再根据第一公钥、第二公钥和第一辅助信息生成查询请求,并将查询请求发送至数据方120;
接收数据方120发送的反馈结果,根据密文的解密索引确定密文的解密密钥,确定密文的解密密钥的第二哈希值,再确定与第一哈希值一致的第二哈希值,并根据第二哈希值对第一哈希值对应的密文进行解密,得到待查询信息对应的明文。
查询方110用于接收查询请求,基于查询请求的第一辅助信息,并根据明文的第二唯一标识和公共密钥确定明文的第二辅助信息;再基于第二辅助信息,根据查询方的任一公钥、第一随机数和第二随机数确定加密密钥;基于公共密钥,根据查询方的另一公钥、第一随机数和第二随机数确定解密索引;再确定明文的加密密钥的第一哈希值;最后将各明文的加密密钥的第一哈希值、解密索引和密文作为反馈结果发送至查询方110。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种双向隐匿数据查询方法的流程示意图,该流程可由双向隐匿数据查询装置执行。
如图2所示,该流程具体包括:
步骤210,查询方基于待查询信息的第一唯一标识确定查询请求,并将所述查询请求发送至数据方。
本发明实施例中,查询请求包括第一辅助信息;第一辅助信息是根据第一唯一标识确定的;第一唯一标识可以是身份证号码、电话号码等,在此不做具体限定。
步骤220,所述查询方接收所述数据方发送的反馈结果。
本发明实施例中,所述反馈结果包括所述数据方中的各明文对应的各密文和所述各密文对应的解密索引;各密文是数据方根据各明文对应的加密密钥对各明文进行加密得到的;各明文对应的加密密钥是根据各明文的第二辅助信息确定的;各明文的第二辅助信息是数 据方根据所述第一辅助信息和各明文的第二唯一标识确定的。
步骤230,针对任一密文,所述查询方根据所述密文的解密索引确定所述密文的解密密钥,并根据所述密文的解密密钥对所述密文进行解密。
本发明实施例中,通过确定解密密钥的第一哈希值,来确定第一唯一标识对应的密文,进而通过解密密钥对该密文进行解密。
步骤240,所述查询方将解密成功的明文确定为查询结果。
在步骤210中,查询方会基于与数据方预先约定的公共密钥确定第一幅准信息,从而生成查询请求。
具体的,所述查询方根据公共密钥、所述查询方的第一私钥和所述查询方的第二私钥确定所述查询方的第一公钥和所述查询方的第二公钥;根据公共密钥、所述第一私钥、所述第二私钥和所述第一唯一标识确定所述第一辅助信息;所述查询方生成查询请求,所述查询请求中包括所述第一公钥、所述第二公钥和所述第一辅助信息。
举例来说,查询方P1确定待查询信息的第一唯一标识i,如第一唯一标识为用户的身份证号、电话号码等。
查询方P1生成两个私钥,包括第一私钥e和第二私钥f,其中,私钥可以为随机数,或通过密钥生成算法生成,在此不做具体限定。
查询方P1使用公共密钥g和第一私钥e、第二私钥f确定第一公钥和第二公钥;具体的,第一公钥x=g e,第二公钥y=g f,第一辅助信息zi=g ef-i。查询方P1将第一公钥x、第二公钥y和第一辅助信息zi作为查询请求。
在步骤220中,针对任一明文,该明文的加密密钥是根据第二辅助信息确定的。第二辅助信息是根据第一辅助信息和该明文对应的第二唯一标识确定的,在第一唯一标识与所述第二唯一标识一致时,所述第一唯一标识与所述第二唯一标识相抵消;也就是说,第一唯一标识对应的明文的加密密钥中不包括第一唯一标识和第二唯一标识的信息,从而使查询方可以根据解密索引确定出与该加密密钥对应的解密密钥。
为了更好的解释数据方确定加密密钥的技术方案,图3示例性的示出了一种双向隐匿数据查询方法的流程示意图,该流程可由双向隐匿数据查询装置执行。
如图3所示,具体流程包括:
步骤310,数据方获取查询请求。
本发明实施例中,所述查询请求包括第一辅助信息;所述第一辅助信息是根据所述第一唯一标识确定的。
步骤320,针对任一明文,所述数据方基于所述第一辅助信息,根据所述明文的第二唯一标识和公共密钥确定所述明文的第二辅助信息。
本发明实施例中,第一辅助信息中包括第一唯一标识,因此根据第二唯一标识确定的第二辅助信息包括第一唯一标识和第二唯一标识,且第一唯一标识和第二唯一标识之间的关系为相减或相除,以使第一唯一标识和第二唯一标识一致时,第一唯一标识和第二唯一标识相抵消。
步骤330,所述数据方根据所述第二辅助信息确定所述明文的加密密钥和所述明文对 应的密文的解密索引。
本发明实施例中,加密密钥包括第二唯一标识与待查询信息的第一唯一标识,解密索引不包括第二唯一标识与待查询信息的第一唯一标识。
步骤340,所述数据方根据所述加密密钥对所述明文进行加密,得到密文。
步骤350,所述数据方将各密文的解密索引和密文确定为反馈结果,并将所述反馈结果发送至查询。
在步骤320中,第二辅助信息包括第二唯一标识与待查询信息的第一唯一标识;结合上述陈述举例来说,数据方P2在获得查询请求(包括第一公钥x、第二公钥y和第一辅助信息zi)之后,对数据方P2自身数据库中的每个明文生成第一随机数和第二随机数,如数据mj的第一随机数为rj,第二随机数为sj,其中,j表示该明文的第二唯一标识,随机数可以是对称密钥,也可以是随机生成的数值,在此不做具体限定。
数据方P2基于第一辅助信息zi,确定每个明文的第二辅助信息,以上述明文mj为例,第二辅助信息zj=zi*gj,因为zi=g ef-i,即zj=g ef-i*g j=g ef-i+j
由上述公式可知,第一唯一标识i和第二唯一标识j一致时,第一唯一标识i和第二唯一标识j相抵消。
在步骤330中,加密密钥是基于第二辅助信息确定的,解密索引是基于公共密钥确定的。
具体的,针对任一明文,所述数据方生成第一随机数和第二随机数;
所述数据方基于所述第二辅助信息,根据所述查询方的任一公钥、所述第一随机数和所述第二随机数确定所述加密密钥;
所述数据方基于所述公共密钥,根据所述查询方的另一公钥、所述第一随机数和所述第二随机数确定所述解密索引。
以上述明文mj举例来说,数据方P2生成第一随机数rj和第二随机数sj;基于第二辅助信息zj=g ef-i+j,根据第二公钥y、第一随机数rj和第二随机数sj确定明文mj的加密密钥kj=zj sj*y rj
基于公共密钥g,根据第一公钥x、第一随机数rj和第二随机数sj确定明文mj的解密索引wj=x sj*g rj
在一种可实施的方式中,加密密钥可以根据第一公钥x确定,解密索引可以根据第二公钥y确定,如kj=zj sj*x rj,wj=y sj*g rj
在步骤340中,以上述明文mj为例,对明文进行加密方式如下公式(1):
Figure PCTCN2021135362-appb-000001
其中,Ej为明文mj的密文,kj为明文mj的加密密钥。
在步骤350中,反馈结果还包括各明文的加密密钥的第一哈希值;具体的,针对任一明文,所述数据方确定所述明文的加密密钥的第一哈希值;将所述明文的加密密钥的第一哈希值、解密索引和密文作为元组;所述数据方将各元组确定为反馈结果。
以上述明文mj为例,数据方P2对明文mj的加密密钥kj进行哈希运算,得到第一哈希值hash(kj)。
数据方P2将加密密钥kj、第一哈希值hash(kj)和密文Ej作为明文mj对应的元组,数据方P2将各明文对应的元组作为反馈结果发送至查询方P1。
查询方在接收到数据方发送的查询结果之后,会根据任一元组进行计算,根据元组中密文的解密索引确定解密密钥。
在步骤230中,所述密文的解密索引是根据所述第一公钥确定的;所述密文对应的明文的加密密钥是根据所述明文的第二辅助信息和所述第二公钥确定的;所述查询方基于所述第二私钥,将所述解密索引转换为所述密文的解密密钥;或所述密文的解密索引是根据所述第二公钥确定的;所述密文对应的明文的加密密钥是根据所述明文的第二辅助信息和所述第一公钥确定的;所述查询方基于所述第一私钥或所述第二私钥,将所述解密索引转换为所述密文的解密密钥。
以上述明文mj为例,明文mj对应的密文为Ej,密文Ej的解密索引为wj,若明文mj的加密密钥kj=zj sj*y rj,其中包括第二公钥,则密文Ej的解密索引wj=x sj*g rj,其中包括第一公钥。
若明文mj的加密密钥kj=zj sj*x rj,其中包括第一公钥,则密文Ej的解密索引wj=y sj*g rj,其中包括第二公钥。
对于不同公钥确定的解密索引,查询方在确定解密密钥时,所使用的私钥也是不同的,具体的,若解密索引包括第一公钥,则查询方基于第二私钥,将解密索引转换为密文的解密密钥。若解密索引包括第二公钥,则查询方基于第一私钥,将解密索引转换为密文的解密密钥。
举例来说,若密文Ej的解密索引为wj=x sj*g rj,则查询方基于第二私钥f,确定解密密钥为kj`=wj f;同理,若密文Ej的解密索引为wj=y sj*g rj,则查询方基于第一私钥e,确定解密密钥为kj`=wj e
需要说明的是,加密密钥和解密密钥是对称密钥,即当加密密钥和解密密钥一致时,可以通过解密密钥对加密密钥加密的密文进行成功解密。进一步地,当第一唯一标识与第二唯一标识一致时,则加密密钥和解密密钥一致。
以上述明文mj为例进行举例,明文mj的加密密钥为kj=zj sj*y rj,进一步地,kj=g (ef-i+j) *sj*y rj,若第一唯一标识i与第二唯一标识j一致,则kj=g ef*sj*y rj
解密密钥kj`=wj e,进一步地,kj`=(x sj*g rj) f=x sj*f*g rj*f=(g e) sj*f*g rj*f,其中,g f=y,则kj`=g ef*sj*y rj
综上所述,只有当第一唯一标识与第二唯一标识一致时,则加密密钥和解密密钥一致,即查询方确定的解密密钥才能成功解密出明文;同理,若第一唯一标识与第二唯一标识不一致,则解密密钥kj`=g ef*sj*y rj,加密密钥kj=g (ef-i+j)*sj*y rj,即加密密钥和解密密钥不一致,无法通过不一致的解密密钥对密文进行解密。
在一种可实施的方式中,查询方直接通过解密密钥对密文进行解密,直至解密成功。
在本发明实施例中,为了减少解密运算,通过对比解密密钥的哈希值和加密密钥的哈希值来确定与第一唯一标识对应的密文。
具体的,所述查询方根据所述密文的解密索引确定所述密文的解密密钥;确定所述密 文的解密密钥的第二哈希值;确定与所述第一哈希值一致的第二哈希值,并根据所述第二哈希值对所述第一哈希值对应的密文进行解密。
以上述明文mj进行举例,确定明文mj的解密密钥kj`的第一哈希值为hash(kj`),明文mj的加密密钥kj的第二哈希值为hash(kj),若第一哈希值和第二哈希值一致,则确定加密密钥和解密密钥一致,即查询方确定的解密密钥可以成功对密文进行解密,得到明文。
在一种可实施方式中,可以取第一哈希值和第二哈希值的预设位数进行对比,如取第一哈希值和第二哈希值的前9位数字,在此不做具体限定。
以上述明文mj为例,当j=i时,对密文Ei进行解密的方式包括下述公式(2):
Figure PCTCN2021135362-appb-000002
其中,Ei为明文mi的密文。
查询方在得到明文mi后,将明文mi作为查询结果。
在本发明实施例中,查询方没有将自己的待查询信息(即第一唯一标识)发送给数据方。只发送第一公钥x、第二公钥y和表征第一唯一标识i的第一辅助信息zi。数据方收到x、y、zi后无法反推出查询方的待查询信息的第一唯一标识i。因此实现了查询方的查询请求的完全隐匿,防止了第一唯一标识的泄露,提升了查询请求的隐私性和安全性;
同时,只有在第一唯一标识和第二唯一标识一致时,第一唯一标识与第二唯一标识抵消,使查询方通过解密索引转换的解密密钥与加密密钥一致,实现了查询方只能解密出待查询信息的明文对应的密文,也就是说,查询方虽然获得除第一唯一标识i对应的密文以外的密文,但无法得知其他密文的解密密钥,也就是无法成功解密其他密文,使得数据方的数据完全隐匿,防止了其他明文的泄露,提升了查询请求的隐私性和安全性;
通过哈希值比对,使查询方收到数据方发送的反馈结果或者能够的各元组后,对各元组计算,得到各密文的解密密钥,在根据解密密钥的第一哈希值与元组中的加密密钥的第二哈希值进行比对,以此来确定第一唯一标识对应的元组,无需遍历性的解密所有密文,提高了计算效率,减少了计算量,提升了查询效率。
基于相同的技术构思,图4示例性的示出了本发明实施例提供的一种双向隐匿数据查询装置的结构示意图,该装置可以执行的流程。
如图4所示,该装置具体包括:
确定模块410,用于基于待查询信息的第一唯一标识确定查询请求,并将所述查询请求发送至数据方;所述查询请求包括第一辅助信息;所述第一辅助信息是根据所述第一唯一标识确定的;
针对任一密文,根据所述密文的解密索引确定所述密文的解密密钥,并根据所述密文的解密密钥对所述密文进行解密;
将解密成功的明文确定为查询结果;
接收模块420,用于接收所述数据方发送的反馈结果;所述反馈结果包括所述数据方中的各明文对应的各密文和所述各密文对应的解密索引;所述各密文是所述数据方根据各明文对应的加密密钥对所述各明文进行加密得到的;所述各明文对应的加密密钥是根据所述各明文的第二辅助信息确定的;所述各明文的第二辅助信息是所述数据方根据所述第一 辅助信息和所述各明文的第二唯一标识确定的。
可选的,所述确定模块410具体用于:
根据公共密钥、所述查询方的第一私钥和所述查询方的第二私钥确定所述查询方的第一公钥和所述查询方的第二公钥;
根据公共密钥、所述第一私钥、所述第二私钥和所述第一唯一标识确定所述第一辅助信息;
生成查询请求,所述查询请求中包括所述第一公钥、所述第二公钥和所述第一辅助信息。
可选的,所述确定模块410具体用于:
所述密文的解密索引是根据所述第一公钥确定的;所述密文对应的明文的加密密钥是根据所述明文的第二辅助信息和所述第二公钥确定的;
基于所述第二私钥,将所述解密索引转换为所述密文的解密密钥;或所述密文的解密索引是根据所述第二公钥确定的;所述密文对应的明文的加密密钥是根据所述明文的第二辅助信息和所述第一公钥确定的;
基于所述第一私钥或第二私钥,将所述解密索引转换为所述密文的解密密钥。
可选的,所述反馈结果还包括所述各密文对应的加密密钥的第一哈希值;
所述确定模块410具体用于:
根据所述密文的解密索引确定所述密文的解密密钥;
确定所述密文的解密密钥的第二哈希值;
确定与所述第一哈希值一致的第二哈希值,并根据所述第二哈希值对所述第一哈希值对应的密文进行解密。
基于相同的技术构思,图5示例性的示出了本发明实施例提供的一种双向隐匿数据查询装置的结构示意图,该装置可以执行的流程。
如图5所示,该装置具体包括:
获取单元510,用于获取查询请求;所述查询请求包括第一辅助信息;所述第一辅助信息是根据所述第一唯一标识确定的;
处理单元520,用于针对任一明文,基于所述第一辅助信息,根据所述明文的第二唯一标识和公共密钥确定所述明文的第二辅助信息;
根据所述第二辅助信息确定所述明文的加密密钥和所述明文对应的密文的解密索引;
根据所述加密密钥对所述明文进行加密,得到密文;
将各密文的解密索引和密文确定为反馈结果,并将所述反馈结果发送至查询方。
可选的,所述处理单元520具体用于:
针对任一明文,生成第一随机数和第二随机数;
基于所述第二辅助信息,根据所述查询方的任一公钥、所述第一随机数和所述第二随机数确定所述加密密钥;
基于所述公共密钥,根据所述查询方的另一公钥、所述第一随机数和所述第二随机数确定所述解密索引。
可选的,所述处理单元520具体用于:
针对任一明文,确定所述明文的加密密钥的第一哈希值;
将所述明文的加密密钥的第一哈希值、解密索引和密文作为元组;
将各元组确定为反馈结果。
基于相同的技术构思,本发明实施例还提供一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述双向隐匿数据查询方法。
基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述双向隐匿数据查询方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

  1. 一种双向隐匿数据查询方法,其特征在于,包括:
    查询方基于待查询信息的第一唯一标识确定查询请求,并将所述查询请求发送至数据方;所述查询请求包括第一辅助信息;所述第一辅助信息是根据所述第一唯一标识确定的;
    所述查询方接收所述数据方发送的反馈结果;所述反馈结果包括所述数据方中的各明文对应的各密文和所述各密文对应的解密索引;所述各密文是所述数据方根据各明文对应的加密密钥对所述各明文进行加密得到的;所述各明文对应的加密密钥是根据所述各明文的第二辅助信息确定的;所述各明文的第二辅助信息是所述数据方根据所述第一辅助信息和所述各明文的第二唯一标识确定的;
    针对任一密文,所述查询方根据所述密文的解密索引确定所述密文的解密密钥,并根据所述密文的解密密钥对所述密文进行解密;
    所述查询方将解密成功的明文确定为查询结果。
  2. 如权利要求1所述的方法,其特征在于,查询方基于待查询信息的第一唯一标识确定查询请求,包括:
    所述查询方根据公共密钥、所述查询方的第一私钥和所述查询方的第二私钥确定所述查询方的第一公钥和所述查询方的第二公钥;
    所述查询方根据公共密钥、所述第一私钥、所述第二私钥和所述第一唯一标识确定所述第一辅助信息;
    所述查询方生成查询请求,所述查询请求中包括所述第一公钥、所述第二公钥和所述第一辅助信息。
  3. 如权利要求2所述的方法,其特征在于,所述查询方根据所述密文的解密索引确定所述密文的解密密钥,包括:
    所述密文的解密索引是根据所述第一公钥确定的;所述密文对应的明文的加密密钥是根据所述明文的第二辅助信息和所述第二公钥确定的;
    所述查询方基于所述第二私钥,将所述解密索引转换为所述密文的解密密钥;或
    所述密文的解密索引是根据所述第二公钥确定的;所述密文对应的明文的加密密钥是根据所述明文的第二辅助信息和所述第一公钥确定的;
    所述查询方基于所述第一私钥或第二私钥,将所述解密索引转换为所述密文的解密密钥。
  4. 如权利要求1至3任一项所述的方法,其特征在于,所述反馈结果还包括所述各密文对应的加密密钥的第一哈希值;
    所述查询方根据所述密文的解密索引确定所述密文的解密密钥,并根据所述密文的解密密钥对所述密文进行解密,包括:
    所述查询方根据所述密文的解密索引确定所述密文的解密密钥;
    所述查询方确定所述密文的解密密钥的第二哈希值;
    所述查询方确定与所述第一哈希值一致的第二哈希值,并根据所述第二哈希值对所述 第一哈希值对应的密文进行解密。
  5. 一种双向隐匿数据查询方法,其特征在于,包括:
    数据方获取查询请求;所述查询请求包括第一辅助信息;所述第一辅助信息是根据所述第一唯一标识确定的;
    针对任一明文,所述数据方基于所述第一辅助信息,根据所述明文的第二唯一标识和公共密钥确定所述明文的第二辅助信息;
    所述数据方根据所述第二辅助信息确定所述明文的加密密钥和所述明文对应的密文的解密索引;
    所述数据方根据所述加密密钥对所述明文进行加密,得到密文;
    所述数据方将各密文的解密索引和密文确定为反馈结果,并将所述反馈结果发送至查询方。
  6. 如权利要求5所述的方法,其特征在于,所述数据方根据所述第二辅助信息确定所述明文的加密密钥和所述明文对应的密文的解密索引,包括:
    针对任一明文,所述数据方生成第一随机数和第二随机数;
    所述数据方基于所述第二辅助信息,根据所述查询方的任一公钥、所述第一随机数和所述第二随机数确定所述加密密钥;
    所述数据方基于所述公共密钥,根据所述查询方的另一公钥、所述第一随机数和所述第二随机数确定所述解密索引。
  7. 如权利要求5所述的方法,其特征在于,所述数据方将各明文的解密索引和密文确定为反馈结果,包括:
    针对任一明文,所述数据方确定所述明文的加密密钥的第一哈希值;
    所述数据方将所述明文的加密密钥的第一哈希值、解密索引和密文作为元组;
    所述数据方将各元组确定为反馈结果。
  8. 一种双向隐匿数据查询装置,其特征在于,包括:
    确定模块,用于基于待查询信息的第一唯一标识确定查询请求,并将所述查询请求发送至数据方;所述查询请求包括第一辅助信息;所述第一辅助信息是根据所述第一唯一标识确定的;
    针对任一密文,根据所述密文的解密索引确定所述密文的解密密钥,并根据所述密文的解密密钥对所述密文进行解密;
    将解密成功的明文确定为查询结果;
    接收模块,用于接收所述数据方发送的反馈结果;所述反馈结果包括所述数据方中的各明文对应的各密文和所述各密文对应的解密索引;所述各密文是所述数据方根据各明文对应的加密密钥对所述各明文进行加密得到的;所述各明文对应的加密密钥是根据所述各明文的第二辅助信息确定的;所述各明文的第二辅助信息是所述数据方根据所述第一辅助信息和所述各明文的第二唯一标识确定的。
  9. 一种双向隐匿数据查询装置,其特征在于,包括:
    获取单元,用于获取查询请求;所述查询请求包括第一辅助信息;所述第一辅助信息 是根据所述第一唯一标识确定的;
    处理单元,用于针对任一明文,基于所述第一辅助信息,根据所述明文的第二唯一标识和公共密钥确定所述明文的第二辅助信息;
    根据所述第二辅助信息确定所述明文的加密密钥和所述明文对应的密文的解密索引;
    根据所述加密密钥对所述明文进行加密,得到密文;
    将各密文的解密索引和密文确定为反馈结果,并将所述反馈结果发送至查询方。
  10. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至4或5至7任一项所述的方法。
PCT/CN2021/135362 2021-11-03 2021-12-03 一种双向隐匿数据查询方法及装置 WO2023077596A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111292880.0A CN114091054A (zh) 2021-11-03 2021-11-03 一种双向隐匿数据查询方法及装置
CN202111292880.0 2021-11-03

Publications (1)

Publication Number Publication Date
WO2023077596A1 true WO2023077596A1 (zh) 2023-05-11

Family

ID=80298727

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/135362 WO2023077596A1 (zh) 2021-11-03 2021-12-03 一种双向隐匿数据查询方法及装置

Country Status (2)

Country Link
CN (1) CN114091054A (zh)
WO (1) WO2023077596A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117729533A (zh) * 2023-05-17 2024-03-19 荣耀终端有限公司 一种查询方法、电子设备及系统
CN117827884A (zh) * 2023-12-31 2024-04-05 北京海泰方圆科技股份有限公司 一种批量数据查询方法及装置
CN117992993A (zh) * 2024-04-07 2024-05-07 蓝象智联(杭州)科技有限公司 基于可信执行环境的数据管控方法和系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114611152B (zh) * 2022-05-10 2022-08-02 富算科技(上海)有限公司 查询方法和查询系统
CN114840739B (zh) * 2022-05-25 2023-12-22 中国电信股份有限公司 信息检索方法、装置、电子设备及存储介质
CN114691759B (zh) * 2022-06-01 2022-09-06 平安科技(深圳)有限公司 数据查询统计方法、装置、计算机设备及存储介质
CN114969128B (zh) * 2022-07-28 2022-10-28 翼方健数(北京)信息科技有限公司 一种基于安全多方计算技术的隐匿查询方法、系统和存储介质
CN115936891B (zh) * 2023-01-28 2023-05-16 中债金科信息技术有限公司 金融数据检索方法及装置、存储介质及电子设备
CN116108496B (zh) * 2023-04-13 2023-06-23 北京百度网讯科技有限公司 匿踪查询方法、装置、设备及存储介质
CN117171202A (zh) * 2023-08-18 2023-12-05 北京海泰方圆科技股份有限公司 一种数据查询方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022145A (zh) * 2016-05-17 2016-10-12 上海凭安网络科技有限公司 一种基于密文索引的数据查询方法
US20180365433A1 (en) * 2016-01-14 2018-12-20 Mitsubishi Electric Corporation Secret search system, secret search method, and computer readable medium
CN109299149A (zh) * 2018-10-09 2019-02-01 北京腾云天下科技有限公司 数据查询方法、计算设备以及系统
CN110096899A (zh) * 2019-04-29 2019-08-06 腾讯科技(深圳)有限公司 一种数据查询方法及装置
CN113239046A (zh) * 2021-05-20 2021-08-10 平安科技(深圳)有限公司 数据查询方法、系统、计算机设备及存储介质
CN113536379A (zh) * 2021-07-19 2021-10-22 建信金融科技有限责任公司 一种隐私数据的查询方法、装置及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180365433A1 (en) * 2016-01-14 2018-12-20 Mitsubishi Electric Corporation Secret search system, secret search method, and computer readable medium
CN106022145A (zh) * 2016-05-17 2016-10-12 上海凭安网络科技有限公司 一种基于密文索引的数据查询方法
CN109299149A (zh) * 2018-10-09 2019-02-01 北京腾云天下科技有限公司 数据查询方法、计算设备以及系统
CN110096899A (zh) * 2019-04-29 2019-08-06 腾讯科技(深圳)有限公司 一种数据查询方法及装置
CN113239046A (zh) * 2021-05-20 2021-08-10 平安科技(深圳)有限公司 数据查询方法、系统、计算机设备及存储介质
CN113536379A (zh) * 2021-07-19 2021-10-22 建信金融科技有限责任公司 一种隐私数据的查询方法、装置及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117729533A (zh) * 2023-05-17 2024-03-19 荣耀终端有限公司 一种查询方法、电子设备及系统
CN117827884A (zh) * 2023-12-31 2024-04-05 北京海泰方圆科技股份有限公司 一种批量数据查询方法及装置
CN117992993A (zh) * 2024-04-07 2024-05-07 蓝象智联(杭州)科技有限公司 基于可信执行环境的数据管控方法和系统

Also Published As

Publication number Publication date
CN114091054A (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
WO2023077596A1 (zh) 一种双向隐匿数据查询方法及装置
CN110096899B (zh) 一种数据查询方法及装置
Cui et al. Efficient and expressive keyword search over encrypted data in cloud
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
Kamara et al. Cryptographic cloud storage
US10027486B2 (en) Homomorphic encryption for database querying
WO2018205549A1 (zh) 一种全同态加密的密文查询方法和系统
Kadhem et al. MV-OPES: Multivalued-order preserving encryption scheme: A novel scheme for encrypting integer value to many different values
CN106571905B (zh) 一种数值型数据同态保序加密方法
CN109361510B (zh) 一种支持溢出检测和大整数运算的信息处理方法及应用
CN117150557A (zh) 一种基于安全多方计算的支持压缩的隐私信息检索方法及系统
CN115408435A (zh) 一种数据查询方法及装置
CN115795514A (zh) 一种隐私信息检索方法、装置及系统
CN113836571B (zh) 基于云和区块链的医疗数据拥有终端位置匹配方法及系统
Park et al. PKIS: practical keyword index search on cloud datacenter
CN109981614B (zh) 基于用户群的数据加密方法、解密方法、查询方法及装置
Zhang et al. Oblivious multi-keyword search for secure cloud storage service
Carbunar et al. Joining privately on outsourced data
Blömer et al. Cloud architectures for searchable encryption
Altarawneh A strong combination of cryptographic techniques to secure cloud-hosted data
Moghadam et al. A secure order-preserving indexing scheme for outsourced data
Prakash et al. Secure access of multiple keywords over encrypted data in cloud environment using ECC-PKI and ECC ElGamal
Kanchana et al. Multiowner data sharing using block chain
D'Arco et al. Anonymous protocols: Notions and equivalence
Das A hybrid algorithm for secure cloud computing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21963103

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE