IP Library Granted Patent US 12,314,395
Granted Patent B2
US 12,314,395 · App. 17/362,107 · Granted May 27, 2025

Training data protection for artificial intelligence model in partitioned execution environment

Inventors: Jinpeng Liu (Shanghai, CN); Michael Estrin (Austin, TX); Zhen Jia (Shanghai, CN); Kenneth Durazzo (Morgan Hill, CA)
Assignee: EMC IP Holding Company LLC
G06F21/57G06F21/53G06F21/602G06F21/606G06N3/02
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 12,314,395
App. No.
17/362,107
Granted
May 27, 2025
Kind
B2
Abstract

Techniques for training data protection in an artificial intelligence model execution environment are disclosed. For example, a method comprises executing a first partition of an artificial intelligence model within a secure execution area of an information processing system and a second partition of the artificial intelligence model within a non-secure execution area of the information processing system, wherein data at least one of obtained and processed in the first partition of the artificial intelligence model is inaccessible to the second partition of the artificial intelligence model. Communication between the first partition and the second partition may be enabled via a model parallelism-based procedure. Data obtained in the secure execution area may comprise one or more data samples in an encrypted form usable to train the artificial intelligence model.

Claims (54)

1. A method, comprising:

executing a first partition of an artificial intelligence model within a secure execution area of an information processing system and a second partition of the artificial intelligence model within a non-secure execution area of the information processing system, wherein data at least one of obtained and processed in the first partition of the artificial intelligence model is inaccessible to the second partition of the artificial intelligence model, wherein the data obtained in the first partition comprises one or more data samples in an encrypted form usable to train the artificial intelligence model wherein the first partition of the artificial intelligence model comprises one or more parameters that are randomly initialized such that the one or more parameters are inaccessible to the second partition of the artificial intelligence model, a first output which is based in part on the one or more randomly initialized parameters of the secure execution area and inaccessible to the second partition of the artificial intelligence model, and a second output which is based in part on the one or more randomly initialized parameters of the secure execution area and accessible to the second partition of the artificial intelligence model, wherein the second output of the first partition is accessible to the second partition of the artificial intelligence model via a model parallelism-based procedure;

wherein the data is associated with information collected and accessed by a first entity based on a first geographic area which cannot be collected and accessed by a second entity of a second geographic area different from the first geographic area;

wherein the second entity of the second geographic area has access to the second output via the model parallelism-based procedure;

wherein the one or more data samples are decrypted in the secure execution area following an attestation process, comprising:

receiving an attestation challenge from the first entity at the secure execution area; and

in response to a successful attestation, receiving one more decryption keys from the first entity at the secure execution area via a secure connection created during the attestation process to decrypt the one or more data samples in the encrypted form; and

wherein the information processing system comprises at least one processor and at least one memory storing computer program instructions wherein, when the at least one processor executes the computer program instructions, the information processing system performs the above step method.

2. The method of claim 1 , further comprising obtaining at least one decryption key of the one or more decryption keys in the secure execution area, wherein the at least one decryption key is useable to convert the one or more data samples into a decrypted form within the secure execution area.

3. The method of claim 2 , wherein the artificial intelligence model comprises a network, wherein the first partition of the artificial intelligence model comprises a first set of layers of the network and the second partition of the artificial intelligence model comprises a second set of layers of the network; and wherein the first set of layers comprises initial layers of the network and the second set of layers comprises remaining layers of the network.

4. The method of claim 3 , further comprising:

processing the one or more data samples in the decrypted form in the first set of layers of the network within the secure execution area;

generating, based on the processing, a third output of the secure execution area; and

sending the third output to the non-secure execution area wherein, given another output, the one or more data samples in the decrypted form and one or more model parameters generated by the first set of layers of the network are inaccessible to the non-secure execution area.

5. The method of claim 1 , wherein the secure execution area comprises a secure virtual machine and the non-secure execution area comprises a non-secure virtual machine.

