IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0263214
(2008-10-31)
|
등록번호 |
US-8370641
(2013-02-05)
|
발명자
/ 주소 |
- Henry, G. Glenn
- Parks, Terry
|
출원인 / 주소 |
|
인용정보 |
피인용 횟수 :
16 인용 특허 :
62 |
초록
▼
An apparatus including a microprocessor and a secure non-volatile memory. The microprocessor executes non-secure application programs and a secure application program. The microprocessor has secure execution mode initialization logic and an authorized public key. The secure execution mode initializa
An apparatus including a microprocessor and a secure non-volatile memory. The microprocessor executes non-secure application programs and a secure application program. The microprocessor has secure execution mode initialization logic and an authorized public key. The secure execution mode initialization logic provides for initialization of a secure execution mode within the microprocessor. The secure execution mode initialization logic employs an asymmetric key algorithm to decrypt an enable parameter directing entry into the secure execution mode. The authorized public key is used to decrypt the enable parameter, the enable parameter having been encrypted according to the asymmetric key algorithm using an authorized private key that corresponds to the authorized public key. The secure non-volatile memory stores the secure application program, where transactions over the private bus between the microprocessor and the secure non-volatile memory are isolated from the system bus and corresponding system bus resources within the microprocessor.
대표청구항
▼
1. An apparatus providing for a secure execution environment, comprising: a microprocessor, configured to execute non-secure application programs and a secure application program, wherein said non-secure application programs are accessed from a system memory via a system bus, said microprocessor com
1. An apparatus providing for a secure execution environment, comprising: a microprocessor, configured to execute non-secure application programs and a secure application program, wherein said non-secure application programs are accessed from a system memory via a system bus, said microprocessor comprising: secure execution mode initialization logic, configured to provide for initialization of a secure execution mode within said microprocessor for execution of said secure application program, wherein said secure execution mode initialization logic employs an asymmetric key algorithm to decrypt an enable parameter that directs said microprocessor to enter said secure execution mode; andan authorized public key, configured for employment by a cryptographic unit within said microprocessor to decrypt said enable parameter, said enable parameter having been encrypted according to said asymmetric key algorithm using an authorized private key that corresponds to said authorized public key; anda secure non-volatile memory, coupled to said microprocessor via a private bus, configured to store said secure application program following initialization of said secure execution mode, wherein, following successful decryption of said enable parameter, said microprocessor fetches said secure application program, employs said authorized public key to decrypt said secure application program, encrypts said secure application program using a processor unique key according to a symmetric key algorithm, and stores an encrypted version of said secure application program in said secure non-volatile memory, and wherein said processor unique key is programmed into said microprocessor at fabrication time. 2. The apparatus as recited in claim 1, wherein said microprocessor further comprises: an authorized public key register, wherein said authorized public key is stored within said authorized public key register during fabrication of said microprocessor. 3. The apparatus as recited in claim 1, wherein said microprocessor further comprises: an authorized public key register, wherein said authorized public key, upon power up of said microprocessor, is retrieved from said secure non-volatile memory and programmed into said authorized public key register, said authorized public key having been stored in said secure non-volatile memory by an authorizing party. 4. The apparatus as recited in claim 1, wherein said asymmetric key algorithm comprises the RSA algorithm. 5. The apparatus as recited in claim 1, wherein said enable parameter is passed via execution of a secure execution mode enable instruction. 6. The apparatus as recited in claim 1, wherein said enable parameter is passed via a write to a hidden machine specific register within said microprocessor. 7. The apparatus as recited in claim 1, wherein, upon verification of said enable parameter following decryption, said secure execution mode initialization logic enables said secure execution mode for execution of said secure application program. 8. The apparatus as recited in claim 1, wherein said enable parameter comprises a pointer to a location in system memory where said secure application program is stored in encrypted form. 9. The apparatus as recited in claim 1, wherein said enable parameter comprises a pointer to a location in BIOS where said secure application program is stored in encrypted form. 10. A microprocessor apparatus, for executing secure code within a secure execution environment, the microprocessor apparatus comprising: a secure non-volatile memory, configured to store a secure application program; anda microprocessor, coupled to said secure non-volatile memory via a private bus, configured to execute non-secure application programs and said secure application program, said microprocessor comprising: secure execution mode initialization logic, configured to provide for initialization of a secure execution mode within said microprocessor for execution of said secure application program, wherein said secure execution mode initialization logic employs an asymmetric key algorithm to decrypt an enable parameter that directs said microprocessor to enter said secure execution mode; andan authorized public key, configured for employment by a cryptographic unit within said microprocessor to decrypt said enable parameter, said enable parameter having been encrypted according to said asymmetric key algorithm using an authorized private key that corresponds to said authorized public key, wherein, following successful decryption of said enable parameter, said microprocessor fetches said secure application program, employs said authorized public key to decrypt said secure application program, encrypts said secure application program using a processor unique key according to a symmetric key algorithm, and stores an encrypted version of said secure application program in said secure non-volatile memory, and wherein said processor unique key is programmed into said microprocessor at fabrication time. 11. The microprocessor apparatus as recited in claim 10, wherein said microprocessor further comprises: an authorized public key register, wherein said authorized public key is stored within said authorized public key register during fabrication of said microprocessor. 12. The microprocessor apparatus as recited in claim 10, wherein said microprocessor further comprises: an authorized public key register, wherein said authorized public key, upon power up of said microprocessor, is retrieved from said secure non-volatile memory and programmed into said authorized public key register, said authorized public key having been stored in said secure non-volatile memory by an authorizing party. 13. The microprocessor apparatus as recited in claim 10, wherein said asymmetric key algorithm comprises the RSA algorithm. 14. The microprocessor apparatus as recited in claim 10, wherein said enable parameter is passed via execution of a secure execution mode enable instruction. 15. The microprocessor apparatus as recited in claim 10, wherein said enable parameter is passed via a write to a hidden machine specific register within said microprocessor. 16. The microprocessor apparatus as recited in claim 10, wherein, upon verification of said enable parameter following decryption, said secure execution mode initialization logic enables said secure execution mode for execution of said secure application program. 17. The microprocessor apparatus as recited in claim 10, wherein said enable parameter comprises a pointer to a location in system memory where said secure application program is stored in encrypted form. 18. The microprocessor apparatus as recited in claim 10, wherein said enable parameter comprises a pointer to a location in BIOS where said secure application program is stored in encrypted form. 19. A method for executing secure code within a secure execution environment, the method comprising: providing a secure non-volatile memory for storage of the secure code, wherein the secure code is to be stored within the secure non-volatile memory via private transactions accomplished over a private bus that is coupled to the secure non-volatile memory; andinitializing a secure execution mode within a microprocessor for execution of the secure code, said initializing comprising: via a cryptographic unit within the microprocessor, employing an authorized public key to decrypt an enable parameter according to an asymmetric key algorithm, the enable parameter having been encrypted according to the asymmetric key algorithm using a corresponding authorized private key;following successful decryption of the enable parameter, fetching the secure code;using the authorized public key to decrypt the secure code;encrypting the secure code using a processor unique key according to a symmetric key algorithm, wherein the processor unique key is programmed into the microprocessor at fabrication time; andstoring an encrypted version of the secure code in the secure non-volatile memory;wherein the private bus is isolated from all system bus resources within the microprocessor and external to the microprocessor, and wherein the private bus is observable and accessible exclusively by secure execution logic within the microprocessor. 20. The method as recited in claim 19, wherein said employing comprises: fetching the authorized public key from an authorized public key register within the microprocessor, wherein the authorized public key register is stored in the authorized public key register during fabrication of the microprocessor. 21. The method as recited in claim 19, wherein said employing comprises: fetching the authorized public key from the secure non-volatile memory and programming the authorized public key into an authorized public key register, the authorized public key having been stored in the secure non-volatile memory by an authorizing party. 22. The method as recited in claim 19, wherein the asymmetric key algorithm comprises the RSA algorithm. 23. The method as recited in claim 19, wherein the enable parameter is passed via execution of a secure execution mode enable instruction. 24. The method as recited in claim 19, wherein the enable parameter is passed via a write to a hidden machine specific register within said microprocessor. 25. The method as recited in claim 19, wherein said initializing further comprises: upon verification of the enable parameter following decryption, enabling the secure execution mode for execution of the secure code. 26. The method as recited in claim 19, wherein the enable parameter comprises a pointer to a location in system memory where the secure code is stored in encrypted form. 27. The method as recited in claim 19, wherein the enable parameter comprises a pointer to a location in BIOS where the secure code is stored in encrypted form.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.