CN110990681A - Private data query method, system and device - Google Patents

Private data query method, system and device Download PDF

Info

Publication number
CN110990681A
CN110990681A CN201911228414.9A CN201911228414A CN110990681A CN 110990681 A CN110990681 A CN 110990681A CN 201911228414 A CN201911228414 A CN 201911228414A CN 110990681 A CN110990681 A CN 110990681A
Authority
CN
China
Prior art keywords
query
data
identification data
result
module
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201911228414.9A
Other languages
Chinese (zh)
Inventor
孙勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201911228414.9A priority Critical patent/CN110990681A/en
Publication of CN110990681A publication Critical patent/CN110990681A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the specification discloses a private data query method, a private data query system and a private data query device. The method may be performed by one or more processors of a first device, comprising: acquiring first identification data of a first query object, and encrypting the first identification data; generating first query request data based on the encrypted first identification data; sending the first query request data to at least one other device; receiving first query feedback data returned by other equipment, wherein the first query feedback data at least comprises a first query result aiming at the first query object; and the first query result is determined based on a first identification data re-encryption result, and the first identification data re-encryption result is a result obtained by re-encrypting the first identification data in the first query request data by other equipment. Encryption such as stateful encryption, and the like may be used. According to the private data query method disclosed by the specification, the transmission data are encrypted, and data leakage is effectively prevented.

Description

