High-efficiency and safe outsourcing computing protocol design of single cloud architecture based on TEE technology
By building a secure computing environment for TEE and REE in a single cloud architecture, combining (2-2) threshold Paillier encryption system and ciphertext/mask calculation, the inefficiency and hypothetical dependency problems of existing security outsourcing computing methods are solved, and an efficient and secure privacy computing protocol is achieved.
Patent Information
- Application Number
- CN202411805037.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-09
- Publication Date
- 2025-04-08
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing security outsourcing computing methods have problems such as inefficiency, limited TEE, insufficient support for traditional cryptographic schemes, and excessive dependence on non-compulsory and TEE absolute security assumptions.
A single cloud architecture efficient and secure outsourcing computing protocol based on TEE technology was designed. By building a rich execution environment REE and a trusted execution environment TEE between the client and the cloud service provider, a secure linear and nonlinear privacy computing protocol is achieved using (2-2) threshold Paillier encryption system and ciphertext/mask computing.
It realizes efficient and low-overhead secure outsourcing computing, avoids dependence on absolute security of TEE, enhances data confidentiality and integrity protection, and ensures the security of user privacy.
Smart Images

Figure CN119788333A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of secure outsourced computing and proposes a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology. Background Art
[0002] Driven by the Internet of Things and the era of big data, data has become a core asset, and the demand for data processing has exploded. When faced with massive amounts of data and complex computing tasks, traditional user terminal devices often have difficulty meeting demand due to performance bottlenecks, forcing many companies to outsource core computing to third-party cloud service providers. Although cloud computing has significant advantages in improving computing efficiency and resource utilization, as data gradually migrates to the cloud, the resulting data security and user privacy issues have become increasingly prominent. The credibility of cloud servers and data protection capabilities have become key challenges that restrict the further development of cloud computing technology.
[0003] Secure outsourcing computing technology enables users with limited resources to encrypt sensitive data and outsource it to the cloud for processing. Such computing methods usually rely on privacy computing technologies, such as homomorphic encryption, secure multi-party computing, and trusted execution environment (TEE). However, software-based homomorphic encryption and secure multi-party computing solutions face some challenges in practical applications, including limited support for secure computing types and high computing and communication overhead. In contrast, although the hardware-based trusted execution environment (TEE) has improved performance, it also has some limitations, such as no support for library porting, limited computing environment, poor scalability, and vulnerability to side-channel attacks. In addition, when using multiple servers, existing secure outsourcing computing methods usually assume the condition of "non-collusion among multiple servers", but this assumption is often inconsistent with the actual situation, which affects the security and feasibility of the method.
[0004] To this end, there is an urgent need for a safe and reliable outsourced computing method that can meet the needs of actual application scenarios without relying on excessive assumptions and applies efficient and low-overhead computing protocols. Summary of the invention
[0005] This paper aims to solve a series of challenges in privacy computing, including: inefficient secure outsourcing computing methods, TEEs that cannot be applied to secure outsourcing computing due to storage and computing resource limitations, insufficient support for secure computing types by traditional cryptographic schemes, and over-reliance on the security assumptions of "no collusion between multiple servers" and "TEE is an absolutely secure black box". To this end, a single cloud architecture efficient secure outsourcing computing protocol design based on TEE technology is proposed.
[0006] Specifically, this system architecture involves only two types of entities: the client and the cloud service provider CSP, without the need to introduce an additional fully trusted third party. The architecture allows the client with limited resources to safely outsource computing-intensive tasks to the cloud service provider CSP for processing. The CSP contains a server equipped with a trusted execution environment TEE. Specifically, the server divides code execution into two areas, where the trusted execution environment TEE is a trusted computing area with data confidentiality and integrity protection capabilities, while the untrusted areas such as external computing and its data storage belong to the rich execution environment REE. Therefore, REE and TEE, as two independent participants, will collaborate to complete the secure computing operations of the two parties and provide secure outsourced computing services for the client. Furthermore, the system architecture regards TEE as a white box environment, and the privacy computing protocol design uses ciphertext / mask computing inside TEE, which can effectively resist side channel attacks against TEE, so that the security of the model does not depend on the absolute security assumption of TEE, but on the design of the privacy computing protocol itself. Based on the system architecture, efficient and secure linear and nonlinear privacy computing protocols are designed, including unary operations (secure absolute value protocol SABS), binary operations (secure multiplication protocol SMUL, secure comparison protocol SCMP, secure equality judgment protocol SEQL) and ternary operations (secure decision protocol SDEC) based on the (2-2) threshold Paillier encryption system.
[0007] The specific implementation of the secure outsourcing computing solution includes the following steps:
[0008] Step 1, system initialization phase: The client initializes (2-2) the threshold Paillier encryption system, generates a pair of public and private keys (pk, sk), and splits the private key sk into two parts (sk) through a private key splitting algorithm (for example, based on the Chinese remainder theorem). 1 ,sk 2 ). Subsequently, the client Client recruits a cloud service provider CSP, and uses the rich execution environment REE and trusted execution environment TEE provided by the CSP to build two non-collusive computing participants.
[0009] The client establishes a secure channel with the trusted execution environment TEE through remote authentication; the rich execution environment REE establishes communication channels with the client and the trusted execution environment TEE respectively. The communication channel here can be either a regular channel or an encrypted secure channel.
[0010] Furthermore, the client sends the key group (pk, sk 1) is sent to the rich execution environment REE, and the key group (pk, sk 2 ) is sent to the trusted execution environment TEE.
[0011] Step 2, data encryption phase, i.e. outsourcing request initiation: the client Client encrypts the sensitive data m by calling the encryption algorithm Enc and converts it into ciphertext Then, the ciphertext The sensitive data m is sent to the rich execution environment REE and requests to initiate an outsourced computing task. The sensitive data m is used as input for secure outsourced computing; the types of secure outsourced computing tasks include secure unary computing protocols, binary computing protocols and ternary computing protocols based on threshold Paillier encryption systems.
[0012] Step 3, offline computing phase: To improve the execution efficiency of secure outsourced computing, the rich execution environment REE generates multiple first arrays, each of which contains at least one random number and constants 0 and 1; the trusted execution environment TEE also generates multiple second arrays, each of which also contains at least one random number and constants 0 and 1.
[0013] The rich execution environment REE and the trusted execution environment TEE respectively use the encryption algorithm Enc and the received key group to encrypt their own random numbers and constants to obtain random number ciphertext and constant ciphertext.
[0014] The random number, random number ciphertext, constant and constant ciphertext belonging to the same first array form a tuple belonging to REE REE ; The random number, random number ciphertext, constant and constant ciphertext belonging to the same second array form a tuple belonging to TEE TEE ; The tuple tuple REE and tuple TEE All are used in the secure outsourced computing scheduling process. Offline here means that there is no connection or interaction between the rich execution environment REE and the trusted execution environment TEE, and offline processing is performed, and a large number of tuples are generated and stored in REE and TEE respectively. REE and tuple TEE , and a new batch of tuples can be generated after they are used up.
[0015] Step 4, online computing phase: According to the computing task, the rich execution environment REE and the trusted execution environment TEE jointly complete the secure two-party computing by calling the partial decryption algorithm PDec and the joint decryption algorithm TDec, and jointly perform the ciphertext Perform secure outsourcing calculations to generate ciphertext results And the ciphertext result Return to the client Client.
[0016] The above-mentioned offline computing and online computing stages are essentially both secure computing stages.
[0017] Step 5, return result stage: the client Client uses the private key sk to call the decryption algorithm Dec to decrypt the ciphertext result Decrypt and obtain the plaintext outsourcing result R.
[0018] The Rich Execution Environment (REE) has a hard disk and is responsible for storing and managing the encrypted data uploaded by the client, as well as storing and maintaining the intermediate and final results transmitted to the Trusted Execution Environment (TEE) or outsourced by the client. At the same time, REE, as the main computing party, provides online computing services; TEE, as a computing collaborator, only provides online computing services and collaborates with REE to complete secure computing on encrypted data. It does not store anything except tuples. TEE Any encrypted data other than
[0019] Furthermore, the process of establishing the secure channel is as follows: TEE It is the shared symmetric key obtained by the Diffie-Hellman key negotiation algorithm between the client and the trusted execution environment TEE. AE =(Enc TEE , Dec TEE ) is the authentication encryption scheme; the communication between TEE and Client is encrypted using the encryption algorithm Enc TEE (K TEE , *) encrypts the transmission content *, and uses the decryption algorithm Dec TEE (K TEE , *) is decrypted to obtain the transmission content *.
[0020] Furthermore, the design of a single cloud architecture efficient and secure outsourced computing protocol based on TEE technology is characterized in that the (2-2) threshold Paillier encryption system splits the private key into two parts. In order to recover the complete private key or decrypt the original ciphertext, at least two participants need to cooperate (that is, decryption can only be performed when the threshold condition is met). In particular, in the system architecture, REE and TEE only retain part of the private key respectively, and the split parts of the private key satisfy the constraint equation at the same time: sk 1 +sk 2 =0 mod 2α and sk 1 +sk 2=1 mod N, where N is the modulus, and α is related to the odd prime numbers p and q. At the same time, during the outsourced calculation process, the intermediate data is processed using a one-time mask or Paillier encryption to ensure that only the client with the complete private key can obtain the plaintext result.
[0021] Further, in step 2 and step 3, the encryption algorithm Enc takes the public key pk and the plaintext data m as input, selects a random number r whose bit length is less than or equal to the private key bit length, and outputs the ciphertext c. The specific calculation process is: c←Enc(pk,m,r)=(1+m·N)·(h N mod N 2 ) r mod N 2 . Where h = -y 2β (mod N), β=(P-1)(Q-1) / (4pq), and the four parameters (P, Q, p, q) are all odd prime numbers.
[0022] Further, in step 5, the decryption algorithm Dec takes the private key sk and the ciphertext c as input and outputs the plaintext m. The specific calculation process is:
[0023] Furthermore, the tuple REE Including r, r 1 、r 2 , r′ 1 , r′ 2 , and The tuple TEE include and Among them, r, r 1 、r 2 , r′ 1 , r′ 2 are all random numbers and satisfy:
[0024]
[0025] in, It is represented as a ciphertext of arbitrary value*, where σ is a security parameter that controls the bit length.
[0026] Furthermore, the secure absolute value protocol SABS (used for securely calculating the plaintext m 1 The absolute value of is calculated as follows:
[0027] Step 1: The rich execution environment REE randomly selects a tuple REE, and select a random number π from the set {0, 1}, and calculate:
[0028]
[0029] besides
[0030] in, is the input ciphertext involved in the calculation, and PDec is the partial decryption algorithm. Send to the trusted execution environment TEE.
[0031] Step 2: The trusted execution environment TEE randomly selects a tuple TEE , receiving the step 1 calculation result from the REE Then, perform the following calculation:
[0032]
[0033] Then calculate:
[0034]
[0035]
[0036] Among them, TDec is the joint decryption algorithm. That is to return the result, that is
[0037] Furthermore, the secure multiplication protocol SMUL (for securely computing the plaintext m 1 and plaintext m 2 The calculation steps are as follows:
[0038] Step 1: The rich execution environment REE randomly selects a tuple REE , and calculate:
[0039]
[0040] in, and are two input ciphertexts involved in the calculation. Then, the rich execution environment REE will Send to the trusted execution environment TEE.
[0041] Step 2: The trusted execution environment TEE randomly selects a tuple TEE , receiving the step 1 calculation result from the REE Then, perform the following calculation:
[0042]
[0043] at this time That is to return the result, that is
[0044] Furthermore, the secure comparison protocol SCMP (used for secure comparison of plaintext m 1 and plaintext m 2 The calculation steps are as follows:
[0045] Step 1: The rich execution environment REE randomly selects a tuple REE , and select a random number π from the set {0, 1}, and calculate:
[0046]
[0047] besides
[0048] in, and are two input ciphertexts involved in the calculation. Then, the rich execution environment REE will Send to the trusted execution environment TEE.
[0049] Step 2: The trusted execution environment TEE randomly selects a tuple TEE , receiving the step 1 calculation result from the REE Then, perform the following calculation:
[0050]
[0051] Then calculate:
[0052]
[0053] besides
[0054] at this time That is, return the result. When m 1 ≥m 2 Then R=0, otherwise R=1.
[0055] Furthermore, the security judgment equality protocol SEQL (used for security judgment of plaintext m 1 and plaintext m 2 The calculation steps are as follows:
[0056] Step 1: The rich execution environment REE randomly selects a tuple REE, first select a random number π from the set {0, 1} 1 ,calculate:
[0057]
[0058] Next, select a random number π from the set {0, 1} 2 ,calculate:
[0059]
[0060] Then, calculate
[0061]
[0062] in, and are two input ciphertexts involved in the calculation. Then, the rich execution environment REE will Send to the trusted execution environment TEE.
[0063] Step 2: The trusted execution environment TEE randomly selects a tuple TEE , receiving the step 1 calculation result from the REE [d 1 ] 1 , [d 2 ] 1 , Then, perform the following calculation:
[0064]
[0065] Then calculate:
[0066]
[0067] besides
[0068] at this time That is, return the result. When m 1 =m 2 Then R=0, otherwise R=1.
[0069] Furthermore, the security decision protocol SDEC (used for security judgment of plaintext m 1 The value of to determine the execution branch 1 (for example, return result m 2 ), or branch 2 (for example, return result m 3 ), the calculation steps are as follows:
[0070] Step 1: The rich execution environment REE randomly selects a tupleREE , first select a random number π from the set {0, 1} 1 ,calculate:
[0071]
[0072] Next, select a random number π from the set {0, 1} 2 ,calculate:
[0073]
[0074] Then calculate:
[0075]
[0076] in, and are the three input ciphertexts involved in the calculation. Then, the rich execution environment REE will Send to the trusted execution environment TEE.
[0077] Step 2: The trusted execution environment TEE randomly selects a tuple TEE , receiving the step 1 calculation result from the REE Then, perform the following calculation:
[0078]
[0079] Then calculate:
[0080]
[0081]
[0082] Final calculation
[0083] at this time That is, return the result. When m 1 =1 to get R = m 2 , otherwise R = m 3 .
[0084] Further, in step 2, the partial decryption algorithm PDec is used with a partial private key sk i (i∈{1,2}) and a ciphertext c as input, and output a partially decrypted ciphertext C i (i∈{1,2}), the specific calculation process is:
[0085] Further, in step 2, the joint decryption algorithm TDec uses two partially decrypted ciphertexts C 1 and C2 As input, output plaintext m, the specific calculation process is:
[0086] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0087] (1) The present invention provides a design of an efficient and secure outsourced computing protocol for a single cloud architecture based on TEE technology. Specifically, a single cloud outsourced computing architecture is innovatively constructed, and the system architecture only includes two types of entities: the client Client and the cloud service provider CSP. Among them, a server equipped with a trusted execution environment TEE is deployed inside the CSP, which divides code execution into two areas: the rich execution environment REE and the trusted execution environment TEE. In this architecture, TEE is regarded as a white box environment, and security depends on the privacy computing protocol itself, rather than the assumption of absolute security of TEE, thereby establishing a more reliable and feasible security assumption. This solution allows resource-constrained clients to securely outsource computing-intensive tasks to the cloud service provider CSP for processing, while meeting computing needs and ensuring data security and user privacy protection.
[0088] (2) The present invention proposes a protocol design for implementing secure and efficient unary, binary and ternary operations under a single cloud architecture. Specifically, based on the system architecture, a set of efficient and secure linear and nonlinear privacy computing protocols are designed, covering unary operations (secure absolute value protocol SABS), binary operations (secure multiplication protocol SMUL, secure comparison protocol SCMP, secure equality judgment protocol SEQL) and ternary operations (secure decision protocol SDEC) based on the (2-2) threshold Paillier encryption system. The various protocols designed fully consider the underlying mathematical logic, encapsulate common operations into basic mathematical operations, and adopt a two-stage processing flow, that is, the first stage is executed by REE and the second stage is executed by TEE, so as to complete the outsourced computing task. This design not only expands the operation type support for secure outsourced computing, but also significantly improves the efficiency of the privacy computing protocol. In addition, the privacy computing protocol adopts a ciphertext / mask calculation method between REE and TEE, which can not only effectively prevent side channel attacks against TEE, but also ensure that only the client Client has complete decryption capabilities, thereby enhancing data security and privacy protection. BRIEF DESCRIPTION OF THE DRAWINGS
[0089] Figure 1 Schematic diagram of the system architecture of the method of the present invention.
[0090] Figure 2 The figure is a schematic diagram of the system flow of the method of the present invention. Specific implementation methods
[0091] In order to make the purpose, technical solution and advantages of the present invention more clear, the technical solution in the embodiment of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiment of the present invention. Obviously, the described embodiment is only a part of the embodiment of the present invention, not all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0092] like Figure 1 , Figure 2 As shown, the present invention provides a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology, including the following steps:
[0093] Step 1: System initialization: The client initializes (2-2) the threshold Paillier encryption system, generates a pair of public and private keys (pk, sk), and splits the private key sk into two parts (sk 1 ,sk 2 In this example, pk=(N=P·Q=728403149, h=-y 2β (mod N) = 73302101), where P = 35423, Q = 20563, and sk = 29651, sk 1 =2711,sk 2 =((2α) -1 mod N)·(2α)-sk 1 =2031516379851. Then, the client Client recruits a cloud service provider CSP, and uses the rich execution environment REE and trusted execution environment TEE provided by the CSP to build two non-collusive computing participants. The client Client establishes a secure channel with the trusted execution environment TEE through remote authentication; the rich execution environment REE establishes communication channels with the client Client and the trusted execution environment TEE respectively. Further, the client Client sends the key group (pk, sk 1 ) is sent to the rich execution environment REE, and the key group (pk, sk 2 ) is sent to the trusted execution environment TEE.
[0094] Step 2, data encryption phase: Assume that in the description of this specific implementation, the secure outsourcing computing tasks requested by the client Client include three groups: ① Input m 1 =4869, calculate m 1 The absolute value of the outsourced execution security absolute value protocol SABS; ② Input m 1 =4869 and m2 =1412, calculate the product m 1 ×m 2 , that is, outsourcing the execution of the secure multiplication protocol SMUL; ③ Input m 1 =4869,m 2 =1412 and m 3 =73, according to m 1 Compute the decision to output m 2 Or m 3 , that is, outsourcing the execution of the security decision protocol SDEC. Therefore, the three input data that the client Client needs to process are m 1 =4869,m 2 =1412 and m 3 =73. Indicates the encrypted value of any value*. In order to facilitate calculation and demonstration, the random number r=7 is used uniformly in the encryption process. Then, the client Client calls the encryption algorithm Ene and calculates Then, the client sends the encrypted data The rich execution environment REE is given and a request is made to initiate an outsourced computing task.
[0095] It is worth mentioning that the present invention supports negative numbers. For example, the plaintext space [0, N-1] of sensitive data m can be divided into two ranges, one of which is represents a non-negative number, and the other is represents a negative number. Therefore, when m<0, according to the congruence theorem, it is equivalent to the effect of m=N-|m|.
[0096] Step 3, offline computing phase: In order to improve the execution efficiency of secure outsourced computing, the rich execution environment REE generates multiple first arrays, each of which contains at least one random number and constants 0 and 1; the trusted execution environment TEE also generates multiple second arrays, each of which also contains at least one random number and constants 0 and 1. More specifically, the rich execution environment REE and the trusted execution environment TEE respectively use the encryption algorithm Enc and the received key group to encrypt their own random numbers and constants, respectively, to obtain random number ciphertext and constant ciphertext. The random number, random number ciphertext, constant and constant ciphertext belonging to the same first array form a tuple belonging to REE. REE ; The random number, random number ciphertext, constant and constant ciphertext belonging to the same second array form a tuple belonging to TEE TEE ; The tuple tuple REE and tuple TEEAll are used in the secure outsourcing computing scheduling process. For the convenience of computing demonstration, it is assumed that only one tuple is used in this specific implementation. REE Tuple and a tuple TEE Tuple. Assume that this instance tuple REE The constants and encrypted values extracted from the tuple include r=1164, r 1 =2202, r 2 =364199893, r′ 1 =3244, r′ 2 =364200671, and And in tuple TEE The numbers extracted from the tuple include and
[0097] Step 4, online computing phase: The rich execution environment REE and the trusted execution environment TEE interact and jointly complete the two-party secure computing protocol in combination with threshold Paillier homomorphic encryption. The following examples will illustrate the privacy-preserving unary operation, binary operation and ternary operation protocols.
[0098] ① According to the example assumption of step 2, for the first group of tasks, when the input is The protocol that needs to be outsourced is the Security Absolute Value Protocol SABS.
[0099] Step 1: The rich execution environment REE selects a tuple REE , and select a random number π = 0, and calculate Subsequently, the Rich Execution Environment REE will Send to the trusted execution environment TEE.
[0100] Step 2: The trusted execution environment TEE selects the tuple tuple TEE , receiving the step 1 calculation result from the REE After that, calculate d=TDec([d] 1 , [d] 2 ) = 374923633. Then, because Calculate μ 0 = 0, and the result at this time That is to return the result, that is
[0101] ② According to the example assumption of step 2, the second group of tasks, when the input is and The protocol that needs to be outsourced is the secure multiplication protocol SMUL.
[0102] Step 1: The rich execution environment REE selects a tuple REE , calculate besides Subsequently, the Rich Execution Environment REE will Send to the trusted execution environment TEE.
[0103] Step 2: The trusted execution environment TEE selects the tuple tuple TEE , receiving the step 1 calculation result from the REE After that, calculate m 1 + r = TDec ([m 1 +r] 1 ,[m 1 +r] 2 ) = 6033, and at this time That is to return the result, that is
[0104] ③ According to the example assumption of step 2, the third group of tasks, when the input is and The protocol that needs to be outsourced is the Security Decision-Making Protocol (SDEC).
[0105] Step 1: The rich execution environment REE selects a tuple REE , and select a random number π 1 =0 and π 2 =0, calculate and Further calculation:
[0106]
[0107] Subsequently, the Rich Execution Environment REE will Send to the trusted execution environment TEE.
[0108] Step 2: The trusted execution environment TEE selects the tuple tuple TEE , receiving the step 1 calculation result from the REE After that, calculate:
[0109]
[0110] because So μ 0 =0, and because So μ′0 =1.
[0111] Final calculation:
[0112] at this time That is, the result is returned.
[0113] The above-mentioned offline computing and online computing stages are essentially both secure computing stages.
[0114] Step 5: Result return phase: The REE and the TEE jointly perform a series of linear privacy calculations and nonlinear privacy calculations according to the specific needs of secure outsourcing calculations, and finally return the secure outsourcing calculation results. The client uses the private key sk to call the decryption algorithm Dec to decrypt the ciphertext result. After decryption, the plaintext outsourcing result R can be obtained. According to the example assumption of step 2, the secure outsourcing computing tasks requested by the client Client include three groups: ① Input m 1 =4869, calculate m 1 The absolute value of the outsourced execution security absolute value protocol SABS; ② Input m 1 =4869 and m 2 =1412, calculate the product m 1 ×m 2 , that is, outsourcing the execution of the secure multiplication protocol SMUL; ③ Input m 1 =4869,m 2 =1412 and m 3 =73, according to m 1 Compute the decision to output m 2 Or m 3 , that is, outsourcing the execution of the security decision-making protocol SDEC.
[0115] ①For the first group of tasks, the result received by the Client is Decrypt using sk as follows:
[0116]
[0117] The results are reasonable.
[0118] ②For the second group of tasks, the result received by the Client is Decrypt using sk as follows:
[0119]
[0120] The results are reasonable.
[0121] ③For the third group of tasks, the result received by the Client is Decrypt using sk as follows:
[0122]
[0123] Because m 1 ! =1, so the output is m 3 =73, the result is reasonable.
[0124] The above implementation examples are only used to illustrate the technical solution of the present invention rather than to limit it. A person skilled in the art may modify or convert the technical solution of the present invention without departing from the spirit and scope of the present invention. The scope of protection of the present invention shall be based on the claims.
Claims
1. A single cloud architecture efficient and secure outsourcing computing protocol design based on TEE technology, characterized by: This system architecture involves only two types of entities: the client and the cloud service provider CSP, without the need to introduce an additional fully trusted third party. The architecture allows resource-limited clients to securely outsource computing-intensive tasks to the cloud service provider CSP for processing. The CSP contains a server equipped with a trusted execution environment TEE. Specifically, the server divides code execution into two areas, where the trusted execution environment TEE, as a trusted computing area, has data confidentiality and integrity protection capabilities, while untrusted areas such as external computing and its data storage belong to the rich execution environment REE. Therefore, REE and TEE, as two independent participants, will collaborate to complete the secure computing operations of the two parties and provide secure outsourced computing services for the client Client. Furthermore, the system architecture regards TEE as a white-box environment, and the privacy computing protocol design uses ciphertext / mask calculations inside TEE, which can effectively resist side-channel attacks against TEE, so that the security of the model does not rely on the absolute security assumption of TEE, but on the design of the privacy computing protocol itself. Based on the system architecture, efficient and secure linear and nonlinear privacy computing protocols are designed, including unary operations (secure absolute value protocol SABS), binary operations (secure multiplication protocol SMUL, secure comparison protocol SCMP, secure equality judgment protocol SEQL) and ternary operations (secure decision protocol SDEC) based on the (2-2) threshold Paillier encryption system. Furthermore, the (2-2) threshold Paillier encryption system splits the private key into two parts. In order to recover the complete private key or decrypt the original ciphertext, at least two parties are required to work together (i.e., decryption can only be performed when the threshold condition is met). In particular, in the system architecture, REE and TEE only retain part of the private key respectively, and the divided parts of the private key simultaneously satisfy the constraint equations: sk1+sk2=0 mod 2α and sk1+sk2=1 mod N, where N is the modulus, and α is related to the odd prime numbers p and q. At the same time, in the outsourced calculation process, the intermediate data is processed with a one-time mask or Paillier encryption to ensure that only the client Client with the complete private key can obtain the plaintext result.
2. According to claim 1, a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology is characterized in that: The specific implementation of the secure outsourcing computing solution includes the following steps: Step 1, system initialization phase: The client initializes (2-2) the threshold Paillier encryption system, generates a pair of public and private keys (pk, sk), and splits the private key sk into two parts (sk1, sk2) through a private key splitting algorithm (for example, based on the Chinese remainder theorem). Subsequently, the client recruits a cloud service provider CSP, and with the help of the rich execution environment REE and trusted execution environment TEE provided by the CSP, builds two non-collusive computing participants. The client Client establishes a secure channel with the trusted execution environment TEE through remote authentication; the rich execution environment REE establishes communication channels with the client Client and the trusted execution environment TEE respectively. Furthermore, the client Client sends the key group (pk, sk1) to the rich execution environment REE, and sends the key group (pk, sk2) to the trusted execution environment TEE through the secure channel. Step 2, data encryption phase, i.e. outsourcing request initiation: the client Client encrypts the sensitive data m by calling the encryption algorithm Enc and converts it into ciphertext Then, the ciphertext The sensitive data m is sent to the rich execution environment REE and requests to initiate an outsourced computing task. The sensitive data m is used as input for secure outsourced computing; the types of secure outsourced computing tasks include secure unary computing protocols, binary computing protocols and ternary computing protocols based on threshold Paillier encryption systems. Step 3, offline computing phase: To improve the execution efficiency of secure outsourced computing, the rich execution environment REE generates multiple first arrays, each of which contains at least one random number and constants 0 and 1; the trusted execution environment TEE also generates multiple second arrays, each of which also contains at least one random number and constants 0 and 1. The rich execution environment REE and the trusted execution environment TEE respectively use the encryption algorithm Enc and the received key group to encrypt their own random numbers and constants to obtain random number ciphertext and constant ciphertext. The random number, random number ciphertext, constant and constant ciphertext belonging to the same first array form a tuple belonging to REE REE ; The random number, random number ciphertext, constant and constant ciphertext belonging to the same second array form a tuple belonging to TEE TEE ; The tuple tuple REE and tuple TEE Both are used in the security outsourcing computing scheduling process. Step 4, online computing phase: According to the computing task, the rich execution environment REE and the trusted execution environment TEE jointly complete the secure two-party computing by calling the partial decryption algorithm PDec and the joint decryption algorithm TDec, and jointly perform the ciphertext Perform secure outsourcing calculations to generate ciphertext results And the ciphertext result Return to the client Client. Step 5, return result stage: the client Client uses the private key sk to call the decryption algorithm Dec to decrypt the ciphertext result Decrypt and obtain the plaintext outsourcing result R.
3. According to claim 2, a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology is characterized in that: In step 2 and step 3, the encryption algorithm Enc takes a public key pk and a plaintext data m as input, selects a random number r whose bit length is less than or equal to the private key bit length, and outputs a ciphertext c. The specific calculation process is: c←Enc(pk, m, r)=(1+m·N)·(h N mod N 2 ) r mod N 2 . Where h = -y 2β (mod N), β=(P-1)(Q-1) / (4pq), and the four parameters (P, Q, p, q) are all odd prime numbers. The decryption algorithm Dec takes a private key sk and a ciphertext c as input and outputs a plaintext m. The specific calculation process is:
4. According to claim 1, a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology is characterized in that: The tuple REE Including r, r1, r2, r i ′、r2′、 and The tuple TEE include and Where r, r1, r2, r1′, r2′ are all random numbers and satisfy: in, It is represented as a ciphertext of arbitrary value*, where σ is a security parameter that controls the bit length.
5. According to claim 1, a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology is characterized in that: The secure absolute value protocol SABS (used to securely calculate the absolute value of the plaintext m1) has the following calculation steps: Step 1: The rich execution environment REE randomly selects a tuple REE , and select a random number π from the set {0, 1}, and calculate: besides in, is the input ciphertext involved in the calculation, and PDec is the partial decryption algorithm. Send to the trusted execution environment TEE. Step 2: The trusted execution environment TEE randomly selects a tuple TEE , receiving the step 1 calculation result from the REE Then, perform the following calculation: Then calculate: Among them, TIDec is a joint decryption algorithm. That is to return the result, that is 6. According to claim 1, a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology is characterized in that: The secure multiplication protocol SMUL (used to securely calculate the product of plaintext m1 and plaintext m2) has the following calculation steps: Step 1: The rich execution environment REE randomly selects a tuple REE , and calculate: in, and are two input ciphertexts involved in the calculation. Then, the rich execution environment REE will Send to the trusted execution environment TEE. Step 2: The trusted execution environment TEE randomly selects a tuple TEE , receiving the step 1 calculation result from the REE Then, perform the following calculation: at this time That is to return the result, that is 7. According to claim 1, a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology is characterized in that: The secure comparison protocol SCMP (used to securely compare the size of plaintext m1 and plaintext m2) has the following calculation steps: Step 1: The rich execution environment REE randomly selects a tuple REE , and select a random number π from the set {0, 1}, and calculate: besides in, and are two input ciphertexts involved in the calculation. Then, the rich execution environment REE will Send to the trusted execution environment TEE. Step 2: The trusted execution environment TEE randomly selects a tuple rEE , receiving the step 1 calculation result from the REE Then, perform the following calculation: Then calculate: besides at this time That is, the result is returned, when m1≥m2, R=0, otherwise R=1.
8. According to claim 1, a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology is characterized in that: The secure equality judgment protocol SEQL (used to securely judge whether plaintext m1 and plaintext m2 are equal) has the following calculation steps: Step 1: The rich execution environment REE randomly selects a tuple REE , first select a random number π1 from the set {0, 1} and calculate: Next, select a random number π2 from the set {0, 1} and calculate: Then, calculate in, and are two input ciphertexts involved in the calculation. Then, the rich execution environment REE will Send to the trusted execution environment TEE. Step 2: The trusted execution environment TEE randomly selects a tuple TEE , receiving the step 1 calculation result from the REE Then, perform the following calculation: Then calculate: besides at this time That is, the result is returned. When m1=m2, R=0, otherwise R=1.
9. According to claim 1, a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology is characterized in that: The security decision protocol SDEC (used to securely determine the value of plaintext m1 to determine whether to execute branch 1 (e.g., return result m2) or branch 2 (e.g., return result m3)) has the following calculation steps: Step 1: The rich execution environment REE randomly selects a tuple REE , first select a random number π1 from the set {0, 1} and calculate: Next, select a random number π2 from the set {0, 1} and calculate: Then calculate: in, and are the three input ciphertexts involved in the calculation. Then, the rich execution environment REE will Send to the trusted execution environment TEE. Step 2: The trusted execution environment TEE randomly selects a tuple TEE , receiving the step 1 calculation result from the REE Then, perform the following calculation: Then calculate: Final calculation at this time That is, the result is returned. When m1=1, R=m2, otherwise R=m3.
10. According to claim 2, a single cloud architecture efficient and secure outsourced computing protocol design based on TEE technology is characterized in that: The partial decryption algorithm PDec uses a partial private key sk i (i∈{1,2}) and a ciphertext c as input, and output a partially decrypted ciphertext C i (i∈{1,2}), the specific calculation process is: The joint decryption algorithm TDec takes two partially decrypted ciphertexts C1 and C2 as input and outputs a plaintext m. The specific calculation process is:
Citation Information
Patent Citations
Fast and secure outsourcing computing method for cloud computing data security
CN117938439A
Private key protection method, server access method, system, device, and storage medium
WO2024198933A1