IP Library › Granted Patent US 9,171,163
Granted Patent B2
US 9,171,163 · App. 13/844,101 · Granted Oct 27, 2015

Mutually assured data sharing between distrusting parties in a network environment

Inventors: Vinay Phegade (Beaverton, OR); Anand Rajan (Beaverton, OR); Simon Johnson (Beaverton, OR); Vincent Scarlata (Beaverton, OR); Carlos Rozas (Portland, OR); Nikhil Deshpande (Beaverton, OR)
Assignee: Intel Corporation
G06F21/57G06F21/60G06F21/64G06F2221/2105
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 9,171,163
App. No.
13/844,101
Granted
Oct 27, 2015
Kind
B2
Abstract

An apparatus for sharing information between entities includes a processor and a trusted execution module executing on the processor. The trusted execution module is configured to receive first confidential information from a first client device associated with a first entity, seal the first confidential information within a trusted execution environment, receive second confidential information from a second client device associated with a second entity, seal the second confidential information within the trusted execution environment, and execute code within the trusted execution environment. The code is configured to compute a confidential result based upon the first confidential information and the second confidential information.

Claims (51)

1. An apparatus for sharing information between entities, comprising:

a processor; and

a trusted execution module executing on the processor, the trusted execution module configured to:

receive first confidential information from a first client device associated with a first entity;

seal the first confidential information within a trusted execution environment;

receive second confidential information from a second client device associated with a second entity;

seal the second confidential information within the trusted execution environment;

receive code from at least one of the first client device and the second client device;

seal the code within the trusted execution environment; and

execute the code within the trusted execution environment, the code configured to compute a confidential result based upon the first confidential information and the second confidential information.

2. The apparatus of claim 1 , the trusted execution module being further configured to:

determine an identity of the code;

send the identity to the first client device; and

receive an indication from the first device that the identity has been verified by the first client device.

3. The apparatus of claim 2 , wherein the identity is a cryptographically signed identity computed within the trusted execution environment.

4. The apparatus of claim 1 , wherein the first confidential information is confidential to the first entity and the second confidential information is confidential to the second entity.

5. The apparatus of claim 1 , wherein the trusted execution module is further configured to send a notification to one or more entities matching criteria agreed upon by the first entity and the second entity.

6. The apparatus of claim 5 , wherein the notification includes the confidential result.

7. The apparatus of claim 1 , wherein computing a confidential result based upon the first confidential information and the second confidential information includes determining if a first portion of the first confidential information matches a second portion of the second confidential information.

8. The apparatus of claim 7 , wherein the trusted execution module is further configured to send a notification to at least one of the first client device and the second client device when the first portion matches the second portion.

9. The apparatus of claim 8 , wherein the notification includes at least a portion of the matching first portion and second portion.

10. The apparatus of claim 1 , wherein the code is mutually agreed upon by the first entity and the second entity.

11. At least one non-transitory machine readable storage medium having instructions stored thereon for sharing information between entities, the instructions when executed by a processor cause the processor to:

receive first confidential information from a first client device associated with a first entity;

seal the first confidential information within a trusted execution environment;

receive second confidential information from a second client device associated with a second entity;

seal the second confidential information within the trusted execution environment;

receive code from at least one of the first client device and the second client device;

seal the code within the trusted execution environment; and

execute the code within the trusted execution environment, the code configured to compute a confidential result based upon the first confidential information and the second confidential information.

12. The at least one non-transitory machine readable storage medium of claim 11 , comprising further instructions that when executed by the processor cause the processor to:

determine an identity of the code;

send the identity to the first client device; and

receive an indication from the first device that the identity has been verified by the first client device.

13. The at least one non-transitory machine readable storage medium of claim 12 , wherein the identity is a cryptographically signed identity computed within the trusted execution environment.

14. The at least one non-transitory machine readable storage medium of claim 11 , wherein the first confidential information is confidential to the first entity and the second confidential information is confidential to the second entity.

15. The at least one non-transitory machine readable storage medium of claim 11 , wherein the trusted execution module is further configured to send a notification to one or more entities matching criteria agreed upon by the first entity and the second entity.

16. The at least one non-transitory machine readable storage medium of claim 15 , wherein the notification includes the confidential result.

17. The at least one non-transitory machine readable storage medium of claim 11 , wherein computing a confidential result based upon the first confidential information and the second confidential information includes determining if a first portion of the first confidential information matches a second portion of the second confidential information.

18. The at least one non-transitory machine readable storage medium of claim 17 , wherein the trusted execution module is further configured to send a notification to at least one of the first client device and the second client device when the first portion matches the second portion.

19. The at least one non-transitory machine readable storage medium of claim 18 , wherein the notification includes at least a portion of the matching first portion and second portion.

20. The at least one non-transitory machine readable storage medium of claim 11 , wherein the code is mutually agreed upon by the first entity and the second entity.

21. A method for sharing information between entities, comprising:

receiving first confidential information from a first client device associated with a first entity;

sealing the first confidential information within a trusted execution environment;

receiving second confidential information from a second client device associated with a second entity;

sealing the second confidential information within the trusted execution environment;

receiving code from at least one of the first client device and the second client device;

sealing the code within the trusted execution environment; and

executing the code within the trusted execution environment, the code configured to compute a confidential result based upon the first confidential information and the second confidential information.

22. The method of claim 21 , further comprising sending a notification to one or more entities matching criteria agreed upon by the first entity and the second entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2013
From: PHEGADE, VINAY; RAJAN, ANAND; JOHNSON, SIMON; SCARLATA, VINCENT; ROZAS, CARLOS; DESHPANDE, NIKHIL
To: INTEL CORPORATION
Reel/Frame 030741/0799 →
Continuity (1)
Related Publication 20140283098A1 · Sep 18, 2014