Claims
- 1. A method of facilitating secure operation of an integrated system having multiple levels of software, said method comprising:
authenticating, by a current level of software, a next level of software of the multiple levels of software before passing control of the integrated system to the next level of software; and limiting ability of the next level of software to modify an operational characteristic of the integrated system, said limiting being implemented at a data access control function of the integrated system.
- 2. The method of claim 1, wherein the limiting comprises limiting ability of the next level of software to modify at least one of a key set(s), an access table(s), an access level(s) and an access parameter(s) maintained by the data access control function.
- 3. The method of claim 2, wherein said controlling comprises at least one of hiding the key set(s) or locking access to the access table(s), the access level(s) or the access parameter(s) maintained by the data access control function.
- 4. The method of claim 1, further comprising authenticating initialization code to be employed in initializing secure operation of the integrated system, said authentication of the initialization code being performed by said data access control function of the integrated system.
- 5. The method of claim 1, in combination with a method for updating a level of software, said method for updating the level of software comprising:
determining a software level update is available; determining the current level of software is authorized to authenticate the updated level of software, and if so, proceeding to accept the software level update into the integrated system employing the data access control function.
- 6. The method of claim 5, wherein the updated level of software comprises an initialization code update, and wherein the method further includes:
authenticating and decrypting the initialization code update; encrypting the decrypted initialization code update with a master key set maintained by the data access control function and a new version number; and updating an initialization re-direction address maintained by the data access control function to a new, updated initialization location address.
- 7. The method of claim 5, wherein if the current level of software is unable to authenticate the software level update, then the software level update is held at the integrated system until an appropriate level of software is running and able to authenticate the software level update.
- 8. The method of claim 5, wherein the proceeding to accept the software level update into the integrated system comprises encrypting for storage the software level update, the encrypting comprising employing a new version number when encrypting the software level update.
- 9. A method of initializing secure operation of an integrated system, said method comprising:
generating at least one key for the integrated system; loading initial code into the integrated system, the loading including using the at least one key to encrypt the initial code via a data access control function of the integrated system; and reinitializing the integrated system using the encrypted initial code.
- 10. The method of claim 9, wherein the generating comprises generating within the integrated system the at least one key.
- 11. The method of claim 9, wherein the data access control function comprises a hardware component of the integrated system.
- 12. The method of claim 9, further comprising loading additional code into the integrated system using the encrypted initial code.
- 13. The method of claim 12, wherein the loading of additional code includes utilizing the encrypted initial code to implement random key generation within the integrated system for use in encrypting the additional code by the data access control function.
- 14. The method of claim 9, wherein the loading further includes encrypting the initial code using the at least one key and a memory address for whitening.
- 15. A method of migrating data encrypted using a first key set to data encrypted using a second key set, said method comprising:
decrypting data encrypted using a first key set; and re-encrypting, by a data access control function within an integrated system, the data using a second key set.
- 16. The method of claim 15, wherein the data access control function comprises a hardware component of the integrated system.
- 17. The method of claim 15, wherein the decrypting is also performed by the data access control function of the integrated circuit.
- 18. The method of claim 15, further comprising retrieving for decryption, from storage associated with the integrated system, the data encrypted using the first key set.
- 19. The method of claim 15, further comprising modifying at least one operational characteristic associated with the data access control function, said at least one operational characteristic residing in an access table employed by the data access control function, and wherein the modifying includes modifying the access table to indicate that encrypted data in a current location is to be decrypted using the first key set, and is to be re-encrypted using the second key set when undergoing storage to a new data location.
- 20. The method of claim 15, wherein the decrypting and re-encrypting are responsive to the first key set having been used a predetermined count for at least one of encrypting and decrypting data, and wherein the method further comprises counting a number of times the first key set is employed in the at least one of encrypting and decrypting of data.
- 21. The method of claim 20, wherein the counting comprises employing a key usage counter maintained by the data access control function of the integrated system.
- 22. The method of claim 15, wherein the data encrypted using the first key set is received from a source external to the integrated system.
- 23. The method of claim 22, wherein the decrypting is performed in software within the integrated system, and wherein the re-encrypting, by the data access control function, is performed in hardware of the integrated system.
- 24. The method of claim 23, wherein the second key set is unique to the integrated system.
- 25. A method of recovering integrated system functionality following a trigger event, said method comprising:
automatically establishing a reduced level of functionality within the integrated system; and allowing for full functional recovery of the integrated system by employing a selective recovery procedure.
- 26. The method of claim 25, wherein the recovery procedure includes loading initialization code into the integrated system at a secure physical location.
- 27. The method of claim 26, wherein the loading of initialization code further comprises loading unencrypted initialization code into the integrated system, including restoration initialization code, and wherein the method further comprises:
executing the restoration initialization code to obtain a master key and a substitute initialization address; encrypting the restoration initialization code with the master key and storing the encrypted initialization code at the substitute initialization address; and reinitializing the integrated system using the stored encrypted initialization code at the substitute initialization address.
- 28. The method of claim 27, further comprising storing the master key and the substitute initialization address in persistent storage associated with a data access control function of the integrated system.
- 29. The method of claim 27, wherein the initialization code further comprises a manufacturer's public key, and wherein the method further comprises:
generating at the integrated system a public/private key pair; securely storing the integrated system's private key; and encrypting the integrated system's public key using the manufacturers public key.
- 30. The method of claim 29, further comprising establishing a secure network connection between the integrated system and manufacturer, the establishing employing the generated public/private key pair, and downloading across the secure network connection required code and data to reestablish full functionality of the integrated system.
- 31. The method of claim 25, wherein the automatically establishing the reduced level of functionality within the integrated system includes limiting access to secure code and data within the integrated system.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application contains subject matter which is related to the subject matter of the following applications, each of which is assigned to the same assignee as this application and filed on the same day as this application. Each of the below listed applications is hereby incorporated herein by reference in its entirety:
[0002] “CONTROL FUNCTION EMPLOYING A REQUESTING MASTER ID AND A DATA ADDRESS TO QUALIFY DATA ACCESS WITHIN AN INTEGRATED SYSTEM”, by Evans et al., U.S. Serial No.______ (Attorney Docket No. EN920010107US1);
[0003] “CONTROL FUNCTION WITH MULTIPLE SECURITY STATES FOR FACILITATING SECURE OPERATION OF AN INTEGRATED SYSTEM”, by Foster et al., U.S. Serial No.______ (Attorney Docket No. EN920020002US1); and
[0004] “CONTROL FUNCTION IMPLEMENTING SELECTIVE TRANSPARENT DATA AUTHENTICATION WITHIN AN INTEGRATED SYSTEM”, by Foster et al., U.S. Serial No.______ (Attorney Docket No. EN920020003US1).