Private data query method, system and device
Technical Field
The present disclosure relates to the field of multi-party data query, and in particular, to a private data query method, system and device with privacy protection.
Background
In the information age, data has become an important resource. Generally, each party data owner seeks to protect its own data from leakage. Meanwhile, the information era is also an interconnected era, and data of a data owner of a single party is not comprehensive, and multiple parties are required to cooperate to exchange data. Therefore, in data communication, how to avoid leakage of private data of a data owner has become a key issue. For example, customer materials owned by financial institutions, such as banks, are kept secret. However, in order to prevent a client from having a multi-head loan due to having a loan record in another bank when applying for a loan, the bank needs to initiate a query request to the other bank to determine whether the loan is a multi-head loan. User information owned by one party is easily leaked to the other party during the inquiry process. Therefore, a method capable of preventing privacy disclosure while enabling data communication is required.
Disclosure of Invention
One embodiment of the present disclosure provides a private data query method. The private data query method is performed by one or more processors of a first device, and comprises the following steps: acquiring first identification data of a first query object, and encrypting the first identification data; generating first query request data based on the encrypted first identification data; sending the first query request data to at least one other device; receiving first query feedback data returned by other equipment, wherein the first query feedback data at least comprises a first query result aiming at the first query object; and the first query result is determined based on a first identification data re-encryption result, and the first identification data re-encryption result is a result obtained by re-encrypting the first identification data in the first query request data by other equipment.
One of the embodiments of the present specification provides a private data query method, which is executed by one or more processors of a second device, and includes: receiving second query request data from other equipment, wherein the second query request data comprises second identification data of a second query object and encrypted by the other equipment; encrypting the second identification data again to obtain a second identification data re-encryption result; determining a second query result for a second query object based on the second identification data re-encryption result; generating second query feedback data based on the second query result; and sending the second query feedback data to the other equipment.
One of the embodiments of the present specification provides a private data multi-party query network, where the network includes a plurality of query nodes, and at least one query node can implement any one of the above private data query methods.
One of the embodiments of the present specification provides a private data query system, which includes an obtaining module, an encrypting module, a generating module, a sending module, and a receiving module. The obtaining module is used for obtaining first identification data of the first query object. The encryption module is used for encrypting the first identification data. The generation module is used for generating first query request data based on the encrypted first identification data. The sending module is used for sending the first query request data to at least one other device. The receiving module is used for receiving first query feedback data returned by other equipment, wherein the first query feedback data at least comprises a first query result aiming at the first query object; and the first query result is determined based on a first identification data re-encryption result, and the first identification data re-encryption result is a result obtained by re-encrypting the first identification data in the first query request data by other equipment.
One of the embodiments of the present specification provides a private data query system, which includes a receiving module, an encrypting module, a querying module, a generating module, and a sending module. The receiving module is configured to receive second query request data from another device, where the second query request data includes second identification data of a second query object and encrypted by the other device. And the encryption module is used for encrypting the second identification data again to obtain a second identification data re-encryption result. The query module is to determine a second query result for a second query object based on the second identification data re-encryption result. The generating module is used for generating second query feedback data based on the second query result. The sending module is configured to send the second query feedback data to the other device.
One of the embodiments of the present specification provides a private data query apparatus, which includes a processor, and the processor is configured to execute the private data query method described above.
Drawings
The present description will be further explained by way of exemplary embodiments, which will be described in detail by way of the accompanying drawings. These embodiments are not intended to be limiting, and in these embodiments like numerals are used to indicate like structures, wherein:
FIG. 1 is a schematic diagram of an application scenario of a private data query system according to some embodiments of the present description;
FIG. 2 is an exemplary flow diagram of a private data query method, according to some embodiments of the present description;
FIG. 3 is an exemplary flow diagram of another private data query method, shown in some embodiments herein;
FIG. 4 is an exemplary flow diagram of another private data query method, shown in some embodiments herein;
FIG. 5 is a block diagram of a private data query system in accordance with some embodiments of the present description;
fig. 6-9 are query flow diagrams of private data querying systems, according to some embodiments of the present description.
Detailed Description
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only examples or embodiments of the present description, and that for a person skilled in the art, the present description can also be applied to other similar scenarios on the basis of these drawings without inventive effort. Unless otherwise apparent from the context, or otherwise indicated, like reference numbers in the figures refer to the same structure or operation.
It should be understood that "system", "device", "unit" and/or "module" as used herein is a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, other words may be substituted by other expressions if they accomplish the same purpose.
As used in this specification and the appended claims, the terms "a," "an," "the," and/or "the" are not intended to be inclusive in the singular, but rather are intended to be inclusive in the plural, unless the context clearly dictates otherwise. In general, the terms "comprises" and "comprising" merely indicate that steps and elements are included which are explicitly identified, that the steps and elements do not form an exclusive list, and that a method or apparatus may include other steps or elements.
Flow charts are used in this description to illustrate operations performed by a system according to embodiments of the present description. It should be understood that the preceding or following operations are not necessarily performed in the exact order in which they are performed. Rather, the various steps may be processed in reverse order or simultaneously. Meanwhile, other operations may be added to the processes, or a certain step or several steps of operations may be removed from the processes.
For some service industries, the same user may consume at different service providers. For example, for the financial services industry, a user may open an account at a different bank, apply for a loan, etc. The service provider may store data about the user. For certain services, such as loans, a service provider needs to know whether a user has requested the particular service at another service provider before providing the service to the user. At this time, the service provider may transmit the information of the user to other service providers, and then the other service providers query their own databases and return query results to the service provider. In this process, data of the service provider itself is easily leaked to another party or parties.
In the private data query method disclosed in this specification, after receiving the encrypted query request data, the service provider may encrypt the query request data again, and query the database of the service provider using the encrypted query request data again. And after the query is finished, returning the query request data encrypted again and the query result to the querying party. The data is encrypted in the transmission process, the data received by the query responder is encrypted by the query requester, and the returned data is encrypted again by the query responder, so that the safety of the data is ensured.
FIG. 1 is a schematic diagram of an application scenario of a private data query system in accordance with some embodiments of the present description.
As shown in FIG. 1, the application scenario 100 may include a plurality of private data querying systems, such as private data querying system 110-1, private data querying systems 110-2, …, private data querying system 110-3, and so forth. Multiple private data query systems may communicate with each other (e.g., via network 120) to form a multi-party query network. Each private data querying system may be a node in the querying network. The query request can be initiated at one node and can also be responded to by other nodes. For example, the private data querying system 110-1 may encrypt the query request and send the encrypted query request to the private data querying system 110-2 and the private data querying system 110-3, and both may encrypt the query request again after receiving the encrypted query request, perform a query in their own database, and return the query result to the private data querying system 110-1. In addition, each private data query system may correspond to a query requestor. The inquiry demander can be a service provider, and when providing a service for a certain consumer, other service providers are inquired whether the consumer has the demand of the service. For example, in the financial services industry, when a user (i.e., a consumer) applies for a loan from a bank (i.e., a service provider), the bank needs to obtain whether the user has already processed the loan service from other banks and legitimate financial services. That is, the bank may send a query request to the private data query systems corresponding to the other service providers through the private data query systems corresponding to the bank, and receive a query result.
In the application scenario 100, as a query requester, the private data query system 110-1, 110-2 or 110-3 may prevent all query request data or key information in the query request data from being leaked to a query responder. And as a query responder, the private data query system 110-1, 110-2 or 110-3 may feed back the behavior information of the user corresponding to the query request data, not the whole user information. It should be noted that the number of private data query systems in the application scenario 100 shown in fig. 1 is three for exemplary purposes. The number of private data query systems in the application scenario 100 may also be 2, or more than 3. Fig. 1 is merely an exemplary illustration.
In some embodiments, the private data querying system 110-1, 110-2, or 110-3 may be implemented by a single server or a group of servers. The server group may be a centralized server group connected to the network via the access point, or a distributed server group respectively connected to the network via at least one access point. In some embodiments, the private data querying system 110-1, 110-2, or 110-3 may be connected to the network 120. For example, the private data querying system 110-1, 110-2, or 110-3 may access information and/or data in a storage device that is also connected to the network via the network. The network may be any one or more of a wired network or a wireless network. Illustratively, network 120 may include a cable network, a wireline network, a fiber optic network, a telecommunications network, an intranet, the Internet, a Local Area Network (LAN), a Wide Area Network (WAN), a Wireless Local Area Network (WLAN), a Metropolitan Area Network (MAN), a Public Switched Telephone Network (PSTN), a Bluetooth network (Bluetooth)TM) Zigbee network (ZigBee)TM) Near Field Communication (NFC), intra-device bus, intra-device wires, cable connections, and the like, or any combination thereof. The private data querying system 110-1, 110-2 or 110-3 may be connected to the network in one of the above manners or in a combination of the manners.
In some embodiments, the private data query system 110-1, 110-2, or 110-3 may be implemented on a cloud platform. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-tiered cloud, and the like, or any combination thereof.
In some embodiments, the private data querying system 110-1, 110-2, or 110-3 may include one processing device, such as the processing device 112-1/112-2/112-3 shown in the figure. The processing device 112-1/112-2/112-3 may process information and/or data related to at least one function described herein to implement the primary function of the private data querying system 110-1, 110-2, or 110-3. For example, the processing device 112-1 (or 112-2, or 112-3) may obtain identification data of the query object, and generate query request data based on the encrypted identification data after encrypting the identification data, and then send to other private data querying systems (e.g., the private data querying system 110-2 or 110-3). As another example, the processing device 112-1 (or 112-2, or 112-3) may accept query feedback data returned by other private data querying systems (e.g., the private data querying system 110-2 or 110-3). In some embodiments, processing devices 112-1/112-2/112-3 may include at least one processing unit (e.g., a single core processing engine or a multiple core processing engine). By way of example only, processing devices 112-1/112-2/112-3 may include Central Processing Units (CPUs), Application Specific Integrated Circuits (ASICs), application specific instruction set processors (ASIPs), Graphics Processing Units (GPUs), Physical Processing Units (PPUs), Digital Signal Processors (DSPs), Field Programmable Gate Arrays (FPGAs), Programmable Logic Devices (PLDs), controllers, micro-controller units, Reduced Instruction Set Computers (RISCs), microprocessors, the like, any combination thereof, and the like, as would be known to one of ordinary skill in the art.
In the application scenario 100, each private data querying system may individually correspond to a storage device communication. The storage device may be used to store data. As shown in FIG. 1, private data querying systems 110-1, 110-2, or 110-3 may correspond to storage devices 130-1, 130-3, and 130-3, respectively. Each storage device may include a different storage queue for storing different data. By way of example, a storage device may include two storage queues, and one storage queue may store query request data issued by a private data query system corresponding to the storage device. The other storage queue can store query feedback data received by the private data query system corresponding to the storage device and returned by other private data query systems. In some embodiments, storage devices 130-1/130-3/130-3 may include mass storage, removable storage, volatile read-write memory, read-only memory (ROM), or the like, or any combination thereof. Exemplary mass storage devices may include magnetic disks, optical disks, solid state disks, and the like. Exemplary removable memory may include flash drives, floppy disks, optical disks, memory cards, compact disks, magnetic tape, and the like. Exemplary volatile read and write memories can include Random Access Memory (RAM). Exemplary RAM may include Dynamic Random Access Memory (DRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Static Random Access Memory (SRAM), thyristor random access memory (T-RAM), zero capacitance random access memory (Z-RAM), and the like. Exemplary read-only memories may include mask read-only memory (MROM), programmable read-only memory (PROM), erasable programmable read-only memory (perrom), electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), digital versatile disc read-only memory, and the like. In some embodiments, storage devices 130-1/130-3/130-3 may be implemented on a cloud platform. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-tiered cloud, and the like, or any combination thereof. In some embodiments, the storage 130-1/130-3/130-3 may be part of the private data querying system 110-1, 110-2, or 110-3.
It should be noted that the above description of the application scenario 100 is for illustration and explanation only, and does not limit the scope of applicability of the present description. Various modifications and changes may be made to the application scenario 100 by those skilled in the art, guided by the present description. However, such modifications and variations are intended to be within the scope of the present description.
FIG. 2 is an exemplary flow diagram of a private data query method, according to some embodiments of the present description. In some embodiments, the process 200 may be performed by the private data querying system 110-1, 110-2, or 110-3, or by a processing device, such as the processing device 500. The processing device may belong to a private data query system. For example, the process 200 may be stored in a storage device in the form of a program or instructions that, when executed, implement the process 200. What is described in the flow 200 may be operations performed by the private data querying system 110-1, 110-2 or 110-3 as a query requestor. As shown in fig. 2, the process 200 may include the following operations.
Step 210, obtaining first identification data of a first query object, and encrypting the first identification data. This step may be specifically performed by the obtaining module 510 and the encryption module 550.
In some embodiments, the first query object may refer to an object for which certain historical behaviors need to be confirmed by a service provider corresponding to the private data query system when the service request is made at the service provider. By way of example, assume that the service provider is a financial services institution at which a user applies for a loan. The fsm needs to know whether the user has previously applied for a loan at another fsm in order to determine whether to offer the user a loan service. In the above example, the user may be referred to as a first query object. In some embodiments, the first identification data may refer to information for resolving the first query object, and may include identity information (e.g., an identification number, a passport number, etc.), a contact address (e.g., a telephone number, etc.), and the like, or any combination thereof. It will be appreciated that other information for identifying the first query object may also be included in the first identification data, for example an ID registered by the first query object when applying for service at a service provider.
In some embodiments, the obtaining module 510 may communicate with a service system owned by a service provider to obtain the first identification data of the first query object. The service system may be a private system of a service provider on which all services of the service provider may be implemented, while also storing private data of the service provider. The isolation of the private system of the service provider from the corresponding private data query system avoids the leakage of private data of the service provider to a certain extent when the service provider queries. And the service provider self-owned service system acquires the first identification data when the first query object applies for service. Thereafter, the first identification data may be transmitted to the acquisition module 510. Continuing with the previous example, when a user applies for a loan at a financial service institution, the financial service institution may first obtain the identity information of the user and transmit the identity information to the corresponding private data query system (or the obtaining module 510 of the processing device 500) to perform a query process to obtain whether the user applies for a loan at another financial service institution.
In some embodiments, the encryption module 550 may encrypt the first identification data. In the subsequent process, the first identification data is transmitted to other private data query systems, so that the encryption can ensure the information security to a certain extent. The encryption of the first identification data may be performed using, for example, a symmetric encryption algorithm, an asymmetric encryption algorithm, or the like. Exemplary symmetric encryption algorithms may include DES, 3DES, DESX, Blowfish, IDEA, RC4, RC5, RC6, AES, and the like. Exemplary asymmetric encryption algorithms may include RSA, ECC, Diffie-Hellman, El Gamal, DSA, and the like. The Hash algorithm may also be used to protect the first identification data, e.g., MD2, MD4, MD5, HAVAL, SHA-1, HMAC-MD5, HMAC-SHA1, and the like.
Step 220, obtaining the first query request data generated based on the encrypted first identification data. This step in particular may be performed by the generation module 520.
In some embodiments, the first query request data may refer to data for requesting execution of a query procedure. For example, the first query request data may include a query identifier, and the receiver may execute the query process based on other information in the first query request data after obtaining the query identifier. In some embodiments, the first query request data may include only the encrypted first identification data. The encrypted first identification data is the query identification. After receiving the encrypted first identification data, the private data query systems corresponding to the other service providers can perform data query based on the encrypted first identification data. The first query request data may also include other data, such as query request time, first action time (described in detail in relation to step 240) related to the first query object, data sender information, data receiver information, and so on. In some embodiments, the generating module 520 may directly use the encrypted first identification data as the first query request data. In some embodiments, the generating module 520 may also combine the encrypted first identification data with other data (e.g., query request time, first action time associated with the first query object, data sender information, data receiver information, etc.) to generate the first query request data through operations of integration, packaging, compression, etc.
Step 230, sending the first query request data to at least one other device. This step in particular may be performed by the sending module 530.
In some embodiments, the other device may refer to a device or apparatus that performs a query operation, such as other private data query systems. By way of example, referring to fig. 1, the private data querying system 110-1 may send the first query request data to the private data querying system 110-2 and/or the private data querying system 110-3. The private data querying system 110-2 and/or the private data querying system 110-3 may perform a corresponding querying operation after receiving the first query request data. The other devices may be the private data querying system 110-2 and the private data querying system 110-3 for the private data querying system 110-1. In some embodiments, the sending module 530 may send the first query request data to the at least one other device via a network, for example, any one or more of a wired network or a wireless network.
And 240, receiving first query feedback data fed back by other devices. This step in particular may be performed by the receiving module 540.
In some embodiments, the first query feedback data may refer to data representing a query result obtained by the other device after the query operation. For example, referring to the same example as before, the first query feedback data may include data of whether the user has a record of loan application at other financial services institutions. In some embodiments, the first query feedback data may include a first query result for the first query object. The first query result may include historical data, such as historical behavior data, related to the first query object. By way of example, the first query result may include whether the user performed a particular activity (e.g., applying for loan, shopping, browsing for merchandise, collecting merchandise, etc.) and/or a particular activity execution time, etc. In some embodiments, the first query feedback data may also include feedback time, identification data of a private data query system performing the query operation, and the like.
In some embodiments, the first query result may be determined based on the first identification data re-encryption result. And after other equipment receives the encrypted first identification data, encrypting the first identification data again. The re-encrypted result may be designated as the first identification data re-encryption result. The method used for re-encryption may be a symmetric encryption algorithm such as DES, 3DES, RC6, AES, an asymmetric encryption algorithm such as RSA, ECC, Diffie-Hellman, ElGamal, DSA, etc. Hash algorithms such as MD5, HMAC-MD5, HMAC-SHA1, etc. may also be used for the re-protection of data. The other device may perform a query in a storage device associated with itself based on the first identification data re-encrypting the result to determine the first query result. For a detailed description of the query operation, reference may be made to the contents in fig. 3 to fig. 4, which are not described herein again. In some embodiments, the encryption algorithm of the query requester and the encryption algorithm of the query responder may satisfy interchangeability. Specifically, let the encryption algorithm of the query requester be f1(. h) the encryption algorithm of the query responder is f2(. to) if the encrypted data is x, f is satisfied1(f2(x))=f2(f1(x))。
In some embodiments, flow 200 may also include at least one storage operation.
In some embodiments, the obtaining module 510 may simultaneously obtain the first action time associated with the first query object when obtaining the identification data of the first query object. The first behavior time may refer to a time node at which the first query object produces a particular behavior. For example, the time when the user applies for a loan, consumes a good, etc., may be referred to as the first action time. The first action time may also be a time node that initiates a query request for the first query object in a private data querying system. For example, the time at which the user applies for a loan at a financial services institution that sends a query request to other devices in a private data query system may be referred to as the first action time. In some embodiments, the first action time may be directly input by a service provider corresponding to the private data querying system, for example, through a service provider's own business system. The first action time may be acquired simultaneously when acquiring the first identification data.
After the two types of data are obtained, the storage module 570 may store the first action time in association with the first identification data to the first storage queue. The first storage queue may exist in a storage device (e.g., the storage device 130-1, 130-2, or 130-3) corresponding to the private data query system (or the processing device 500), and may refer to a data queue for storing data in a chained manner. The data held in the first storage queue may be arranged based on first identification data. For example, the first storage queue may comprise a plurality of sub-queues, each sub-queue being differentiated by the first identification data, the subsequently stored data being one or more first activity times associated with the first identification data. For example, one sub-queue may be represented as < ID1, (t1) >, where ID1 represents the first identification data and t1 represents the first action time.
In some embodiments, the first query result may include a historical behavior time associated with the first query object. The historical behavior time may refer to a historical time node at which the first query object produces relevant behavior at other service providers (or other devices). For example, a time node at which a user applies for a loan at another financial service institution and the other financial service institution initiates an inquiry request to the user on its corresponding private data inquiry system may be referred to as historical behavior time. The historical action time may be the same as the first action time for other devices. After obtaining the first query result, the storage module 570 may store the first action time, the historical action time in the first query result, and the first identification data in association with a first storage queue. The above storage may also be understood as an update of the first storage queue. As an example, when the first storage queue sends out a query request, a first behavior time at which the first identification data has been correlated with the first identification data is already stored, and the data format stored by the sub-queue may be represented as < ID 1: [ t1] >. After the first query result is obtained, the storage queue may be updated based on the historical behavior time included therein. Assuming historical behavior time can be represented as t2, the form of data stored by the sub-queue can be represented as < ID 1: [ t1, t2] >.
In some embodiments, the first query feedback data may further include the first identification data re-encryption result. The description of the first identification data re-encryption result may refer to the previous contents. The storage module 570 may store the first identification data in association with the re-encryption result of the first identification data to a second storage queue. The second storage queue is similar to the first storage queue, and is also a data queue that exists in a storage device (e.g., the storage device 130-1, 130-2, or 130-3) corresponding to the private data query system (or the processing device 500) and stores data in a chained manner. Similarly, the data held in the second store queue may also be arranged based on the first identification data. For example, the second storage queue may also include a plurality of sub-queues, each sub-queue is distinguished by the first identification data, and the subsequently stored data is a re-encryption result of the first identification data related to the first identification data. For example, a sub-queue may be represented as<ID1:(ID1ab、ID1ac)>Wherein ID1 represents the first identification data, ID1abAnd ID1acIndicating the result of the first identification data being re-encrypted and the subscripts a, b, and c indicating the encryption order. For example, the first identification data is encrypted at the private data query system a and then sent to the private data query system B and the private data query system C, which are privateThe first identification data returned by the data query system B and the private data query system C is the re-encrypted result, i.e. ID1abAnd ID1ac
In some embodiments, the storage module 570 may further store the first action time, the first identification data, and the first identification data re-encryption result association to the second storage queue. Similarly, one sub-queue in the second store queue may be denoted as<ID1,(ID1ab、ID1ac),t1>Wherein ID1 represents the first identification data, ID1abAnd ID1acIndicating that the first identification data is again encrypted, and t1 indicates a first action time. In some embodiments, re-encrypting the result for the first identification data may be source differentiated to make the representation of the storage queue clearer. For example, the first identification data re-encrypts the result ID1abFrom the private data query system 2, the first identification data re-encrypts the result ID1acFrom the private data query system 3, one of the sub-queues in the second storage queue may be represented as<ID1,(lid2,ID1ab、t1),(lid3,ID1ac、t1)>Lid2 and lid3 respectively identify the source of the first identification data re-encryption result.
It should be noted that the above description related to the flow 200 is only for illustration and description, and does not limit the applicable scope of the present specification. Various modifications and alterations to flow 200 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description.
FIG. 3 is an exemplary flow diagram of a private data query method, according to some embodiments of the present description. In some embodiments, the flow 300 may be performed by the private data querying system 110-1, 110-2, or 110-3, or by a processing device, such as the processing device 500. The processing device may belong to a private data query system. For example, the process 300 may be stored in a memory device in the form of a program or instructions that, when executed, implement the process 300. What is described in the flow 300 may be operations performed by the private data querying system 110-1, 110-2 or 110-3 as a query responder. As shown in fig. 3, the process 300 may include the following operations.
In step 310, second query request data from other devices is received. This step in particular may be performed by the receiving module 540.
In conjunction with the description of fig. 1 and fig. 2, a private data query system may be either a query requester or a query responder. When acting as a query requestor, the private data query system may perform the process described in FIG. 2. When acting as a query responder, the private data query system may perform a query operation after receiving "first query request data" sent by other private data query systems. For the sake of distinction, the "first query request data" received by the receiving module 540 here may be named as second query request data. The other device may refer to a device or apparatus that issues the query request, such as other private data query systems. By way of example, referring to FIG. 1, the private data querying system 110-2 may receive the second query request data transmitted by the private data querying system 110-1 and/or the private data querying system 110-3. The other device may be the private data querying system 110-1, or the private data querying system 110-3, for the private data querying system 110-2. In some embodiments, the receiving module 540 may receive the second query request data from the other device through a network, for example, any one or more of a wired network or a wireless network.
The second query request data may include second identification data of a second query object and encrypted by the other device, similar to the first query request data. The second query object may also be similar to the first query object, and may refer to an object for which some historical behaviors need to be confirmed by a service provider corresponding to the other device when the service request is made at the service provider. The second identification data may refer to information for identifying the second query object, and may include identity information (e.g., an identification number, a passport number, etc.), a contact address (e.g., a telephone number, etc.), and the like, or any combination thereof, for example, an ID registered when the second query object applies for a service at a service provider corresponding to the other device. In some embodiments, the other device may encrypt the second identification data using a symmetric encryption algorithm such as DES, 3DES, RC6, AES, or an asymmetric encryption algorithm such as RSA, ECC, Diffie-Hellman, ElGamal, DSA, or the like. Or the second identification data is protected using a Hash algorithm such as MD5, HMAC-MD5, HMAC-SHA1, or the like.
It is noted that the first object and the second object, the first identification data and the second identification data, and the first query request data and the second query request data are only described in detail for the sake of distinction, and the two essential forms are similar to the contained contents, and the first object and the second object, the first identification data and the second identification data, and the first query request data should not be considered as being unique to a specific private data query system.
And step 320, encrypting the second identification data again to obtain a second identification data re-encryption result. This step in particular may be performed by the encryption module 550.
In some embodiments, the second identification data re-encryption result refers to a result of re-encrypting the received encrypted second identification data. The adopted encryption algorithm can comprise a symmetric encryption algorithm and an asymmetric encryption algorithm. In addition, the Hash algorithm may also be used to further protect the encrypted second identification data. Exemplary symmetric encryption algorithms may include DES, 3DES, DESX, Blowfish, IDEA, RC4, RC5, RC6, AES, and the like. Exemplary asymmetric encryption algorithms may include RSA, ECC, Diffie-Hellman, El Gamal, DSA, and the like. Exemplary Hash algorithms may include MD2, MD4, MD5, HAVAL, SHA-1, HMAC-MD5, HMAC-SHA1, and the like. It should be noted that the encryption algorithm used for re-encrypting the encrypted second identification data may be different from the algorithm used by the other device for encrypting/protecting the second identification data. Alternatively, the same algorithm is used, but the keys used are different. For example, the AES encryption algorithm is also used, and the key used by the other device to encrypt the second identification data is a. And the encryption module 550 re-encrypts the encrypted second identification data with the key B. A is different from B. In some embodiments, the corresponding encryption algorithms on the devices in the query network satisfy commutativity.
Step 330, performing a query based on the second identification data re-encryption result, and obtaining a second query result for the second query object. This step in particular is performed by the query module 560.
In some embodiments, the query module 560 may re-encrypt the result for querying in the second storage queue based on the second identification data, resulting in a query result. In conjunction with the description of fig. 2, the second storage queue stores a plurality of sets of combination data of behavior time, identification data, and re-encryption result of the identification data. Each set of combined data may be obtained from other devices (e.g., other private data query systems) while the private data query system is acting as a query requestor. Querying the second storage queue based on the second identification data re-encryption result may refer to matching the identification data re-encryption result stored in the second storage queue with the second identification data re-encryption result. By way of example, it is assumed that the second identification data is ID "123456789", which is encrypted by one private data query system as a query requester and then encrypted again by another private data query system as a query responder, and the obtained re-encrypted result of the second identification data is "987654321". Step 340 is performed by comparing the re-encryption result with the identification data in the second store queue using "987654321".
In some embodiments, the query module 560 may obtain a second query result for the second query object based on the matching result. The second query result may include historical behavior data related to the second query object, such as whether a particular behavior was performed, e.g., applying for loan, shopping, browsing of goods, collection of goods, etc. When the re-encryption result of the identification data matching the re-encryption result of the second identification data is found in the second storage queue, it may be determined that the second query object performed a specific action. Otherwise, it may be determined that the second query object has not performed a particular behavior.
Step 340, generating second query feedback data based on the second query result, and sending the second query feedback data to the other device. This step may be specifically performed by the generating module 520, and the transmitting module 530.
In some embodiments, the second query feedback data may include the second identification data re-encryption result and data indicating whether there is an identification data re-encryption result in the second storage queue that matches the second identification data re-encryption result. The latter may be represented by 0 or 1, or may be represented by behavior time corresponding to the result of encrypting the identification data again. For example, when there is an identification data re-encryption result matching the second identification data re-encryption result, 1 or the action time t corresponding to the identification data re-encryption result may be used. And vice versa can be represented by 0. In some embodiments, the second query feedback data may further include a feedback time (such as a query time), identification data of a private data query system performing the query operation (e.g., a private data query system number), and the like.
In some embodiments, after generating the second query feedback data, the sending module 530 may send the second query feedback data to other devices via a network, for example, any one or more of a wired network or a wireless network.
In some embodiments, flow 300 may also include at least one storage operation.
In some embodiments, the second store queue may further include first identification data associated with the first identification data re-encryption result. As an example, one of the sub-queues of the second store queue may be further denoted as<ID1:[(lid2,ID1ab、t1),(lid3,ID1ac、t1)]>. ID1 represents the result ID1 of re-encryption with first identification dataabAnd ID1acAssociated first identification numberAccordingly. When the query module 560 queries the relevant record in the second storage queue based on the second identification data re-encryption result, the second identification data associated with the second identification data re-encryption result may be obtained. The querying of the relevant record may be to find an identifier data re-encryption result matching the second identifier data re-encryption result in the second storage queue. For example, when the second identification data re-encryption result and the identification data in the second store queue re-encryption result ID1abAnd ID1acUpon a match, query module 560 may determine ID1 as the second identification data associated with the second identification data re-encryption result. Meanwhile, the storage module 570 may store the second behavior time to the first storage queue based on the second identification data. The second action time may be included in association with the second query object, included in the second query request data. Similar to the first behavior time, the second behavior time may refer to a time node of the other device that initiates a query request for the second query object. As an example, assume that one of the first store queues is represented as<ID1:[t1]>. The second action time is t2, the storage module 570 may update the sub-queue to<ID1:[t1,t2]>. It will be appreciated that when the second storage queue includes the first identification data associated with the first identification data re-encryption result, the record of behavior of the corresponding identification data in the first storage queue may be refined based on the results of the query from the other device. In some embodiments, the second storage queue may not contain a correspondence of the re-encryption result of the first identification data to the plaintext of the first identification data. The query can be anonymous in the true sense, that is, the query responder can normally respond to the query request of the query requester, but does not know the data content queried by the query requester.
It should be noted that the flows described in fig. 2 and fig. 3 may be executed in a query system composed of a plurality of private data query systems, each of which is executed as a query requester and a query responder, respectively. For illustrative purposes only, the combination of the flows in fig. 2 and 3 is described below by way of example.
Referring to fig. 6-9, fig. 6-9 are schematic query flow diagrams of private data query systems according to some embodiments of the present disclosure. Assume that there are three private data query systems in the query hierarchy, labeled A, B and C, respectively. For simplicity of explanation, assume that the storage queues corresponding to each private data query system (including the first storage queue L1 and the second storage queue L2) are empty (e.g., L1:<>;L2:<>). At time t1, when the private data query system A needs to query the user 1 (the corresponding identification data is ID1), A encrypts ID1 by using the encryption algorithm (or encryption key) a to obtain encrypted identification data ID1a. Subsequently, a will base on the encrypted identification data ID1aAnd sending the generated query request data to B and C. Meanwhile, A may associate the action time t1 with the encrypted identification data ID1aStore to L1A, L1A will update to L1A:<ID1:[t1]>. When B and C receive the query request data, the encrypted identification data ID1 may be encrypted using respective encryption algorithms (or encryption keys) B and CaRe-encrypting to obtain the identification data re-encryption result ID1abAnd ID1ac. B and C simultaneously query respective second storage queues (L2B and L2C) to determine whether result ID1 is re-encrypted with the identification dataabAnd ID1acData that matches (since L2B and L2C are null, the result here is a mismatch). After the query is finished, B and C send query feedback data to A, wherein the query feedback data comprise the identification data re-encryption result and the query result. Since not found, the query feedback data may be (ID 1)ab0) and (ID 1)ac,0). After receiving the query feedback data, a may store the identification data to L2A again with encrypted results, action time, and identification data, and L2A will update to L2A:<ID1:[(lid2,ID1ab、t1),(lid3,ID1ac、t1)]>. At time t2, private data querying system B queries user 1. B encrypts the ID1 by using an encryption algorithm (or encryption key) B to obtain encrypted identification data ID1b. Then, B will be based on additionEncrypted identification data ID1bAnd sending the generated query request data to A and C. Meanwhile, B may associate the action time t2 with the encrypted identification data ID1bStore to L2B, L2B will update to L1A:<ID1:[t2]>. When a and C receive the query request data, the encrypted identification data ID1 may be encrypted using respective encryption algorithms (or encryption keys) a and CbRe-encrypting to obtain the identification data re-encryption result ID1baAnd ID1bc. A and C simultaneously query respective second storage queues (L2A and L2C) to determine whether result ID1 is re-encrypted with the identification databaAnd ID1bcThe matched data. Among them, there is data (i.e., ID1) in L2A that matches the re-encryption result of the identification dataab) And L2C is absent. Then, the query feedback data for A and C may be (ID 1)baT1) and (ID 1)bc,0). Meanwhile, a may store t2 to L1A based on ID 1. L1A will update to<ID1:[t1,t2]>. B may store the identification data to L2B again after receiving the query feedback data, the identification data is encrypted again, the action time, and the identification data, and L2B will update to L2B:<ID1:[(lid1,ID1ba、t2),(lid3,ID1bc、t2)]>. Meanwhile, B may update L1B based on the historical behavior time t1 included in the query feedback data. L1B will be updated to<ID1:[t1,t2]>. Similarly, when at time t3, user 1 is queried by the private data querying system C, the above process will be repeated, L1C corresponding to C will be updated to L1C:<ID1:[t1,t2,t3]>L2C will be updated to L1C:<ID1:[(lid1,ID1ca、t3),(lid2,ID1cb、t3)]>. Meanwhile, L1A corresponding to A will be updated to L1A:<ID1:[t1,t2,t3]>L1B corresponding to B will be updated to L1A:<ID1:[t1,t2,t3]>。
it can be known that, in the whole data query process, data is encrypted in transmission of different query systems, and data received by a data receiver is encrypted by a data sender by using an own encryption algorithm. Therefore, the safety of the data is greatly improved, and information leakage is effectively prevented. On the other hand, the whole query system is isolated from the free system of the user such as the service provider, and the only data communication is the identification data of the query object. The establishment of the query system is further enriched along with the progress of the query process. Therefore, the private data of the user can be prevented from participating in the establishment of the query system, and the safety of the data is effectively protected.
It should be noted that the above description of the process 300 is for illustration and description only and is not intended to limit the scope of the present disclosure. Various modifications and changes to flow 300 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description.
FIG. 4 is an exemplary flow diagram of another private data query method, according to some embodiments of the present description. In some embodiments, flow 400 may be performed by private data querying system 110-1, 110-2, or 110-3, or by a processing device, such as processing device 500. The processing device may belong to a private data query system. For example, the process 400 may be stored in a storage device in the form of a program or instructions that, when executed, implement the process 400. As shown in fig. 4, the flow 400 may include the following operations.
In step 410, third identification data is obtained, wherein the third identification data corresponds to a third query object. This step may be specifically performed by the acquisition module 510.
In some embodiments, the third identification data, the third query object may be the same as or similar to the first identification data, the first query object, as described with reference to step 210.
Step 420, querying the first storage queue based on the third identification data, and obtaining a third query result. This particular step may be performed by query module 560.
In some embodiments, the querying module 560 may query the first storage queue for the presence of the same identification data as the third identification data directly based on the third identification data. As an example, if the same identification data exists, it may be determined that the query feedback result performed a specific action for the third query object, such as applying for a loan at a financial service institution. Otherwise, it may be determined that the third query object has not performed a particular action.
It can be appreciated that as queries increase, the records in the storage queue maintained by each query system become more abundant. When a certain service provider needs to query a new query object, local query can be performed in the query system of the service provider. And if the query result is not obtained, requesting the query from other query systems. The identification data stored in the first storage queue not only comprises the identification data acquired when the private data query system is used as a query requester, but also comprises the identification data acquired when the private data query system is used as a query responder, and the third identification data is directly used for querying in the first storage queue, so that data transmission can be reduced, and the querying efficiency can be improved.
It should be noted that the above description of the process 300 is for illustration and description only and is not intended to limit the scope of the present disclosure. Various modifications and changes to flow 300 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description.
FIG. 5 is a block diagram of the equipment of a private data query system according to some embodiments of the present description. As shown in fig. 5, the private data querying system may include an obtaining module 510, a generating module 520, a sending module 530, a receiving module 540, an encrypting module 550, a querying module 560, and a storing module 570.
The obtaining module 510 may be configured to obtain first identification data of a first query object. And encrypting the first identification data. In some embodiments, the first query object may refer to an object for which certain historical behaviors need to be confirmed by a service provider corresponding to the private data query system when the service request is made at the service provider. The first identification data may refer to information for resolving the first query object, and may include identity information (e.g., an identification number, a passport number, etc.), a contact address (e.g., a telephone number, etc.), and the like or any combination thereof. The obtaining module 510 may communicate with a service system owned by a service provider to obtain the first identification data of the first query object. And the service provider self-owned service system acquires the first identification data when the first query object applies for service. Thereafter, the first identification data may be transmitted to the acquisition module 510. In some embodiments, the acquired first identification data may be encrypted by the encryption module 550. The encryption of the first identification data may be performed using, for example, a symmetric encryption algorithm, an asymmetric encryption algorithm, or the like. The Hash algorithm may also be used for protection of the first identification data. In some embodiments, the obtaining module 510 may also obtain third identification data. The third identification data may be the same as or similar to the first identification data.
The generating module 520 may be configured to generate the first query request data based on the encrypted first identification data. In some embodiments, the first query request data may include only the encrypted first identification data. The first query request data may also include other data, such as a query request time, a first action time associated with the first query object, data sender information, data receiver information, and the like. In some embodiments, the generating module 520 may directly use the encrypted first identification data as the first query request data. In some embodiments, the generating module 520 may also combine the encrypted first identification data with other data (e.g., query request time, first action time associated with the first query object, data sender information, data receiver information, etc.) to generate the first query request data through operations of integration, packaging, compression, etc.
The sending module 530 may be configured to send the first query request data to at least one other device. In some embodiments, the other device may refer to a device or apparatus that performs a query operation, such as other private data query systems. The sending module 530 may send the first query request data to the at least one other device via a network, for example, any one or more of a wired network or a wireless network.
The receiving module 540 may be configured to receive the first query feedback data returned by the other device. In some embodiments, the first query feedback data may refer to data representing a query result obtained by the other device after the query operation. The first query result may be determined based on the first identification data re-encryption result. And after other equipment receives the encrypted first identification data, encrypting the first identification data again. The other device may perform a query in a storage device associated with itself based on the first identification data re-encrypting the result to determine the first query result.
The encryption module 550 may encrypt data. In some embodiments, the encryption module 550 may encrypt the first identification data when the private data querying system is acting as a query requester. The encryption algorithm used may include a symmetric encryption algorithm, an asymmetric encryption algorithm, and the like. The encryption module 550 may also protect the first identification data using a Hash algorithm. In some embodiments, the encryption module is used when the private data query system is used as a query responder.
In some embodiments, the receiving module 540 may also be configured to receive second query request data from other devices. When the private data query system is the query responder, the private data query system may execute the query operation after receiving the "first query request data" sent by the other private data query systems. For the sake of distinction, the "first query request data" received by the receiving module 540 here may be named as second query request data. The second query request data may include second identification data of a second query object and encrypted by the other device. The second query object may also be similar to the first query object, and may refer to an object for which some historical behaviors need to be confirmed by a service provider corresponding to the other device when the service request is made at the service provider. The second identification data may refer to information for resolving the second query object. In some embodiments, the second query request data may be encrypted.
In some embodiments, the encryption module 550 may be configured to re-encrypt the second identification data to obtain a re-encrypted result of the second identification data. The encryption algorithms employed may include symmetric encryption algorithms such as DES, 3DES, RC6, AES, etc., asymmetric encryption algorithms such as RSA, ECC, Diffie-Hellman, ElGamal, DSA, etc. In addition, Hash algorithms such as MD5, HMAC-MD5, HMAC-SHA1, etc. may also be used to further protect the encrypted second identification data. Symmetric encryption algorithms or asymmetric encryption algorithms, etc.
The query module 560 may perform a query based on the second identification data re-encrypted result to obtain a second query result for the second query object. In some embodiments, the query module 560 may re-encrypt the result for querying in the second storage queue based on the second identification data, resulting in a query result. Querying the second storage queue based on the second identification data re-encryption result may refer to matching the identification data re-encryption result stored in the second storage queue with the second identification data re-encryption result. The query module 560 may obtain a second query result for the second query object based on the matching result. The second query result may include historical behavior data associated with the second query object, such as whether a particular behavior was performed. When the re-encryption result of the identification data matching the re-encryption result of the second identification data is found in the second storage queue, it may be determined that the second query object performed a specific action. Otherwise, it may be determined that the second query object has not performed a particular behavior. In some embodiments, the querying module 560 may query the first storage queue for the presence of the same identification data as the third identification data directly based on the third identification data.
In some embodiments, the generation module 520 may also generate second query feedback data based on the second query result. The second query feedback data may include the second identification data re-encryption result and data indicating whether there is an identification data re-encryption result matching the second identification data re-encryption result in the second storage queue. The latter may be represented by 0 or 1, or may be represented by behavior time corresponding to the result of encrypting the identification data again.
In some embodiments, after generating the second query feedback data, the sending module 530 may further send the second query feedback data to other devices via a network, for example, any one or more of a wired network or a wireless network.
The storage module 570 may store data. In some embodiments, the storage module 570 may store the first action time in association with the first identification data to the first store queue. In some embodiments, the storage module 570 may store the first action time, the historical action time in the first query result, and the first identification data in association to a first storage queue. In some embodiments, the storage module 570 may store the first identification data in association with the re-encrypted result of the first identification data to a second storage queue. In some embodiments, the storage module 570 may further store the first action time, the first identification data, and the first identification data re-encryption result association to the second storage queue. In some embodiments, the storage module 570 may further store the second behavior time to the first store queue based on the second identification data.
It should be understood that the system and its modules shown in FIG. 4 may be implemented in a variety of ways. For example, in some embodiments, the system and its modules may be implemented in hardware, software, or a combination of software and hardware. Wherein the hardware portion may be implemented using dedicated logic; the software portions may be stored in a memory for execution by a suitable instruction execution system, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the methods and systems described above may be implemented using computer executable instructions and/or embodied in processor control code, such code being provided, for example, on a carrier medium such as a diskette, CD-or DVD-ROM, a programmable memory such as read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The system and its modules in this specification may be implemented not only by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but also by software executed by various types of processors, for example, or by a combination of the above hardware circuits and software (e.g., firmware).
It should be noted that the above descriptions of the candidate item display and determination system and the modules thereof are only for convenience of description, and the description is not limited to the scope of the illustrated embodiments. It will be appreciated by those skilled in the art that, given the teachings of the present system, any combination of modules or sub-system configurations may be used to connect to other modules without departing from such teachings. For example, in some embodiments, for example, the acquiring encryption module 410, the request generation module 420, the request sending module 430 and the feedback data receiving module 440 disclosed in fig. 4 may be different modules in one system, or may be a module that implements the functions of two or more modules described above. For example, the request sending module 430 and the feedback data receiving module 440 may be two modules, or one module may have both sending and receiving functions. For example, each module may share one memory module, and each module may have its own memory module. Such variations are within the scope of the present disclosure.
The beneficial effects that may be brought by the embodiments of the present description include, but are not limited to: (1) data received by a data receiver are encrypted, so that data leakage is effectively prevented; (2) the establishment of the query system does not need to input own private data with a data owner, so that the safety of the data is effectively protected. It is to be noted that different embodiments may produce different advantages, and in different embodiments, any one or combination of the above advantages may be produced, or any other advantages may be obtained.
Having thus described the basic concept, it will be apparent to those skilled in the art that the foregoing detailed disclosure is to be regarded as illustrative only and not as limiting the present specification. Various modifications, improvements and adaptations to the present description may occur to those skilled in the art, although not explicitly described herein. Such modifications, improvements and adaptations are proposed in the present specification and thus fall within the spirit and scope of the exemplary embodiments of the present specification.
Also, the description uses specific words to describe embodiments of the description. Reference throughout this specification to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with at least one embodiment of the specification is included. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics of one or more embodiments of the specification may be combined as appropriate.
Moreover, those skilled in the art will appreciate that aspects of the present description may be illustrated and described in terms of several patentable species or situations, including any new and useful combination of processes, machines, manufacture, or materials, or any new and useful improvement thereof. Accordingly, aspects of this description may be performed entirely by hardware, entirely by software (including firmware, resident software, micro-code, etc.), or by a combination of hardware and software. The above hardware or software may be referred to as "data block," module, "" engine, "" unit, "" component, "or" system. Furthermore, aspects of the present description may be represented as a computer product, including computer readable program code, embodied in one or more computer readable media.
The computer storage medium may comprise a propagated data signal with the computer program code embodied therewith, for example, on baseband or as part of a carrier wave. The propagated signal may take any of a variety of forms, including electromagnetic, optical, etc., or any suitable combination. A computer storage medium may be any computer-readable medium that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code located on a computer storage medium may be propagated over any suitable medium, including radio, cable, fiber optic cable, RF, or the like, or any combination of the preceding.
Computer program code required for the operation of various portions of this specification may be written in any one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C #, VB.NET, Python, etc., a conventional programming language such as C, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, a dynamic programming language such as Python, Ruby, and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any network format, such as a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet), or in a cloud computing environment, or as a service, such as a software as a service (SaaS).
Additionally, the order in which the elements and sequences of the process are recited in the specification, the use of alphanumeric characters, or other designations, is not intended to limit the order in which the processes and methods of the specification occur, unless otherwise specified in the claims. While various presently contemplated embodiments of the invention have been discussed in the foregoing disclosure by way of example, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover all modifications and equivalent arrangements that are within the spirit and scope of the embodiments herein. For example, although the system components described above may be implemented by hardware devices, they may also be implemented by software-only solutions, such as installing the described system on an existing server or mobile device.
Similarly, it should be noted that in the preceding description of embodiments of the present specification, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the embodiments. This method of disclosure, however, is not intended to imply that more features than are expressly recited in a claim. Indeed, the embodiments may be characterized as having less than all of the features of a single embodiment disclosed above.
Numerals describing the number of components, attributes, etc. are used in some embodiments, it being understood that such numerals used in the description of the embodiments are modified in some instances by the use of the modifier "about", "approximately" or "substantially". Unless otherwise indicated, "about", "approximately" or "substantially" indicates that the number allows a variation of ± 20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximations that may vary depending upon the desired properties of the individual embodiments. In some embodiments, the numerical parameter should take into account the specified significant digits and employ a general digit preserving approach. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of the range are approximations, in the specific examples, such numerical values are set forth as precisely as possible within the scope of the application.
For each patent, patent application publication, and other material, such as articles, books, specifications, publications, documents, etc., cited in this specification, the entire contents of each are hereby incorporated by reference into this specification. Except where the application history document does not conform to or conflict with the contents of the present specification, it is to be understood that the application history document, as used herein in the present specification or appended claims, is intended to define the broadest scope of the present specification (whether presently or later in the specification) rather than the broadest scope of the present specification. It is to be understood that the descriptions, definitions and/or uses of terms in the accompanying materials of this specification shall control if they are inconsistent or contrary to the descriptions and/or uses of terms in this specification.
Finally, it should be understood that the embodiments described herein are merely illustrative of the principles of the embodiments of the present disclosure. Other variations are also possible within the scope of the present description. Thus, by way of example, and not limitation, alternative configurations of the embodiments of the specification can be considered consistent with the teachings of the specification. Accordingly, the embodiments of the present description are not limited to only those embodiments explicitly described and depicted herein.

