Claims
- 1. An appliance, comprising:
a memory comprising at least a hidden portion of memory operable to store at least a portion of a program capable of contributing to one or more functions of the appliance; a controller operable to process at least a portion of the program stored on the hidden portion of memory; and an external interface operable to provide access to at least an open portion of the memory; wherein the hidden portion of memory is inaccessible through the external interface.
- 2. The appliance of claim 1, wherein the appliance comprises a device selected from the group consisting of a personal digital assistant, a cell phone, a digitized audio recorder/player and a household appliance.
- 3. The appliance of claim 1, wherein the open portion and the hidden portion of memory reside within a single storage medium.
- 4. The appliance of claim 1, wherein the open portion and the hidden portion of memory reside within separate storage media.
- 5. The appliance of claim 1, wherein the controller comprises a secure program upgrade utility operable to upgrade the at least a portion of the program stored on the hidden portion.
- 6. The appliance of claim 1, wherein the portion of the program stored in the hidden portion of memory comprises at least a portion of an operating system module.
- 7. The appliance of claim 1, wherein the portion of the program stored in the hidden portion of memory comprises a portion selected from the group consisting of a decryption sequence library, a data library, a Mass Storage Class driver, firmware, and software.
- 8. An appliance, comprising:
an external interface operable to receive a program update; a memory comprising a hidden portion inaccessible through the external interface, wherein at least a portion of program to be updated resides in the hidden portion of memory; a controller operable to modify at least a portion of the program residing on the hidden portion of memory based at least in part on the program update received at the external interface.
- 9. The appliance of claim 8, wherein the program update comprises an encrypted file that is decrypted by the controller before modification of the at least a portion of the program residing in the hidden portion of memory.
- 10. The appliance of claim 8, wherein the program update is loaded on an open portion of memory accessible through the external interface before updating the at least a portion of the program residing on the hidden portion of memory.
- 11. The appliance of claim 8, wherein the controller operates to disable the external interface for at least some time between receiving the program update and modifying the portion of the program residing on the hidden portion.
- 12. The appliance of claim 8, wherein the controller operates to substantially prevent access to a decrypted portion of the program update without disabling the external interface.
- 13. The appliance of claim 8, wherein the controller couples to the external interface, and the external interface resides between the memory and a communication link coupled to the external interface.
- 14. A method of upgrading a program stored on an appliance, comprising:
receiving from a communication link an encrypted update file at an external interface of an appliance; storing the encrypted update file on an open portion of a memory accessible through the external interface; isolating the appliance from the communication link; after isolating the appliance, decrypting the encrypted update file; modifying at least a portion of a program stored on a hidden portion of memory based at least in part on the decrypted update file; wherein the hidden portion of memory is inaccessible through the external interface.
- 15. The method of claim 14, wherein decrypting the update file is based at least in part on a product identification associated with the appliance.
- 16. The method of claim 14, further comprising:
searching the open portion of the memory for the encrypted update file; authenticating the encrypted update file based at least in part on a product identification associated with the appliance; and loading a decryption sequence from the hidden portion of memory.
- 17. The method of claim 16, wherein searching the open portion of memory comprises a periodic search.
- 18. The method of claim 16, wherein searching the open portion of memory comprises a random search.
- 19. The method of claim 14, further comprising:
storing the decrypted update file on the open portion of memory; and verifying the decrypted update file.
- 20. The method of claim 14, further comprising:
after modifying the at least a portion of the program, deleting the decrypted update file from the open portion of memory; and after deleting the decrypted update file, allowing communication between the communication link and the appliance.
RELATED APPLICATION
[0001] This application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application Serial No. 60/322,252, filed Sep. 10, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60322252 |
Sep 2001 |
US |