Privacy protection authenticator intersection method and device based on trusted execution environment
By processing the authenticator set and parameters in a trusted execution environment, determining the intersection of the mask set and verifying the certificate, the problem of poor security of certificate legality verification in the decentralized system is solved, and an efficient and secure certificate verification process is achieved.
Patent Information
- Application Number
- CN202411489779.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-24
- Publication Date
- 2025-03-18
AI Technical Summary
In a decentralized system, the existing privacy protection set submission protocol cannot effectively verify the legality of the certificate, resulting in poor security of certificate verification.
The privacy protection authenticator interception method based on a trusted execution environment is adopted. By receiving and processing the authenticator set and parameters in a trusted execution environment, the intersection of the mask set is determined, and the authenticator and qualification sets that have been verified are stored in temporary memory to improve the security of certificate verification.
It improves the efficiency and security of certificate verification, enhances the privacy of the intersecting list of certified people, and reduces the calculation overhead during multi-party computing and sign verification.
Smart Images

Figure CN119646789A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of big data technology, and in particular to a privacy protection authentication method and device based on a trusted execution environment. Background Art
[0002] With the development of science and technology, data sharing has continuously facilitated the lives of users. Among them, the security of data sharing has become the focus of users' attention. For example, the intersection of the Certificate Authority (CA) sets of both parties can be performed by using the Private Set Intersection (PSI) protocol. However, when this method is applied to a decentralized system, the legitimacy of the certificate cannot be verified, making the certificate verification security poor. Summary of the invention
[0003] The present disclosure provides a privacy-preserving authenticator intersection request method and device based on a trusted execution environment, which can improve the efficiency of certificate verification, improve the privacy of the authenticator intersection list, and improve the security of certificate verification. The technical solution of the present disclosure is as follows:
[0004] According to a first aspect of an embodiment of the present disclosure, a privacy protection authentication method based on a trusted execution environment is provided, which is applied to a network device and includes:
[0005] In a trusted execution environment, receiving a first authenticator set and parameters sent by a first terminal, and determining a first mask set according to the first authenticator set and the parameters;
[0006] In the trusted execution environment, obtaining a second mask set corresponding to the second authenticator set sent by the second terminal;
[0007] In a trusted execution environment, determining the existence of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory;
[0008] When the existence result indicates that any intersection public key in the intersection exists in the temporary memory, the first authenticator intersection list and the first qualification intersection list corresponding to the first terminal are obtained and sent to the first terminal, and the second authenticator intersection list and the second qualification intersection list corresponding to the second terminal are obtained and sent to the second terminal.
[0009] According to some embodiments, the method further comprises:
[0010] Acquire a first private set corresponding to the first terminal and a second private set corresponding to the second terminal;
[0011] In the trusted execution environment, verifying the first private set using a first signature algorithm corresponding to the first terminal, and verifying the second private set using a second signature algorithm corresponding to the second terminal;
[0012] In the trusted execution environment, when it is determined that the first private set and the second private set pass verification, the first authenticator set and the first qualification set that pass verification in the first private set are stored in the first memory in the temporary memory, and the second authenticator set and the second qualification set that pass verification in the second private set are stored in the second memory in the temporary memory.
[0013] According to some embodiments, after sending the second authenticator intersection list and the second qualification intersection list corresponding to the second terminal to the second terminal, the method further includes:
[0014] In the trusted execution environment, a first memory in the temporary memory and a second memory in the temporary memory are released.
[0015] According to some embodiments, the obtaining a second mask set corresponding to a second authenticator set of the second terminal and sent by the second terminal includes:
[0016] Performing a privacy protection set intersection protocol against malicious adversaries on a first authenticator set corresponding to the first terminal, obtaining and sending a first vector and a second vector corresponding to the first terminal to the first terminal;
[0017] Performing a privacy-preserving set intersection protocol against malicious adversaries on a second authenticator set corresponding to the second terminal, obtaining and sending a third vector and a scalar corresponding to the second terminal to the second terminal, wherein the second vector is a vector obtained by multiplying the first vector by the scalar and adding the third vector to the second terminal;
[0018] receiving a fourth vector sent by the first terminal, wherein the fourth vector is obtained by the first terminal based on the first vector and an oblivious key-value pair, and the oblivious key-value pair is obtained by the first terminal by encoding first data and second data, wherein the first data is a random number selected by the first terminal, and the second data is data determined according to the first authenticator set and a first hash value, and the first hash value is obtained by hashing the first authenticator set and the random number;
[0019] Sending the fourth vector to the second terminal, wherein the fourth vector is used to instruct the second terminal to obtain a fifth vector according to the third vector, the scalar and the first vector, and to determine the second mask set according to the fifth vector and the second authenticator set;
[0020] Obtain a second mask set sent by the second terminal.
[0021] According to some embodiments, determining, in the trusted execution environment, the existence result of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory includes:
[0022] receiving the second vector and the random number sent by the first terminal;
[0023] Obtain any intersection public key in the intersection corresponding to the first mask set and the second mask set;
[0024] In the trusted execution environment, decoding any intersection public key in any intersection public key in the intersections, the second vector and the random number to obtain a second hash value;
[0025] In the case that the first hash value exists in the second mask set, the existence result of obtaining any intersection public key in the intersection in the temporary memory is that any intersection public key in the intersection exists in the temporary memory.
[0026] According to some embodiments, when the existence result indicates that any intersection public key of the intersection exists in the temporary memory, obtaining a first authenticator intersection list and a first qualification intersection list corresponding to the first terminal to the first terminal, and obtaining a second authenticator intersection list and a second qualification intersection list corresponding to the second terminal to the first terminal, includes:
[0027] When the existence result indicates that any intersection public key in the intersection sets exists in the temporary memory, obtaining a first union of any intersection public key in the intersection sets and the first authenticator set, and using the first union as the first authenticator intersection list and the second authenticator intersection list;
[0028] Obtain a second union of the first qualification set in the first private set and the verified first qualification set, and use the second union as the first qualification intersection;
[0029] Obtain a third union of the second qualification set in the second private set and the verified second qualification set, and use the third union as the second qualification intersection.
[0030] According to a second aspect of an embodiment of the present disclosure, a privacy protection authentication user request device based on a trusted execution environment is provided, comprising:
[0031] A set acquisition unit, configured to receive, in a trusted execution environment, a first authenticator set and parameters sent by a first terminal, and determine a first mask set according to the first authenticator set and the parameters;
[0032] The set acquisition unit is further configured to acquire, in the trusted execution environment, a second mask set corresponding to the second authenticator set sent by the second terminal;
[0033] A result determination unit, configured to determine, in a trusted execution environment, the existence result of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory;
[0034] A list sending unit is used to obtain and send the first authenticator intersection list and the first qualification intersection list corresponding to the first terminal to the first terminal when the existence result indicates that any intersection public key in the intersection exists in the temporary memory, and to obtain and send the second authenticator intersection list and the second qualification intersection list corresponding to the second terminal to the second terminal.
[0035] According to a third aspect of an embodiment of the present disclosure, a network device is provided, including:
[0036] processor;
[0037] a memory for storing instructions executable by the processor;
[0038] The processor is configured to execute the instructions to implement the privacy protection authentication method based on a trusted execution environment as described in any one of the aforementioned aspects.
[0039] According to a fourth aspect of an embodiment of the present disclosure, a storage medium is provided. When instructions in the storage medium are executed by a processor of a network device, the network device is enabled to execute the privacy-preserving authenticator exchange method based on a trusted execution environment as described in any one of the preceding aspects.
[0040] According to a fifth aspect of an embodiment of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program implements any one of the methods described in the preceding aspects when executed by a processor.
[0041] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects:
[0042] In some or related embodiments, a first authenticator set and parameters sent by a first terminal are received in a trusted execution environment, and a first mask set is determined based on the first authenticator set and the parameters; in the trusted execution environment, a second mask set corresponding to the second authenticator set sent by the second terminal is obtained; in the trusted execution environment, a result of the existence of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory is determined; when the existence result indicates that any intersection public key in the intersection exists in the temporary memory, a first authenticator intersection list and a first qualification intersection list corresponding to the first terminal are obtained and sent to the first terminal, and a second authenticator intersection list and a second qualification intersection list corresponding to the second terminal are obtained and sent to the second terminal. Therefore, the digital certificate verification process can be executed based on secure multi-party computing, and the verification process can be performed based on the privacy-preserving authenticator intersection (PCI) protocol. The set of public authenticators and qualifications can be calculated in a decentralized and non-a priori environment while reducing the probability of terminal information leakage. The accuracy of obtaining the qualification intersection list and the authenticator intersection list can be improved, and this process can be performed in a trusted execution environment. The large amount of computing overhead required for the MPC verification process can be reduced, the certificate verification efficiency can be improved, and the privacy of the authenticator intersection list can be improved while improving the security of certificate verification.
[0043] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.
[0045] Figure 1 is a flow chart of a privacy protection authentication method based on a trusted execution environment according to an exemplary embodiment;
[0046] Figure 2 is a flow chart of a privacy protection authentication method based on a trusted execution environment according to an exemplary embodiment;
[0047] Figure 3 is a flow chart of a privacy protection authentication method based on a trusted execution environment according to an exemplary embodiment;
[0048] Figure 4 is a block diagram of a privacy protection authenticator requesting device based on a trusted execution environment according to an exemplary embodiment;
[0049] Figure 5 The invention is a block diagram of a network device according to an exemplary embodiment. DETAILED DESCRIPTION
[0050] In order to enable ordinary persons in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings.
[0051] The disclosed embodiments propose a privacy protection authenticator exchange method and device based on a trusted execution environment. In some embodiments, the privacy protection authenticator exchange method based on a trusted execution environment and the terms such as information processing method and communication method can be replaced with each other, the privacy protection authenticator exchange device based on a trusted execution environment and the terms such as information processing device and communication device can be replaced with each other, and the terms such as information processing system and communication system can be replaced with each other.
[0052] The embodiments of the present disclosure are not exhaustive, but are only illustrative of some embodiments, and are not intended to be a specific limitation on the scope of protection of the present disclosure. In the absence of contradiction, each step in a certain embodiment can be implemented as an independent embodiment, and the steps can be arbitrarily combined. For example, a solution after removing some steps in a certain embodiment can also be implemented as an independent embodiment, and the order of the steps in a certain embodiment can be arbitrarily exchanged. In addition, the optional implementation methods in a certain embodiment can be arbitrarily combined; in addition, the embodiments can be arbitrarily combined, for example, some or all of the steps of different embodiments can be arbitrarily combined, and a certain embodiment can be arbitrarily combined with the optional implementation methods of other embodiments.
[0053] In each embodiment of the present disclosure, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between the embodiments are consistent and can be referenced to each other, and the technical features in different embodiments can be combined to form a new embodiment based on their internal logical relationships.
[0054] The terms used in the embodiments of the present disclosure are only for the purpose of describing specific embodiments and are not intended to limit the present disclosure.
[0055] In the embodiments of the present disclosure, unless otherwise specified, elements expressed in the singular form, such as "a", "an", "the", "above", "said", "aforementioned", "this", etc., may mean "one and only one", or "one or more", "at least one", etc. For example, when using articles such as "a", "an", "the" in English in translation, the noun after the article may be understood as a singular expression or a plural expression.
[0056] In the embodiments of the present disclosure, “plurality” refers to two or more.
[0057] In some embodiments, the terms “at least one,” “one or more,” “a plurality of,” “multiple,” etc. may be used interchangeably.
[0058] The prefixes such as "first" and "second" in the embodiments of the present disclosure are only used to distinguish different description objects, and do not constitute restrictions on the position, order, priority, quantity or content of the description objects. The statement of the description object refers to the description in the context of the claims or embodiments, and should not constitute unnecessary restrictions due to the use of prefixes. For example, if the description object is a "field", the ordinal number before the "field" in the "first field" and the "second field" does not limit the position or order between the "fields", and the "first" and "second" do not limit whether the "fields" they modify are in the same message, nor do they limit the order of the "first field" and the "second field". For another example, if the description object is a "level", the ordinal number before the "level" in the "first level" and the "second level" does not limit the priority between the "levels". For another example, the number of description objects is not limited by the ordinal number, and can be one or more. Taking the "first device" as an example, the number of "devices" can be one or more. In addition, the objects modified by different prefixes may be the same or different. For example, if the description object is "device", then the "first device" and the "second device" may be the same device or different devices, and their types may be the same or different. For another example, if the description object is "information", then the "first information" and the "second information" may be the same information or different information, and their contents may be the same or different.
[0059] In some embodiments, "terminal" or "terminal device" can be referred to as "user equipment (UE)", "user terminal" "mobile station (MS)", "mobile terminal (MT)", subscriber station, mobile unit, subscriber unit, wireless unit, remote unit, mobile device, wireless device, wireless communication device, remote device, mobile subscriber station, access terminal, mobile terminal, wireless terminal, remote terminal, handset, user agent, mobile client, client, etc.
[0060] In some embodiments, data, information, etc. may be obtained with the user's consent.
[0061] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0062] According to some embodiments, the decentralized Web3.0 technology aims to enhance the ability of users to autonomously create, update and selectively share identity data to replace the dependence on these centralized service providers, with the purpose of enabling users to prove a certain qualification (or statement) about themselves without relying on a centralized joint identity provider or authenticator certificate center CA set. In a decentralized system, the issuance of certificates is completed by multiple CAs or other related entities, which are independent of each other and have no hierarchy. Different users have certificates issued by different CAs. To prevent CA data from being abused, it is necessary to protect CA information outside the intersection. In some embodiments, the PSI protocol can be used to request the intersection of the CA sets of both parties. However, in a decentralized system, there is no central agency to manage and verify the legitimacy of all certificates. Therefore, if one of the two parties requesting to establish mutual trust is malicious, the adversary can forge a large number of CA sets as input to obtain all or part of the CA of the honest participant. Therefore, it is difficult for users to establish a mutual trust mechanism without the existence of a central agency. That is, the PSI protocol using some embodiments is difficult to solve the problem of establishing a mutual trust mechanism between users without a priori in the presence of malicious adversaries.
[0063] Figure 1 FIG. 1 is a flowchart of a privacy protection authentication method based on a trusted execution environment according to an exemplary embodiment. Figure 1 As shown, the privacy protection authenticator exchange method based on a trusted execution environment can be used in a privacy protection authenticator exchange scenario based on a trusted execution environment, and includes the following steps:
[0064] In step S11, in a trusted execution environment, a first authenticator set and parameters sent by a first terminal are received, and a first mask set is determined according to the first authenticator set and the parameters;
[0065] According to some embodiments, the embodiments of the present disclosure may be applied to the field of inheritance and carrying technology, such as cloud computing, big data, edge computing, and privacy computing, etc. The embodiments of the present disclosure are not limited to this.
[0066] In some embodiments, the technical solution of the embodiments of the present disclosure can be applied to a scenario where there are two participating terminals, for example. The embodiments of the present disclosure do not limit the number of participating terminals.
[0067] In some embodiments, a Trusted Execution Environment (TEE) is a secure computing environment that provides a trusted security environment to ensure the security and privacy of sensitive data and code. TEE is usually composed of hardware and software and can run on top of a normal operating system, providing a secure operating environment so that malware cannot access or tamper with the data and code in the TEE.
[0068] According to some embodiments, the first terminal refers to one of the participating terminals in the privacy protection authentication method based on the trusted execution environment. The first terminal does not specifically refer to a fixed terminal. For example, when the terminal identifier corresponding to the first terminal changes, the first terminal may also change accordingly. For example, when the two terminals send changes to the parameters, the first terminal may also change accordingly.
[0069] In some embodiments, the first authenticator set may be, for example, a set of authenticators corresponding to the first terminal. The first in the first authenticator set does not specifically refer to a fixed set. For example, when information of a certain authenticator in the first authenticator set changes, the first authenticator set may also change accordingly. For example, when the public key corresponding to the first terminal changes, the first authenticator set may also change accordingly. The first authenticator set may be, for example, a set consisting of the public key, certificate, and verification result of the private set of the first terminal. The authenticator may, for example, refer to an authenticated certificate center.
[0070] According to some embodiments, the parameter may be, for example, a selected random number. Therefore, the parameter does not specifically refer to a fixed parameter. For example, when the parameter selection range changes, the parameter may also change accordingly. For example, when the random selection time point of the first terminal changes, the parameter may also change accordingly.
[0071] In some embodiments, the first mask set may be, for example, a collection of at least one mask. The first in the first mask set does not specifically refer to a fixed set. For example, when any mask in the first mask set changes, the first mask set may also change accordingly. For example, when the mask acquisition method of the first mask set changes, the first mask set may also change accordingly.
[0072] In some embodiments, in a trusted execution environment, a first authenticator set and parameters sent by a first terminal are received, and a first mask set is determined according to the first authenticator set and the parameters.
[0073] In step S12, in the trusted execution environment, a second mask set corresponding to the second authenticator set sent by the second terminal is obtained;
[0074] According to some embodiments, the second terminal refers to another terminal other than the first terminal among the participating terminals of the privacy protection authentication method based on the trusted execution environment. The second terminal does not specifically refer to a fixed terminal. For example, when the terminal identifier corresponding to the second terminal changes, the second terminal may also change accordingly.
[0075] In some embodiments, the second authenticator set may be, for example, an authenticator set corresponding to the second terminal. The second in the second authenticator set does not specifically refer to a fixed set. For example, when information of an authenticator in the Dieuer authenticator set changes, the second authenticator set may also change accordingly. For example, when the public key corresponding to the second terminal changes, the second authenticator set may also change accordingly. The second authenticator set may be, for example, a set consisting of the public key and certificate of the second terminal, and the verification result after verifying the private set of the second terminal.
[0076] According to some embodiments, the second mask set may be, for example, a collection of at least one mask. The second in the second mask set does not specifically refer to a fixed set. For example, when any mask in the second mask set changes, the second mask set may also change accordingly. For example, when the mask acquisition method of the second mask set changes, the second mask set may also change accordingly.
[0077] In some embodiments, in a trusted execution environment, a second mask set corresponding to a second authenticator set sent by the second terminal is obtained.
[0078] In step S13, in the trusted execution environment, determining whether any intersection public key in the intersection of the first mask set and the second mask set exists in the temporary memory;
[0079] According to an embodiment, the intersection may be, for example, the intersection of the intersections corresponding to the first mask set and the second mask set. The intersection does not specifically refer to a fixed set. For example, when the first mask set or the second mask set changes, the intersection may also change accordingly.
[0080] In some embodiments, the existence result can be used to indicate whether any intersection public key exists in the temporary memory. That is, it can be determined whether any intersection public key exists in the temporary memory. The existence result does not specifically refer to a fixed result. For example, when any intersection public key changes, the existence result can also change accordingly.
[0081] According to some embodiments, for example, in a trusted execution environment, it may be determined whether any intersection public key in the intersection of the first mask set and the second mask set exists in the temporary memory.
[0082] In step S14, when the existence result indicates that any intersection public key in the intersection exists in the temporary memory, the first authenticator intersection list and the first qualification intersection list corresponding to the first terminal are obtained and sent to the first terminal, and the second authenticator intersection corresponding to the second terminal is obtained and sent.
[0083] According to some embodiments, the first authenticator intersection list may be, for example, an acquired authenticator intersection list corresponding to the first terminal. The first in the first authenticator intersection list is used to distinguish from the second authenticator intersection list, and does not specifically refer to a fixed authenticator intersection list. For example, when any element in the first authenticator intersection list changes, the first authenticator intersection list may also change accordingly.
[0084] In some embodiments, the first qualification intersection list may be, for example, a qualification intersection list corresponding to the first terminal. The first in the first qualification intersection list is used to distinguish from the second qualification intersection list, and does not specifically refer to a fixed qualification intersection list. For example, when any element in the first qualification intersection list changes, the first qualification intersection list may also change accordingly.
[0085] In some embodiments, when the existence result indicates that any intersection public key in the intersection exists in the temporary memory, the first authenticator intersection list and the first qualification intersection list corresponding to the first terminal are obtained and sent to the first terminal, and the second authenticator intersection corresponding to the second terminal is obtained and sent.
[0086] According to some embodiments, the technical solution of the embodiments of the present disclosure may be, for example, to use a Privacy Preserving Authenticator Intersection (PCI) protocol for certificate verification, and the Privacy Preserving Authenticator Intersection (PCI) protocol may be, for example, an update to the PSI protocol.
[0087] In some or related embodiments, a first authenticator set and parameters sent by a first terminal are received in a trusted execution environment, and a first mask set is determined based on the first authenticator set and the parameters; in the trusted execution environment, a second mask set corresponding to the second authenticator set sent by the second terminal is obtained; in the trusted execution environment, a result of the existence of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory is determined; when the existence result indicates that any intersection public key in the intersection exists in the temporary memory, a first authenticator intersection list and a first qualification intersection list corresponding to the first terminal are obtained and sent to the first terminal, and a second authenticator intersection list and a second qualification intersection list corresponding to the second terminal are obtained and sent to the second terminal. Therefore, the digital certificate verification process can be performed based on secure multi-party computing, and the verification process can be performed based on the privacy-preserving certifier intersection (PCI) protocol. The public certifiers and qualification sets can be calculated in a decentralized and non-a priori environment while reducing the probability of terminal information leakage. The accuracy of obtaining the qualification intersection list and the certifier intersection list can be improved, and the privacy of the certifier intersection list can be improved while improving the security of certificate verification. At the same time, it is possible to verify whether the certificate issued by the certifier is valid, prevent malicious terminals from entering invalid certificates and certifiers, and reduce the probability of leaking the information of certifiers outside the public certifier intersection, thereby improving the security of authentication.
[0088] Figure 2 FIG. 1 is a flowchart of a privacy protection authentication method based on a trusted execution environment according to an exemplary embodiment. Figure 2 As shown, the privacy protection authenticator exchange method based on a trusted execution environment can be used in a privacy protection authenticator exchange scenario based on a trusted execution environment, and includes the following steps:
[0089] In step S21, in a trusted execution environment, a first authenticator set and parameters sent by a first terminal are received, and a first mask set is determined according to the first authenticator set and the parameters;
[0090] The specific process is as described above and will not be repeated here.
[0091] According to some embodiments, the method further comprises:
[0092] Acquire a first private set corresponding to the first terminal and a second private set corresponding to the second terminal;
[0093] In the trusted execution environment, verifying the first private set using a first signature algorithm corresponding to the first terminal, and verifying the second private set using a second signature algorithm corresponding to the second terminal;
[0094] In the trusted execution environment, when it is determined that the first private set and the second private set have passed verification, the first authenticator set and the first qualification set that have passed verification in the first private set are stored in the first memory of the temporary memory, and the second authenticator set and the second qualification set that have passed verification in the second private set are stored in the second memory of the temporary memory. Therefore, the authenticator set and the qualification set that have been verified by the signature verification algorithm can be stored in the temporary secure memory of the executable environment, thereby improving the security of information storage.
[0095] According to some embodiments, Figure 3 FIG. 1 is a flowchart of a privacy protection authentication method based on a trusted execution environment according to an exemplary embodiment. Figure 3 As shown, for example, the signature algorithm disclosed by the participant when generating the digital certificate can be embedded in the TEE. The network device can define two isolated secure memories M1 and M2 in the TEE as the memory space used by the first terminal P1 and the second terminal P2 to call and execute the digital certificate signature verification algorithm. The first terminal P1 and the second terminal P2 respectively input the private set p 1,1 ={x j ,σ 1,j ,m 1,j} and p 2,1 ={y j ,σ 2,j ,m 2,j} to TEE to perform digital certificate verification, where x j ,σ 1,j ,m 1,j are the public key, certificate and qualification set of the first terminal P1, y j ,σ 2,j ,m 2,j The network device can use the corresponding signature algorithm in the TEE to verify the authentication person and the qualification set T1=T1∪(x j ,m 1,j ), T2=T2∪(y j ,m 2,j ) are stored in two isolated secure memories M1 and M2 respectively. Therefore, the PCI protocol can support the authenticator to use any digital signature algorithm to generate a certificate, and various digital signature verification algorithms can be implemented in advance and then embedded in TEE, thereby improving the scope of application of the technical solution.
[0096] In step S22, in the trusted execution environment, a second mask set corresponding to the second authenticator set sent by the second terminal is obtained;
[0097] The specific process is as described above and will not be repeated here.
[0098] According to some embodiments, the obtaining a second mask set corresponding to a second authenticator set of the second terminal and sent by the second terminal includes:
[0099] Performing a privacy protection set intersection protocol against malicious adversaries on a first authenticator set corresponding to the first terminal, obtaining and sending a first vector and a second vector corresponding to the first terminal to the first terminal;
[0100] Performing a privacy-preserving set intersection protocol against malicious adversaries on a second authenticator set corresponding to the second terminal, obtaining and sending a third vector and a scalar corresponding to the second terminal to the second terminal, wherein the second vector is a vector obtained by multiplying the first vector by the scalar and adding the third vector to the second terminal;
[0101] receiving a fourth vector sent by the first terminal, wherein the fourth vector is obtained by the first terminal based on the first vector and an oblivious key-value store (OKVS), and the oblivious key-value store is obtained by the first terminal by encoding first data and second data, wherein the first data is a random number selected by the first terminal, the second data is data determined according to the first authenticator set and a first hash value, and the first hash value is obtained by hashing the first authenticator set and the random number;
[0102] Sending the fourth vector to the second terminal, wherein the fourth vector is used to instruct the second terminal to obtain a fifth vector according to the third vector, the scalar and the first vector, and to determine the second mask set according to the fifth vector and the second authenticator set;
[0103] The second mask set sent by the second terminal is obtained. Therefore, the use of the privacy-preserving set intersection protocol and each vector against malicious adversaries can improve the accuracy of obtaining the second mask set, improve the accuracy of obtaining the intersection, and improve the accuracy of the privacy-preserving authenticator intersection process based on the trusted execution environment.
[0104] In step S23, in the trusted execution environment, determining whether any intersection public key in the intersection of the first mask set and the second mask set exists in the temporary memory;
[0105] The specific process is as described above and will not be repeated here.
[0106] According to some embodiments, determining, in the trusted execution environment, the existence result of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory includes:
[0107] receiving the second vector and the random number sent by the first terminal;
[0108] Obtain any intersection public key in the intersection corresponding to the first mask set and the second mask set;
[0109] In the trusted execution environment, decoding any intersection public key in any intersection public key in the intersections, the second vector and the random number to obtain a second hash value;
[0110] In the case that the first hash value exists in the second mask set, the existence result of obtaining any intersection public key in the intersection in the temporary memory is that any intersection public key in the intersection exists in the temporary memory.
[0111] According to some embodiments, the first terminal P1 selects a random number r, r′←{0,1} κ , the random number can be sent to the network device, and the network device can calculate the oblivious key-value pair OKVS: P: = Encode (L, r), where L = (x j ,H2(x j ,r′));
[0112] According to some embodiments, the network device can use the authentication sets X and Y of the first terminal P1 and the second terminal P2 as inputs, respectively, to execute a privacy-preserving set intersection protocol that is resistant to malicious adversaries, and can obtain vectors A and C corresponding to the first terminal P1 and send them to the first terminal P1, obtain vector B and scalar Δ corresponding to the second terminal P2 and satisfy C=ΔA+B, and send them to the second terminal P2, wherein the first vector is A, the second vector is C, and the third vector is B.
[0113] According to some embodiments, the first terminal P1 sends A′:=P+A to the second terminal P2 through the network device, and P2 can calculate B′=B+ΔA′; the network device can calculate the second mask set Y={H1(Decode(B′,y i )-ΔH2(y j The second terminal P2 can send the second mask set Y′ to the network device, and the first terminal P1 can send the first authenticator set X:={x j} and corresponding parameters are input into TEE, and the network device can generate the first mask set X′ in the trusted execution environment; then determine whether x∈X′∩Y′ is established in the trusted execution environment. If so, further determine whether x exists in the secure temporary memory and find the corresponding intersection list, where x is the intersection public key; specifically, the following steps are included:
[0114] The first terminal P1 inputs the first authenticator set X and the vector C,r into the trusted execution environment, that is, sends it to the network device, and the second terminal P2 can input the second mask set Y′:={{0,1} κ} is input into the trusted execution environment. The network device can calculate the first mask set X′ of the first terminal P1:={Decode(C,x j )|x j ∈X} and find the intersection X′∩Y′. For each x∈X, the network device can use the corresponding algorithm in the trusted execution environment to determine whether H1(Decode(C,x,r))∈Y′, x∈T1, x∈T2 are all true. There is no limitation on the corresponding algorithm.
[0115] According to some embodiments, when the existence result indicates that any intersection public key of the intersection exists in the temporary memory, obtaining a first authenticator intersection list and a first qualification intersection list corresponding to the first terminal to the first terminal, and obtaining a second authenticator intersection list and a second qualification intersection list corresponding to the second terminal to the first terminal, includes:
[0116] When the existence result indicates that any intersection public key in the intersection sets exists in the temporary memory, obtaining a first union of any intersection public key in the intersection sets and the first authenticator set, and using the first union as the first authenticator intersection list and the second authenticator intersection list;
[0117] Obtain a second union of the first qualification set in the first private set and the verified first qualification set, and use the second union as the first qualification intersection;
[0118] Obtain a third union of the second qualification set in the second private set and the verified second qualification set, and use the third union as the second qualification intersection.
[0119] According to some embodiments, if the existence result indicates that any intersection public key in the intersection exists in the temporary memory, the network device can obtain I1:=I1∪{x}, I 1,2 :=I 1,2 ∪{m″},I 2,2 :=I 2,2∪{m′}, where m′ is the qualification corresponding to x in T1, and m″ is the qualification corresponding to x in T2. The network device can obtain the first terminal and the second terminal authenticator and the qualification intersection list {I1,I 1,2},{I1,I 2,2}.
[0120] In step S24, when the existence result indicates that any intersection public key in the intersection exists in the temporary memory, the first authenticator intersection list and the first qualification intersection list corresponding to the first terminal are obtained and sent to the first terminal, and the second authenticator intersection list corresponding to the second terminal is obtained and sent;
[0121] The specific process is as described above and will not be repeated here.
[0122] According to some embodiments, the network device may obtain the authenticator list and qualification intersection list {I1,I2 of the first terminal and the second terminal in the TEE. 1,2} sent to P1, {I1,I 2,2}Sent to P2.
[0123] In step S25, in the trusted execution environment, the first memory in the temporary memory and the second memory in the temporary memory are released.
[0124] In some embodiments, when the existence result indicates that any intersection public key in the intersection exists in the temporary memory, a first authenticator intersection list and a first qualification intersection list corresponding to the first terminal are obtained and sent to the first terminal, and after obtaining and sending the second authenticator intersection corresponding to the second terminal, the first memory in the temporary memory and the second memory in the temporary memory can be released in the trusted execution environment.
[0125] In some embodiments, the network device may release temporary memory M1 and M2 in the TEE.
[0126] In some or related embodiments, in the trusted execution environment, releasing the first memory in the temporary memory and the second memory in the temporary memory can reduce the occupation of memory resources and improve resource utilization efficiency.
[0127] A block diagram of a privacy protection authentication device based on a trusted execution environment is shown according to an exemplary embodiment. Figure 4 , the device 400 comprises:
[0128] The set acquisition unit 401 is used to receive a first authenticator set and parameters sent by a first terminal in a trusted execution environment, and determine a first mask set according to the first authenticator set and the parameters;
[0129] The set acquisition unit 401 is further configured to acquire, in the trusted execution environment, a second mask set corresponding to the second authenticator set sent by the second terminal;
[0130] A result determination unit 402 is used to determine, in a trusted execution environment, the existence result of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory;
[0131] The list sending unit 403 is used to obtain and send the first authenticator intersection list and the first qualification intersection list corresponding to the first terminal to the first terminal when the existence result indicates that any intersection public key in the intersection exists in the temporary memory, and to obtain and send the second authenticator intersection list and the second qualification intersection list corresponding to the second terminal to the second terminal.
[0132] According to some embodiments, the set acquisition unit 401 is further configured to:
[0133] Acquire a first private set corresponding to the first terminal and a second private set corresponding to the second terminal;
[0134] In the trusted execution environment, verifying the first private set using a first signature algorithm corresponding to the first terminal, and verifying the second private set using a second signature algorithm corresponding to the second terminal;
[0135] In the trusted execution environment, when it is determined that the first private set and the second private set pass verification, the first authenticator set and the first qualification set that pass verification in the first private set are stored in the first memory in the temporary memory, and the second authenticator set and the second qualification set that pass verification in the second private set are stored in the second memory in the temporary memory.
[0136] According to some embodiments, the set acquisition unit 401 is used, after sending the second authenticator intersection list and the second qualification intersection list corresponding to the second terminal to the second terminal, to:
[0137] In the trusted execution environment, a first memory in the temporary memory and a second memory in the temporary memory are released.
[0138] According to some embodiments, the set acquisition unit 401, when used to acquire the second mask set corresponding to the second authenticator set of the second terminal and sent by the second terminal, is specifically used to:
[0139] Performing a privacy protection set intersection protocol against malicious adversaries on a first authenticator set corresponding to the first terminal, obtaining and sending a first vector and a second vector corresponding to the first terminal to the first terminal;
[0140] Performing a privacy-preserving set intersection protocol against malicious adversaries on a second authenticator set corresponding to the second terminal, obtaining and sending a third vector and a scalar corresponding to the second terminal to the second terminal, wherein the second vector is a vector obtained by multiplying the first vector by the scalar and adding the third vector to the second terminal;
[0141] receiving a fourth vector sent by the first terminal, wherein the fourth vector is obtained by the first terminal based on the first vector and an oblivious key-value pair, and the oblivious key-value pair is obtained by the first terminal by encoding first data and second data, wherein the first data is a random number selected by the first terminal, and the second data is data determined according to the first authenticator set and a first hash value, and the first hash value is obtained by hashing the first authenticator set and the random number;
[0142] Sending the fourth vector to the second terminal, wherein the fourth vector is used to instruct the second terminal to obtain a fifth vector according to the third vector, the scalar and the first vector, and to determine the second mask set according to the fifth vector and the second authenticator set;
[0143] Obtain a second mask set sent by the second terminal.
[0144] According to some embodiments, the result determination unit 402 is used to determine, in a trusted execution environment, when the existence result of any intersection public key in the intersection of the first mask set and the second mask set is in the temporary memory, specifically to:
[0145] receiving the second vector and the random number sent by the first terminal;
[0146] Obtain any intersection public key in the intersection corresponding to the first mask set and the second mask set;
[0147] In the trusted execution environment, decoding any intersection public key in any intersection public key in the intersections, the second vector and the random number to obtain a second hash value;
[0148] In the case that the first hash value exists in the second mask set, the existence result of obtaining any intersection public key in the intersection in the temporary memory is that any intersection public key in the intersection exists in the temporary memory.
[0149] According to some embodiments, the result determination unit 402 is used to obtain the first authenticator intersection list and the first qualification intersection list corresponding to the first terminal to the first terminal, and obtain the second authenticator intersection list and the second qualification intersection list corresponding to the second terminal to the first terminal when the existence result indicates that any intersection public key in the intersection exists in the temporary memory, specifically for:
[0150] When the existence result indicates that any intersection public key in the intersection sets exists in the temporary memory, obtaining a first union of any intersection public key in the intersection sets and the first authenticator set, and using the first union as the first authenticator intersection list and the second authenticator intersection list;
[0151] Obtain a second union of the first qualification set in the first private set and the verified first qualification set, and use the second union as the first qualification intersection;
[0152] Obtain a third union of the second qualification set in the second private set and the verified second qualification set, and use the third union as the second qualification intersection.
[0153] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0154] In some or related embodiments, a set acquisition unit is used to receive a first authenticator set and parameters sent by a first terminal in a trusted execution environment, and determine a first mask set based on the first authenticator set and the parameters; the set acquisition unit is also used to acquire a second mask set corresponding to a second authenticator set sent by a second terminal in a trusted execution environment; a result determination unit is used to determine, in a trusted execution environment, the existence result of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory; a list sending unit is used to acquire and send a first authenticator intersection list and a first qualification intersection list corresponding to the first terminal to the first terminal, and acquire and send a second authenticator intersection list and a second qualification intersection list corresponding to the second terminal to the second terminal, when the existence result indicates that any intersection public key in the intersection exists in the temporary memory. Therefore, the digital certificate verification process can be executed based on secure multi-party computing, and the verification process can be performed based on the privacy-preserving authenticator intersection (PCI) protocol. The set of public authenticators and qualifications can be calculated in a decentralized and non-a priori environment while reducing the probability of terminal information leakage. The accuracy of obtaining the qualification intersection list and the authenticator intersection list can be improved, and the privacy of the authenticator intersection list can be improved while improving the security of certificate verification.
[0155] Figure 5 is a block diagram of a network device 500 provided in an embodiment of the present disclosure. For example, the network device 500 may be provided as a network device. Figure 5 The network device 500 includes a processing component 522, which further includes at least one processor, and a memory resource represented by a memory 532 for storing instructions executable by the processing component 522, such as an application. The application stored in the memory 532 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 522 is configured to execute instructions to perform any of the methods described above in the network device.
[0156] The network device 500 may also include a power supply component 527 configured to perform power management of the network device 500, a wired or wireless network interface 550 configured to connect the network device 500 to a network, and an input / output (I / O) interface 558. The network device 500 may operate based on an operating system stored in the memory 532, such as Windows Server TM, Mac OS X TM, Unix TM, Linux TM, Free BSD TM or the like.
[0157] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0158] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0159] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, 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), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0160] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0161] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.
[0162] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services ("Virtual Private Server", or "VPS" for short). The server may also be a server of a distributed system, or a server combined with a blockchain.
[0163] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0164] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A privacy-preserving authentication method based on a trusted execution environment, characterized in that: Applied to network equipment, including: In a trusted execution environment, receiving a first authenticator set and parameters sent by a first terminal, and determining a first mask set according to the first authenticator set and the parameters; In the trusted execution environment, obtaining a second mask set corresponding to the second authenticator set sent by the second terminal; In a trusted execution environment, determining the existence of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory; When the existence result indicates that any intersection public key in the intersection exists in the temporary memory, the first authenticator intersection list and the first qualification intersection list corresponding to the first terminal are obtained and sent to the first terminal, and the second authenticator intersection list and the second qualification intersection list corresponding to the second terminal are obtained and sent to the second terminal.
2. The method according to claim 1, characterized in that: The method further comprises: Acquire a first private set corresponding to the first terminal and a second private set corresponding to the second terminal; In the trusted execution environment, verifying the first private set using a first signature algorithm corresponding to the first terminal, and verifying the second private set using a second signature algorithm corresponding to the second terminal; In the trusted execution environment, when it is determined that the first private set and the second private set pass verification, the first authenticator set and the first qualification set that pass verification in the first private set are stored in the first memory in the temporary memory, and the second authenticator set and the second qualification set that pass verification in the second private set are stored in the second memory in the temporary memory.
3. The method according to claim 2, characterized in that After sending the second authenticator intersection list and the second qualification intersection list corresponding to the second terminal to the second terminal, the method further includes: In the trusted execution environment, a first memory in the temporary memory and a second memory in the temporary memory are released.
4. The method according to claim 1, characterized in that: The obtaining the second mask set corresponding to the second authenticator set of the second terminal and sent by the second terminal includes: Performing a privacy protection set intersection protocol against malicious adversaries on a first authenticator set corresponding to the first terminal, obtaining and sending a first vector and a second vector corresponding to the first terminal to the first terminal; Performing a privacy-preserving set intersection protocol against malicious adversaries on a second authenticator set corresponding to the second terminal, obtaining and sending a third vector and a scalar corresponding to the second terminal to the second terminal, wherein the second vector is a vector obtained by multiplying the first vector by the scalar and adding the third vector to the second terminal; receiving a fourth vector sent by the first terminal, wherein the fourth vector is obtained by the first terminal based on the first vector and an oblivious key-value pair, and the oblivious key-value pair is obtained by the first terminal by encoding first data and second data, wherein the first data is a random number selected by the first terminal, and the second data is data determined according to the first authenticator set and a first hash value, and the first hash value is obtained by hashing the first authenticator set and the random number; Sending the fourth vector to the second terminal, wherein the fourth vector is used to instruct the second terminal to obtain a fifth vector according to the third vector, the scalar and the first vector, and to determine the second mask set according to the fifth vector and the second authenticator set; Obtain a second mask set sent by the second terminal.
5. The method according to claim 4, characterized in that The step of determining, in the trusted execution environment, the existence of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory includes: receiving the second vector and the random number sent by the first terminal; Obtain any intersection public key in the intersection corresponding to the first mask set and the second mask set; In the trusted execution environment, decoding any intersection public key in any intersection public key in the intersections, the second vector and the random number to obtain a second hash value; In the case that the first hash value exists in the second mask set, the existence result of obtaining any intersection public key in the intersection in the temporary memory is that any intersection public key in the intersection exists in the temporary memory.
6. The method according to claim 5, characterized in that When the existence result indicates that any intersection public key of the intersection exists in the temporary memory, obtaining a first authenticator intersection list and a first qualification intersection list corresponding to the first terminal to the first terminal, and obtaining a second authenticator intersection list and a second qualification intersection list corresponding to the second terminal to the first terminal, includes: When the existence result indicates that any intersection public key in the intersection sets exists in the temporary memory, obtaining a first union of any intersection public key in the intersection sets and the first authenticator set, and using the first union as the first authenticator intersection list and the second authenticator intersection list; Obtain a second union of the first qualification set in the first private set and the verified first qualification set, and use the second union as the first qualification intersection; Obtain a third union of the second qualification set in the second private set and the verified second qualification set, and use the third union as the second qualification intersection.
7. A privacy protection authentication person request device based on a trusted execution environment, characterized in that: include: A set acquisition unit, configured to receive, in a trusted execution environment, a first authenticator set and parameters sent by a first terminal, and determine a first mask set according to the first authenticator set and the parameters; The set acquisition unit is further configured to acquire, in the trusted execution environment, a second mask set corresponding to the second authenticator set sent by the second terminal; A result determination unit, configured to determine, in a trusted execution environment, the existence result of any intersection public key in the intersection of the first mask set and the second mask set in the temporary memory; A list sending unit is used to obtain and send the first authenticator intersection list and the first qualification intersection list corresponding to the first terminal to the first terminal when the existence result indicates that any intersection public key in the intersection exists in the temporary memory, and to obtain and send the second authenticator intersection list and the second qualification intersection list corresponding to the second terminal to the second terminal.
8. A network device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the privacy protection authenticator intersection method based on a trusted execution environment as described in any one of claims 1 to 6.
9. A storage medium storing instructions, characterized in that: When the instruction is executed on a communication device, the communication device is enabled to execute the privacy protection authenticator exchange method based on a trusted execution environment as claimed in any one of claims 1 to 6.
10. A computer program product, characterized in that It includes a computer program, which, when executed by a processor, implements the privacy protection authentication method based on a trusted execution environment as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Trusted computing service sharing method, device and system based on blockchain
CN111461884A
Privacy set intersection method, communication device, electronic device and storage medium
CN118802116A
Message encryption method and device, message decryption method and device, and mobile terminal
WO2022083324A1