IP Library Granted Patent US 7,613,921
Granted Patent B2
US 7,613,921 · App. 11/171,880 · Granted Nov 3, 2009

Method and apparatus for remotely provisioning software-based security coprocessors

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 7,613,921
App. No.
11/171,880
Granted
Nov 3, 2009
Kind
B2
Abstract

A virtual security coprocessor is created in a first processing system. The virtual security coprocessor is then transferred to a second processing system, for use by the second processing system. For instance, the second processing system may use the virtual security coprocessor to provide attestation for the second processing system. In an alternative embodiment, a virtual security coprocessor from a first processing system is received at a second processing system. After receiving the virtual security coprocessor from the first processing system, the second processing system uses the virtual security coprocessor. Other embodiments are described and claimed.

Claims (53)

1. A method comprising:

creating a virtual security coprocessor in a first processing system;

generating, in the first processing system, an endorsement credential for the virtual security coprocessor, and signing the endorsement credential in the first processing system; and

transferring the virtual security coprocessor to a second processing system for use by the second processing system, and transmitting the endorsement credential to the second processing system.

2. A method comprising:

receiving, at a first processing system, a virtual security coprocessor from a second processing system and an endorsement credential created by the second processing system for the virtual security coprocessor; and

after receiving the virtual security coprocessor from the second processing system, using the virtual security coprocessor to provide at least one operation from the group of operations consisting of:

providing attestation for the first processing system; and

encrypting data for the first processing system.

3. A method according to claim 2 , wherein the first processing system comprises a security coprocessor implemented in hardware, the method comprising:

using the security coprocessor implemented in hardware to support the virtual security coprocessor.

4. An apparatus comprising:

a storage medium; and

instructions stored in the storage medium, wherein the instructions, when executed by a first processing system, cause the first processing system to perform operations comprising:

creating a virtual security coprocessor in the first processing system;

generating, in the first processing system, an endorsement credential for the virtual security coprocessor, and signing the endorsement credential in the first processing system; and

transferring the virtual security coprocessor to a second processing system for use by the second processing system, and transmitting the endorsement credential to the second processing system.

5. An apparatus comprising:

a storage medium; and

instructions stored in the storage medium, wherein the instructions, when executed by a first processing system, cause the first processing system to perform operations comprising:

receiving a virtual security coprocessor from a second processing system and an endorsement credential created by the second processing system for the virtual security coprocessor; and

after receiving the virtual security coprocessor from the second processing system, using the virtual security coprocessor to provide at least one operation from the group of operations consisting of:

providing attestation for the first processing system; and

encrypting data for the first processing system.

6. An apparatus according to claim 5 , wherein the first processing system comprises a security coprocessor implemented in hardware, and the instructions cause the first processing system to perform operations comprising:

using the security coprocessor implemented in hardware to support the virtual security coprocessor.

7. A processing system comprising:

a processor;

a storage medium communicatively coupled to the processor; and

instructions stored in the storage medium, wherein the instructions, when executed by a first processing system, cause the first processing system to perform operations comprising:

creating a virtual security coprocessor in the first processing system;

generating, in the first processing system, an endorsement credential for the virtual security coprocessor, and signing the endorsement credential in the first processing system; and

transferring the virtual security coprocessor to a second processing system for use by the second processing system, and transmitting the endorsement credential to the second processing system.

8. A processing system comprising:

a processor;

a storage medium communicatively coupled to the processor; and

instructions stored in the storage medium, wherein the instructions, when executed by a first processing system, cause the first processing system to perform operations comprising:

receiving, at the first processing system, a virtual security coprocessor from a second processing system and an endorsement credential created by the second processing system for the virtual security coprocessor; and

after receiving the virtual security coprocessor from the second processing system, using the virtual security coprocessor to provide at least one operation from the group of operations consisting of:

providing attestation for the first processing system; and

encrypting data for the first processing system.

9. A processing system according to claim 8 , wherein:

The first processing system further comprises a security coprocessor, implemented in hardware, and communicatively coupled to the processor; and

the first processing system to use the security coprocessor implemented in hardware to support the virtual security coprocessor.

10. A processing system according to claim 8 , wherein:

the first processing system further comprises a physical trusted platform module (TPM) communicatively coupled to the processor; and

the first processing system to use the TPM to support the virtual security coprocessor.

11. The method of claim 1 , further comprising using the virtual security coprocessor in the second processing system to provide attestation for the second processing system.

12. The method of claim 1 , further comprising using the virtual security coprocessor in the second processing system to encrypt data for the second processing system.

13. The apparatus of claim 4 , wherein the instructions further cause the first processing system to request the second processing system to provide a nonce.

14. The apparatus of claim 13 , wherein the instructions further cause the first processing system to encrypt a state of the virtual security coprocessor and the nonce to a storage key of the second processing system.

15. The processing system of claim 7 , wherein the instructions further cause the first processing system to request the second processing system to provide a nonce.

16. The processing system of claim 15 , wherein the instructions further cause the first processing system to encrypt a state of the virtual security coprocessor and the nonce to a storage key of the second processing system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING ERROR OF INVENTOR SCARLATA'S NAME PREVIOUSLY RECORDED ON REEL 016749 FRAME 0953. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT SPELLING OF VINCENT R. SCARLATA'S NAME. Recorded Feb 16, 2015
From: SCARLATA, VINCENT R.
To: INTEL CORPORATION
Reel/Frame 035001/0389 →