US 11,860,673 B1
Database with client-controlled encryption key
Avinash Kodakandla, Seattle, WA (US); Akshat Vig, Seattle, WA (US); Ravi Math, Redmond, WA (US); Sroaj Sosothikul, Seattle, WA (US); Nicholas Gordon, Seattle, WA (US); Somasundaram Perianayagam, Seattle, WA (US); Mazen Moez Ali, Seattle, WA (US); and Sharan Rajesh Munyal, Seattle, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Nov. 22, 2019, as Appl. No. 16/693,166.
Int. Cl. G06F 16/23 (2019.01); G06F 16/22 (2019.01); H04L 9/08 (2006.01); G06F 16/27 (2019.01)
CPC G06F 16/2358 (2019.01) [G06F 16/2282 (2019.01); G06F 16/2365 (2019.01); G06F 16/27 (2019.01); H04L 9/0822 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A distributed database system, comprising:
at least one processor; and
a memory comprising executable instructions that, in response to execution by the at least one processor, cause the distributed database system to at least:
cause a plurality of nodes of a distributed database to store a replicated version of an encrypted table, the encrypted table accessible using a table encryption key generated using a master encryption key, wherein access to the master encryption key is based at least in part on authorization to access the master encryption key granted by a client of the distributed database;
cause a sweeper process to monitor status information associated with the master encryption key, wherein the sweeper process examines metadata of each encrypted table of a plurality of encrypted tables maintained by the distributed database to identify the plurality of encrypted tables and respective master encryption key status of encryption keys associated with the plurality of encrypted tables maintained by the distributed database, wherein the examination by the sweeper process is based at least in part on the metadata maintained by the distributed database system, wherein the metadata comprises information associated with each of the plurality of encrypted tables and is indicative of a change in a status of the master encryption key;
detect, using the sweeper process, the change in the status of the master encryption key used to generate the table encryption key; and
initiate a response to the change in the status of the master encryption key, wherein the response maintains access to the encrypted table for a threshold period of time after the change in the status of the master encryption key and indicates whether restoration of authorization to access the master encryption key has been granted by the client of the distributed database, wherein the metadata is updated based at least in part on the response.