Claims
- 1. An integrated circuit system comprising:
an external port to receive information; a secure communications data processor having a first port to receive encrypted data coupled to the external port, and a second port to provide decrypted data; and a first data processor having a first port coupled to the external port, and a second port coupled to the second port of the secure communications data processor to receive the decrypted data.
- 2. The system as in claim 1, wherein the first data processor includes:
a first set of registers coupled to the external port independent of the secure communications processor.
- 3. The system as in claim 1, wherein the first data processor includes:
a first set of registers coupled to the second port of the secure communications data processor.
- 4. The system as in claim 3, wherein the second set of registers include registers for manipulating security features.
- 5. The system as in claim 4, wherein the security features include cryptographic settings.
- 6. The system as in claim 3, wherein the first data processor also includes:
a second set of registers coupled to the external port independent of the secure communications processor.
- 7. The system as in claim 1, wherein the second port of the secure communications data processor is not observable external to the integrated circuit system.
- 8. The system as in claim 1, wherein the system further includes a secure bus coupled to the second port of the communication data processor.
- 9. The system as in claim 8, wherein the secure bus is isolated, such that information on the secure bus is not observable external to the integrated circuit system.
- 10. The system as in claim 1, wherein the information includes data addressed to the first data processor.
- 11. The system as in claim 10, wherein an address identifier specifying the first data processor is included with the information.
- 12. The system as in claim 1, wherein the secure communication data processor is capable of controlling register settings.
- 13. The system as in claim 1, wherein the secure communication data processor is coupled to a secure memory area.
- 14. The system as in claim 13, wherein the secure memory area is only capable of being accessed by the secure communication data processor.
- 15. The system as in claim 1, wherein the secure communication data processor is coupled to a secure key file.
- 16. The system as in claim 15, wherein the amount of memory allocated to the secure key file can be altered.
- 17. A method comprising the steps of:
receiving first data from a source through a first port; providing a direct representation of the first data to a first module over a first bus that is viewable; receiving second data from the source through the first port; and providing a decrypted representation of at least a portion of the second data to the first module over a second bus, through a second port that is not viewable.
- 18. The method as in claim 17, further including the steps of:
receiving third data included with the first data; and determining the first module based upon the third data.
- 19. The method as in claim 18, wherein the third data includes an address identifier specific to the first module.
- 20. The method as in claim 17, further including the step of decrypting the second data to determine destination data and information data, wherein the destination data identifies the first module, and the information data is the decrypted representation of at least a portion of the second data.
- 21. The method as in claim 20, further including the steps of:
receiving third data in parallel with the first data; and determining the first module based upon the third data.
- 22. The method as in claim 20, further including the step of authenticating the source before performing the step of providing the decrypted representation of at least a portion of the second data to the first module.
- 23. The method as in claim 17, further including the step of authenticating the source before performing the step of providing the decrypted representation of at least a portion of the second data to the first module.
- 24. The method as in claim 23, wherein authenticating includes receiving a digital signature from the source to determine if the source provided the second data.
- 25. The method as in claim 23, wherein the step of authenticating is performed by processing data sent by the source using a first key and the step of providing a decrypted representation of at least a portion of the second data includes processing the second data using a second key.
- 26. The method as in claim 25, wherein the first key and the second key are the same key.
- 27. The method as in claim 25, further including the steps of:
receiving third data; and decrypting the third data using the first key to generate the second key.
- 28. The method as in claim 17, wherein the first module includes:
a first register set, coupled to the first bus, capable of receiving the direct representation of the first data; and a second register set, coupled to the second data bus, capable of receiving the decrypted representation of at least a portion of the second data.
- 29. The method as in claim 28, wherein the second register set includes registers for enabling security features.
- 30. The method as in claim 17, wherein the decrypted representation of at least a portion of the second data includes a destination for addressing the first module and data for configuring the first module.
- 31. The method as in claim 17, wherein the first module includes a set of registers capable of being switched between connections to the first bus and connections to the second bus.
- 32. A method comprising the steps of:
receiving a signature from a source over a first bus that is viewable; authenticating the control source using a first key; receiving encrypted information from the control source over the first bus; processing the encrypted information, using a second key, to generate a secure command; and providing the secure command, over a second bus that is not viewable, to control protected registers within a first module; wherein the first module contains protected registers connected to the protected data bus and unprotected registers connected to the unprotected data bus.
- 33. The method as in claim 32, wherein the first and the second keys are the same key.
- 34. The method as in claim 32, further including the steps of:
receiving an encrypted key over the first bus; and decrypting the encrypted key, using the first key, to generate the second key.
- 35. The method as in claim 32, wherein the first and the second key are stored in protected memory.
- 36. The method as in claim 32, wherein the first key is larger than the second key.
- 37. The method as in claim 36, wherein the first key is used for decrypting data to be sent to protected registers and the second key is used for other protected registers.
- 38. The method as in claim 37, wherein protected registers include registers for disabling security features.
- 39. A method comprising the steps of:
receiving a first data for a module; providing the first data to a first part of the module over a first bus that is observable; when the first data is encrypted:
decrypting the first data to provide a decrypted a first decrypted data; and providing the first decrypted data to a second part of the module over a second bus that is not observable.
- 40. The method as in claim 39, wherein the first data is provided to the module based on recognition of a module identifier.
- 41. The method as in claim 40, wherein the module identifier includes an address identifier specific to the first module.
- 42. The method as in claim 39, wherein decrypting the first data includes decrypting a module identifier specific to the first module.
- 43. The method as in claim 39, wherein the step of providing the first data to the first part of the module over a first bus includes altering performance of the module based on the first data, when the first data is not encrypted.
- 44. The method as in claim 39, wherein the step of providing the first data to the second part of the module over the second bus includes altering performance of the module based on the first data, when the first data is decrypted.
CO-PENDING APPLICATIONS
[0001] Patent application Ser. No. 09/850,356, “Method and Apparatus for Maintaining Secure and Nonsecure Data in a Shared Memory System”.