Storing data securely in a database
AssigneeAvoka Technologies Pty Ltd
InventorMalcolm Angus Edgar
Life of this patent
Estimating the term…
Abstract
Disclosed are methods, systems and one or more computer readable mediums for storing data securely in a database. In one aspect, transaction data received from a user completing a form is encrypted using a transaction key provided by a record key management server which is administered by a customer of a form hosting entity. An encrypted transaction key is also generated by the record key management server, wherein a record indicative of the encrypted transaction data and the encrypted transaction key is stored in a database administered by the form hosting entity. Data at rest stored in the database, including the record, is encrypted by a database key management server using a database key.
Claims14
A computer implemented method of storing transaction data in a database, wherein the method includes:
- receiving, by a transaction manager application server administered by a form hosting entity, transaction data provided by a user completing an electronic form presented by a user processing system;
- transferring, from the transaction manager application server to a record key management server, a request to generate a transaction key, wherein the record key management server is administered by a customer of the form hosting entity;
- generating, by the record key management server, the transaction key;
- encrypting, by the record key management server, the transaction key with a master key, to generate an encrypted transaction key;
- transferring, from the record key management server to the transaction manager application server, the transaction key and the encrypted transaction key;
- encrypting, by the transaction manager application server, the transaction data using the transaction key to generate encrypted transaction data;
- discarding, by the transaction manager application server, the transaction key;
- storing, in the database, a record including the encrypted transaction data and the encrypted transaction key;
- encrypting data at rest stored in the database using a database key stored by a database key management server administered by the form hosting entity, wherein the data at rest includes the record;
- retrieving, by the transaction manager application server from the database, a requested record, wherein the database key management server is configured to decrypt at least some of the data stored within the database using the database key
- transferring a transaction key retrieval request, by the transaction manager application server to the record key management server, wherein the transaction key retrieval request is indicative of the encrypted transaction key retrieved as part of the requested record;
- receiving, by the transaction manager application server from the record key management server, the transaction key;
- and
- decrypting, by the transaction manager application server, the transaction data of the requested record using the transaction key.
A computerized system for storing transaction data in a database, wherein the computerized system includes a transaction manager application server, including a processor coupled to a memory and communication interface, administered by a form hosting entity which hosts an electronic form, a record key management server, including a processor coupled to a memory and communication interface, administered by a customer which designs the electronic form, a database key management server, including a processor coupled to a memory and communication interface, administered by the form hosting entity, and a database, wherein the computerized system is configured to:
- receive, by the communication interface of the transaction manager application server, transaction data provided by a user completing the electronic form presented by a user processing system;
- transfer, from the communication interface of the transaction manager application server to the communication interface of the record key management server, a request to generate a transaction key, wherein the record key management server is administered by a customer of the form hosting entity;
- generate, by the processor of the record key management server, the transaction key;
- encrypt, by the processor of the record key management server, the transaction key with a master key, to generate an encrypted transaction key;
- transfer, from the communication interface of the record key management server to the communication interface of the transaction manager application server, the transaction key and the encrypted transaction key;
- encrypt, by the processor of the transaction manager application server, the transaction data using the transaction key to generate encrypted transaction data;
- discard, by the processor of the transaction manager application server, the transaction key;
- store, in the database, a record including the encrypted transaction data and the encrypted transaction key;
- and
- encrypt data at rest stored in the database using a database key stored by a processor of a database key management server administered by the form hosting entity, wherein the data at rest includes the record;
- retrieve, by the processor of the transaction manager application server from the database, a requested record, wherein the database key management server is configured to decrypt at least some of the data stored within the database using the database key;
- transfer a transaction key retrieval request, via the communication interface of the transaction manager application server to the record key management server, wherein the transaction key retrieval request is indicative of the encrypted transaction key retrieved as part of the requested record;
- receive, by the communication interface of the transaction manager application server from the record key management server, the transaction key;
- and
- decrypt, by the processor of the transaction manager application server, the transaction data of the requested record using the transaction key.
One or more non-transient computer readable mediums including executable instructions which configure a computerized system to store transaction data in a database, wherein the computerized system includes a transaction manager application server administered by a form hosting entity which hosts an electronic form, a record key management server administered by a customer of the form hosting entity, a database key management server administered by the form hosting entity, and a database, wherein execution of the executable instructions configure the computerized system to:
- receive, by the transaction manager application server, transaction data provided by a user completing the electronic form presented by a user processing system;
- transfer, from the transaction manager application server to the record key management server, a request to generate a transaction key;
- generate, by the record key management server, the transaction key;
- encrypt, by the record key management server, the transaction key with a master key, to generate an encrypted transaction key;
- transfer, from the record key management server to the transaction manager application server, the transaction key and the encrypted transaction key;
- encrypt, by the transaction manager application server, the transaction data using the transaction key to generate encrypted transaction data;
- discard, by the transaction manager application server, the transaction key;
- store, in the database, a record including the encrypted transaction data and the encrypted transaction key;
- encrypt data at rest stored in the database using a database key stored by a database key management server administered by the form hosting entity, wherein the data at rest includes the record;
- retrieve, by the transaction manager application server from the database, a requested record, wherein the database key management server is configured to decrypt at least some of the data stored within the database using the database key;
- transfer a transaction key retrieval request, by the transaction manager application server to the record key management server, wherein the transaction key retrieval request is indicative of the encrypted transaction key retrieved as part of the requested record;
- receive, by the transaction manager application server from the record key management server, the transaction key;
- and
- decrypt, by the transaction manager application server, the transaction data of the requested record using the transaction key.
Dependencies are inferred from the claim text.