IP Library Granted Patent US 9,230,109
Granted Patent B2
US 9,230,109 · App. 12/246,542 · Granted Jan 5, 2016

Trusted platform module security

Inventor: David Wooten (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F21/57H04L9/0836H04L9/0897H04L9/0861
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,230,109
App. No.
12/246,542
Granted
Jan 5, 2016
Kind
B2
Abstract

The described implementations relate to trusted platform module (TPM) security. One configuration that is implemented on a computing device includes a TPM configured to generate a key pair utilizing a factor stored on the TPM and an external cofactor that is not stored on the TPM. The computing device also includes a communication device configured to receive the external cofactor and convey the external cofactor to the TPM.

Claims (34)

1. A computing device, comprising:

a trusted platform module (TPM) configured to:

store a parent key pair comprising a parent private key and a parent public key,

store an authorization value indicative of a status of the computing device during boot-up,

receive another authorization value and an external cofactor stored separately from the TPM from a communication device coupled to the TPM,

combine the parent public key with the external cofactor to generate a child key pair comprising a child private key and a child public key when the another authorization value matches the authorization value,

combine a random value with the external cofactor to generate a symmetric encryption key to encrypt the child private key of the child key pair, and

use the parent public key to encrypt the random value when the another authorization value matches the authorization value, and

use the parent private key to decrypt the encrypted random value and combine the decrypted random value with the external cofactor to recover the symmetric encryption key to decrypt the encrypted child private key when the another authorization value matches the authorization value.

2. The computing device of claim 1 , wherein the TPM comprises one of: a freestanding chip in the computing device and an integrated component of a chipset of the computing device.

3. The computing device of claim 1 , wherein the communication device comprises one of: a card reader, a USB port, a bioscanner, or a Bluetooth device.

4. The computing device of claim 1 , further comprising an external source configured to store the external cofactor.

5. The computing device of claim 4 , wherein the external source comprises one of: a smart card, a USB device, or a Bluetooth device.

6. A method, comprising:

storing on a trusted platform module (TPM) a parent key pair comprising a parent private key and a parent public key;

storing on the TPM an authorization value indicative of a status of the computing device during boot-up;

receiving another authorization value and an external cofactor stored separately from the TPM from a communication device coupled to the TPM;

combining the parent public key with the external cofactor to generate a child key pair comprising a child private key and a child public key when the another authorization value matches the authorization value;

combining a random value with the external cofactor to generate a symmetric encryption key to encrypt the child private key of the child key pair;

using the parent public key to encrypt the random value when the another authorization value matches the authorization value;

subsequently using the parent private key to decrypt the encrypted random value; and,

combining the decrypted random value with the external cofactor to recover the symmetric encryption key to decrypt the encrypted child private key when the another authorization value matches the authorization value.

7. The method of claim 6 , wherein the receiving the external cofactor comprises receiving the external cofactor from an external source coupled to the communication device.

8. A system, comprising:

a trusted platform module (TPM) configured to:

store a parent key pair comprising a parent private key and a parent public key,

store an authorization value indicative of a boot-up status,

receive another authorization value and an external cofactor stored separately from the TPM from a communication device coupled to the TPM,

combine the parent public key with the external cofactor to generate a child key pair comprising a child private key and a child public key when the another authorization value matches the authorization value,

combine a random value with the external cofactor to generate a symmetric encryption key to encrypt the child private key of the child key pair,

use the parent public key to encrypt the random value when the another authorization value matches the authorization value, and

use the parent private key to decrypt the encrypted random value and combine the decrypted random value with the external cofactor to recover the symmetric encryption key to decrypt the encrypted child private key when the another authorization value matches the authorization value.

9. The system of claim 8 , wherein the TPM is manifest on a single device that also includes the communication device and wherein the boot-up status relates to the single device.

10. The system of claim 8 , wherein the system includes an external device that has the external cofactor stored thereon or wherein the system does not include the external device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2008
From: WOOTEN, DAVID
To: MICROSOFT CORPORATION
Reel/Frame 021659/0347 →
Continuity (1)
Related Publication 20100088523A1 · Apr 8, 2010