6. The method of claim 1 , wherein the one or more data samples are used as input to a first layer of the first partition and the first output is generated in a second layer of the first partition and further based in part on the one or more data samples.

7. The method of claim 5 , wherein the secure virtual machine comprises a Secure Encrypted Virtualization (SEV) with Secure Nested Paging (SNP).

8. A system, comprising:

a secure execution area of an information processing system; and

a non-secure execution area of the information processing system operatively coupled to the secure execution area,

wherein the secure execution area is configured to execute a first partition of an artificial intelligence model and the non-secure execution area is configured to execute a second partition of the artificial intelligence model, wherein data at least one of obtained and processed in the first partition of the artificial intelligence model is inaccessible to the second partition of the artificial intelligence model, wherein the data obtained in the first partition comprises one or more data samples in an encrypted form usable to train the artificial intelligence model;

wherein the first partition of the artificial intelligence model comprises one or more parameters that are randomly initialized such that the one or more parameters are inaccessible to the second partition of the artificial intelligence model, a first output which is based in part on the one or more randomly initialized parameters of the secure execution area and inaccessible to the second partition of the artificial intelligence model, and a second output which is based in part on the one or more randomly initialized parameters of the secure execution area and accessible to the second partition of the artificial intelligence model, wherein the second output of the first partition is accessible to the second partition of the artificial intelligence model via a model parallelism-based procedure;

wherein the data is associated with information collected and accessed by a first entity based on a first geographic area which cannot be collected and accessed by a second entity of a second geographic area different from the first geographic area;

wherein the second entity of the second geographic area has access to the second output via the model parallelism-based procedure;

wherein the one or more data samples are decrypted in the secure execution area following an attestation process, comprising:

receiving an attestation challenge from the first entity at the secure execution area; and

in response to a successful attestation, receiving one more decryption keys from the first entity at the secure execution area via a secure connection created during the attestation process to decrypt the one or more data samples in the encrypted form; and

wherein the system further comprises one or more processors and one or more memories storing computer program instructions.

9. The system of claim 8 , wherein the secure execution area is further configured to obtain at least one decryption key of the one or more decryption keys, wherein the at least one decryption key is useable to convert the one or more data samples into a decrypted form within the secure execution area.

10. The system of claim 9 , wherein the artificial intelligence model comprises a network, and wherein the first partition of the artificial intelligence model comprises a first set of layers of the network and the second partition of the artificial intelligence model comprises a second set of layers of the network.

11. The system of claim 10 , wherein the first set of layers comprises initial layers of the network and the second set of layers comprises remaining layers of the network.

12. The system of claim 10 , wherein the secure execution area is further configured to:

process the one or more data samples in the decrypted form in the first set of layers of the network;

generate a third output based on the processing; and

send the third output to the non-secure execution area wherein, given another output, the one or more data samples in the decrypted form and one or more model parameters generated by the first set of layers of the network are inaccessible to the non-secure execution area.

13. The system of claim 8 , wherein the secure execution area comprises a secure virtual machine and the non-secure execution area comprises a non-secure virtual machine.

14. The system of claim 8 , wherein the one or more data samples are used as input to a first layer of the first partition and the first output is generated in a second layer of the first partition and further based in part on the one or more data samples.

15. A non-transitory computer-readable medium comprising machine executable instructions, the machine executable instructions, when executed, causing a processing device to:

execute a first partition of an artificial intelligence model within a secure execution area of an information processing system and a second partition of the artificial intelligence model within a non-secure execution area of the information processing system, wherein data at least one of obtained and processed in the first partition of the artificial intelligence model is inaccessible to the second partition of the artificial intelligence model, wherein the data obtained in the first partition comprises one or more data samples in an encrypted form usable to train the artificial intelligence model;

