Data verification method and device, equipment, medium and program product
By receiving and processing verification requests in the trusted execution environment of the first agency and sending verification requests to multiple second agencies for multi-party verification, the problem of information exposure during the data verification process is solved, and information confidentiality and reliability of verification results are achieved.
Patent Information
- Application Number
- CN202411827548.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-02-25
AI Technical Summary
During the data verification process, the information of the data custody agency submitted by the customer is easily exposed, causing the customer to face potential risks.
By receiving the verification request in the trusted execution environment of the first institution and sending verification requests to the trusted execution environment of the multiple second institutions, multiple verifications are performed, and the results are finally summarized in the trusted execution environment of the first institution and output the verification conclusion.
It effectively reduces unnecessary information exposure during data verification, protects the information of customers' data custody agencies, and meets the needs of confidentiality of information.
Smart Images

Figure CN119515538A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of information security and can be used in the field of financial technology or other fields. More specifically, it relates to a data verification method, device, equipment, medium and program product. Background Art
[0002] There are often some data verification requirements in business processing, such as verifying the authenticity of the data provided by customers (such as asset data, or identity data such as family relationships and inheritance relationships). For example, when a customer applies for a loan at a bank, the customer usually needs to submit relevant data and relevant certificates, some of which may not be registered and kept by the bank that currently handles the loan business (for example, the customer's real estate data, equity data, identity relationship data, etc.). Therefore, the bank needs to verify the data submitted by the customer.
[0003] At present, when data verification is carried out, the institution with verification needs (such as the business processing institution) sends a verification request to the data custodian, and then the data custodian returns the verification conclusion. In this way, the information of the custodian of the data submitted by the customer is objectively exposed. This will bring certain potential risks to the customer. For example, others can infer the types and levels of assets that a customer may have by obtaining information about the data custodian of a customer, or they can also infer the types of business that the customer may be handling and possible actions in the future. This will inevitably bring adverse effects to customers. Summary of the invention
[0004] In view of the above problems, the present disclosure provides a data verification method, apparatus, device, medium and program product based on a trusted execution environment, which can reduce or even avoid unnecessary information exposure during the data verification process to a large extent.
[0005] According to the first aspect of the present disclosure, a data verification method is provided, which is applied to a first institution. The method includes: receiving a verification request sent by a requesting party to a trusted execution environment of the first institution, the verification request including first data and first certification information for verifying the first data; sending the verification request to n trusted execution environments of second institutions through the trusted execution environment of the first institution, where n is an integer greater than or equal to 1; processing the verification request in the trusted execution environment of the first institution to obtain a first verification result; receiving second verification results sent by n trusted execution environments of the second institution through the trusted execution environment of the first institution, wherein the second verification result is obtained by processing the verification request in the trusted execution environment of the second institution; processing the first verification result and n second verification results in the trusted execution environment of the first institution to obtain and output a verification conclusion; and sending the verification conclusion to the requesting party.
[0006] According to an embodiment of the present disclosure, processing the verification request in the trusted execution environment of the first institution to obtain the first verification result includes: calling an independent verification module deployed in the trusted execution environment of the first institution to process the verification request to obtain the first independent verification result; and obtaining the first verification result based on the first independent verification result. The independent verification module processes the verification request based on data stored in a local institution, and the local institution is an institution that deploys the independent verification module.
[0007] According to an embodiment of the present disclosure, the calling of an independent verification module deployed in the trusted execution environment of the first institution to process the verification request and obtain the first independent verification result includes performing the following operations through the independent verification module: searching for second data in the first institution according to the search conditions of the first data; when the second data is found, processing the second data according to a predetermined proof information generation algorithm to generate second proof information, and obtaining the first independent verification result by comparing the second proof information with the first proof information.
[0008] According to an embodiment of the present disclosure, processing the verification request in the trusted execution environment of the first institution to obtain the first verification result also includes: when a first-level verification module is also deployed in the trusted execution environment of the first institution, calling the first-level verification module to process the verification request to obtain a first-level verification result; and obtaining the first verification result based on the first independent verification result and the first-level verification result. Wherein, the first-level verification module establishes a secure communication channel with m second-level verification modules, and each of the second-level verification modules is deployed in a non-trusted execution environment of a third institution; wherein the first-level verification module obtains data in m third institutions through secure communication with the m second-level verification modules, and processes the verification request based on the data in the m third institutions, where m is an integer greater than or equal to 1.
[0009] According to an embodiment of the present disclosure, calling the first-level verification module to process the verification request and obtaining the first-level verification result includes: performing the following operations through the first-level verification module: based on the verification request, sending a data request to m second-level verification modules, the data request including the search conditions for the first data; receiving the return result of each of the second-level verification modules, wherein the return result includes the data that meets the search conditions and is searched by the second-level verification module from the third institution where the second-level verification module is located according to the data request; processing the data in the return result according to the proof information generation algorithm to generate a third proof information; and comparing the m third proof information with the first proof information to obtain the content of the first-level verification result.
[0010] According to an embodiment of the present disclosure, the first certification information includes encrypted information, and processing the verification request in the trusted execution environment of the first institution to obtain a first verification result includes: obtaining key data corresponding to the first data, wherein the key data is synchronized from the trusted execution environment of the regulatory agency to the trusted execution environment of the first institution; and verifying the first data based on the key data and the first certification information.
[0011] According to an embodiment of the present disclosure, the second verification result is obtained by processing the verification request in the trusted execution environment of the second institution in the same manner as in the trusted execution environment of the first institution.
[0012] According to an embodiment of the present disclosure, the requesting party is the first institution, or the requesting party is another institution different from the first institution and the second institution.
[0013] According to a second aspect of the disclosed embodiment, a data verification device is provided, which is deployed in a first institution. The device includes: a receiving unit, an interaction unit, a first verification unit, a second verification unit, and a sending unit. The receiving unit is used to receive a verification request sent by a requesting party to a trusted execution environment of the first institution, wherein the verification request includes first data and first certification information for verifying the first data. The interaction unit is used to send the verification request to n trusted execution environments of second institutions through the trusted execution environment of the first institution, and to receive second verification results sent by n trusted execution environments of the second institutions through the trusted execution environment of the first institution, wherein the second verification result is obtained by processing the verification request in the trusted execution environment of the second institution, and n is an integer greater than or equal to 1. The first verification unit is used to process the verification request in the trusted execution environment of the first institution to obtain a first verification result. The second verification unit is used to process the first verification result and n second verification results in the trusted execution environment of the first institution to obtain a verification conclusion and output it. The sending unit is used to send the verification conclusion to the requesting party.
[0014] According to a third aspect of an embodiment of the present disclosure, an electronic device is provided, comprising: one or more processors; and a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the above method.
[0015] According to a fourth aspect of the embodiments of the present disclosure, a computer-readable storage medium is provided, on which a computer program or instruction is stored. When the computer program or instruction is executed by a processor, the steps of the method are implemented.
[0016] The fifth aspect of the embodiments of the present disclosure further provides a computer program product, including a computer program or instructions, which implement the steps of the above method when the above computer program or instructions are executed by a processor. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The above contents and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:
[0018] Figure 1 The following schematically shows an application scenario diagram of the data verification method and device according to an embodiment of the present disclosure;
[0019] Figure 2 A flowchart of a data verification method according to an embodiment of the present disclosure is schematically shown;
[0020] Figure 3 The system architecture of the data verification method according to an embodiment of the present disclosure is schematically shown;
[0021] Figure 4 The structure diagram of the data generation module in the system architecture of the data verification method of the embodiment of the present disclosure is schematically shown;
[0022] Figure 5 A schematic diagram showing a structure of a data verification initiation module in a system architecture of a data verification method according to an embodiment of the present disclosure;
[0023] Figure 6 A schematic diagram showing a structure of a data verification module in a system architecture of a data verification method according to an embodiment of the present disclosure;
[0024] Figure 7 A schematic diagram showing a structure of an independent verification module in a system architecture of a data verification method according to an embodiment of the present disclosure;
[0025] Figure 8 The structure diagram of the first-level verification module in the system architecture of the data verification method of the embodiment of the present disclosure is schematically shown;
[0026] Fig. 9 The structure diagram of the secondary verification module in the system architecture of the data verification method of the embodiment of the present disclosure is schematically shown;
[0027] Fig.10 A schematic diagram showing a structure of a supervision module in a system architecture of a data verification method according to an embodiment of the present disclosure;
[0028] Fig.11 A block diagram schematically shows a data verification device according to an embodiment of the present disclosure; and
[0029] Fig.12A block diagram of an electronic device suitable for implementing the data verification method according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0030] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.
[0031] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.
[0032] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0033] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).
[0034] The disclosed embodiments provide a data verification method, apparatus, device, medium, and program product. According to the disclosed embodiments, when data needs to be verified, the data can be verified separately through the trusted execution environments of a first institution and at least one second institution, and the first institution aggregates all the verification results to obtain a verification conclusion, which is fed back to the requesting party for the verification. In this process, the data verification operation is performed by multiple verification institutions including the first institution and at least one second institution, and the entire verification process is performed in a trusted execution environment with isolation, and only the final verification conclusion is output to the outside. In this way, while meeting the data verification requirements, unnecessary information exposure is avoided, and the need for information confidentiality in data verification scenarios is effectively met.
[0035] Figure 1The application scenario diagram of the data verification method and device according to the embodiment of the present disclosure is schematically shown.
[0036] like Figure 1 As shown, the application scenario 100 includes a requester and multiple verification agencies. The multiple verification agencies are respectively deployed with a trusted execution environment, wherein Figure 1 The multiple verification agencies are specifically exemplified as a first agency A1 and two second agencies A2.
[0037] The requester is an institution that has a data verification requirement, such as a business processing institution. For example, when a customer goes to a bank to apply for a loan, he or she needs to submit his or her asset data and certification information, so the bank is the requester in the disclosed embodiment. The requester sends a verification request to the trusted execution environment of the first institution A1 and receives the verification conclusion returned by the first institution A1.
[0038] In the disclosed embodiment, the first institution A1 refers to a verification institution that plays an additional central role between the requesting party and other verification institutions. The first institution A1 can distribute the received verification request to the trusted execution environment of each second institution A2, and summarize the verification results of the second institution A2 and the verification results of the first institution A1, and then return the verification conclusion to the requesting party.
[0039] The second institution A2 refers to a verification institution in which the trusted execution environment deployed therein establishes a secure communication channel with the trusted execution environment of the first institution A1. The trusted execution environment of the second institution A2 can receive the verification request forwarded by the trusted execution environment of the first institution A1, and return the verification result obtained after processing the verification request to the trusted execution environment of the first institution A1.
[0040] In the disclosed embodiment, the first institution A1 and the second institution A2 both process the verification request in their own trusted execution environment to obtain the verification result. In some embodiments, the manner or process of processing the verification request in the trusted execution environment of the first institution A1 and the second institution A2 can be the same, which means that the distinction between the first institution A1 and the second institution A2 is mainly the difference in roles and division of labor. In this way, the identities of the first institution A1 and the second institution A2 can be interchangeable, so that the first institution A1 and n second institutions A2 can form a verification cluster.
[0041] Of course, in other embodiments, the first institution A1 and the second institution A2 may process the verification request in the trusted execution environment to obtain the verification result in different ways. For example, the first institution A1 and the second institution A2 may perform verification according to their respective business characteristics or verification strictness levels, and the corresponding verification result may include verification strictness level information or credibility information.
[0042] In some embodiments, the application scenario 100 may further include at least one third institution B. In the disclosed embodiment, the third institution B specifically refers to an institution that does not have a trusted execution environment hardware environment, but can establish a secure communication channel with the trusted execution environment of the verification institution (one of the first institution A1 and the second institution A2). In the process of processing the verification request by the trusted execution environment of the first institution A1 and the second institution A2, the data in the corresponding third institution B can also be loaded through the secure communication channel. This provides the third institution B without a trusted execution environment with the conditions for using the trusted execution environment for data verification, expands the scope of institutions that can participate in data verification, and broadens the scope of application of the final verification conclusion.
[0043] In some embodiments, the requester may be the first institution A1 itself. For example, after receiving the data and certification information submitted by the client, the non-trusted execution environment of the first institution A1 may generate a verification request and send the verification request to the trusted execution environment of the first institution A1.
[0044] In other embodiments, the requester may be another institution that securely communicates with the trusted execution environment of the first institution A1, wherein the requester may be installed with a client that communicates with the trusted execution environment of the first institution A1. In this way, the first institution A1 and the two second institutions A2 constitute a platform dedicated to data verification.
[0045] In the disclosed embodiment, since the verification request initiated by the requesting party is sent to the trusted execution environment of the first institution A1 through secure communication, the verification request initiated by the requesting party is difficult to be detected by the outside world. Therefore, the information of the institution initiating the verification request is also avoided from being exposed, thus further avoiding unnecessary exposure of more information during the data verification process.
[0046] In application scenario 100, since the verification is performed by the trusted execution environment of the first institution A1 and the two second institutions A2, and the trusted execution environment has hardware isolation, and the communication with the trusted execution environment is performed through a secure communication channel, the outside world cannot know which institution or institutions' verification results the requesting party has based its verification conclusion on, nor can it know the detailed verification process of each verification institution. In this way, the information of the data custodian institution can be avoided from being exposed, and the information of the institution that actually performed the verification operation can be avoided from being exposed, thereby meeting the need for information confidentiality in the data verification scenario.
[0047] The data verification method and device provided in the embodiments of the present disclosure can be used in the field of financial technology, and can also be used in any field other than the field of financial technology. The present disclosure does not limit the application field.
[0048] In the technical solution of the present disclosure, the user information (including but not limited to user personal information, user image information, user device information, such as location information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved are all information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with relevant laws, regulations and standards, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0049] The following combination Figure 1 Application scenarios, combined with Figure 2 The data verification method of the embodiment of the present disclosure is described in detail.
[0050] Figure 2 The flowchart of the data verification method according to the embodiment of the present disclosure is schematically shown.
[0051] like Figure 2 As shown, the data verification method of this embodiment includes operations S210 to S260, and the method can be performed by the first institution A1.
[0052] In operation S210, a verification request sent by a requesting party to a trusted execution environment of a first institution A1 is received, where the verification request includes first data and first certification information for verifying the first data.
[0053] The first data and the first certification information are illustrated by taking the scenario where a customer applies for a loan from a bank as an example. Specifically, when a customer applies for a loan, he needs to submit proof of assets, and the corresponding first data is the customer's asset data, and the first certification information is the certification information issued by the custodian (or certification agency) of the customer's asset data.
[0054] Next, in operation S220 , a verification request is sent to the trusted execution environments of n second institutions A2 through the trusted execution environment of the first institution A1 , where n is an integer greater than or equal to 1. In the application scenario 100 , n=2.
[0055] In operation S230, the verification request is processed in the trusted execution environment of the first institution A1 to obtain a first verification result.
[0056] In one embodiment, when the first certification information includes encrypted information (such as using the customer's key to encrypt the customer's deposit data to generate the corresponding information digest and signature value), when processing the verification request in the trusted execution environment of the first institution A1, the key data corresponding to the first data can be obtained first, and then the first data can be verified based on the key data and the first certification information. The key data corresponding to the first data can be the key data of the owner (customer) of the first data, or it can be the key data corresponding to the type of the first data (such as real estate). Among them, the key data can be synchronized from the trusted execution environment of the regulatory agency to the trusted execution environment of the first institution A1. In this way, the key data used when processing the verification request is synchronized from the trusted execution environment of the regulatory agency, which realizes strict supervision of the key data, and the key synchronization is performed through the trusted execution environment, so that the key data is secure and not leaked.
[0057] And in operation S240, the second verification result sent by the trusted execution environment of the first institution A1 is received by the trusted execution environment of the n second institution A2, wherein the second verification result is obtained by processing the verification request in the trusted execution environment of the second institution A2. In one embodiment, when the trusted execution environment of the second institution A2 processes the verification request, if key data is required, the key data can also be synchronized from the trusted execution environment of the regulatory agency to the trusted execution environment of the second institution.
[0058] In operation S250, the first verification result and the n second verification results are processed in the trusted execution environment of the first institution A1 to obtain and output a verification conclusion.
[0059] In one embodiment, the second verification result is obtained by processing the verification request in the trusted execution environment of the second institution A2 in the same manner as in the trusted execution environment of the first institution A1. Thus, when determining the verification conclusion in operation S250, the first verification result and the second verification result are analyzed with equal credibility or weight. Moreover, the first institution A1 and the n second institutions A2 can form a verification cluster.
[0060] In another embodiment, the second verification result may be obtained by processing the verification request in a different manner in the trusted execution environment of the second institution A2 than in the trusted execution environment of the first institution A1. Thus, when determining the verification conclusion in operation S250, different weights may be applied to the first verification result and the second verification result for analysis based on the difference in the credibility of the verification result caused by the difference in the processing method.
[0061] Finally, in operation S260, the verification conclusion is sent to the requesting party. In this way, only the final verification conclusion is provided to the requesting party, and the detailed verification process is all carried out in the trusted execution environment, thereby shielding information from the outside world.
[0062] It can be seen that in the disclosed embodiment, since the verification is performed through the trusted execution environment of multiple institutions, and the trusted execution environment has hardware isolation, and the final verification conclusion is obtained by summarizing all the verification results, instead of outputting which institution or institutions' verification results the verification conclusion is based on, the outside world cannot know the detailed process of the verification of each institution, and it is impossible to expose the information of the data custodian institution.
[0063] In the disclosed embodiment, the first institution A1 and n second institutions A2 can be combined to verify data without knowing the custodian of the first data. The advantage brought by this is that when a customer handles a business, he or she can only provide the corresponding data and certification information without providing the information of the data source or custodian. For example, when handling a loan business, the customer does not need to provide the bank with the information of the financial institution where his or her assets are located.
[0064] Furthermore, since the data verification in the disclosed embodiment can be conducted jointly with the first institution A1 and n second institutions A2, the institutions involved in the data verification are relatively extensive, which can improve the applicability of the verification conclusion. Figure 1 As illustrated in the application scenario, in some embodiments, during the process of the trusted execution environment of the first institution A1 and the second institution A2 processing the verification request, data in the third institution B can also be loaded through a secure communication channel for verification, which further expands the scope of institutions involved in data verification.
[0065] In this way, if the first data provided by the customer is aggregated data from multiple institutions, the verification efficiency and verification effect will be significantly improved. For example, in a scenario where a customer goes to a bank to apply for a loan, assuming that the customer has a deposit of 10 million, and the 10 million deposits are held in multiple banks, then the first data is the customer's 10 million deposits, and the first certification information can include the certification information provided by the multiple banks. For example, each bank will process the customer's deposit amount in the bank according to a pre-agreed certification information generation algorithm and generate corresponding certification information (such as information summary, etc.). Then, as long as the multiple banks are within the scope of institutions that can be covered by the data verification method according to the embodiment of the present disclosure, the customer's deposit data in multiple banks can be quickly verified through a single verification request.
[0066] The following is through Figure 3~Figure 9 A specific embodiment of the data verification method of the embodiment of the present disclosure is described in detail. It can be understood that the following description is illustrative and does not constitute a limitation of the present disclosure.
[0067] Figure 3 The system architecture of the data verification method according to an embodiment of the present disclosure is schematically shown.
[0068] like Figure 3 As shown, the system architecture may include a data generation module 001, a data verification initiation module 002, a data verification module 003, an independent verification module 004, a primary verification module 005, a secondary verification module 006 and a supervision module 007.
[0069] The data generation module 001 is deployed in a data storage institution. The data generation module 001 may include a first remote authentication submodule 101, a first data encryption submodule 102 and a data signature submodule 103. Figure 4 shown.
[0070] The data verification initiation module 002 is deployed on the requesting party (e.g., a business processing institution). Due to business processing needs (e.g., loan financing, etc.), the data verification initiation module 002 receives the first data and corresponding first certification information submitted by the customer, and initiates a verification request to the trusted execution environment of the first institution A1. The data verification initiation module 002 is set in the conventional operating system of the business processing institution. The data verification initiation module 002 may include a second remote authentication submodule 201, a verification initiation submodule 202, and a verification receiving submodule 203, such as Figure 5 shown.
[0071] The data verification module 003 is deployed in the trusted execution environment of the first institution A1. The data verification module 003 can receive the verification request sent by the data verification initiation module 002 from the requester, and feed back the final verification conclusion to the data verification initiation module 002. The data verification module 003 can include a third remote authentication submodule 301, a verification scheduling submodule 302 and a verification summary submodule 303, such as Figure 6 shown.
[0072] The independent verification module 004 is deployed in the trusted execution environment of the first institution A1 and the second institution A2. The independent verification module 004 only verifies based on the data stored in the local institution where it is located, so as to realize the self-check of the local institution. The independent verification module 004 includes a fourth remote authentication submodule 401, a fourth data encryption submodule 402 and a data verification submodule 403. Figure 7 shown.
[0073] The first-level verification module 005 is deployed in a trusted execution environment. In some embodiments, the trusted execution environments of the first institution A1 and the second institution A2 may both be deployed with the first-level verification module 005. In other embodiments, the first-level verification module 005 may be deployed in the trusted execution environments of only some of the first institution A1 and the second institution A2. The first-level verification module 005 can not only obtain data stored in the local institution, but also load data from a third institution B that does not have a trusted execution environment through secure communication to perform data verification. The first-level verification module 005 may include a fifth remote authentication submodule 501, a fifth data encryption submodule 502, and a data verification submodule 503, such as Figure 8 shown.
[0074] The secondary verification module 006 is deployed in a third institution B that does not have a trusted execution environment hardware environment but can securely communicate with a verification institution (first institution A1 or second institution A2) that has a trusted execution environment. For example, the third institution B can establish a secure communication channel with the primary verification module 005 in the first institution A1 through the secondary verification module 006 deployed therein, and load the data of the third institution B into the primary verification module 005 in the first institution A1 through the secure communication channel, thereby performing data verification with the help of the trusted execution environment of the first institution A1. Among them, each primary verification module 005 can only load data from the secondary verification module 006 that can communicate securely with it, and cannot be used for processing with other data that has not passed the secondary verification module. The secondary verification module 006 may include a sixth remote authentication submodule 601 and a sixth data encryption submodule 602, such as Fig. 9 shown.
[0075] The supervision module 007 is deployed in the trusted execution environment of the supervisory authority. The supervision module 007 may include a seventh remote authentication submodule 701 and a key synchronization submodule 702 .
[0076] Next, we will take the example of a customer applying for a loan. In one example, the process from a customer registering with a financial institution to being a registered user in the financial system, and then applying for a loan at a business processing agency can be roughly divided into the following: the first step is customer key synchronization, which is specifically triggered by the regulatory agency synchronizing the customer key to various institutions based on the customer's registration at the financial institution; the second step is the generation of certification information, which is specifically the customer obtaining the first data and the first certification information from its data custodian to apply for a loan; the third step is the data verification process, which is specifically the business processing agency initiating data verification to trigger the data verification process. The specific instructions are as follows.
[0077] The first step includes synchronization of customer keys. Specifically, the supervision module 007 synchronizes customer keys with the trusted execution environment of each institution. Figure 3 and Fig.10 Instructions are as follows.
[0078] First, when a customer registers with a financial institution, the financial institution synchronizes the customer key to the supervision module 007. When a financial institution adds a new customer, the customer key is stored only in the trusted execution environment of the financial institution, and the customer key is synchronized to the supervision module 007 of the regulatory agency.
[0079] Next, the seventh remote authentication submodule 701 of the supervision module 007 applies for remote authentication and performs remote authentication verification with other institutions capable of secure communication, and establishes a secure communication channel after ensuring the security of the supervision module 007. Then, the key submodule 702 synchronizes the customer key with each financial institution, so that the supervision module 007 synchronizes the customer key with each financial institution.
[0080] The seventh remote authentication submodule 701 of the supervision module 007 performs remote authentication application and remote authentication verification with the trusted execution environment of each financial institution to ensure the security of the trusted execution environment of each financial institution and establish a secure communication channel.
[0081] The key submodule 702 of the supervision module 007 synchronizes the new customer key to the trusted execution environment of each financial institution.
[0082] The synchronized client keys may include the public key of the client signing key and / or the Hash-based Message Authentication Code (HMAC) key.
[0083] The second step is to generate proof information. Figure 3 and Figure 4 Instructions are as follows.
[0084] First, the customer submits a data generation application to the data custodian of its asset data.
[0085] Next, the data generation module 001 in the data custodian calls the first data encryption submodule 102 to perform one-way hash encryption on the customer's first data (such as financial asset data).
[0086] In one embodiment, the certification information generation algorithm is as follows.
[0087] First, a financial asset data of a customer is split into first-level financial asset data 1, first-level financial asset data 2, and first-level financial asset data r according to a first predetermined rule.
[0088] Then, any primary financial asset data is split into secondary financial asset data 1, secondary financial asset data 2, ..., secondary financial asset data q according to a second predetermined rule.
[0089] The first predetermined rule and the second predetermined rule may be the same or different. For example, the first predetermined rule may be divided according to decimal digits, for example, a deposit of 12.34 million yuan may be divided into 10 million yuan, 2 million yuan, 300,000 yuan, and 40,000 yuan. The second predetermined rule may be divided into q equal parts.
[0090] Next, the secondary financial asset data 1, secondary financial asset data 2, and secondary financial asset data q, which are split from the primary financial asset data r, are assembled into a string, and then the message digest Sq of the primary financial asset data r is calculated using the SM3 message digest algorithm or the SHA-256 secure hash algorithm, as shown below:
[0091] Sq=S(Secondary financial asset data 1|Secondary financial asset data 2|...|Secondary financial asset data q).
[0092] Then, the information digests of the first-level financial asset data 1, first-level financial asset data 2, ..., and first-level financial asset data r, which are split from the customer's financial asset data, are assembled into a string, and the message digest Tr of the asset data is calculated through the HMAC key and HMAC, as shown below:
[0093] Tr={Level 1 financial asset data 1|Level 1 financial asset data 2|...|Level 1 financial asset data r}
[0094] Next, the data signature module 001 calls the data signature submodule 103, and signs the message digest Tr using the private key of the customer's signature key with the customer's authorization, and then returns the message digest Tr and the signature value to the customer.
[0095] The third step is the data verification process. Figure 3 and Figure 5~Figure 9 Instructions are as follows.
[0096] 1) When a customer applies for a loan from a business processing institution, he / she initiates a verification application to the data verification initiation module 002 deployed in the business processing institution, submits the first data for business use, and sends the corresponding first certification information (message digest Tr and signature value) for verification. The verification initiation submodule 202 receives the customer's verification application.
[0097] 2) The data verification initiation module 002 sends a verification request to the trusted execution environment of the first institution A1. Specifically, the data verification initiation module 002 sends a verification request to the data verification module 003. First, the data verification initiation module 002 establishes a secure communication channel with the data verification module 003. The second remote authentication submodule 201 of the data verification initiation module 002 initiates a remote authentication application to the third remote authentication submodule 301 of the data verification module 003. The third remote authentication submodule 301 generates a remote authentication measurement value for the secure container, and the third remote authentication submodule 301 signs it, generates a remote authentication report, and sends it to the second remote authentication submodule 201. The second remote authentication submodule 201 receives the remote authentication report from the third remote authentication submodule 301, and verifies the measurement value and signature of the remote authentication report. After the verification is successful, the data verification initiation module 002 establishes a secure communication channel with the data verification module 003. Then, the verification initiation submodule 202 initiates a verification request to the data verification module 003.
[0098] 3) The data verification module 003 receives the verification request sent by the data verification initiation module 002, and the third remote authentication submodule 301 can initiate a remote authentication application to the fourth remote authentication submodule 401 of the independent verification module 004 and the fifth remote authentication submodule 501 of the first-level verification module 005 in each institution by broadcasting. Each fourth remote authentication submodule 401 and each fifth remote authentication submodule 501 respectively generate a remote authentication measurement value of the security container, and each fourth remote authentication submodule 401 and each fifth remote authentication submodule 501 are signed to generate a remote authentication report, which is sent to the data verification module 003. The data verification initiation module 003 receives the remote authentication report of each fourth remote authentication submodule 401 and each fifth remote authentication submodule 501, and verifies the measurement value and signature of the remote authentication report. After the verification is successful, the data verification module 003 establishes a secure communication channel with each independent verification module 004 and each first-level verification module 005. Then, the verification scheduling submodule 301 may send a verification request to each independent verification module 004 and each primary verification module 005 .
[0099] 4) Each independent verification module 004 receives the verification request from the data verification module 003.
[0100] The independent verification module 004 can search for the corresponding second data in the local institution according to the search conditions of the first data provided by the customer (including but not limited to: customer information and asset category).
[0101] When the second data is found, the fourth data encryption submodule 402 of the independent verification module 004 uses the same proof information generation algorithm as the data generation module 001 to process the second data to generate second proof information (such as a new summary Tr1), and stores it in a trusted execution environment, wherein the trusted execution environment can only store the summary but not the original data.
[0102] Next, the data verification submodule 403 of the independent verification module 004 uses the public key of the customer's signature key obtained from the supervision module 007 to verify the signature value in the first proof information provided by the customer. After the verification is passed, the data verification submodule 403 compares and verifies the summary Tr in the first proof information submitted by the customer with the new summary Tr1 stored in the trusted execution environment. If the verification is consistent, the independent verification result is that the verification is passed. If the verification is inconsistent, the independent verification result is that the asset does not exist. In addition, when the second data is not found, the independent verification result is empty, and it returns non-existence. In this way, a rapid self-check of the local institution is achieved.
[0103] Finally, the independent verification module 004 returns the independent verification result to the data verification module 003.
[0104] 5) Each first-level verification module 005 receives the verification request from the data verification module 003.
[0105] The primary verification module 005 may initiate a data request to one or more secondary verification modules 006 that have established a secure communication channel, and the data request may include search conditions for the first data.
[0106] Specifically, when establishing a secure communication channel, the secondary verification module 006 can initiate a remote authentication application to the fifth remote authentication submodule 501 through the sixth remote authentication submodule 601 in response to receiving a data request. Then the primary verification module 005 generates an independent security container for the secondary verification module 006, loads the verification program, generates a remote authentication measurement value of the security container, and the fifth remote authentication submodule 501 signs it, generates a remote authentication report, and sends it to the sixth remote authentication submodule 601. The sixth remote authentication submodule 601 receives the remote authentication report from the fifth remote authentication submodule 501 and verifies the measurement value and signature of the remote authentication report. After the verification is successful, the primary verification module 005 establishes a secure communication channel with the secondary verification module 006.
[0107] Next, the sixth data encryption submodule 602 of the secondary verification module 006 can search for data that meets the search conditions of the first data in the third institution B where it is located, wherein, if found, the found data is hashed and encapsulated into the return result, and sent to the primary verification module 005. If not found, a null value or non-existence is displayed in the return result, and the return result is provided to the primary verification module 005.
[0108] In this way, relevant data in a third institution B without a trusted execution environment can be imported into the first-level verification module through secure communication, thereby realizing verification of the data in the third institution B in a trusted execution environment, so that data transmission and verification processes are kept confidential.
[0109] 6) The data verification submodule 503 of the primary verification module 005 summarizes the data in the return result sent by the secondary verification module 006, and can also combine the second data (if any) found in the local organization, and process the data from each organization separately according to the same proof information generation algorithm as in the data generation module 001, and generate the corresponding third proof information (such as the new summary Tr2), which is stored in the trusted execution environment. And in a similar manner to the independent verification module 004, the new summary Tr2 is checked with the summary Tr1 submitted by the customer to determine whether there is a summary consistent with the summary Tr1. If so, the primary verification result is passed. If there is no consistent summary, the primary verification result is not present.
[0110] The first-level verification module 005 returns the first-level verification result to the data verification module 003.
[0111] 7) The verification summary submodule 303 of the data verification module 003 summarizes the independent verification results of each independent verification module 004 and the first-level verification results of each first-level verification module 005, and obtains a verification conclusion based on these verification results. If there is a verification result showing that the verification is passed, it means that the first data verification is successful. If there is no verification result showing that the verification is passed, it means that the first data verification is unsuccessful.
[0112] The data verification module 003 returns the verification conclusion to the data verification initiation module 002, and may only return an indication of whether the verification is passed, without returning the verification result of which specific module or institution the verification conclusion is based on.
[0113] The data verification initiation module 002 carries out subsequent financial business based on the verification conclusion.
[0114] In this way, when a customer goes to a business processing agency to handle business, the business processing agency can verify the first data submitted by the customer through the trusted execution environment of the first agency A1 and multiple second agencies A2, and can link with at least one third agency B without a trusted execution environment, without the customer informing the information of the custodian of the first data. Moreover, the entire verification process will not expose the information of the custodian of the customer's first data, and data verification can be completed without leaking the custodian of the customer's data.
[0115] Fig.11 A block diagram of a data verification device according to an embodiment of the present disclosure is schematically shown.
[0116] like Fig.11 As shown, the data verification device 800 may include a receiving unit 810, an interaction unit 820, a first verification unit 830, a second verification unit 840 and a sending unit 850. The device 800 may be deployed in a first institution A1.
[0117] The receiving unit 810 is used to receive a verification request sent by a requesting party to a trusted execution environment of a first institution A1, wherein the verification request includes first data and first certification information for verifying the first data. In one embodiment, the receiving unit 810 may perform the operation S210 described above.
[0118] The interaction unit 820 is used to send a verification request to the trusted execution environments of n second institutions A2 through the trusted execution environment of the first institution A1, and receive the second verification results sent by the trusted execution environments of n second institutions A2 through the trusted execution environment of the first institution A1, wherein the second verification result is obtained by processing the verification request in the trusted execution environment of the second institution A2, and n is an integer greater than or equal to 1. In one embodiment, the interaction unit 820 can perform the operations S220 and S240 described above.
[0119] In one embodiment, the interaction unit 820 may include the verification scheduling submodule 302 described above.
[0120] The first verification unit 830 is used to process the verification request in the trusted execution environment of the first institution A1 to obtain a first verification result. In one embodiment, the first verification unit 830 may perform the operation S230 described above.
[0121] In one embodiment, the independent verification module 004 and the primary verification module 005 described above may be included.
[0122] The second verification unit 840 is used to process the first verification result and the n second verification results in the trusted execution environment of the first institution A1, obtain a verification conclusion and output it. In one embodiment, the second verification unit 840 can perform the operation S250 described above.
[0123] In one embodiment, the second verification unit 840 may include the verification summary submodule 303 introduced above.
[0124] The sending unit 850 is used to send the verification conclusion to the requesting party. In one embodiment, the operation S260 described above may be performed.
[0125] According to an embodiment of the present disclosure, any multiple modules among the receiving unit 810, the interaction unit 820, the first verification unit 830, the second verification unit 840, the sending unit 850, the data verification initiation module 002, the data verification module 003, the independent verification module 004 and the primary verification module 005 can be combined into one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the receiving unit 810, the interaction unit 820, the first verification unit 830, the second verification unit 840, the sending unit 850, the data verification initiation module 002, the data verification module 003, the independent verification module 004 and the first-level verification module 005 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or can be implemented in any one of the three implementation methods of software, hardware and firmware, or in an appropriate combination of any of them. Alternatively, at least one of the receiving unit 810, the interaction unit 820, the first verification unit 830, the second verification unit 840, the sending unit 850, the data verification initiation module 002, the data verification module 003, the independent verification module 004 and the first-level verification module 005 can be at least partially implemented as a computer program module, which can perform corresponding functions when the computer program module is executed.
[0126] Fig.12 A block diagram of an electronic device suitable for implementing the data verification method according to an embodiment of the present disclosure is schematically shown.
[0127] like Fig.12As shown, the electronic device 900 according to an embodiment of the present disclosure includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage part 908 to a random access memory (RAM) 903. The processor 901 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include an onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0128] In RAM 903, various programs and data required for the operation of electronic device 900 are stored. Processor 901, ROM 902 and RAM 903 are connected to each other via bus 904. Processor 901 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 902 and / or RAM 903. It should be noted that the program can also be stored in one or more memories other than ROM 902 and RAM 903. Processor 901 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in the one or more memories.
[0129] According to an embodiment of the present disclosure, the electronic device 900 may further include an input / output (I / O) interface 905, which is also connected to the bus 904. The electronic device 900 may further include one or more of the following components connected to the input / output (I / O) interface 905: an input portion 906 including a keyboard, a mouse, etc.; an output portion 907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 908 including a hard disk, etc.; and a communication portion 909 including a network interface card such as a LAN card, a modem, etc. The communication portion 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the input / output (I / O) interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 910 as needed, so that a computer program read therefrom is installed into the storage portion 908 as needed.
[0130] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.
[0131] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device. For example, according to an embodiment of the present disclosure, a computer-readable storage medium may include the ROM 902 and / or RAM 903 described above and / or one or more memories other than ROM 902 and RAM 903.
[0132] The embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program contains program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the method provided by the embodiment of the present disclosure.
[0133] The above functions defined in the system / device of the embodiment of the present disclosure are performed when the computer program is executed by the processor 901. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.
[0134] In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of a signal on a network medium, and downloaded and installed through the communication part 909, and / or installed from a removable medium 911. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0135] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 909, and / or installed from the removable medium 911. When the computer program is executed by the processor 901, the above functions defined in the system of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the system, device, means, module, unit, etc. described above can be implemented by a computer program module.
[0136] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).
[0137] It will be appreciated by those skilled in the art that the features described in the various embodiments of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations or combinations are not explicitly described in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features described in the various embodiments of the present disclosure may be combined and / or combined in a variety of ways. All of these combinations and / or combinations fall within the scope of the present disclosure.
[0138] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.
Claims
1. A data verification method, applied to a first institution, wherein: The method comprises: receiving a verification request sent by a requesting party to a trusted execution environment of the first institution, the verification request including first data and first certification information for verifying the first data; Sending the verification request to n trusted execution environments of second institutions through the trusted execution environment of the first institution, where n is an integer greater than or equal to 1; Processing the verification request in the trusted execution environment of the first institution to obtain a first verification result; Receiving, through the trusted execution environment of the first institution, second verification results sent by n trusted execution environments of the second institution, wherein the second verification results are obtained by processing the verification request in the trusted execution environment of the second institution; Processing the first verification result and n second verification results in the trusted execution environment of the first institution to obtain a verification conclusion and output it; The verification conclusion is sent to the requesting party.
2. The method according to claim 1, wherein: Processing the verification request in the trusted execution environment of the first institution to obtain a first verification result includes: Invoking an independent verification module deployed in the trusted execution environment of the first institution to process the verification request and obtain a first independent verification result; and Based on the first independent verification result, obtaining the first verification result; The independent verification module processes the verification request based on data stored in a local organization, and the local organization is an organization that deploys the independent verification module.
3. The method according to claim 2, wherein: The calling of an independent verification module deployed in the trusted execution environment of the first institution to process the verification request to obtain a first independent verification result includes: The following operations are performed by the independent verification module: searching the first institution for second data according to the search condition of the first data; When the second data is found, the second data is processed according to a predetermined proof information generation algorithm to generate second proof information, and the first independent verification result is obtained by comparing the second proof information with the first proof information.
4. The method according to claim 2, wherein: Processing the verification request in the trusted execution environment of the first institution to obtain a first verification result further includes: When a first-level verification module is also deployed in the trusted execution environment of the first institution, calling the first-level verification module to process the verification request and obtain a first-level verification result; and Obtaining the first verification result based on the first independent verification result and the first-level verification result; Wherein, the first-level verification module establishes a secure communication channel with m second-level verification modules, and each of the second-level verification modules is deployed in a non-trusted execution environment of a third institution; wherein, the first-level verification module obtains data in m third institutions through secure communication with m second-level verification modules, and processes the verification request based on the data in the m third institutions, wherein m is an integer greater than or equal to 1.
5. The method according to claim 4, wherein: The calling of the first-level verification module to process the verification request and obtain the first-level verification result includes: The following operations are performed through the first-level verification module: Based on the verification request, sending a data request to m secondary verification modules, wherein the data request includes a search condition for the first data; Receiving a return result from each of the secondary verification modules, wherein the return result includes data that meets the search condition and is searched by the secondary verification module from a third institution where the secondary verification module is located according to the data request; Processing the data in the returned result according to a predetermined certification information generation algorithm to generate a third certification information; and Compare the m third proof information with the first proof information to obtain the content of the first-level verification result.
6. The method according to claim 1, wherein: The first certification information includes encrypted information, and the processing of the verification request in the trusted execution environment of the first institution to obtain the first verification result includes: Acquire key data corresponding to the first data, wherein the key data is synchronized from the trusted execution environment of the regulatory agency to the trusted execution environment of the first institution; Based on the key data and the first certification information, the first data is verified.
7. The method according to any one of claims 1 to 6, wherein: The second verification result is obtained by processing the verification request in the trusted execution environment of the second institution in the same manner as in the trusted execution environment of the first institution.
8. The method according to claim 1, wherein: The requesting party is the first institution, or the requesting party is another institution different from the first institution and the second institution.
9. A data verification device, deployed in a first institution, wherein: The device comprises: A receiving unit, configured to receive a verification request sent by a requesting party to a trusted execution environment of the first institution, wherein the verification request includes first data and first certification information for verifying the first data; an interaction unit, configured to send the verification request to the trusted execution environments of n second institutions through the trusted execution environment of the first institution, and receive, through the trusted execution environment of the first institution, second verification results sent by the trusted execution environments of n second institutions, wherein the second verification result is obtained by processing the verification request in the trusted execution environment of the second institution, and n is an integer greater than or equal to 1; A first verification unit, configured to process the verification request in a trusted execution environment of the first institution to obtain a first verification result; A second verification unit, configured to process the first verification result and n second verification results in the trusted execution environment of the first institution, obtain a verification conclusion, and output the result; A sending unit is used to send the verification conclusion to the requesting party.
10. An electronic device, comprising: one or more processors; a memory for storing one or more computer programs, The one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 8.
11. A computer-readable storage medium having a computer program or instruction stored thereon, wherein: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
12. A computer program product comprising a computer program or instructions, wherein: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.