US 12,244,709 B2
Updating keys used for encryption of storage circuitry
Jaekyu Lee, Austin, TX (US); Yasuo Ishii, Austin, TX (US); and Dam Sunwoo, Austin, TX (US)
Assigned to Arm Limited, Cambridge (GB)
Filed by Arm Limited, Cambridge (GB)
Filed on Aug. 26, 2019, as Appl. No. 16/550,598.
Prior Publication US 2021/0067335 A1, Mar. 4, 2021
Int. Cl. H04L 9/08 (2006.01)
CPC H04L 9/0891 (2013.01) 12 Claims
OG exemplary drawing
 
1. A data processing apparatus comprising:
storage circuitry;
communication circuitry to respond to a retrieve request comprising a requested index with a retrieve response comprising requested data;
coding circuitry to perform a coding operation using a current key, wherein the current key is based on an execution environment;
update circuitry to perform an update in response to the current key being changed; and
count circuitry to count progress of the update, wherein
the coding operation comprises using the current key to translate the requested index to an encoded index of the storage circuitry at which the requested data has previously been stored and the update comprises an update of the encoded index of the storage circuitry at which the requested data already stored is held;
the update circuitry is adapted to perform a key update process for the execution environment to make the current key a previous key, and to make a new key the current key;
the update circuitry is adapted to perform the update over a plurality of processor cycles, across the storage circuitry in a given order;
the coding circuitry is adapted to perform the coding operation by selecting one of the current key and the previous key;
when the count circuitry indicates that the update process has reached the encoded index that would be generated using the one of the current key and the previous key, then the encoded index is generated using the current key, and
when the count circuitry indicates that the update process is before the encoded index that would be generated using the one of the current key and the previous key then the encoded index is generated using the previous key.