IP Library Granted Patent US 10,846,413
Granted Patent B2
US 10,846,413 · App. 16/853,419 · Granted Nov 24, 2020

Data processing method and device

Inventors: Yuncheng Wu (Hangzhou, CN); Wenxiang Wang (Hangzhou, CN); Le Zhang (Hangzhou, CN); Li Lin (Hangzhou, CN)
Assignee: ADVANCED NEW TECHNOLOGIES CO., LTD.
G06F21/602G06F21/606G06N20/00G06F2221/2149
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,846,413
App. No.
16/853,419
Granted
Nov 24, 2020
Kind
B2
Abstract

A method, implementable by a data processing server comprising a trusted execution environment, includes: obtaining a ciphertext of target data from an external system; obtaining one or more parameters of a model for processing the target data; obtaining, via a data transmission channel between the trusted execution environment and the external system, an encryption key associated with the ciphertext of the target data; inputting the ciphertext of the target data and the one or more parameters of the model to the trusted execution environment; decrypting, in the trusted execution environment, the ciphertext using the encryption key to obtain the target data; processing, in the trusted execution environment, the obtained target data using the model with the one or more parameters to obtain a result; encrypting, in the trusted execution environment, the result using the encryption key; and sending the encrypted result to the external system.

Claims (76)

1. A data processing method, implementable by a data processing server comprising a trusted execution environment, the method comprising:

obtaining a ciphertext of target data from an external system;

determining one or more parameters of a Gaussian mixture model for processing the ciphertext of target data by training the Gaussian mixture model via an iterative process, wherein the one or more parameters include at least one of a mean, vector, and covariance matrix of the Gaussian mixture model;

obtaining, via a data transmission channel between the trusted execution environment and the external system, an encryption key associated with the ciphertext of the target data;

inputting the ciphertext of the target data and the one or more parameters of the Gaussian mixture model to the trusted execution environment;

decrypting, in the trusted execution environment, the ciphertext using the encryption key to obtain the target data;

processing, in the trusted execution environment, the obtained decrypted target data using the Gaussian mixture model with the one or more parameters to obtain a result;

encrypting, in the trusted execution environment, the result using the encryption key; and

sending the encrypted result to the external system.

2. The method according to claim 1 , wherein determining the one or more parameters of the Gaussian mixture model by training the Gaussian mixture model via an iterative process comprises:

obtaining a ciphertext of sample data from the external system;

decrypting, in the trusted execution environment, the ciphertext of the sample data to obtain the sample data; and

determining, in the trusted execution environment, the one or more parameters by training the Gaussian mixture model based on the sample data.

3. The method according to claim 1 , wherein determining the one or more parameters of the Gaussian mixture model by training the Gaussian mixture model via an iterative process comprises:

obtaining from the external system one or more initialization parameter values for the one or more parameters of the Gaussian mixture model; and

updating the one or more initialization parameter values via the iterative process to obtain the one or more parameters of the Gaussian mixture model.

4. The method according to claim 1 , wherein determining the one or more parameters of the Gaussian mixture model by training the Gaussian mixture model via an iterative process comprises:

encapsulating the ciphertext of the sample data into a plurality of ciphertext packets, wherein each of the plurality of ciphertext packets comprises a portion of the ciphertext of sample data; and

training the Gaussian mixture model based on one of the plurality of ciphertext packets in each iteration of the iterative process.

5. The method according to claim 4 , wherein encapsulating the ciphertext of the sample data into a plurality of ciphertext packets comprises:

determining, by a master node in the trusted execution environment, a quantity of pieces of the ciphertext of the sample data in each of the plurality of ciphertext packets;

obtaining, by a plurality of data obtaining nodes in the trusted execution environment, the determined quantity of pieces of the ciphertext of the sample data from the plurality of ciphertext of the sample data;

collecting, by the master node, the determined quantity of pieces of ciphertext of sample data from each of the plurality of data obtaining nodes; and

inputting, by the master node, the collected ciphertext of the sample data to the trusted execution environment.

6. The method according to claim 1 , wherein inputting the ciphertext of the target data and the one or more parameters of the Gaussian mixture model to a trusted execution environment comprises:

inputting the ciphertext of the target data and the one or more parameters of the Gaussian mixture model in a serialized form to the trusted execution environment by calling a Java Native Interface (JNI) function.

7. A system for data processing, comprising: one or more processors comprising a trusted execution environment and one or more non-transitory computer-readable memories coupled to the one or more processors and configured with instructions executable by the one or more processors to cause the system to perform operations comprising:

obtaining a ciphertext of target data from an external system;

determining one or more parameters of a Gaussian mixture model for processing the ciphertext of target data by training the Gaussian mixture model via an iterative process, wherein the one or more parameters include at least one of a mean, vector, and covariance matrix of the Gaussian mixture model;

obtaining, via a data transmission channel between the trusted execution environment and the external system, an encryption key associated with the ciphertext of the target data;

inputting the ciphertext of the target data and the one or more parameters of the Gaussian mixture model to the trusted execution environment;

decrypting, in the trusted execution environment, the ciphertext using the encryption key to obtain the target data;

processing, in the trusted execution environment, the obtained decrypted target data using the Gaussian mixture model with the one or more parameters to obtain a result;

