Secure transient buffer management
AssigneeGoogle Inc.
InventorsOsman Koyuncu, William Alexander Drewry
Life of this patent
Estimating the term…
Abstract
Methods and systems are described that secure application data being maintained in transient data buffers that are located in a memory that is freely accessible to other components, regardless as to whether those components have permission to access the application data. The system includes an application processor, a memory having a portion configured as a transient data buffer, a hardware unit, and a secure processor. The hardware unit accesses the transient data buffer during execution of an application at the application processor. The secure processor is configured to manage encryption of the transient data buffer as part of giving the hardware unit access to the transient data buffer.
Claims20
A method for securing application data maintained in a transient data buffer located in a memory of a system, the method comprising:
- executing, by an application processor of the system, an application maintained at the transient data buffer, the application associated with application data that is within the transient data buffer;
- assigning, by a second processor of the system, an encryption key to the application data;
- and
- managing, by the second processor, at least one of encryption or decryption of the application data by:
- encrypting the application data using the encryption key;
- storing the encrypted application data in the memory of the system;
- detecting access to the transient data buffer by a hardware unit;
- determining whether the hardware unit has permission to access the transient data buffer;
- responsive to determining that the hardware unit does not have permission to access the transient data buffer, securing the encryption key to prevent the decryption of the application data when the application data is read from the transient data buffer;
- and
- responsive to determining that the hardware unit does have permission to access the transient data buffer, decrypting the application data using the encryption key when the application data is read from the transient data buffer.
A system comprising:
- a memory, the memory having a portion configured as a transient data buffer;
- an application processor, the application processor configured to execute an application maintained at the transient data buffer;
- a hardware unit;
- and
- a second processor, the second processor configured to:
- assign an encryption key to application data associated with the application and maintained at the transient data buffer;
- and
- manage at least one of an encryption or decryption of the application data by performing operations comprising:
- encrypt the application data using the encryption key;
- store the encrypted application data in the memory of the system;
- detect access to the transient data buffer by a hardware unit;
- determine whether the hardware unit has permission to access the transient data buffer;
- responsive to a determination that the hardware unit does not have permission to access the transient data buffer, secure the encryption key to prevent the decryption of the application data when the application data is read from the transient data buffer;
- and
- responsive to a determination that the hardware unit does have permission to access the transient data buffer, decrypt the application data using the encryption key when the application data is read from the transient data buffer.
Dependencies are inferred from the claim text.