IP Library Granted Patent US 10,554,634
Granted Patent B2
US 10,554,634 · App. 15/721,723 · Granted Feb 4, 2020

Techniques for shared private data objects in a trusted execution environment

Inventors: Mic Bowman (Beaverton, OR); Andrea Miele (Hillsboro, OR); James P. Held (Portland, OR); Anand Rajan (Beaverton, OR)
Assignee: INTEL CORPORATION
H04L63/0428G06F21/57H04L9/0822H04L9/3234
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,554,634
App. No.
15/721,723
Granted
Feb 4, 2020
Kind
B2
Abstract

Techniques for sharing private data objects in a trusted execution environment using a distributed ledger are described. The techniques described herein may enable sharing of data objects, referred to herein as private data objects (PDOs), between individuals and organizations with access and update policies mediated by execution of code (referred to herein as a “smart contract”) carried with the PDO in a secure enclave. A distributed ledger may serve as a “public commit log” to ensure that there is a single, authoritative instance of the object and provide a means of guaranteeing atomicity of updates across interacting objects.

Claims (57)

1. A computer-implemented method for sharing private data objects, comprising:

provisioning one or more contract enclaves from a plurality of contract enclaves;

preparing a smart contract and initial state for a private data object (PDO);

receiving an encrypted and signed PDO and signature from one or more of the provisioned contract enclaves, the encrypted and signed PDO to comprise terms of the smart contract and a state of the smart contract;

verifying the signature of the encrypted and signed PDO; and

communicating the PDO and verified signature to a distributed ledger.

2. The computer-implemented method of claim 1 , wherein the PDO includes one or more rights managed within a contract manager.

3. The computer-implemented method of claim 2 , wherein the contract manager executes exclusively within a provisioned contract enclave.

4. The computer-implemented method of claim 2 , wherein the one or more rights includes a limitation on data visibility.

5. The computer-implemented method of claim 1 , wherein the distributed ledger is used as a data commit log.

6. The computer-implemented method of claim 5 , wherein the distributed ledger is configured to allow, at most, a single authoritative instance of the PDO.

7. The computer-implemented method of claim 1 , wherein interactions with the PDO can exclusively be performed within one of the provisioned contract enclaves.

8. The computer-implemented method of claim 1 , wherein the smart contract is a non-deterministic smart contract.

9. The computer-implemented method of claim 1 , further comprising:

requesting the PDO from the distributed ledger;

receiving the PDO from the distributed ledger; and

sending the PDO to one of the provisioned contract enclaves.

10. The computer-implemented method of claim 9 , further comprising:

receiving a new iteration of the PDO from the one of the provisioned contract enclaves, one or more signed state transitions, and one or more method parameters; and

submitting the new iteration of the PDO from the one of the provisioned contract enclaves, one or more signed state transitions, and one or more method parameters to the distributed ledger.

11. A system for sharing private data objects, comprising:

a plurality of contract enclaves; and

a client device including one or more processor circuits, the client device configured to:

provision one or more contract enclaves from the plurality of contract enclaves;

prepare a smart contract and initial state for a private data object (PDO);

receive an encrypted and signed PDO and signature from one or more of the provisioned contract enclaves, the encrypted and signed PDO to comprise terms of the smart contract and a state of the smart contract;

verifying the signature of the encrypted and signed PDO; and

communicate the PDO and verified signature to a distributed ledger.

12. The system of claim 11 , wherein the PDO includes one or more rights managed within a contract manager.

13. The system of claim 12 , wherein the contract manager executes exclusively within a provisioned contract enclave.

14. The system of claim 12 , wherein the one more rights includes a limitation on data visibility.

15. The system of claim 11 , wherein the distributed ledger is used as a data commit log.

16. The system of claim 15 , wherein the distributed ledger is configured to allow, at most, a single authoritative instance of the PDO.

17. The system of claim 11 , wherein interactions with the PDO can exclusively be performed within one of the provisioned contract enclaves.

18. The system of claim 11 , wherein the smart contract is a non-deterministic smart contract.

19. The system of claim 11 , the client device configured to:

request the PDO from the distributed ledger;

receive the PDO from the distributed ledger; and

send the PDO to one of the provisioned contract enclaves.

20. The system of claim 19 , the client device configured to:

receive a new iteration of the PDO from the one of the provisioned contract enclaves, one or more signed state transitions, and one or more method parameters; and

submit the new iteration of the PDO from the one of the provisioned contract enclaves, one or more signed state transitions, and one or more method parameters to the distributed ledger.

21. An article comprising a non-transitory computer-readable storage medium that stores instructions for execution by processing circuitry of a client device, the instructions to cause the client device to:

provision one or more contract enclaves from a plurality of contract enclaves;

prepare a smart contract and initial state for a private data object (PDO);

receive an encrypted and signed PDO and signature from one or more of the provisioned contract enclaves, the encrypted and signed PDO to comprise terms of the smart contract and a state of the smart contract;

verifying the signature of the encrypted and signed PDO; and

communicate the PDO and verified signature to a distributed ledger.

22. The article of claim 21 , wherein the PDO includes one or more rights managed within a contract manager.

23. The article of claim 22 , wherein the contract manager executes exclusively within a provisioned contract enclave.

24. The article of claim 21 , further comprising instructions to cause the client device to:

requesting the PDO from the distributed ledger;

receiving the PDO from the distributed ledger; and

sending the PDO to one of the provisioned contract enclaves.

25. The article of claim 24 , further comprising instructions to cause the client device to:

receive a new iteration of the PDO from the one of the provisioned contract enclaves, one or more signed state transitions, and one or more method parameters; and

submit the new iteration of the PDO from the one of the provisioned contract enclaves, one or more signed state transitions, and one or more method parameters to the distributed ledger.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2017
From: BOWMAN, MIC; MIELE, ANDREA; HELD, JAMES P.; RAJAN, ANAND
To: INTEL CORPORATION
Reel/Frame 044443/0001 →
Continuity (2)
Provisional Application 62547734 · Aug 18, 2017
Related Publication 20190058696A1 · Feb 21, 2019
Cited By (4)
US 12,212,568 US 12,657,287 US 12,699,768 US 12,718,246