IP Library Granted Patent US 10,701,039
Granted Patent B2
US 10,701,039 · App. 14/866,264 · Granted Jun 30, 2020

Mutual approval for privacy-preserving computing

Inventors: Vinay Phegade (Beaverton, OR); Huaiyu Liu (Portland, OR); Jesse Walker (Hillsboro, OR)
Assignee: INTEL CORPORATION
H04L63/0428H04L63/0869H04L63/06H04L63/126H04L2209/46
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,701,039
App. No.
14/866,264
Granted
Jun 30, 2020
Kind
B2
Abstract

Various embodiments are generally directed to the providing for mutual authentication and secure distributed processing of multi-party data. In particular, an experiment may be submitted to include the distributed processing of private data owned by multiple distrustful entities. Private data providers may authorize the experiment and securely transfer the private data for processing by trusted computing nodes in a pool of trusted computing nodes.

Claims (42)

1. An apparatus, comprising:

a network interface;

a processor coupled to the network interface;

memory coupled to the processor, the memory comprising instructions executable by the processor;

a trusted execution environment (TEE) coupled to the processor, the TEE comprising:

a secure co-processor; and

secure memory coupled to the secure co-processor, the secure memory comprising TEE instructions, the TEE instructions executable by the secure co-processor, which when executed by the secure co-processor cause the secure co-processor to:

establish, via the processor and the network interface, a first secure channel with a private data provider of a plurality of private data providers in a pool of private data sources,

receive, via the first secure channel, a first encryption key and encrypted private data from the private data provider,

establish, via the processor and the network interface, a second secure channel with an experiment orchestrator,

receive, via the second secure channel, a second encryption key and a portion of an experiment description, and

apply one or more processes to the encrypted private data based in part on the first encryption key, the second encryption key and the experiment description.

2. The apparatus of claim 1 , the TEE instructions, when executed by the secure co-processor cause the secure co-processor to decrypt the encrypted private data based on the encryption keys.

3. The apparatus of claim 1 , the TEE instructions, when executed by the secure co-processor cause the secure co-processor to send an information element to the experiment orchestrator to include an indication of a root of trust of the apparatus.

4. The apparatus of claim 1 , the apparatus a trusted computing node in a pool of distributed trusted computing nodes.

5. The apparatus of claim 1 , the experiment description comprising a directed acyclic graph (DAG).

6. The apparatus of claim 5 , the DAG comprising a plurality of map, reduce, or analytic operations to be performed on private data, the private data corresponding to private data available from the plurality of private data providers in the pool of private data sources.

7. An apparatus, comprising:

a network interface; and

a trusted execution environment (TEE) coupled to the network interface, the TEE comprising:

a secure co-processor; and

secure memory coupled to the secure co-processor, the secure memory comprising TEE instructions executable by the secure co-processor, which when executed, cause the secure co-processor to:

establish a secure channel with a private data provider of a plurality of private data providers in a pool of private data sources,

send, via the secure channel, a first information element to the private data provider, the first information element to include an indication of an experiment description that operates on private data available from the plurality of private data providers in the pool of private data sources,

receive, via the secure channel, a second information element from the private data provider, the second information element to include an indication of whether the experiment description is approved, and

authenticate a trusted computing node to admit the trusted computing node to a pool of trusted computing nodes.

8. The apparatus of claim 7 , the TEE instructions, when executed by the secure co-processor cause the secure co-processor to:

receive a root of trust from the trusted computing node, and

authenticate the trusted computing node based on the root of trust.

9. The apparatus of claim 7 , the TEE instructions, when executed by the secure co-processor cause the secure co-processor to:

send, via the secure channel, a third information element to the private data provider, the third information element to include an indication of the authenticity of the trusted computing node; and

receive, via the secure channel, a fourth information element from the private data provider, the fourth information element to include an indication of whether the trusted computing node is authorized to receive the private data.

10. The apparatus of claim 7 , the TEE instructions, when executed by the secure co-processor cause the secure co-processor to receive a third information element from an experiment portal, the third information element to include an indication of the experiment description.

11. The apparatus of claim 7 , the experiment description a directed acyclic graph.

12. At least one non-transitory machine-readable storage medium comprising instructions that when executed by a secure co-processor of a trusted execution environment (TEE) of an apparatus comprising a network interface, cause the TEE to:

establish, via the network interface, a first secure channel with a private data provider of a plurality of private data providers in a pool of private data sources;

receive, via the first secure channel, a first encryption key and encrypted private data from the private data provider;

establish, via the network interface, a second secure channel with an experiment orchestrator;

receive, via the second secure channel, a second encryption key and a portion of an experiment description, and

apply one or more processes to the encrypted private data based in part on the first encryption key, the second encryption key and the experiment description.

13. The at least one non-transitory machine-readable storage medium of claim 12 , comprising instructions that when executed by the secure co-processor further cause the TEE to decrypt the encrypted private data based on the encryption keys.

14. The at least one non-transitory machine-readable storage medium of claim 13 , comprising instructions that when executed by the secure co-processor further cause the TEE to send an information element to the experiment orchestrator to include an indication of a root of trust of the apparatus.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2015
From: PHEGADE, VINAY; LIU, HUAIYU; WALKER, JESSE
To: INTEL CORPORATION
Reel/Frame 037242/0789 →
Continuity (1)
Related Publication 20170093806A1 · Mar 30, 2017