Claims (19)

1. A private data querying method, wherein the method is performed by one or more processors of a first device, comprising:
acquiring first identification data of a first query object, and encrypting the first identification data;
generating first query request data based on the encrypted first identification data;
sending the first query request data to at least one other device;
receiving first query feedback data returned by other equipment, wherein the first query feedback data at least comprises a first query result aiming at the first query object; and the first query result is determined based on a first identification data re-encryption result, and the first identification data re-encryption result is a result obtained by re-encrypting the first identification data in the first query request data by other equipment.
2. The method of claim 1, wherein the method further comprises:
acquiring a first action time related to a first query object;
storing a first action time in association with the first identification data to a first storage queue.
3. The method of claim 2, wherein the first query result includes historical behavior time associated with the first query object, the method further comprising:
and storing the first action time, the historical action time in the first query result and the first identification data in a first storage queue in an associated mode.
4. The method of claim 1, wherein the first query feedback data further comprises a re-encryption result of the first identification data;
the method further comprises: storing the re-encrypted result of the first identification data to a second storage queue;
alternatively, the method further comprises:
acquiring a first action time related to a first query object;
and storing the first action time and the re-encryption result of the first identification data into a second storage queue in an associated mode.
5. The method of claim 4, wherein the method further comprises:
receiving second query request data from other equipment, wherein the second query request data comprises second identification data of a second query object and encrypted by the other equipment;
encrypting the second identification data again to obtain a second identification data re-encryption result;
querying the second storage queue based on the second identification data re-encryption result, and obtaining a second query result aiming at the second query object;
generating second query feedback data based on the second query result;
and sending the second query feedback data to the other equipment.
6. The method of claim 5, wherein the second query request data further includes a second action time associated with a second query object, the second store queue further including first identification data associated with the first identification data re-encryption result;
the method further comprises:
when related records are inquired in the second storage queue based on the second identification data re-encryption result, second identification data associated with the second identification data re-encryption result are obtained;
storing the second action time to a first storage queue based on second identification data.
7. The method of claim 2 or 6, wherein the method further comprises:
acquiring third identification data, wherein the third identification data corresponds to a third query object;
and querying the first storage queue based on third identification data to obtain a third query result.
8. A private data querying method, wherein the method is performed by one or more processors of a second device, comprising:
receiving second query request data from other equipment, wherein the second query request data comprises second identification data of a second query object and encrypted by the other equipment;
encrypting the second identification data again to obtain a second identification data re-encryption result;
determining a second query result for a second query object based on the second identification data re-encryption result;
generating second query feedback data based on the second query result;
and sending the second query feedback data to the other equipment.
9. A private data multi-party query network, the network comprising a plurality of query nodes, wherein at least one query node is capable of implementing the method of any one of claims 1 to 8.
10. A private data query system, wherein the system comprises:
the acquisition module is used for acquiring first identification data of a first query object;
an encryption module for encrypting the first identification data;
the generating module is used for generating first query request data based on the encrypted first identification data;
the sending module is used for sending the first query request data to at least one other device;
the receiving module is used for receiving first query feedback data returned by other equipment, wherein the first query feedback data at least comprises a first query result aiming at the first query object; and the first query result is determined based on a first identification data re-encryption result, and the first identification data re-encryption result is a result obtained by re-encrypting the first identification data in the first query request data by other equipment.
11. The system of claim 10, wherein the obtaining module is further to obtain a first action time associated with a first query object; the system further comprises a storage module;
the storage module is used for storing the first action time and the first identification data into a first storage queue in an associated mode.
12. The system of claim 11, wherein the first query result includes a historical behavior time associated with the first query object;
the storage module is further used for storing the first action time, the historical action time in the first query result and the first identification data in a first storage queue in an associated mode.
13. The system of claim 11, wherein the first query feedback data further comprises the first identification data re-encryption result;
the storage module is further used for storing the re-encryption result of the first identification data to a second storage queue; or
The storage module is further used for storing the first action time and the first identification data re-encryption result in a second storage queue in an associated mode.
14. The system of claim 10, wherein the system further comprises a query module;
the receiving module is further configured to receive second query request data from another device, where the second query request data includes second identification data of a second query object and encrypted by the other device;
the encryption module is further configured to encrypt the second identification data again to obtain a second identification data re-encryption result;
the query module is used for querying the second storage queue based on the second identification data re-encryption result and acquiring a second query result aiming at the second query object; the generating module is further used for generating second query feedback data based on the second query result;
the sending module is further configured to send the second query feedback data to the other device.
15. The system of claim 14, wherein the second query request data further includes a second action time associated with a second query object, the second store queue further including first identification data associated with the first identification data re-encryption result;
the query module is further used for acquiring second identification data associated with a second identification data re-encryption result when a related record is queried in the second storage queue based on the second identification data re-encryption result;
the storage module is further configured to store the second action time to a first storage queue based on second identification data.
16. The system of claim 11 or 15, wherein the system further comprises a query module;
the obtaining module is further configured to obtain third identification data, where the third identification data corresponds to a third query object;
the query module is further configured to query the first storage queue based on third identification data, and obtain a third query result.
17. A private data query system, wherein the system comprises:
a receiving module, configured to receive second query request data from another device, where the second query request data includes second identification data of a second query object and encrypted by the other device;
the encryption module is used for encrypting the second identification data again to obtain a second identification data re-encryption result;
a query module to determine a second query result for a second query object based on the second identification data re-encryption result;
the generating module is used for generating second query feedback data based on the second query result;
and the sending module is used for sending the second query feedback data to the other equipment.
18. A private data query device comprising a processor, wherein the processor is configured to execute the private data query method according to any one of claims 1 to 7.
19. A private data query device comprising a processor, wherein the processor is configured to perform the private data query method of any one of claim 8.
CN201911228414.9A 2019-12-04 2019-12-04 Private data query method, system and device Pending CN110990681A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911228414.9A CN110990681A (en) 2019-12-04 2019-12-04 Private data query method, system and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911228414.9A CN110990681A (en) 2019-12-04 2019-12-04 Private data query method, system and device