encrypting, in the trusted execution environment, the result using the encryption key; and

sending the encrypted result to the external system.

8. The system according to claim 7 , wherein determining the one or more parameters of the Gaussian mixture model by training the Gaussian mixture model via an iterative process comprises:

obtaining a ciphertext of sample data from the external system;

decrypting, in the trusted execution environment, the ciphertext of the sample data to obtain the sample data; and

determining, in the trusted execution environment, the one or more parameters by training the Gaussian mixture model based on the sample data.

9. The system according to claim 7 , wherein determining the one or more parameters of the Gaussian mixture model by training the model via an iterative process comprises:

obtaining from the external system one or more initialization parameter values for the one or more parameters of the Gaussian mixture model; and

updating the one or more initialization parameter values via the iterative process to obtain the one or more parameters of the Gaussian mixture model.

10. The system according to claim 7 , wherein determining the one or more parameters of the Gaussian mixture model by training the Gaussian mixture model via an iterative process comprises:

encapsulating the ciphertext of the sample data into a plurality of ciphertext packets, wherein each of the plurality of ciphertext packets comprises a portion of the ciphertext of sample data; and

training the Gaussian mixture model based on one of the plurality of ciphertext packets in each iteration of the iterative process.

11. The system according to claim 10 , wherein encapsulating the ciphertext of the sample data into a plurality of ciphertext packets comprises:

determining, by a master node in the trusted execution environment, a quantity of pieces of the ciphertext of the sample data in each of the plurality of ciphertext packets;

obtaining, by a plurality of data obtaining nodes in the trusted execution environment, the determined quantity of pieces of the ciphertext of the sample data from the plurality of ciphertext of the sample data;

collecting, by the master node, the determined quantity of pieces of ciphertext of sample data from each of the plurality of data obtaining nodes; and

inputting, by the master node, the collected ciphertext of the sample data to the trusted execution environment.

12. The system according to claim 7 , wherein inputting the ciphertext of the target data and the one or more parameters of the Gaussian mixture model to a trusted execution environment comprises:

inputting the ciphertext of the target data and the one or more parameters of the Gaussian mixture model in a serialized form to the trusted execution environment by calling a Java Native Interface (JNI) function.

13. A non-transitory computer-readable storage medium configured with instructions executable by one or more processors comprising a trusted execution environment, to cause the one or more processors to perform operations comprising:

obtaining a ciphertext of target data from an external system;

determining one or more parameters of a Gaussian mixture model for processing the ciphertext of target data by training the Gaussian mixture model via an iterative process, wherein the one or more parameters include at least one of a mean, vector, and covariance matrix of the Gaussian mixture model;

obtaining, via a data transmission channel between the trusted execution environment and the external system, an encryption key associated with the ciphertext of the target data;

inputting the ciphertext of the target data and the one or more parameters of the Gaussian mixture model to the trusted execution environment;

decrypting, in the trusted execution environment, the ciphertext using the encryption key to obtain the target data;

processing, in the trusted execution environment, the obtained decrypted target data using the Gaussian mixture model with the one or more parameters to obtain a result;

encrypting, in the trusted execution environment, the result using the encryption key; and

sending the encrypted result to the external system.

14. The non-transitory computer-readable storage medium according to claim 13 , wherein determining the one or more parameters of the Gaussian mixture model by training the Gaussian mixture model via an iterative process comprises:

obtaining a ciphertext of sample data from the external system;

decrypting, in the trusted execution environment, the ciphertext of the sample data to obtain the sample data; and

determining, in the trusted execution environment, the one or more parameters by training the Gaussian mixture model based on the sample data.

15. The non-transitory computer-readable storage medium according to claim 13 , wherein determining the one or more parameters of the Gaussian mixture model by training the Gaussian mixture model via an iterative process comprises:

obtaining from the external system one or more initialization parameter values for the one or more parameters of the Gaussian mixture model; and

updating the one or more initialization parameter values via the iterative process to obtain the one or more parameters of the Gaussian mixture model.

16. The non-transitory computer-readable storage medium according to claim 13 , wherein determining the one or more parameters of the Gaussian mixture model by training the Gaussian mixture model via an iterative process comprises:

encapsulating the ciphertext of the sample data into a plurality of ciphertext packets, wherein each of the plurality of ciphertext packets comprises a portion of the ciphertext of sample data; and

training the Gaussian mixture model based on one of the plurality of ciphertext packets in each iteration of the iterative process.

17. The apparatus according to claim 16 , wherein encapsulating the ciphertext of the sample data into a plurality of ciphertext packets comprises:

determining, by a master node in the trusted execution environment, a quantity of pieces of the ciphertext of the sample data in each of the plurality of ciphertext packets;

obtaining, by a plurality of data obtaining nodes in the trusted execution environment, the determined quantity of pieces of the ciphertext of the sample data from the plurality of ciphertext of the sample data;

collecting, by the master node, the determined quantity of pieces of ciphertext of sample data from each of the plurality of data obtaining nodes; and

inputting, by the master node, the collected ciphertext of the sample data to the trusted execution environment.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053796/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: WU, YUNCHENG; WANG, WENXIANG; ZHANG, LE; LIN, LI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 053761/0451 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053702/0392 →