Method and apparatus for loading a trustable operating system
First Claim
Patent Images
1. A method of loading a trustable operating system comprising:
- performing a start secure operation by a first processor of a plurality of processors;
performing a join secure operation by remaining processors of the plurality of processors excluding the first processor, the join secure operation performed from the start secure operation and forces the remaining processors of the plurality of processors to enter into a halted state that prevents the remaining processors from interfering with the operations of the first processor;
receiving signals by the first processor from the remaining processors that the remaining processors have entered the halted state;
identifying a secure region in a memory of a computer;
loading a content into the identified region under control by the first processor after receiving the signals that the remaining processors have entered the halted state;
registering an identity of the content after the content is loaded into the identified region, the registering comprises;
recording a hash digest of the content of the identified region, andsigning the hash digest with a hash signing engine having a secure channel to access the hash digest, the signed hash digest being stored in a register in the memory of the computer that is accessible by an outside entity to verify whether the content can be trusted;
causing the first processor to jump to a known entry point in the identified region in the memory; and
completing the start secure operation by the first processor and signaling the remaining processors to resume activity by exiting the halted state and jumping to the known entry point in the identified region in the memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus is provided in which a trustable operating system is loaded into a region in memory. A start secure operation (SSO) triggers a join secure operation (JSO) to halt all but one central processing unit (CPU) in a multi-processor computer. The SSO causes the active CPU to load a component of an operating system into a specified region in memory, register the identity of the loaded operating system by recording a cryptographic hash of the contents of the specified region in memory, begin executing at a known entry point in the specified region and trigger the JSO to cause the halted CPUs to do the same.
242 Citations
36 Claims
-
1. A method of loading a trustable operating system comprising:
-
performing a start secure operation by a first processor of a plurality of processors; performing a join secure operation by remaining processors of the plurality of processors excluding the first processor, the join secure operation performed from the start secure operation and forces the remaining processors of the plurality of processors to enter into a halted state that prevents the remaining processors from interfering with the operations of the first processor; receiving signals by the first processor from the remaining processors that the remaining processors have entered the halted state; identifying a secure region in a memory of a computer; loading a content into the identified region under control by the first processor after receiving the signals that the remaining processors have entered the halted state; registering an identity of the content after the content is loaded into the identified region, the registering comprises; recording a hash digest of the content of the identified region, and signing the hash digest with a hash signing engine having a secure channel to access the hash digest, the signed hash digest being stored in a register in the memory of the computer that is accessible by an outside entity to verify whether the content can be trusted; causing the first processor to jump to a known entry point in the identified region in the memory; and completing the start secure operation by the first processor and signaling the remaining processors to resume activity by exiting the halted state and jumping to the known entry point in the identified region in the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An article of manufacture comprising:
-
a machine-accessible medium including a data that, when accessed by a machine cause the machine to, halt all but one of a plurality of central processing units (CPUs) in a computer; identify a region in a memory of the computer; block access to the identified region by all resources except the non-halted CPU only after receiving signals by the one of the plurality of CPUs that a remainder of the plurality of CPUs have entered into a halted state; load a content into the identified region; register an identity of the content of the identified region, the registering comprises; computing the cryptographic hash of the identified region, recording the computed cryptographic hash of the content in the identified region, and signing the computed cryptographic hash with a hash signing engine having a secure channel to access the cryptographic hash, the signed cryptographic hash being stored in a register in the memory of the computer that is accessible by an outside entity to verify whether the content can be trusted; and cause the non-halted CPU to begin executing at a known entry point in the identified region after the identity of the content has been registered. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of securing a region in a memory of a computer comprising:
-
halting all but one of a plurality of processors in a computer, the halted processors entering into a special halted state; identifying a region in a memory of a computer; loading content into the region only after the halting of all but the one of the plurality of processors; blocking access to the region in a memory of the computer by all resources except the non-halted processor; registering an identity of the content of the region in the memory, the registering comprises; recording a cryptographic hash of the region, and; signing the cryptographic hash with a digest signing engine coupled to the memory of the computer having a secure channel to access the cryptographic hash, the signed cryptographic hash being stored in a register in the memory of the computer that is accessible by an outside entity to verify whether the content can be trusted; and placing the non-halted processor into a known privileged state; releasing the halted processors after the non-halted processor has been placed into the known privileged state. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method of loading a trustable operating system comprising:
-
selecting an area in a memory accessible to a first processor of a plurality of processors the plurality of processors including the first processor and at least one processor; halting all processors of the plurality of processors except for the first processor from accessing the memory; loading data into the selected area after the first processor receiving signaling from the at least one processor to indicate that the at least one processor is in a halted state; registering an identity of the data loaded in the selected area by recording a unique cryptographic function of the data loaded in the selected area, and signing the unique cryptographic function with a hash signing engine having a secure channel to access the unique cryptographic function, the signed unique cryptographic function being stored in a register in memory and accessible by an outside entity to verify whether the data is trustworthy; directing the first processor to commence processing at an entry point in the selected area; and releasing all of the halted processors and directing the released processors to commence processing at the entry point of the selected area. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
Specification