IP Library Granted Patent US 9,667,628
Granted Patent B2
US 9,667,628 · App. 14/534,305 · Granted May 30, 2017

System for establishing ownership of a secure workspace

Inventors: Simon P. Johnson (Beaverton, OR); Asher M. Altman (Bedford, MA); Abhishek Das (Portland, OR); Vincent R. Scarlata (Beaverton, OR)
Assignee: Intel Corporation
H04L63/0876G06F21/51G06F21/53H04L63/061H04L63/08G06F21/60
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,667,628
App. No.
14/534,305
Granted
May 30, 2017
Kind
B2
Abstract

The present application is directed to establishing ownership of a secure workspace (SW). A client device may provide a SW data structure (SWDS) to a SW configurator. A SWDS may comprise a hash of an original SW and a public key, and may be signed by a private key corresponding to the public key. The SW configurator may cause an execution container (EC) to be generated including a SW initiated using the SWDS. The client device may claim SW ownership using a request (signed by the private key) transmitted along with a copy of the public key. SW ownership may be determined by an ownership determination module that verifies the signature of the request using the public key received with the request, determines a hash of the received public key and compares the hash of the received public key to a hash of the public key in the SWDS.

Claims (46)

1. At least one device, comprising:

communication circuitry to interact with at least a client device; and

secure workspace configurator circuitry to:

receive a secure workspace data structure from the client device; wherein the secure workspace is a secure enclave and wherein the secure workspace data structure includes enclave hash information concerning the secure enclave, the enclave hash information being generated by a signor of the secure enclave;

generate an execution container, wherein the execution container is to initialize the secure workspace based on the secure workspace data structure, initialization of the secure workspace including measuring a hash value of a public key in the secure workspace data structure; and

cause a secure workspace including at least one executable program to be included within the execution container, wherein the secure workspace stores at least a portion of the secure workspace data structure received from the client device, wherein the secure workspace data structure comprises data pertaining to the secure workspace and the public key, wherein the secure workspace further comprises ownership determination circuitry to:

receive a signed message including at least a request to take ownership of the secure workspace and the public key from the client device via the communication circuitry; and

determine whether the client device is authorized to take ownership of the secure

workspace based at least on the signed message and the secure workspace data structure,

wherein the ownership determination circuitry to determine whether the client device is authorized to take ownership of the secure workspace comprises the ownership determination circuitry being to further:

verify the signature of the signed message utilizing the public key received with the signed message;

determine a hash value for the public key received with the signed message by measuring the public key;

verify ownership of the secure workspace by comparing the hash of the public key received with the signed message to the hash of the public key determined when the secure workspace was initialized; and

grant ownership of the secure workspace to the client device if the hash of the public key received with the signed message matches the hash of the public key determined when the secure workspace was initialized.

2. The at least one device of claim 1 , wherein the secure workspace data structure being received in a message signed with a private key corresponding to the public key.

3. The at least one device of claim 2 , wherein the data pertaining to the secure workspace comprises a hash value measured from the secure workspace.

4. The at least one device of claim 1 , wherein the secure workspace is a secure enclave based on Software Guard Extensions (SGX) technology and the secure workspace data structure is an SGX SIGSTRUCT data structure.

5. A method for establishing ownership of a secure workspace, comprising:

receiving, from a client device, a secure workspace data structure at secure workspace configurator circuitry in a remote resource; wherein the secure workspace is a secure enclave and wherein the secure workspace data structure includes enclave hash information concerning the secure enclave, the enclave hash information being generated by a signor of the secure enclave, wherein the secure workspace data structure comprises data pertaining to the secure workspace and a public key, the secure workspace data structure being received in a message signed with a private key corresponding to the public key;

causing secure workspace configurator circuitry to generate an execution container on the remote resource;

causing the secure workspace configurator circuitry to generate a secure workspace including at least one executable program within the execution container;

storing at least a portion of the secure workspace data structure received from the client device in the secure workspace;

initializing, by the execution container, the secure workspace based on the secure workspace data structure, wherein initializing the secure workspace includes measuring a hash value of the public key in the secure workspace data structure;

receiving a signed message including at least a request to take ownership of the secure workspace and the public key from the client device; and

determining whether the client device is authorized to take ownership of the secure workspace based at least on the signed message and the secure workspace data structure; and

wherein determining whether the client device is authorized to take ownership of the secure workspace comprises:

verifying the signature of the signed message utilizing the public key received with the signed message;

determining a hash value for the public key received with the signed message by measuring the public key;

verifying ownership of the secure workspace by comparing the hash of the public key received with the signed message to the hash of the public key determined when the secure workspace was initialized; and

granting ownership of the secure workspace to the client device if the hash of the public key received with the signed message matches the hash of the public key determined when the secure workspace was initialized.

6. The method of claim 5 , wherein the data pertaining to the secure workspace comprises a hash value measured from the secure workspace.

7. The method of claim 5 wherein the secure workspace is a secure enclave based on Software Guard Extensions (SGX) technology and the secure workspace data structure is an SGX SIGSTRUCT data structure.

8. At least one non-transitory, machine-readable, storage medium having stored thereon, individually or in combination, instructions for establishing ownership of a secure workspace that, when executed by one or more processors, cause the one or more processors to:

receive, from a client device, a secure workspace data structure at a secure workspace configurator circuitry in a remote resource; wherein the secure workspace is a secure enclave and wherein the secure workspace data structure includes enclave hash information concerning the secure enclave, the enclave hash information being generated by a signor of the secure enclave, wherein the secure workspace data structure comprises data pertaining to the secure workspace and a public key, the secure workspace data structure being received in a message signed with a private key corresponding to the public key;

cause secure workspace configurator circuitry to generate an execution container on the remote resource;

cause the secure workspace configurator circuitry to generate a secure workspace including at least one executable program within the execution container; and

storing at least a portion of the secure workspace data structure received from the client device in the secure workspace;

initialize, by the execution container, the secure workspace based on the secure workspace data structure, wherein initializing the secure workspace includes measuring a hash value of the public key in the secure workspace data structure;

receive a signed message including at least a request to take ownership of the secure workspace and the public key from the client device;

determine whether the client device is authorized to take ownership of the secure workspace based at least on the signed message and the secure workspace data structure;

verify the signature of the signed message utilizing the public key received with the signed message;

determine a hash value for the public key received with the signed message by measuring the public key;

verify ownership of the secure workspace by comparing the hash of the public key received with the signed message to the hash of the public key determined when the secure workspace was initialized; and

grant ownership of the secure workspace to the client device if the hash of the public key received with the signed message matches the hash of the public key determined when the secure workspace was initialized.

9. The medium of claim 8 , wherein the data pertaining to the secure workspace comprises a hash value measured from the secure workspace.

10. The medium of claim 8 , wherein the secure workspace is a secure enclave based on Software Guard Extensions (SGX) technology and the secure workspace data structure is an SGX SIGSTRUCT data structure.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF VINCENT J. SCARLATA TO VINCENT R. SCARLATA PREVIOUSLY RECORDED ON REEL 035942 FRAME 0748. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Oct 12, 2015
From: JOHNSON, SIMON P.; ALTMAN, ASHER M.; DAS, ABHISHEK; SCARLATA, VINCENT R.
To: INTEL CORPORATION
Reel/Frame 036839/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2015
From: JOHNSON, SIMON P; ALTMAN, ASHER M; DAS, ABHISHEK; SCARLATA, VINCENT J
To: INTEL CORPORATION
Reel/Frame 035942/0748 →
Continuity (1)
Related Publication 20160134627A1 · May 12, 2016