Claims
- 1. A data access method for an integrated system having multiple functional masters, the-multiple functional masters having multiple master ids, the method comprising:
receiving a request for data from a requesting master of the multiple functional masters; and responsive to the request, determining whether to grant, deny or qualify access to the data based on a master id of the requesting master and an address of the data.
- 2. The method of claim 1, wherein the request comprises a granted master request received from bus control logic of the integrated system, and wherein said method is implemented in the data flow between the bus control logic and at least one slave of the integrated system.
- 3. The method of claim 1, further comprising providing different levels of data access to the multiple functional masters.
- 4. The method of claim 3, wherein the determining further comprises determining a data access level for the requesting master, and employing the data access level in deciding whether to grant, deny or qualify access to the data.
- 5. The method of claim 4, wherein the deciding further comprises determining whether the request comprises a read request or a write request, and if a read request, determining whether to deny access to the data, pass the data clear, or decrypt the data; and if a write request, determining whether to deny forwarding of the data, pass the data clear, or encrypt the data.
- 6. The method of claim 1, wherein the determining further comprises determining whether the request comprises a read request or a write request, and if access is granted, deciding whether to decrypt the data if a read request or encrypt the data if a write request, wherein the deciding is based in part on the master id of the requesting master.
- 7. The method of claim 6, wherein said determining comprises employing a data access table in determining whether to grant access to the data based on the master id of the requesting bus master and the address of the data, the data access table including an access level for the requesting bus master.
- 8. The method of claim 7, further comprising determining access table parameters for use in decrypting or encrypting the data, the access table parameters including a key set pointer, a version number and a whitening address.
- 9. The method of claim 8, wherein the key set pointer points to a-key set, the key set comprising a key value, encryption/decryption parameters, and a whitening variable, wherein the key value and the whitening variable are confidential numbers used for all data associated with the key set.
- 10. The method of claim 8, further comprising selectively performing an encryption process on the data when the request comprises a write request, the encryption process comprising performing whitening on clear write data, encrypting a result of the whitening, and further whitening an encrypted result, and selectively performing a decryption process on encrypted read data when the request comprises a read request, the decryption process including unwhitening the encrypted read data, decrypting a result of the unwhitening, and further unwhitening the decrypted result to achieve clear data for forwarding to the requesting master.
- 11. The method of claim 10, wherein the whitening and unwhitening comprise obtaining a whitening value, the obtaining of a whitening value comprising combining the whitening address, the version number, and the whitening variable of the access table parameters to obtain the whitening value.
- 12. The method of claim 11, wherein the combining comprises matching a size of the whitening value to a block size of the data.
- 13. The method of claim 1, further comprising implementing the method within a bus-to-bus bridge of the integrated system, wherein the requesting master is coupled to a first bus of the integrated system and communicates across the bus-to-bus bridge with at least one slave, the at least one slave being coupled to the bus-to-bus bridge across a second bus.
- 14. The method of claim 1, further comprising implementing the method within a memory subsystem of the integrated system, wherein the data resides in at least one of open volatile memory, secure volatile memory, open non-volatile memory, or secure non-volatile memory.
- 15. A data access system for an integrated system having multiple functional masters, the multiple functional masters having multiple master ids, the data access system comprising:
means for receiving a request-for data from a requesting master of the multiple functional masters; and means for determining whether to grant, deny or qualify access to the data based on a master id of the requesting master and an address of the data, the means for determining being responsive to receipt of the request by the means for receiving.
- 16. The system of claim 15, wherein the request comprises a granted master request received from bus control logic of the integrated system, and wherein said system is implemented in the data flow between the bus control logic and at least one slave of the integrated system.
- 17. The system of claim 15, further comprising means for providing different levels of data access to the multiple functional masters.
- 18. The system of claim 17, wherein the means for determining further comprises means for determining a data access level for the requesting master, and means for employing the data access level in deciding whether to grant, deny or qualify access to the data.
- 19. The system of claim 18, wherein the means for employing further comprises means for determining whether the request comprises a read request or a write request, and if a read request, for determining whether to deny access to the data, pass the data clear, or decrypt the data; and if a write request, for determining whether to deny forwarding of the data, pass the data clear, or encrypt the data.
- 20. The system of claim 15, wherein the means for determining further comprises means for determining whether the request comprises a read request or a write request, and if access is granted, for deciding whether to decrypt the data if a read request or encrypt the data if a write request, wherein the deciding is based in part on the master id of the requesting master.
- 21. The system of claim 20, wherein said means for determining comprises means for employing a data access table in determining whether to grant access to the data based on the master id of the requesting bus master and the address of the data, the data access table including an access level for the requesting bus master.
- 22. The system of claim 21, further comprising means for determining access table parameters for use in decrypting or encrypting the data, the access table parameters including a key set pointer, a version number and a whitening address.
- 23. The system of claim 22, wherein the key set pointer points to a key set, the key set comprising a key value, encryption/decryption parameters, and a whitening variable, wherein the key value and the whitening variable are confidential numbers used for all data associated with the key set.
- 24. The system of claim 22, further comprising means for selectively performing an encryption procession the data when the request comprises a write request, the encryption process comprising performing whitening on clear write data, encrypting a result of the whitening, and further whitening an encrypted result, and means for selectively performing a decryption process on encrypted read data when the request comprises a read request, the decryption process including unwhitening the encrypted read data, decrypting a result of the unwhitening, and further unwhitening the decrypted result to achieve clear data for forwarding to the requesting master.
- 25. The system of claim 24, further comprising means for obtaining a whitening value, the means for obtaining a whitening value comprising means for combining the whitening address, the version number, and the whitening variable of the access table parameters to obtain the whitening value.
- 26. The system of claim 25, wherein the means for combining comprises means for matching a size of the whitening value to a block size of the data.
- 27. The system of claim 15, wherein the system is implemented within a bus-to-bus bridge of the integrated system, with the requesting master being coupled to a first bus of the integrated system and communicating across the bus-to-bus bridge with at least one slave, the at least one slave being coupled to the bus-to-bus bridge across a second bus.
- 28. The system of claim 15, wherein the system is implemented within a memory subsystem of the integrated system, wherein the data resides in at least one of open volatile memory, secure volatile memory, open non-volatile memory, or secure non-volatile memory.
- 29. At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a data access method for an integrated system having multiple functional masters, the multiple functional masters having multiple master ids, the method comprising:
receiving a request for data from a requesting master of the multiple functional masters; and responsive to the request, determining whether to grant, deny or qualify access to the data based on a master id of the requesting master and an address of the data.
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 WITH MULTIPLE SECURITY STATES FOR FACILITATING SECURE OPERATION OF AN INTEGRATED SYSTEM”, by Foster et al., U.S. Ser. No. ______ (Attorney Docket No. EN920020002US1), co-filed herewith;
[0003] “CONTROL FUNCTION IMPLEMENTING SELECTIVE TRANSPARENT DATA AUTHENTICATION WITHIN AN INTEGRATED SYSTEM”, by Foster et al., U.S. Ser. No. ______ (Attorney Docket No. EN920020003US1), co-filed herewith; and
[0004] “INITIALIZING, MAINTAINING, UPDATING AND RECOVERING SECURE OPERATION WITHIN AN INTEGRATED SYSTEM EMPLOYING A DATA ACCESS CONTROL FUNCTION”, by Foster et al., U.S. Ser. No. ______ (Attorney Docket No. EN920020004US1), co-filed herewith.