Claims
- 1. A computerized method for establishing a boot domain on a client computer comprising:
selecting a boot certificate associated with the boot domain; creating a verified operating system identity from the boot certificate; and loading each one of a plurality of operating system components in accordance with a set of boot rules based on the boot certificate.
- 2. The method of claim 1, further comprising:
creating an unverified operating system identity when one of the plurality of operating system components fails the set of boot rules.
- 3. The method of claim 1, wherein each of the plurality of operating system components is associated with a component certificate and the set of boot rules comprises:
verifying that each component certificate is signed by a boot authority that issued the boot certificate; verifying that each component certificate is valid as of an issue date for the boot certificate; and verifying that each component is not listed in a revocation list associated with the boot certificate.
- 4. The method of claim 3, further comprising:
obtaining a new component certificate to replace an component certificate that is expired as of the issue date of the boot certificate.
- 5. The method of claim 3, further comprising:
obtaining a new component to replace a component that is listed in the revocation list associated with the boot certificate; and obtaining the associated component certificate for the new component.
- 6. The method of claim 1, further comprising:
securing data for use in the boot domain using a key based on the verified identity of the operating system.
- 7. The method of claim 6, further comprising:
obtaining a new boot certificate; creating a new verified operating system identity from the new boot certificate; and re-securing the data in the boot domain with the new verified operating system identity.
- 8. The method of claim 6, wherein re-securing the data in the boot domain comprising:
verifying that the new boot certificate is issued by a boot authority that is the same as the boot authority that issued the boot certificate; verifying that the new boot certificate is issued at a later date than the boot certificate; verifying that the data in the boot domain has not expired; unsealing the data in the boot domain with the verified operating system identity; copying the data; and sealing the copy of the data with the new verified operating system identity.
- 9. The method of claim 1, wherein the actions are performed in the order recited.
- 10. A computer-readable medium having stored thereon a boot certificate data structure comprising:
a boot authority field containing data representing an identifier for a boot authority that published the boot certificate; an issue date field containing data representing a date when the boot authority identified by the boot authority field published the boot certificate; a public key field containing representing a public key for the boot authority identified by the boot authority field; a certificate digest field containing data representing a cryptographic hash of the boot authority field, the issue data field, and the public key field; and a signature field containing data representing a digital signature for the boot authority identified by the boot authority field.
- 11. The computer-readable medium of claim 10, further comprising:
an expiration date field containing data representing a date when the boot authority identified by the boot authority field invalidates the boot certificate.
- 12. The computer-readable medium of claim 10, further comprising:
a revocation list field containing data representing a list of software components no longer attested to by the boot authority identified by the boot authority field.
- 13. The computer-readable medium of claim 11, wherein the revocation list field further comprising a plurality of revocation list entries, each revocation list entry comprising:
a component field containing data representing a version of a software component; a component digest field containing data representing a cryptographic hash of the software component identified by the component field; and an address field containing data representing an on-line source having a later version of the component identified by the component field.
- 14. The computer-readable medium of claim 10, further comprising:
a boot rules field containing data representing a set of rules required by the boot authority identified by the boot authority field, wherein the set of rules direct the booting of a computer under the boot certificate.
- 15. The computer-readable medium of claim 14, wherein the set of rules are a series of operating system commands.
- 16. The computer-readable medium of claim 14, wherein the set of rules are in a operating system script language.
- 17. A computer-readable medium having stored thereon a component certificate data structure, the component certificate data structure associated with a software component, comprising:
a boot authority field containing data representing an identifier for a boot authority that published the component certificate; a component field containing data representing a version for the software component attested to by the boot authority identified by the boot authority field; a component digest field containing data representing a cryptographic hash of the software component identified by the component field an issue date field containing data representing a date when the boot authority identified by the boot authority field published the component certificate; an expiration date field containing data representing a date when the boot authority identified by the boot authority field invalidates the component certificate; and a signature field containing data representing a digital signature for the boot authority identified by the boot authority field.
- 18. A computer-readable medium having stored thereon a time certificate data structure comprising:
a time authority field containing data representing an identifier for a time authority that published the time certificate; an issue date and time field containing data representing a date and time when the time authority identified by the time authority field published the time certificate; a public key field containing representing a public key for the time authority identified by the time authority field; a certificate digest field containing data representing a cryptographic hash of the time authority field, the issue data field, and the public key field; and a signature field containing data representing a digital signature for the time authority identified by the time authority field.
- 19. A computerized system comprising:
a processing unit; a system memory coupled to the processing unit through a system bus; a computer-readable medium coupled to the processing unit through a system bus; and a boot manager executed from the computer-readable medium by the processing unit, wherein the boot manager causes the processing unit to request a boot certificate selection from a user of the computerized system.
- 20. The computerized system of claim 19, further comprising:
a boot loader executed from the computer-readable medium by the processing unit, wherein the boot loader causes the processing unit to boot subsequent software components based on a set of boot rules for the boot certificate.
- 21. The computerized system of claim 20, wherein the boot loader further causes the processing unit to create a verified operating system identity from the boot certificate when the boot rules are satisfied.
- 22. The computerized system of claim 21, further comprising:
a wide area network connection coupled to the processing unit; and a verified operating system booted in accordance with the boot rules, wherein the verified operating system causes the processing unit to transmit the verified operating system identity and the boot certificate to a server computer.
- 23. The computerized system of claim 23, wherein the verified operating system further causes the processing unit to secure data downloaded from the server computer through the verified operating system identity.
- 23. The computerized system of claim 23, wherein the verified operating system further causes the processing unit to obtain a new boot certificate, to create a new verified operating system identity from the new boot certificate, and to unseal downloaded data secured with the verified operating system identity, and further to re-seal the downloaded data through the new verified operating system identity.
- 24. A computer-readable medium having computer-executable modules stored thereon, the modules comprising:
a boot manager for determining a boot certificate associated with one of a plurality of boot domains; and a boot loader for loading each one of a plurality of operating system components in accordance with a set of boot rules for the boot certificate and further for creating a verified operating system identity from the boot certificate.
- 25. The computer-readable medium of claim 24, further comprising:
the plurality of operating system components for creating a verified operating system associated with the boot domain.
- 26. The computer-readable medium of claim 24, wherein the boot manager determines the boot certificate based on user input.
- 27. The computer-readable medium of claim 24, wherein the boot loader further creates an unverified operating system identify when one of the plurality of operating system components fails the set of boot rules.
- 28. A method of transferring data between a client and a server computer comprising:
obtaining, by the client computer, a boot certificate; loading, by the client computer, a plurality of operating system components as specified by the boot certificate to boot a verified operating system on the client computer; creating, by the client computer, a verified operating system identity for the verified operating system from the boot certificate; transmitting, by the client computer, the verified operating system identity and the boot certificate to the server computer; determining, by the server computer, what data is available to the client computer based on the verified operating system identity and the boot certificate; downloading, by the server computer, the available data to the client computer; and securing, by the client computer, the downloaded data on the client computer through the verified operating system identity.
- 29. The method of claim 28, wherein loading the plurality of operating system components is performed under the control of a different operating system.
- 30. The method of claim 28, wherein the plurality of operating system components is loaded into a protected address space.
- 31. A computer-readable medium having computer-executable instructions stored thereon to establish a boot domain on a computer, the instructions comprising:
obtaining a boot certificate associated with the boot domain; and booting an operating system specified in the boot certificate.
- 32. The computer-readable medium of claim 31, further comprising;
creating a verified operating system identity from the boot certificate.
- 33. The computer-readable medium of claim 31, wherein booting the operating system comprises:
determining a set of boot rules associated with the boot certificate; and evaluating each one of a plurality of components for the operating system for compliance with the boot rules.
- 34. The computer-readable medium of claim 33, further comprising:
loading each one of the plurality of components that is in compliance with the boot rules.
- 35. The computer-readable medium of claim 33, further comprising:
loading each one of the plurality of components; and creating an unverified operating system identity when one of the plurality of components is not in compliance with the boot rules.
RELATED APPLICATIONS
[0001] This application is related to co-assigned U.S. patent applications titled “System and Method for Authenticating an Operating System to a Central Processing Unit, Providing the CPU/OS with Secure Storage, and Authenticating the CPU/OS to a Third Party”. (Ser. No. 09/266,207, filed Mar. 10, 1999), “Loading And Identifying A Digital Rights Management Operating System” (Ser. No. 09/227,611, filed Jan. 8, 1999), “Key-based Secure Storage” (Ser. No. 09/227,568, filed Jan. 8, 1999), “Digital Rights Management” (Ser. No. 09/227,559, filed Jan. 8, 1999), and “Digital Rights Management Operating System” (Ser. No. 09/227,561, filed Jan. 8, 1999).
Divisions (1)
|
Number |
Date |
Country |
Parent |
09459242 |
Dec 1999 |
US |
Child |
10818892 |
Apr 2004 |
US |