wherein the first partition of the artificial intelligence model comprises one or more parameters that are randomly initialized such that the one or more parameters are inaccessible to the second partition of the artificial intelligence model, a first output which is based in part on the one or more randomly initialized parameters of the secure execution area and inaccessible to the second partition of the artificial intelligence model, and a second output which is based in part on the one or more randomly initialized parameters of the secure execution area and accessible to the second partition of the artificial intelligence model, wherein the second output of the first partition is accessible to the second partition of the artificial intelligence model via a model parallelism-based procedure;

wherein the data is associated with information collected and accessed by a first entity based on a first geographic area which cannot be collected and accessed by a second entity of a second geographic area different from the first geographic area;

wherein the second entity of the second geographic area has access to the second output via the model parallelism-based procedure; and

wherein the one or more data samples are decrypted in the secure execution area following an attestation process, comprising:

receiving an attestation challenge from the first entity at the secure execution area; and

in response to a successful attestation, receiving one more decryption keys from the first entity at the secure execution area via a secure connection created during the attestation process to decrypt the one or more data samples in the encrypted form.

16. The non-transitory computer-readable medium of claim 15 , wherein the secure execution area is further configured to:

obtain at least one decryption key of the one or more decryption keys, wherein the at least one decryption key is useable to convert the one or more data samples into a decrypted form within the secure execution area.

17. The non-transitory computer-readable medium of claim 15 , wherein the secure execution area comprises a secure virtual machine and the non-secure execution area comprises a non-secure virtual machine.

18. The non-transitory computer-readable medium of claim 16 , wherein the artificial intelligence model comprises a network, wherein the first partition of the artificial intelligence model comprises a first set of layers of the network and the second partition of the artificial intelligence model comprises a second set of layers of the network; and wherein the first set of layers comprises initial layers of the network and the second set of layers comprises remaining layers of the network.

19. The non-transitory computer-readable medium of claim 15 , wherein the one or more data samples are used as input to a first layer of the first partition and the first output is generated in a second layer of the first partition and further based in part on the one or more data samples.

20. The non-transitory computer-readable medium of claim 18 , wherein the secure execution area is further configured to:

process the one or more data samples in the decrypted form in the first set of layers of the network;

generate a third output based on the processing; and

