Trusted bus transactions
First Claim
Patent Images
1. A method of performing a trusted access to a memory using a device comprising:
- receiving a random number over a bus;
providing an authentication for the device by encrypting the random number and providing the encrypted random number over the bus, the authentication for the device provided to receive an assertion of a level of trust;
receiving the assertion of a level of trust over the bus;
receiving an instruction over the bus, the instruction instructing the device to access the memory;
providing a memory access request over the bus;
upon verification that an instruction to request memory access was provided to the device;
receiving data over the bus; and
receiving a de-assertion of the level of trust over the bus.
1 Assignment
0 Petitions
Accused Products
Abstract
Circuits, methods, and apparatus that provide for trusted transactions between a device and system memory. In one exemplary embodiment of the present invention, a host processor asserts and de-asserts trust over a virtual wire. The device accesses certain data if the host processor provides a trusted instruction for it to do so. Once the device attempts to access this certain data, or perform a certain type of data access, a memory controller allows the access on the condition that the host processor previously made the trusted instruction. The device then accepts data if trust is asserted during the data transfer.
-
Citations
20 Claims
-
1. A method of performing a trusted access to a memory using a device comprising:
-
receiving a random number over a bus; providing an authentication for the device by encrypting the random number and providing the encrypted random number over the bus, the authentication for the device provided to receive an assertion of a level of trust; receiving the assertion of a level of trust over the bus; receiving an instruction over the bus, the instruction instructing the device to access the memory; providing a memory access request over the bus; upon verification that an instruction to request memory access was provided to the device; receiving data over the bus; and receiving a de-assertion of the level of trust over the bus. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of conducting trusted data transfers over a bus connecting a first device to a second device, the method comprising:
-
providing a character string over the bus using the first device; providing the encrypted character string over the bus using the second device; in response to receiving the encrypted character string, authenticating the second device and asserting a level of trust over the bus using the first device; providing an instruction over the bus to the second device, the instruction instructing the second device to request a transfer of data; providing a request for a transfer of data over the bus using the second device; receiving data over the bus using the second device; and de-asserting the level of trust over the bus using the first device. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of transferring data from a system memory to a graphics processing unit in a secure manner comprising:
-
sending a character string from the host processor to the graphics processing unit; encrypting the character string using the graphics processing unit and sending the encrypted character string from the graphics processing unit to the host processor; in response to receiving the encrypted character string, authenticating the graphics processing unit and asserting a level of trust from the host processor to the graphics processing unit; sending an instruction from the host processor to the graphics processing unit, the instruction instructing the graphics processing unit to request a data access; storing information regarding the instruction; sending a request from the graphics processing unit to the host processor requesting data; verifying that the request from the graphics processing unit corresponds to the instruction from the host processor by using the stored information; transferring data from a system memory to the graphics processing unit; and de-asserting the level of trust from the host processor to the graphics processing unit. - View Dependent Claims (17, 18, 19, 20)
-
Specification