IP Library Granted Patent US 9,989,043
Granted Patent B2
US 9,989,043 · App. 15/729,401 · Granted Jun 5, 2018

System and method for processor-based security

Inventors: Ruby B. Lee (Princeton, NJ); David Champagne (London, GB)
Assignee: Teleputers, LLC
F04B33/00G06F21/72G06F21/57G06F21/575
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,989,043
App. No.
15/729,401
Granted
Jun 5, 2018
Kind
B2
Abstract

A system and method for processor-based security is provided, for on-chip security and trusted computing services for software applications. A processor is provided having a processor core, a cache memory, a plurality of registers for storing at least one hash value and at least one encryption key, a memory interface, and at least one on-chip instruction for creating a secure memory area in a memory external to the processor, and a hypervisor program executed by the processor. The hypervisor program instructs the processor to execute the at least one on-chip instruction to create a secure memory area for a software area for a software module, and the processor encrypts data written to, and decrypts data read from, the external memory using the at least one encryption key and the verifying data read from the external memory using the at least one hash value.

Claims (37)

1. A system for providing processor-based security, comprising:

a processor having a processor core, a cache memory, a plurality of registers for storing at least one private key and at least one hash value, and a memory interface; and

the system configured to:

receive a request for an attestation report from a program executing external to the processor;

determine the current state of each of a plurality of trusted software modules executing on the processor;

construct a tailored attestation report including status information corresponding only to the plurality of trusted software modules;

encrypt and sign the attestation report using the at least one private key and the at least one hash value; and

transmit the tailored attestation report to the external program, wherein the tailored attestation report conveys processor-based security information relating to the plurality of trusted software modules, wherein the tailored attestation report includes a descriptor identifying the plurality of trusted software modules.

2. The system of claim 1 , wherein the external program processes the tailored attestation report to determine whether to request a secure computing service from the microprocessor.

3. The system of claim 1 , wherein information of an untrusted operating system is not included in the attestation report.

4. The system of claim 1 wherein trusted software modules within an untrusted operating system are included in the attestation report.

5. The system of claim 1 wherein the status information reported is a cumulative hash of the trusted software modules.

6. The system of claim 1 , wherein upon receiving the request for the attestation report, a module certificate is generated by at least one trusted software module.

7. The system of claim 6 , wherein the at least one trusted software module generates the module certificate by using a hash function to bind a public key to a session nonce.

8. The system of claim 7 , wherein a hypervisor program generates a hypervisor report using a hash of the at least one trusted software module and a cryptographic hash function.

9. The system of claim 8 , wherein the processor signs the tailored attestation report using the hypervisor report with the hypervisor program's identity.

10. The system of claim 9 , wherein the tailored attestation report proves to the external program that the processor protects the hypervisor program's execution of instructions.

11. The system of claim 8 , wherein the processor signs the tailored attestation report with a private key corresponding to the public key generated with the module certificate.

12. The system of claim 1 , wherein the tailored attestation report includes configuration data used upon launch of the plurality of trusted software modules.

13. A method for providing processor-based security, comprising the steps of:

receiving at a computer system a request for an attestation report from a program executing external to the computer system;

determining the current state of a plurality of trusted software modules executing on a processor of the computer system;

constructing a tailored attestation report including status information corresponding only to the plurality of trusted software modules executing on the processor;

signing the attestation report using at least one private key and at least one hash value stored in the processor; and

transmitting the tailored attestation report to the program

wherein the tailored attestation report conveys processor-based security information relating to the plurality of trusted software modules

wherein the tailored attestation report includes a descriptor identifying the plurality of trusted software modules.

14. The method of claim 13 , further comprising processing the tailored attestation report to determine whether to request a secure computing service from the processor.

15. The method of claim 13 , wherein the status information corresponding to an untrusted operating system is not included in the attestation report, but trusted software modules within an untrusted operating system can be included in the attestation report.

16. The method of claim 13 , wherein the status information is a cumulative hash of the trusted software modules.

17. The method of claim 13 , further comprising the step of generating a module certificate upon receiving the request for the attestation report.

18. The method of claim 17 , further comprising the step of binding a public key to a session nonce using a hash function to generate the module certificate.

19. The method of claim 18 , further comprising the step of generating a hypervisor report using a hash of at least one trusted software module and a cryptographic hash function.

20. The method of claim 19 , further comprising the step of signing the tailored attestation report with a hypervisor program's identity using the hypervisor report.

21. The method of claim 19 , further comprising the step of signing the tailored attestation report with a private key corresponding to the public key generated with the module certificate.

22. The method of claim 20 , further comprising the step of providing the tailored attestation report to prove to the external program that the processor protects the hypervisor program's execution of instructions.

23. The method of claim 22 , further comprising the step of including configuration data used upon launch of the plurality of trusted software modules in the attestation report.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 054738 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 31, 2020
From: TELEPUTERS, LLC
To: CORESECURE TECHNOLOGIES, LLC
Reel/Frame 054883/0340 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2020
From: TELEPUTERS, LLC
To: CORESECURE TECHNOLOGIES, INC.
Reel/Frame 054738/0624 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2017
From: LEE, RUBY B.; CHAMPAGNE, DAVID
To: TELEPUTERS, LLC
Reel/Frame 043839/0244 →
Continuity (4)
Division 14288073 · May 27, 2014
Continuation 12689674 · Jan 19, 2010
Provisional Application 61145273 · Jan 16, 2009
Related Publication 20180045189A1 · Feb 15, 2018