CN115408716A - Risk data query method, system, trusted unit and server - Google Patents

Risk data query method, system, trusted unit and server Download PDF

Info

Publication number
CN115408716A
CN115408716A CN202211060896.3A CN202211060896A CN115408716A CN 115408716 A CN115408716 A CN 115408716A CN 202211060896 A CN202211060896 A CN 202211060896A CN 115408716 A CN115408716 A CN 115408716A
Authority
CN
China
Prior art keywords
data
ciphertext
risk
user
server
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
CN202211060896.3A
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.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai 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 Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202211060896.3A priority Critical patent/CN115408716A/en
Publication of CN115408716A publication Critical patent/CN115408716A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computational Linguistics (AREA)
  • Marketing (AREA)
  • Medical Informatics (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

A risk data query method, a system, a trusted unit and a server, the method comprises the following steps: the first mechanism device sends the ciphertext query data to the server; the server provides the ciphertext query data and first ciphertext data acquired in advance to a trusted unit for privacy data processing; the TEE decrypts the ciphertext query data and the first ciphertext data to obtain query data and first data; when the first data comprise the first user identification, writing the first user identification and a corresponding first risk label set in the second data according to the first data; encrypting the second data to obtain second ciphertext data, and providing the second ciphertext data to a server; the server provides the second ciphertext data to the first mechanism device; and the first mechanism equipment decrypts the second ciphertext data to obtain a first risk label set corresponding to the first user identification.

Description

Risk data query method, system, trusted unit and server
Technical Field
The embodiment of the specification belongs to the technical field of computers, and particularly relates to a risk data query method, a risk data query system, a trusted unit and a server.
Background
Currently, regulatory bodies are often required to fulfill the obligation of anti-money laundering for institutions involved in major transactions. Namely, the transaction data of the large amount transaction and the suspicious transaction are analyzed and reported. However, information isolation between organizations forms islands of information, and organizations have difficulty identifying suspicious users in situations where information is insufficient. How to protect the private data of the user while sharing the risk information by multiple organizations is a problem to be solved in the current anti-money laundering scheme.
Disclosure of Invention
The invention aims to provide a risk data query scheme, which combines a server and a trusted unit to process risk data in the trusted unit, so that the calculation and storage resources of the trusted unit are saved.
In a first aspect of the present specification, a method for querying risk data is provided, including:
the method comprises the steps that first mechanism equipment sends ciphertext query data to a server, the ciphertext query data are obtained by encrypting the query data, the query data comprise a first user identification of a first user to be queried, and the first mechanism equipment belongs to a first mechanism;
the server provides the ciphertext query data and first ciphertext data which are obtained in advance to a trusted unit for processing privacy data, the first ciphertext data are obtained by encrypting first data, the first data comprise risk information of n users, and the risk information of each user comprises a user identifier and a risk label set of the user;
the trusted unit decrypts the ciphertext query data and the first ciphertext data to obtain the query data and the first data; when it is determined that the first data comprises a first user identifier, writing a first risk label set corresponding to the first user identifier in the first data into second data; encrypting the second data to obtain second ciphertext data, and providing the second ciphertext data to the server;
the server provides the second ciphertext data to the first mechanism device;
and the first mechanism equipment decrypts the second ciphertext data to obtain a first risk label set corresponding to the first user identification.
A second aspect of the present specification provides a risk data query method, executed by a trusted unit, including:
acquiring ciphertext query data and first ciphertext data from a server, wherein the ciphertext query data are acquired by encrypting the query data, the query data comprise a first user identifier of a first user to be queried of a first organization, the first ciphertext data are acquired by encrypting the first data, the first data comprise risk information of n users, and the risk information of each user comprises a user identifier and a risk tag set of the user;
decrypting the ciphertext query data and the first ciphertext data to obtain the query data and the first data;
when it is determined that the first data comprises a first user identifier, writing a first risk label set corresponding to the first user identifier in the first data into second data; and encrypting the second data to obtain second ciphertext data, and providing the second ciphertext data to the server.
A third aspect of the present specification provides a risk data query method, performed by a server, the method including:
receiving ciphertext query data from first mechanism equipment, wherein the ciphertext query data are obtained by encrypting the query data, the query data comprise a first user identifier of a first user to be queried, and the first mechanism equipment belongs to a first mechanism;
providing the ciphertext query data and first ciphertext data which are obtained in advance to a trusted unit, wherein the first ciphertext data are obtained by encrypting first data by using a public key of the trusted unit, the first data comprise risk information of n users, and the risk information of each user comprises a user identifier and a risk label set of the user;
receiving second ciphertext data from the trusted unit, where the second ciphertext data is obtained by encrypting second data, where the second data includes the first user identifier and a first risk tag set corresponding to the first user identifier, and the first risk tag set is obtained from the first data;
providing the second ciphertext data to the first mechanism device.
A fourth aspect of the present specification provides a risk data query system, comprising a first organization device and a server,
the first mechanism equipment is used for sending ciphertext query data to a server, the ciphertext query data are obtained by encrypting the query data, the query data comprise a first user identification of a first user to be queried, and the first mechanism equipment belongs to a first mechanism;
the server is used for providing the ciphertext query data and first ciphertext data which are obtained in advance to a trusted unit, the first ciphertext data are obtained by encrypting first data, the first data comprise risk information of n users, and the risk information of each user comprises a user identifier and a risk label set of the user;
the trusted unit is used for decrypting the ciphertext query data and the first ciphertext data to obtain the query data and the first data; when it is determined that the first data comprises a first user identifier, writing a first risk label set corresponding to the first user identifier in the first data into second data; encrypting the second data to obtain second ciphertext data, and providing the second ciphertext data to the server;
the server is further used for providing the second ciphertext data to the first mechanism device;
and the first mechanism equipment is used for decrypting the second ciphertext data to obtain a first risk label set corresponding to the first user identifier.
A fifth aspect of the present specification provides a trusted unit comprising:
the system comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring ciphertext query data and first ciphertext data from a server, the ciphertext query data is obtained by encrypting the query data, the query data comprises a first user identifier of a first user to be queried of a first mechanism, the first ciphertext data is obtained by encrypting the first data, the first data comprises risk information of n users, and the risk information of each user comprises a user identifier and a risk tag set of the user;
a decryption unit, configured to decrypt the ciphertext query data and the first ciphertext data to obtain the query data and the first data;
the writing unit is used for writing a first risk label set corresponding to a first user identifier in the first data into second data when the first data is determined to comprise the first user identifier;
the encryption unit is used for encrypting the second data to obtain second ciphertext data;
a providing unit configured to provide the second ciphertext data to the server.
A sixth aspect of the present specification provides a server comprising:
the receiving unit is used for receiving ciphertext query data from first mechanism equipment, wherein the ciphertext query data are obtained by encrypting the query data, the query data comprise a first user identifier of a first user to be queried, and the first mechanism equipment belongs to a first mechanism;
a providing unit, configured to provide the ciphertext query data and first ciphertext data obtained in advance to a trusted unit, where the first ciphertext data is obtained by encrypting first data using a public key of the trusted unit, the first data includes risk information of n users, and the risk information of each user includes a user identifier and a risk tag set of the user;
the receiving unit is further configured to receive second ciphertext data from the trusted unit, where the second ciphertext data is obtained by encrypting second data, where the second data includes the first user identifier and a first risk tag set corresponding to the first user identifier, and the first risk tag set is obtained from the first data;
the providing unit is further configured to provide the second ciphertext data to the first mechanism device.
A seventh aspect of the present specification provides a computer readable storage medium having stored thereon a computer program which, when executed on a computer, causes the computer to perform the method of the second or third aspect.
An eighth aspect of the present specification provides a computing device comprising a memory having stored therein executable code and a processor that, when executing the executable code, implements the method of the second or third aspect.
In the embodiment of the present specification, by combining the server and the trusted unit to execute the risk data query method, the mechanism device performs desensitization, encryption, and other processing on the user identifier of the user to be queried and sends the user identifier to the server, and the server provides the user identifier to the trusted unit, so that user privacy is protected.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments described in the present disclosure, and it is obvious for a person skilled in the art to obtain other drawings based on these drawings without inventive labor.
FIG. 1 is a schematic diagram of a system in an embodiment of the present description;
fig. 2 is a flowchart of a method for generating a ciphertext risk data file on the mechanism device side in an embodiment of the present specification;
FIG. 3 is a flow chart of a method for a server to verify the identity of an organization in an embodiment of the present description;
FIG. 4 is a flow chart of a risk data summarization method in one embodiment of the present disclosure;
FIG. 5 is a schematic diagram of a process of generating a risk union file in an embodiment of the present specification;
fig. 6 is a flowchart of a method for generating a risk query data file ciphertext at a mechanism device side in an embodiment of the present specification;
FIG. 7 is a flow chart of a risk data query method in an embodiment of the present description;
FIG. 8 is an architecture diagram of a trusted unit in an embodiment of the present description;
fig. 9 is an architecture diagram of a server in an embodiment of the present specification.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present specification, and not all of the embodiments. All other embodiments obtained by a person skilled in the art based on the embodiments in the present specification without any inventive step should fall within the scope of protection of the present specification.
Data sharing is often a requirement for organizations to handle traffic. Often, a single organization cannot acquire enough information to handle the business, and thus, a need exists to acquire information from other organizations. For example, among the anti-money laundering compliance requirements of various countries, many require various financial institutions to provide anti-money laundering audits. Currently, many countries, at the center, and many large financial institutions have attempts to utilize blockchains in the anti-money laundering area to improve efficiency and accuracy and meet regulatory requirements. Meanwhile, as a resource, the mobility and the availability of data are the basis of the development of many data applications and industries, but privacy protection in the data exchange and sharing process is always a great challenge in the development of the industries. The above anti-money laundering will be described as an example.
Anti-Money Laundering (AML) refers to a measure for preventing Money Laundering activities of such crimes as drug disguising, drug concealing, black-social organization crimes, terrorist activity crimes, smuggling crimes, bribery crimes, and financial management crimes, and the source and nature of their revenues. Common money laundering approaches widely involve various fields such as banks, insurance, securities, real estate, and the like. Most anti-money laundering work involves three core items:
1. a customer identity identification system. When the anti-money laundering obligation main body establishes a business relationship with a client or conducts a transaction with the client, the anti-money laundering obligation main body should verify and record the identity of the client according to the real and effective identity certificate, and update the identity information data of the client in time during the existence period of the business relationship.
2. Large and Suspicious Transaction Report (STR) systems. Illegal fund flow generally has the characteristics of huge amount, abnormal transaction and the like, so a large amount and suspicious transaction reporting system is stipulated by law, and a financial institution is required to report abnormal transactions with the amount reaching a certain standard and without legal purposes to an anti-money laundering administrative department in time so as to be used as a clue for pursuing illegal criminal behaviors.
3. The customer identity data and the transaction record storage system stores the customer identity data and the transaction record, means that a financial institution adopts necessary measures to store the customer identity data and the transaction information for a certain period of time according to law, and can provide evidence support for pursuing criminal behaviors.
The Customer identification system, also known as "Know Your Customer" (KYC), refers to obtaining Customer-related identification information, including knowing the Customer's identity when establishing a service with the Customer, knowing the purpose of the transaction, knowing the source and destination of funds, knowing the long business activities and financial transaction conditions of the Customer, and the like, and is the basis of money laundering.
Different financial institutions are obligated to review suspicious transactions. However, the information of the transaction related to the same user and the information of the user are different between different financial institutions, and thus, the risk label indexed by the same user after the suspicious transaction analysis performed by different financial institutions may also be different, where the risk label includes, for example, a plurality of preset labels, and each label is used to indicate the money laundering risk level of the user, the type of unlawful act of the user, or other information related to money laundering risk of the user. If a financial institution is to more accurately index a risk label to a user, a better way is to be able to obtain the risk label that another (or more) financial institution indexes the same user. Thus, a need has arisen to share risk labels of the same user among different financial institutions.
Taking the money laundering risk level of the customer as an example, the money laundering risk levels indexed by different financial institutions after performing suspicious transaction analysis on the same user may also be different, for example, the money laundering risk indexed by the first institution to the user U1 is a high risk, and the money laundering risk indexed by the second institution to the same user U1 is a medium risk. If a financial institution is to more accurately index a user with money laundering risk level labels, it is a better way to be able to obtain money laundering risk level labels that another (or more) financial institution indexes the same user. Thus, a need has arisen to share money laundering risk level labels of the same user among different financial institutions.
Fig. 1 is a schematic diagram of a system in an embodiment of the present description. As shown in fig. 1, the institution devices 100, 200, and 300 may be computing devices such as institution a, institution B, and institution C, respectively, which may be any of financial, insurance, transaction, etc. institutions, for example. It is to be understood that three mechanism devices are shown as an example, and that other numbers of multiple mechanism devices may be included in practice. The client of the money laundering prevention platform is installed in the mechanism equipment, and each mechanism equipment can directly receive the information of the user, so that the client can complete certain processing work based on the information of the user, such as the examination of suspicious transactions, and the risk label of each user can be obtained.
Taking the risk label specifically as the money laundering risk level as an example, the organization a and the organization B may index the money laundering risk level to the user based on their anti-money laundering auditing capabilities, respectively. Thus, the money laundering risk levels respectively indexed by institution A and institution B to user U1 may not be the same. For example, organization A indexes a [ high risk level ] for user U1 and organization B indexes a [ medium risk level ] for user U1. In order to obtain a more accurate money laundering risk level, money laundering risk level labels of the same user may be shared among a plurality of institutions through an anti-money laundering server (hereinafter, simply referred to as a server) 400. However, in this process of risk data sharing, a plurality of compliance requirements need to be satisfied. For example, an organization that provides risk data in risk data sharing may not know the organization that queries the data it provides, the organization that queries the risk data may not know which organization provided the risk data, and the server may not know which organization's data the organization queries, and the plaintext data that is queried. These compliance requirements increase the difficulty of sharing and querying risk data.
The server 400 includes a Trusted unit, which may be any computing unit that can perform private data or confidential data processing and protect data from leakage, for example, the Trusted unit includes a Trusted Execution Environment (TEE), a computing device in a Trusted authority, and the like. An example of TEE40 as a trusted unit is shown in fig. 1, and is described below with TEE40 as an example of a trusted unit. Each facility device may send desensitized and encrypted risk data to the server 400, and the server 400 stores the risk data for each facility in a local or file storage server (not shown in fig. 1). TEE40 may receive an address storing risk data from server 400, obtain risk data from the address, perform fusion processing on risk data of multiple institutions, obtain a union of risk data, so that TEE40 may query risk data of a user from the union of risk data in response to a query request of each institution in the following. Server 400 and TEE40 may be connected to blockchain 500, and perform the risk data query scheme in the embodiments of the present disclosure in conjunction with blockchain 500. It is to be appreciated that although the trusted unit is shown in fig. 1 as being located inside the server 400, embodiments of the present description are not limited thereto, and the TEE may also be located in another computing device to which the server 400 may be connected by connecting with the computing device.
Fig. 2 is a flowchart of a method for generating a ciphertext risk data file on the mechanism device side in the embodiment of the present specification. The mechanism apparatus in fig. 2 may be any one of the plurality of mechanism apparatuses in fig. 1. The mechanism apparatus 100 is described below as an example.
As shown in fig. 2, first, in step S201, the institution apparatus 100 reads the initial risk data file F1, and acquires user identification information and a risk label.
In the agency a corresponding to the agency device 100, the agency administrator may periodically generate an initial risk data file F1 in the agency device 100 according to the data analysis result within the agency a for sharing risk data to other agencies. It is to be understood that, although the risk data and the following other risk information are carried in the form of a file, the embodiments of the present specification are not limited thereto, and for example, the risk data or the risk information may also be carried in the form of data or a table, which is not limited thereto. The initial risk data file F1 includes identity information and risk labels of the risk users in the organization a. The identity information includes, for example, a name, a certificate number, and the like. The risk label is a label which indicates the risk degree and is negotiated by a plurality of organizations. For example, the risk labels may include a risk label of riskH, for example indicating high risk, riskM, for example indicating medium risk, and riskL, for example indicating low risk. The risk label for a single user may also include multiple risk labels, e.g., risk1, riskH, where risk1, for example, indicates a particular type of risk, etc. Specifically, the file F1 may include a plurality of rows, each of which may be in the form of:
"name/certType/certNum/risk1, riskH", wherein the name is the user name, the certType is the certificate type, and the certNum is the certificate number, and the three form three elements of the user identity information.
After the facility administrator generates the file F1 in the facility device 100, the file F1 is uploaded to the storage of the client. After monitoring the update of the file F1, the client may read the file F1 line by line, for example, so as to obtain the identity information and the risk label of each risk user.
In step S203, the facility device 100 determines whether a user ID corresponding to the identity information is locally stored.
In order to protect the privacy of the user, it is necessary to perform desensitization processing on the user identity information in the file F1, that is, the user identity information cannot be directly included in the shared file transmitted from the mechanism device 100. Therefore, each organization only needs to use the same user ID for the same user to replace the identity information of the user. Specifically, for the user identification information in one row in the file F1, the client in the facility device 100 first determines whether the user ID corresponding to the identification information is locally stored. For example, the client may determine whether the identity information and the corresponding user ID are included in a mapping table of a preset address in the hard disk. If not, the client may perform step S205, requesting the user ID of the user from the server 400.
In step S205, the agency device 100 requests the user ID of the user from the server 400.
Specifically, since the server 400 is also not fully trusted, the agency device 100 also needs to desensitize the three-factor information of the user when requesting the user ID from the server 400. Specifically, the agency device may calculate a hash value of the three-factor information, hash1= hash (name + certType + certNum), where "+" may indicate sequential concatenation of two items of data before and after, and then the agency device 100 may send the hash value hash1 to the server 400 to request the user ID corresponding to the hash value.
In step S207, the server 400 returns the user ID of the user to the agency device 100.
After receiving hash1, the server 400 may calculate an ID corresponding to hash1 using a preset rule.
In one embodiment, to further enhance data security, the server 400 may perform a salt operation on hash1, for example, by calculating hash (hash 1+ salt), and using the obtained hash value as the user ID, where salt is a value generated by the server in advance. The user ID is obtained by adopting the salting operation on the hash1, so that a malicious party can be prevented from presuming the three-element information corresponding to the hash 1.
The server, after determining the user ID, returns the user ID to the agency device 100. When other institutions request the user ID for the user from server 400, the server may calculate the user ID for the user based on the same rules and parameters, so that the same user ID may be obtained and returned to the institution device, so that different institutions use the same user ID for the same user in the risk data file they send to the server.
In step S209, the agency device 100 stores the user identification information and the user ID in association.
The agency device 100, after receiving the user ID from the server 400, stores the user identification information and the user ID in association, for example, in a persistent medium, so that they can be used for subsequent processing of the updated risk file. Specifically, the agency device may store the user identification information and the user ID in association in the mapping table.
In step S211, the facility device 100 writes the user ID and the risk label in the risk data file F2.
In the case where the agency device 100 determines in step S203 that the user ID corresponding to the identity information is stored locally (for example, in the mapping table described above), step S211 may be directly executed. Alternatively, the mechanism apparatus 100 may perform step S211 after performing step S209.
The client in the facility device 100 may initialize the file F2 while starting reading the file F1, and after reading a line of the corresponding user ID in the file F1 line by line, record the user ID and the risk label of the user in the file F2 in a line corresponding to the line in the file F1. In this way, the client can generate the risk data file F2 corresponding to the file F1 after performing the above-described processing for each line in the file F1.
In one embodiment, after the client generates the file F2 as described above, the rows in the file F2 may be sorted in ascending order of the respective user IDs to facilitate the subsequent process of merging risk data files of multiple organizations.
In step S213, the client may also encrypt the file F2 using the public key of the TEE, thereby generating a ciphertext risk data file F3. By this, the risk value corresponding to each user ID cannot be acquired outside the TEE of the server 400, and user privacy is further protected. It will be appreciated that the encryption of file F2 using the public key of the TEE is not limited to this, for example other asymmetric or symmetric keys may be negotiated between the TEE and the institutional device for encrypting file F2.
Wherein, the TEE is a trusted execution environment which is based on the safety extension of CPU hardware and is completely isolated from the outside. The industry is concerned about TEE solutions, and almost all mainstream chip and Software alliances have their own TEE solutions, such as TPM (Trusted Platform Module) in Software and Intel SGX (Software Guard Extensions) in hardware, ARM Trustzone (Trusted zone) and AMD PSP (Platform Security Processor) in hardware. The TEE can function as a hardware black box, and codes and data executed in the TEE cannot be peeped even in an operating system layer, and can be operated only through an interface predefined in the codes. In terms of efficiency, due to the black box nature of the TEE, plaintext data is operated on in the TEE, rather than the complex cryptographic operations in homomorphic encryption, and little loss in computational process efficiency occurs.
The Intel SGX (hereinafter referred to as SGX) technology is taken as an example. The block link points may create enclaves (enclosures or enclaves) as TEEs based on SGX technology. The server may allocate a partial area EPC (enclosure Page Cache, enclave Page Cache, or Enclave Page Cache) in the memory by using a processor instruction newly added to the CPU, so as to reside the above enclosure. The Memory area corresponding to the EPC is encrypted by a Memory Encryption Engine MEE (Memory Encryption Engine) inside the CPU, the content (code and data in the enclave) in the Memory area can be decrypted only in the CPU core, and a key for Encryption and decryption is generated and stored in the CPU only when the EPC is started. Therefore, the security boundary of enclave only contains the security boundary and the CPU, no matter privileged or non-privileged software can not access the enclave, even an operating system administrator and a VMM (Virtual Machine Monitor, or called Hypervisor) can not affect codes and data in the enclave, so that the enclave has extremely high security, and on the premise of ensuring the security, the CPU can process data in a plaintext form in the enclave, so that the enclave has extremely high operational efficiency, and the data security and the computing efficiency are both considered. And the data entering and exiting the TEE can be encrypted, so that the privacy of the data is guaranteed.
The TEE may prove to the user that it is authentic before it is used. The process of certifying itself as authentic may involve remote certification reporting. The remote attestation report is generated during a remote attestation process for the TEE. The remote attestation report may be generated by an authoritative authentication server verifying the self-referral information generated by the TEE. The remote attestation report may be used to indicate that the TEE is trusted.
For example, the agency device 100 may first verify that the TEE is authentic before encrypting the file F2 using the TEE's public key. Specifically, the agency device 100 may initiate a challenge to the TEE and receive a remote attestation report back from the TEE. After obtaining the remote attestation report, the authority device 100 may verify the signature of the remote attestation report according to the public key of the authoritative certification server, and may confirm that the TEE is authentic if the verification is passed. Specifically, after receiving the verification request, the TEE generates authentication information based on its internal mechanism, and sends the authentication information and the hardware public key of the TEE to the agency device 100. The authentication information includes, for example, signature information, hardware information, software information, and the like of the TEE. Wherein the signature information is generated, for example, by a hardware key of the TEE; the hardware information includes, for example, indicators of various hardware, such as CPU host frequency, memory capacity, and the like; the software information includes a code hash value, a code name, a version, an operation log, etc. of each program. As known to those skilled in the art, a TEE may perform a "measurement" of the program running therein through memory hardware, such as obtaining a code hash value of the program, a hash value of the memory occupancy of the program at a particular execution point, etc., and include in the authentication information "measurement" information for the program, which is authentic because the "measurement" information is executed by the TEE's own entity (memory hardware) without involving any software, operating system, etc. The agency device 100, upon receiving the authentication information, may send the authentication information to a remote authentication server of the TEE, thereby receiving a remote attestation report for the TEE from the server. The remote attestation report includes, among other things, authentication of the TEE, and authentication of programs executing within the TEE. Thus, the agency device 100 may determine that the TEE is authentic based on the remote attestation report, and that the results of the query by the TEE are authentic. At the same time, the agency device 100 may locally hold the TEE's hardware public key for subsequent verification of the TEE's signature. Wherein, a pair of public and private keys is stored in the TEE, and the private key is kept in the TEE properly. Content transmitted by the TEE may be signed with a private key stored within the TEE, thereby proving the result of execution by the TEE.
In embodiments of the present description, a digital identity may be created for each organization by way of the DIS in conjunction with the blockchain. The blockchain may provide a decentralized (or weakly centralized), non-tamperproof (or difficult to tamper) and trusted distributed ledger, and may provide a secure, stable, transparent, auditable, and efficient way to log transactions and data information interactions. The blockchain network may include a plurality of nodes. Typically one or more nodes of a blockchain are attributed to a participant. In general, the more participants in the blockchain network, the more authoritative the participants are, and the higher the trustworthiness of the blockchain network is. A blockchain network formed by a plurality of participants is referred to herein as a blockchain platform. With the blockchain platform, an organization can be helped to verify identity.
To use the distributed digital identity services provided by the blockchain platform, an organization may register its own identity in the blockchain platform. For example, organization a may create a pair of public and private keys, the private key being stored securely, and may create a distributed digital identity (also known as Decentralized identifiers, DID). The DID may be created by institution a itself or may be requested by a Distributed Identity Service (DIS) system to create the DID. DIS is an identity management scheme based on a block chain, and can provide functions of creating, verifying, managing and the like of digital identities, thereby realizing standardized management and protection of entity data, ensuring the authenticity and efficiency of information transfer, and solving the problems of cross-organization identity authentication, data cooperation and the like. The DIS system may be connected to a blockchain platform. And a DID can be created for the organization A through the DIS system, the DID and the public key are sent to the block chain platform for storage, and the created DID is returned to the organization A. The public key may be included in a DIDdoc, which may be stored in a block chain platform. The DIS creates a DID for the organization a, which may be created based on a public key sent by the organization a, for example, by calculating the public key of the organization a using a Hash function, or may be created according to other information of the organization a (which may or may not include the public key). The latter may require that institution a provide some information beyond the public key. Thereafter, agency a may provide an authentication function, thereby proving itself to the other party as agency a. Fig. 3 is a flowchart of a method for verifying identity of an organization by a server in an embodiment of the present specification, including:
s301: the agency device 100 of agency a initiates a DID creation request to DIS, where the request includes the public key of agency a.
S303: in response to the creation request, the DIS creates a DID and a corresponding DIDdoc for the agency a after the agency information (such as the qualification, the certificate, and the like) of the agency a passes verification, and sends the DID and the corresponding DIDdoc to a blockchain platform for saving. The DIDdoc includes the public key of the organization a. The DIDdoc also includes information such as a download address of verifiable proof of identity of organization a.
S305: the blockchain platform receives a verification request sent by a server, wherein the verification request comprises the DID of the organization A.
S307: and the block chain platform takes the DIDdoc corresponding to the DID from the self storage and returns the DIDdoc to the server.
S309: the server generates a character string and transmits the character string to the agency device 100 of the agency a.
S311: the institution device 100 signs the string with the private key of institution a and returns to the server.
S313: and the server verifies whether the returned signature is correct or not by using the received public key in the DIDdoc, and if so, the identity of the organization A is confirmed.
The server 400 may perform the risk data aggregation method shown in fig. 4 after authentication of the organization is passed.
As shown in fig. 4, first, in step S401, the agency device 100 transmits a ciphertext risk data file F3 to the server 400.
The server 400 may request the ciphertext risk data file from each organization device at regular intervals, and the organization device 100 may transmit the file F3 generated by the flow shown in fig. 2 to the server 400 in response to the request of the server. Specifically, the organization device 100 may sign the document F3 using the private key of the DID of the organization a, and transmit the DID of the organization a (e.g., DID), the document F3, and the signature of the document F3 by the private key of the DID to the server 400.
In step S403, the server 400 provides the TEE with the ciphertext risk data file (including file F3) and the organization public key corresponding to each organization DID.
After receiving the ciphertext risk data file from each mechanism device, the server 400 may store the ciphertext risk data file in a storage server inside or outside the server, and obtain a storage address of the ciphertext risk data file.
Thereafter, the server 400 may send the DID lists of each organization and the file address and the public key of the ciphertext risk data file corresponding to each DID to the TEE. The TEE can read the ciphertext risk data file corresponding to each DID from the file address corresponding to each DID. The public key of each organization is subsequently used for encrypting the file sent to the organization, and it can be understood that the TEE is not limited to encrypting the file sent to the organization by using the public key of the organization, but may use any key negotiated by the TEE and the organization device or the server and the organization device, including a symmetric key and an asymmetric key.
In one embodiment, the server 400 may send the DID list of each organization and the file address and the public key of the ciphertext risk data file corresponding to each DID to the TEE after the signature verification of the ciphertext risk data file of each organization is passed.
In one embodiment, the server may provide a plurality of signatures of the plurality of institution devices to the trusted unit, so that the trusted unit first verifies the plurality of signatures using public keys of the plurality of institutions, respectively, before decrypting the plurality of ciphertext risk data files, respectively, and decrypts the plurality of ciphertext risk data files if verification is successful.
In step S405, the TEE chains the public agency keys of the respective agencies received from the server.
In step S405, the TEE chains the public agency keys of the respective agencies received from the server.
The TEE links the operation of the server by linking the public keys of each institution received from the server, and each institution can verify whether the public key provided by the server is correct, so that the possibility of the following servers doing harm is avoided: it is possible for the server to replace the public key of the institutional device with its own public key for the TEE so that the server can decrypt the file output by the TEE encrypted with the server public key using its own private key, which would have been encrypted with the public key of the institutional device for transmission to the institutional device so that the server can steal the user's private information in this manner.
In step S407, the TEE generates a risk union file F4.
Specifically, after acquiring the ciphertext risk data files of each mechanism, the TEE decrypts each ciphertext risk data file by using its own private key, thereby acquiring the risk data files (including the risk data file F2) of each mechanism. Thereafter, the TEE may generate a risk union file F4 based on the risk data files of the various institutions. The risk union set file F4 includes a plurality of rows, which correspond to all risk users included in the plurality of organizations, respectively, each row including a user ID, a risk tag set, and an organization set, where the risk tag set is obtained from the plurality of risk data files, and the organization set includes organization identifiers of organizations that provide risk tags.
Fig. 5 is a schematic process diagram of generating a risk union file F4 in an embodiment of the present specification. The upper part of fig. 5 schematically shows the risk data files of the respective organizations, wherein the risk data file of the organization a corresponds to the organization identifier DIDa of the organization a, the risk data file of the organization B corresponds to the organization identifier DIDb of the organization B, and the risk data file of the organization C corresponds to the organization identifier DIDc of the organization C. The user IDs of the risky users in the respective institutions and the corresponding risk labels are shown in the respective risk data files, and the plurality of lines in the risk data files are arranged in ascending order of the user IDs.
In the TEE, when merging processing is performed on a plurality of risk data files, as shown in fig. 5, a minimum user ID is first indicated with a pointer for each risk data file. Among the user IDs indicated by the pointers in the three risk data files in fig. 5, the user ID of organization a is the smallest ID, and therefore, ID1{ risk1} { DIDa }, i.e., { risk1} is a risk label set of ID1 in the plurality of risk data files, and { DIDa } is a set of organization identifications providing labels in the risk label set, are written in line 1 in the risk union file shown in the lower part of fig. 5.
After noting the information corresponding to ID1 in the risk union file, a pointer is pointed to the next line, i.e., the line corresponding to ID3, in the risk data file of agency a, and the above-described process is repeated. Specifically, after the minimum ID indicated by the three pointers is determined to be ID2 in the TEE, information "ID2{ risk2, riskL } { DIDb, DIDc }" corresponding to ID2 is recorded on line 2 in the risk union document. After traversing all the rows in each risk data file using the fingers through the same process as described above, the risk union file F4 shown in the lower part of fig. 5 can be obtained.
It is understood that the risk union file F4 shown in fig. 5 is only an example and is not intended to limit the scope of the embodiments of the present description. For example, only a user identification and a set of risk tags may be included in the risk union file for querying of user risk data.
In step S409, the TEE encrypts the risk union file F4 using the TEE public key to obtain a ciphertext risk union file F5.
The TEE encrypts the file F4 by using the TEE's public key so that the server 400 cannot read the information in the file F4, thereby further protecting the privacy of the user and the privacy of the organization.
In step S411, the TEE sends file F5 to server 400.
Specifically, the TEE stores the file F5 outside the TEE (i.e., the EPC), for example (e.g., a storage medium in the server 400 or a storage server outside the server 400), and transmits a storage address of the file F5 to the server 400, so that the server 400 can read the file F5.
In step S413, the server stores the file F5.
Specifically, the server 400 may store the file F5 in a storage server inside or outside the server 400, and record a storage address of the file F5 for obtaining the file F5.
Fig. 6 is a flowchart of a method for generating a risk query data file ciphertext by a mechanism device side in an embodiment of the present specification. The mechanism apparatus in fig. 6 may be any one of the plurality of mechanism apparatuses in fig. 1. The mechanism apparatus 100 is described below as an example.
As shown in fig. 6, first, in step S601, the institution apparatus 100 reads the initial query data file F6, and acquires the identity information of the user to be queried.
In the organization a corresponding to the organization apparatus 100, an organization administrator may periodically generate an initial query data file F6 in the organization apparatus 100 according to a data analysis result in the organization a, where the file F6 includes identity information of one or more users to be queried in the organization a. The identity information includes, for example, a name, a certificate number, and the like. Specifically, file F6 may include a plurality of rows, each of which may be in the form of: "name/certType/certNum", wherein name is the user name, certType is the certificate type, certNum is the certificate number, and the three form three elements of user identity information.
After the facility administrator generates the file F6 in the facility device 100, the file F6 is uploaded to the storage of the client. After monitoring the update of the file F6, the client may read the file F6 line by line, for example, so as to obtain the identity information of each user to be queried.
In step S603, the agency device 100 determines whether a user ID corresponding to the identity information is stored locally.
In order to protect the privacy of the user, it is necessary to perform desensitization processing on the user identity information in the file F6, that is, the user identity information cannot be directly included in the query data file sent out from the mechanism device 100. Therefore, each organization only needs to use the same user ID for the same user to replace the identity information of the user. Specifically, the client in the facility device 100 first determines, for the user identification information in one row in the file F6, whether the user ID corresponding to the identification information is locally stored. For example, the client may determine whether the identity information and the corresponding user ID are included in a mapping table of a preset address in the hard disk. If not, the client may perform step S605, requesting the user ID of the user from the server 400.
In step S605, the agency device 100 requests the user ID of the user from the server 400.
Specifically, since the server 400 is also not fully trusted, the agency device 100 also needs to desensitize the three-factor information of the user when requesting the user ID from the server 400. Specifically, the agency device 100 may calculate a hash value of the three-factor information, hash1= hash (name + certType + certNum), where "+" may indicate sequential concatenation of two items of data, and then the agency device 100 may send the hash value hash1 to the server 400 to request the user ID corresponding to the hash value.
In step S607, the server 400 returns the user ID of the user to the agency device 100.
After receiving hash1, the server 400 may calculate an ID corresponding to hash1 using a preset rule.
In one embodiment, to further enhance data security, the server 400 may perform a salt operation on hash1, for example, by calculating hash (hash 1+ salt), and using the obtained hash value as the user ID, where salt is a value generated by the server in advance. The user ID is obtained by adopting the salting operation on the hash1, so that a malicious party can be prevented from presuming the three-element information corresponding to the hash 1.
After determining the user ID, the server returns the user ID to the agency device 100. By doing so, the facility device 100 uses the user ID for one user in the query data file it sends to the server in agreement with the user ID of the user in the previous risk union file, so that the risk information of the user can be queried in the risk union file based on the user ID.
In step S609, the agency device 100 stores the user identification information and the user ID in association.
This step can refer to the above description of step S209, and is not described herein again.
In step S611, the agency device 100 writes the user ID in the inquiry data file F7.
In the case where the agency device 100 determines in step S603 that the user ID corresponding to the identity information is stored locally (for example, in the mapping table described above), step S611 may be directly performed. Alternatively, the mechanism apparatus 100 may perform step S611 after performing step S609.
The client in the facility device 100 may initialize the file F7 while starting reading the file F6, and after reading the user ID corresponding to one line in the file F6 line by line, record the user ID in one line in the file F7 corresponding to the one line in the file F6. In this way, the client can generate the query data file F7 corresponding to the file F6 after performing the above-described processing for each line in the file F6.
In an embodiment, after the client generates the file F7 as described above, the client may sort the rows in the file F7 in the ascending order of the user IDs, so as to facilitate subsequent query from the risk union file in the descending order of the user IDs, thereby improving the query efficiency.
In step S613, the client may also encrypt file F7 using the public key of the TEE, thereby generating ciphertext query data file F8. By so doing, the respective user IDs queried by the agency device 100 cannot be acquired outside the TEE of the server 400, further protecting user privacy. It will be appreciated that file F7 is not limited to being encrypted using the TEE's public key, for example, other asymmetric or symmetric keys may be negotiated between the TEE and the facility device for encrypting file F7.
Fig. 7 is a flowchart of a risk data query method in an embodiment of the present specification.
As shown in fig. 7, in step S701, the agency device 100 transmits the ciphertext query data file F8 to the server 400.
Specifically, the institution device 100 may sign the document F8 using its own private key, and send the DID (e.g., DIDa) of the institution device 100, the document F8, and the signature of the document F8 by the private key of DIDa to the server 400. So that the server 400 can verify the signature to verify the corresponding agency identity of the agency device 100.
At step S703, the server 400 provides the above-described ciphertext risk union file F5, file F8, and the organization public key to the TEE to request query of the user risk information.
After receiving the file F8 from the facility device 100, the server 400 may store the file F8 in a storage server inside or outside the server, and acquire a storage address of the file F8.
Server 400 may then send the storage addresses of file F5 and file F8 and the public key of institution a to the TEE. So that the TEE can read file F5 and file F8 from the respective file addresses. The TEE can decrypt the file F5 and the file F8 respectively using its own private key to obtain a risk union file F4 and a query data file F7. The public key of the organization a is subsequently used for encrypting the file sent to the organization a, and it can be understood that the TEE is not limited to encrypting the file sent to the organization using the public key of the organization, but may use any key negotiated by the TEE and the organization device or the server and the organization device, including a symmetric key and an asymmetric key.
In step S705, the TEE will request the parameter UL.
The request parameter includes, for example, a public key of the institution apparatus 100, a file address, and the like.
The TEE can link the request parameters and link the operation of the server, and the organization can verify whether the public key provided by the server is correct, so that the possibility that the following server is malicious is avoided: it is possible that the server replaces the public key of the institution device with its own public key to the TEE so that the server can decrypt the file output by the TEE encrypted with the server public key using its own private key, which would have been encrypted with the public key of the institution device to send to the institution device so that the server can steal the user privacy information in this manner. In addition, the inquiry operation of the server can be stored for evidence, so that the server can be prevented from initiating the inquiry operation to steal the privacy of the user.
In step S707, the TEE generates a query result file F9.
Specifically, after obtaining the risk union file F4 and the query data file F7, the TEE may read the user identifiers line by line from the query data file F7 according to the sequence of the user identifiers in the query data file F7, and create a query result file F9 while starting to read the file F7. For example, the TEE, after reading a certain user identification (e.g., user identification of user U2) in file F7, queries in risk union file F4 whether the user identification of user U2 is included. Under the condition that the risk union file F4 includes the user identifier of the user U2, the TEE reads the set of risk tags corresponding to the user identifier of the user U2 from the risk union file F4, and records the user identifier of the user U2 and the set of risk tags corresponding to the user identifier in a row in the query result file F9. After each user id in the file F7 is thus processed as described above, the generation of the file F9 can be completed.
At the same time, to encourage each organization to share its own risk data with other organizations, the server may record the scores of each organization, which are updated based on the organization's usage of file F4. Specifically, the TEE, after determining that the organization a queries the risk label set of the user U2 in the file F8 by using the file F4 as described above, reduces the score of the organization a by a preset score, and simultaneously increases the score of each organization in the organization identifier set corresponding to the user U2 by the preset score. After the generation of the file F9 is completed, updated information of the scores of the respective institutions is also obtained in the TEE.
In step S709, the TEE encrypts file F9 using the public key of authority a to obtain ciphertext result file F10.
The TEE encrypts the file F9 by using the public key of the organization a to send to the server 400, so that the server 400 cannot read the information in the file F9, and only the organization a can read the file F9, thereby further protecting the privacy of the user and the privacy of the organization.
At step S711, the TEE provides file F10 to server 400.
Specifically, the TEE may store the file F10 outside the TEE (i.e., the EPC), such as a storage medium in the server 400 or a storage server outside the server 400, and transmit a storage address of the file F10 to the server 400, so that the server 400 may read the file F10. The TEE may also send file F10 directly to server 400
At the same time, the TEE may provide updated information on the scores of the various institutions to the server 400. Assuming that the score decreased for organization a in the update information is 5 points, after receiving the score update information, the server 400 first queries the current score of organization a for organization a, and if the current score of organization a is 3 points and is not enough to be decreased by 5 points, the server 400 may charge for organization a as a query fee, and at the same time, the server 400 increases the score for other organizations according to the update information. In this way, each organization can reduce the charge for inquiry by sharing its own risk data with other organizations, thereby facilitating the sharing of risk data by each organization.
In step S713, the server 400 transmits the file F10 to the agency device 100.
The server 400 may directly transmit the file F10 to the facility device 100 after reading the file F10.
In step S715, the agency device 100 decrypts the file F10 using its private key, resulting in a file F9.
In step S717, the agency device 100 replaces the user ID in the file F9 with the user identification information, resulting in a file F11.
Specifically, the facility device 100 may read the user identification information corresponding to each user ID in the file F9 in the aforementioned stored mapping table of the user identification information and the user ID, and replace the user ID in the file F9 with the user identification information, so that the file F11 may be generated. The mechanism apparatus 100 can thereby comprehensively judge the risk degree of the user based on the risk label sets of the respective users in the file F11, improving the judgment accuracy.
In the embodiment of the specification, by combining the server and the TEE to execute the risk data query method, the mechanism device performs desensitization, encryption and other processing on the user identifier of the user to be queried and sends the user identifier to the server, and the server provides the user identifier for the TEE, so that the privacy of the user is protected, the compliance requirement in a service scene is met, meanwhile, the TEE only needs to interact with the server and does not need to interact with each mechanism device, only a simpler application program needs to be set in the TEE, and the risk data does not need to be stored in the TEE, so that the calculation and storage resources of the TEE are saved.
Fig. 8 is an architecture diagram of a trusted unit for performing the methods shown in fig. 2 to 7 in an embodiment of the present disclosure, where the method includes:
an obtaining unit 81, configured to obtain ciphertext query data and first ciphertext data from a server, where the ciphertext query data is obtained by encrypting query data, the query data includes a first user identifier of a first user to be queried of a first organization, the first ciphertext data is obtained by encrypting first data, the first data includes risk information of n users, and risk information of each user includes a user identifier of the user, a risk tag set, and an organization identifier set, where the risk tag set includes risk tags obtained from the multiple risk data based on the user identifiers of the users, and the organization identifier set includes an organization identifier of an organization that provides the risk tags of the user;
a decryption unit 82, configured to decrypt the ciphertext query data and the first ciphertext data to obtain the query data and the first data;
a writing unit 83, configured to write, when it is determined that the first data includes a first user identifier, a first risk tag set corresponding to the first user identifier and the first user identifier in second data;
an encrypting unit 84, configured to encrypt the second data to obtain second ciphertext data;
a providing unit 85, configured to provide the second ciphertext data to the server.
Fig. 9 is a server in an embodiment of the present specification, where the server is configured to execute the methods shown in fig. 2 to 7, and includes:
a receiving unit 91, configured to receive ciphertext query data from a first mechanism device, where the ciphertext query data is obtained by encrypting query data, the query data includes a first user identifier of a first user to be queried, and the first mechanism device belongs to a first mechanism;
a providing unit 92, configured to provide the ciphertext query data and first ciphertext data obtained in advance to a TEE, where the first ciphertext data is obtained by encrypting first data using a public key of the TEE, the first data is generated based on multiple risk data from multiple organizations, the first data includes risk information of n users, and the risk information of each user includes a user identifier of the user, a risk tag set, and an organization identifier set, where the risk tag set includes risk tags obtained from the multiple risk data based on the user identifier of the user, and the organization identifier set includes organization identifiers of organizations that provide the risk tags of the user;
the receiving unit 91 is further configured to receive second ciphertext data from the TEE, where the second ciphertext data is obtained by encrypting second data, the second data includes the first user identifier and a first risk tag set corresponding to the first user identifier, and the first risk tag set is obtained from the first data;
the providing unit 92 is further configured to provide the second ciphertext data to the first mechanism device.
Embodiments of the present specification also provide a computer-readable storage medium on which a computer program is stored, which, when executed in a computer, causes the computer to perform the method shown in fig. 2 to 7.
Embodiments of the present specification further provide a TEE, including a memory and a processor, where the memory stores executable codes, and the processor executes the executable codes to implement the method shown in fig. 2 to 7.
Embodiments of the present specification further provide a server, which includes a memory and a processor, where the memory stores executable codes, and the processor executes the executable codes to implement the method shown in fig. 2 to 7.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain a corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical blocks. For example, a Programmable Logic Device (PLD) (e.g., a Field Programmable Gate Array (FPGA)) is an integrated circuit whose Logic functions are determined by a user programming the Device. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as ABEL (Advanced Boolean Expression Language), AHDL (alternate Hardware Description Language), traffic, CUPL (core universal Programming Language), HDCal, jhddl (Java Hardware Description Language), lava, lola, HDL, PALASM, rhyd (Hardware Description Language), and vhigh-Language (Hardware Description Language), which is currently used in most popular applications. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, atmel AT91SAM, microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, apparatuses, modules or units described in the above embodiments may be specifically implemented by a computer chip or an entity, or implemented by a product with certain functions. One typical implementation device is a server system. Of course, this application does not exclude that with future developments in computer technology, the computer implementing the functionality of the above embodiments may be, for example, a personal computer, a laptop computer, a vehicle mounted human interaction device, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device or a combination of any of these devices.
Although one or more embodiments of the present description provide method operational steps as described in the embodiments or flowcharts, more or fewer operational steps may be included based on conventional or non-inventive approaches. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When an actual apparatus or end product executes, it may execute sequentially or in parallel (e.g., parallel processors or multi-threaded environments, or even distributed data processing environments) according to the method shown in the embodiment or the figures. The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in a process, method, article, or apparatus that comprises the recited elements is not excluded. For example, if the terms first, second, etc. are used to denote names, they do not denote any particular order.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, when implementing one or more of the present description, the functions of each module may be implemented in one or more software and/or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units, etc. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage, graphene storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
As will be appreciated by one skilled in the art, one or more embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
One or more embodiments of the specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment. In the description of the specification, reference to the description of "one embodiment," "some embodiments," "an example," "a specific example," or "some examples" or the like means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the specification. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Moreover, various embodiments or examples and features of various embodiments or examples described in this specification can be combined and combined by one skilled in the art without being mutually inconsistent.
The above description is intended to be illustrative of one or more embodiments of the disclosure, and is not intended to limit the scope of one or more embodiments of the disclosure. Various modifications and alterations to one or more embodiments described herein will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement made within the spirit and principle of the present specification shall be included in the scope of the claims.

Claims (16)

1. A method of risk data query, comprising:
the method comprises the steps that first mechanism equipment sends ciphertext query data to a server, the ciphertext query data are obtained by encrypting the query data, the query data comprise a first user identification of a first user to be queried, and the first mechanism equipment belongs to a first mechanism;
the server provides the ciphertext query data and first ciphertext data which are obtained in advance to a trusted unit for processing privacy data, the first ciphertext data are obtained by encrypting first data, the first data comprise risk information of n users, and the risk information of each user comprises a user identifier and a risk label set of the user;
the trusted unit decrypts the ciphertext query data and the first ciphertext data to obtain the query data and the first data; when it is determined that the first data comprises a first user identifier, writing a first risk label set corresponding to the first user identifier in the first data into second data; encrypting the second data to obtain second ciphertext data, and providing the second ciphertext data to the server;
the server provides the second ciphertext data to the first mechanism device;
and the first mechanism equipment decrypts the second ciphertext data to obtain a first risk label set corresponding to the first user identification.
2. The method of claim 1, further comprising:
the multiple mechanism devices send ciphertext risk data of mechanisms to which the multiple mechanism devices belong to a server;
the trusted unit acquires a plurality of ciphertext risk data of the plurality of mechanisms from the server, respectively decrypts the ciphertext risk data to obtain a plurality of risk data, wherein the risk data comprise user identifications and risk labels of a plurality of users in the mechanisms corresponding to the risk data; generating the first data based on the plurality of risk data; encrypting the first data to obtain first ciphertext data; providing the first ciphertext data to the server.
3. The method of claim 1 or 2, the first subscriber identity comprising: and carrying out hash calculation on one or more items of information of the first user to obtain a summary value.
4. The method of claim 3, further comprising: the first mechanism device calculates a first hash value of one or more items of information of a first user, and sends the first hash value to the server;
the server calculates a second hash value of the first hash value and a preset value as a first user identifier of the first user, and returns the first user identifier to the first mechanism device;
the first mechanism device stores the corresponding relation between the first user identification and one or more items of information of the first user.
5. The method of claim 4, the first mechanism device decrypting the second ciphertext data to obtain a first set of risk tags that corresponds to the first subscriber identity comprising: the first mechanism equipment decrypts the second ciphertext data to obtain the second data; and generating third data according to a pre-stored corresponding relation between the first user identification and one or more items of information of the first user, wherein the third data comprises one or more items of information of the first user and the first risk label set.
6. The method of claim 2, further comprising: the server, after receiving the plurality of ciphertext risk data from the plurality of institution devices, storing the ciphertext risk data for each institution in association with an institution identification for each institution, providing a storage address for each ciphertext risk data to the trusted unit,
the trusted unit acquiring a plurality of ciphertext risk data of the plurality of organizations through the server comprises: and the trusted unit acquires the plurality of ciphertext risk data based on each storage address.
7. The method of claim 1, further comprising: the server providing a public key of the first organization to the trusted unit, the trusted unit encrypting the second data comprising: the trusted unit encrypts the second data using a public key of the first authority.
8. The method of claim 7, further comprising: the trusted unit certifies the public key of the first institution received from the server into a blockchain after receiving the public key of the first institution from the server.
9. The method of claim 7, the public key of the first organization being a public key of a DID of the first organization, the method further comprising: the server obtains the public key of the first institution's DID from the blockchain.
10. The method of claim 1 or 2, further comprising a set of institution identifications in the user's risk information, the set of institution identifications comprising institution identifications of institutions providing risk labels for the user, the method further comprising: after the trusted unit generates the second ciphertext data, the credit unit reduces the score of the first organization, increases the score of each second organization in an organization identification set corresponding to the first user identification, and provides the score information of the first organization and each second organization to the server; and the server updates the scores of the first mechanism and each second mechanism according to the score information.
11. A method of risk data querying, performed by a trusted unit, comprising:
acquiring ciphertext query data and first ciphertext data from a server, wherein the ciphertext query data are acquired by encrypting the query data, the query data comprise a first user identifier of a first user to be queried of a first organization, the first ciphertext data are acquired by encrypting the first data, the first data comprise risk information of n users, and the risk information of each user comprises a user identifier and a risk tag set of the user;
decrypting the ciphertext query data and the first ciphertext data to obtain the query data and the first data;
when it is determined that the first data comprises a first user identifier, writing a first risk label set corresponding to the first user identifier in the first data into second data; and encrypting the second data to obtain second ciphertext data, and providing the second ciphertext data to the server.
12. A risk data query method, performed by a server, the method comprising:
receiving ciphertext query data from first mechanism equipment, wherein the ciphertext query data are obtained by encrypting the query data, the query data comprise a first user identifier of a first user to be queried, and the first mechanism equipment belongs to a first mechanism;
providing the ciphertext query data and first ciphertext data which are obtained in advance to a trusted unit, wherein the first ciphertext data are obtained by encrypting first data by using a public key of the trusted unit, the first data comprise risk information of n users, and the risk information of each user comprises a user identifier and a risk label set of the user;
receiving second ciphertext data from the trusted unit, wherein the second ciphertext data is obtained by encrypting second data, the second data comprises the first user identifier and a first risk tag set corresponding to the first user identifier, and the first risk tag set is obtained from the first data;
and providing the second ciphertext data to the first mechanism device.
13. A risk data query system comprises a first organization device, a server and a trusted unit,
the first mechanism equipment is used for sending ciphertext query data to a server, the ciphertext query data are obtained by encrypting the query data, the query data comprise a first user identification of a first user to be queried, and the first mechanism equipment belongs to a first mechanism;
the server is used for providing the ciphertext query data and first ciphertext data which are obtained in advance to the trusted unit, the first ciphertext data are obtained by encrypting first data, the first data comprise risk information of n users, and the risk information of each user comprises a user identifier and a risk label set of the user;
the trusted unit is used for decrypting the ciphertext query data and the first ciphertext data to obtain the query data and the first data; when it is determined that the first data comprises a first user identifier, writing a first risk label set corresponding to the first user identifier in the first data into second data; encrypting the second data to obtain second ciphertext data, and providing the second ciphertext data to the server;
the server is further configured to provide the second ciphertext data to the first mechanism device;
and the first mechanism equipment is used for decrypting the second ciphertext data to obtain a first risk label set corresponding to the first user identifier.
14. A trusted unit, comprising:
the system comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring ciphertext query data and first ciphertext data from a server, the ciphertext query data is obtained by encrypting the query data, the query data comprises a first user identifier of a first user to be queried of a first mechanism, the first ciphertext data is obtained by encrypting the first data, the first data comprises risk information of n users, and the risk information of each user comprises a user identifier and a risk tag set of the user;
a decryption unit, configured to decrypt the ciphertext query data and the first ciphertext data to obtain the query data and the first data;
the writing unit is used for writing a first risk label set corresponding to a first user identifier in first data into second data when the first data comprises the first user identifier;
the encryption unit is used for encrypting the second data to obtain second ciphertext data;
a providing unit, configured to provide the second ciphertext data to the server.
15. A server, comprising:
the system comprises a receiving unit, a first organization device and a second organization device, wherein the receiving unit is used for receiving ciphertext query data from the first organization device, the ciphertext query data are obtained by encrypting the query data, the query data comprise a first user identifier of a first user to be queried, and the first organization device belongs to the first organization;
a providing unit, configured to provide the ciphertext query data and first ciphertext data obtained in advance to a trusted unit, where the first ciphertext data is obtained by encrypting first data using a public key of the trusted unit, the first data includes risk information of n users, and the risk information of each user includes a user identifier and a risk tag set of the user;
the receiving unit is further configured to receive second ciphertext data from the trusted unit, where the second ciphertext data is obtained by encrypting second data, where the second data includes the first user identifier and a first risk tag set corresponding to the first user identifier, and the first risk tag set is obtained from the first data;
the providing unit is further configured to provide the second ciphertext data to the first mechanism device.
16. A computer-readable storage medium, on which a computer program is stored which, when executed in a computer, causes the computer to carry out the method of claim 11 or 12.
CN202211060896.3A 2022-08-31 2022-08-31 Risk data query method, system, trusted unit and server Pending CN115408716A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211060896.3A CN115408716A (en) 2022-08-31 2022-08-31 Risk data query method, system, trusted unit and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211060896.3A CN115408716A (en) 2022-08-31 2022-08-31 Risk data query method, system, trusted unit and server

Publications (1)

Publication Number Publication Date
CN115408716A true CN115408716A (en) 2022-11-29

Family

ID=84163724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211060896.3A Pending CN115408716A (en) 2022-08-31 2022-08-31 Risk data query method, system, trusted unit and server

Country Status (1)

Country Link
CN (1) CN115408716A (en)

Similar Documents

Publication Publication Date Title
CN111741036B (en) Trusted data transmission method, device and equipment
EP3962020B1 (en) Information sharing methods and systems
US10917394B2 (en) Data operations using a proxy encryption key
CN111770199B (en) Information sharing method, device and equipment
CN111818186B (en) Information sharing method and system
CN113420049B (en) Data circulation method, device, electronic equipment and storage medium
EP4092984A1 (en) Data processing method and apparatus, device and medium
US11514445B2 (en) Information sharing methods, apparatuses, and devices
WO2022116761A1 (en) Self auditing blockchain
US20220191034A1 (en) Technologies for trust protocol with immutable chain storage and invocation tracking
Suresh et al. Securing personal health record system in cloud using user usage based encryption
Kaur et al. Attribute-based access control scheme for secure storage and sharing of EHRs using blockchain and IPFS
CN115442115A (en) Risk data pushing method, system, server and trusted unit
CN115495774A (en) Risk data query method, system, trusted unit and server
CN115408716A (en) Risk data query method, system, trusted unit and server
Mahapatra et al. A secure health management framework with anti-fraud healthcare insurance using blockchain
CN115409265A (en) User risk level determination method, system and trusted unit
CN115422588A (en) Risk data sharing method and system, trusted unit and server
CN115408713A (en) Risk data query method, system, trusted unit and server
CN115442111A (en) Risk data pushing method and system and trusted unit
CN115941200A (en) Method, system and blockchain node for storing alliance information in blockchain
CN115408714A (en) User data query method, system and trusted unit
Δημουλής Secure content distribution from Insecure cloud computing systems
Chowdhury et al. A decentralized blockchain-based model to secure confidential medical information
Ghanmi et al. Blockchain‐cloud integration: Comprehensive survey and open research issues

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