Publications (1)

Publication Number Publication Date
CN110990681A true CN110990681A (en) 2020-04-10

Family

ID=70089916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911228414.9A Pending CN110990681A (en) 2019-12-04 2019-12-04 Private data query method, system and device

Country Status (1)

Country Link
CN (1) CN110990681A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547525A (en) * 2017-08-14 2018-01-05 复旦大学 A kind of method for secret protection of big data query processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547525A (en) * 2017-08-14 2018-01-05 复旦大学 A kind of method for secret protection of big data query processing

Similar Documents

Publication Publication Date Title
US10771240B2 (en) Dynamic blockchain system and method for providing efficient and secure distributed data access, data storage and data transport
EP3547198B1 (en) Method, system and apparatus for data access
US11899820B2 (en) Secure identity and profiling system
US10860725B2 (en) Increasing search ability of private, encrypted data
WO2021017433A1 (en) Data authorization method and device employing smart contract
US11726968B2 (en) Methods, apparatuses, and devices for transferring data assets based on blockchain
AU2016332734B2 (en) Policy enforcement system
US8447983B1 (en) Token exchange
GB2584558A (en) Data sanitization system for public host platform
US20210326486A1 (en) Data check methods, apparatuses, and devices
US20190392407A1 (en) Encrypted asset transfer system and method for facilitating transfer of digital assets
US11983711B1 (en) Hierarchy-based blockchain
CN111756684B (en) Method, system and non-transitory computer-readable storage medium for transmitting critical data
CN110990681A (en) Private data query method, system and device
CN114239043A (en) Shared encryption storage system constructed based on block chain technology
Epishkina et al. On Attribute-Based Encryption for Access Control to Multidimensional Data Structures
PREETHI AN EFFICIENT USER PROTECTED ENCRYPTION STORAGE ALGORITHM USED IN ENCRYPTED CLOUD DATA
Keerthana et al. Blockchain Empowered Secure Authentication for Vanet’s: A Key Extraction Approach
CN117151856A (en) Resource borrowing service handling method, device, computer equipment and storage medium
CN117763012A (en) Label data calculating method, device, computer equipment and storage medium
CN117828565A (en) Resource processing method and device based on fort machine and computer equipment
CN117313140A (en) Information query method, device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40026935

Country of ref document: HK

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200410