Claims
- 1. A code module comprising
code to be executed by a computing device; and a signature that attests to the authenticity of the code, the signature encrypted such that the computing device is capable of decrypting the signature using a key embedded in a chipset of the computing device.
- 2. The code module of claim 1, further comprising data, wherein the signature further attests to the authenticity of the data.
- 3. The code module of claim 2, wherein the signature comprises a digest value computed from the code and the data.
- 4. The code module of claim 3, wherein the digest value is computed based upon a SHA-1 hash of the code and the data.
- 5. The code module of claim 2, wherein the signature comprises a hash of the code and the data.
- 6. The code module of claim 1, further comprising a field that identifies an execution point from which the computing device executes the code.
- 7. The code module of claim 1, further comprising a marker that specifies the end of the code module.
- 8. The code module of claim 1, further comprising one or more fields that specify an encryption algorithm used to encrypt the signature and that specify an algorithm used to compute the digest value.
- 9. The code module of claim 1, further comprising a field that specifies an execution point of a post-code module from which the computing device initiates execution of the post-code module after executing the code module.
- 10. The code module of claim 1, wherein the code comprises a terminate instruction that specifies an execution point of a post-code module and that in response to being executed results in the computing device terminating execution of the code module and initiating execution of the post-code module from the execution point.
- 11. A machine readable medium comprising
code pages comprising code to be executed by a computing device; and a value that fingerprints the code pages, the value encrypted such that the computing device is capable of decrypting the value using a key embedded in a processor of the computing device.
- 12. The machine readable medium of claim 9, further comprising data pages, wherein the value further fingerprints the data pages.
- 13. The machine readable medium of claim 10, wherein the value is computed based upon a SHA-1 hash of the code pages and the data pages.
- 14. The machine readable medium of claim 10, further comprising a field that specifies an execution point from which the computing device executes the code.
- 15. The machine readable medium of claim 10, wherein the code pages and data pages are stored in a contiguous manner and the machine readable medium further comprises a marker that specifies the end of the code pages and the data pages.
- 16. The machine readable medium of claim 10, further comprising one or more fields that specify an encryption algorithm used to encrypt the value and that specify an algorithm used to compute the value.
- 17. The machine readable medium of claim 10, further comprising a field that specifies an execution point of a post-code module from which the computing device initiates execution of the post-code module after executing the code pages.
- 18. The code module of claim 10, wherein the code comprises a terminate instruction that specifies an execution point of a post-code module and that in response to being executed results in the computing device terminating execution of the code pages and initiating execution of the post-code module from the execution point.
- 19. A machine readable medium comprising
data pages comprising data; code pages comprising code to be executed by a computing device; and a value that fingerprints the data pages and the code pages, the value encrypted such that the computing device is capable of decrypting the value using an asymmetric key embedded in a hardware component of the computing device.
- 20. The machine readable medium of claim 19, wherein
the value is encrypted via the RSA encryption algorithm and an asymmetric key paired with the asymmetric key of the hardware component; and the value comprises a SHA-1 hash of the data pages and the code pages.
RELATED APPLICATIONS
[0001] This application is related to application Ser. No. ______, entitled “Processor Supporting Execution Of An Authenticated Code Instruction”; and application Ser. No. ______, entitled “Authenticated Code Method And Apparatus” both filed on the same date as the present application.