send the third output to the non-secure execution area wherein, given another output, the one or more data samples in the decrypted form and one or more model parameters generated by the first set of layers of the network are inaccessible to the non-secure execution area.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2021
From: LIU, JINPENG; ESTRIN, MICHAEL; JIA, ZHEN; DURAZZO, KENNETH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056707/0329 →
Continuity (1)
Related Publication 20220414223A1 · Dec 29, 2022
References Cited (43)
US 10643144B2 · Bowers et al. · 2020 [cited by applicant]
US 20140118355A1 · Vassilvitskii et al. · 2014 [cited by applicant]
US 20180136912A1 · Venkataramani et al. · 2018 [cited by applicant]
US 20190042878A1 · Sheller · 2019 [cited by examiner]
US 20190286657A1 · Li et al. · 2019 [cited by applicant]
US 20190296910A1 · Cheung · 2019 [cited by examiner]
US 20190318240A1 · Kulkarni · 2019 [cited by examiner]
US 20190392305A1 · Gu · 2019 [cited by examiner]
US 20200082270A1 · Gu · 2020 [cited by examiner]
US 20200082279A1 · Arora · 2020 [cited by examiner]
US 20200257992A1 · Achin et al. · 2020 [cited by applicant]
US 20200273558A1 · Yousfi · 2020 [cited by examiner]
US 20200327371A1 · Sharma et al. · 2020 [cited by applicant]
US 20200334544A1 · Liu et al. · 2020 [cited by applicant]
US 20200387776A1 · Farhadi · 2020 [cited by examiner]
US 20200401930A1 · Smirnov et al. · 2020 [cited by applicant]
US 20210034582A1 · Liu et al. · 2021 [cited by applicant]
US 20210112038A1 · Karame · 2021 [cited by examiner]
US 20210150411A1 · Coenders · 2021 [cited by examiner]
US 20210192360A1 · Bitauld · 2021 [cited by examiner]
US 20220114014A1 · Chen · 2022 [cited by examiner]
US 20220197994A1 · Sternby · 2022 [cited by examiner]
US 20230198759A1 · Shim · 2023 [cited by examiner]
WO WO2020190776A1 · 2020 [cited by examiner]
T. Elgamal and K. Nahrstedt, “Serdab: An IoT Framework for Partitioning Neural Networks Computation across Multiple Enclaves,” 2020 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID)… [cited by examiner]
Stack Overflow , “Why should weights of Neural Networks be initialized to random numbers?”, Nov. 20, 2018, Retrieved from The Wayback Machine (Year: 2018). [cited by examiner]
Tramer F, Boneh D. Slalom: Fast, verifiable and private execution of neural networks in trusted hardware. arXiv preprint arXiv:1806.03287. Jun. 8, 2018. (Year: 2018). [cited by examiner]
D. Stutz, “Implementing Tensorflow Operations in C++—Including Gradients,” https://davidstutz.de/implementing-tensorflow-operations-in-c-including-gradients/, Feb. 4, 2017, 14 pages. [cited by applicant]
Github, Inc. “Create an op,” https://github.com/tensorflow/docs/blob/master/site/en/guide/create_op.md, Jul. 16, 2020, 30 pages. [cited by applicant]
Microsoft, “Microsoft SEAL,” https://www.microsoft.com/en-us/research/project/microsoft-seal/, 2021, 4 pages. [cited by applicant]
Fate, “An Industrial Grade Federated Learning Framework,” https://fate.fedai.org/, 2021, 5 pages. [cited by applicant]
Github, Inc. “Deep Learning with Intel SGX,” https://github.com/landoxy/intel-sgx-deep-learning, Jan. 21, 2019, 4 pages. [cited by applicant]
Github, Inc. “Tensorflow/mesh,” https://github.com/tensorflow/mesh, Accessed Apr. 15, 2021, 13 pages. [cited by applicant]
L. Song et al., “HyPar: Towards Hybrid Parallelism for Deep Learning Accelerator Array,” arXiv:1901.02067v1, Jan. 7, 2019, 13 pages. [cited by applicant]
Wikipedia, “Intermediate Representation,” https://en.wikipedia.org/w/index.phptitle=Intermediate_representation&oldid=905361000, Jul. 8, 2019, 3 pages. [cited by applicant]
Z. Jia et al., “Beyond Data and Model Parallelism for Deep Neural Networks,” Proceedings of the 2nd SysML Conference, 2019, 13 pages. [cited by applicant]
Wikipedia, “Trusted Execution Environment,” https://en.wikipedia.org/w/index.php?title=Trusted_execution_environment&oldid=1027841774, Jun. 10, 2021, 7 pages. [cited by applicant]
Wikipedia, “Software Guard Extensions,” https://en.wikipedia.org/w/index.php?title=Software_Guard_Extensions&oldid=1028673056, Jun. 15, 2021, 5 pages. [cited by applicant]
Intel Corporation, “Intel® SGX SDK Developer Reference for Windows,” Mar. 10, 2020, 461 pages. [cited by applicant]
AMD, “AMD SEV-SNP: Strengthening VM Isolation with Integrity Protection and More,” White Paper, Jan. 2020, 20 pages. [cited by applicant]
Arm Limited, “TrustZone for Cortex-A,” https://developer.arm.com/ip-products/security-ip/trustzone/trustzone-for-cortex-a, Accessed Jun. 29, 2021, 9 pages. [cited by applicant]
Arm Limited, “TrustZone for Cortex-M,” https://developer.arm.com/ip-products/security-ip/trustzone/trustzone-for-cortex-m, Accessed Jun. 29, 2021, 18 pages. [cited by applicant]
U.S. Appl. No. 17/352,653 filed in the name of Jinpeng Liu et al. filed Jun. 21, 2021, and entitled “Training Data Protection in Artificial Intelligence Model Execution Environment.” [cited by applicant]