Encrypting data for analytical web applications
First Claim
1. A computer-implemented method for processing queries in analytical web applications over encrypted data, the method being executed using one or more processors and comprising:
- receiving, by a database driver executed on a server-side computing device and from a client-side proxy, a query and one or more encryption keys, the one or more encryption keys having been selected by the client-side proxy based on operations required to perform the query, wherein the client-side proxy is configured to be stateless where no state is maintained except for the one or more encryption keys and the database driver is configured to be modified to maintain an encryption state and a decryption state;
performing at least one operation of the query to provide a query result comprising the encrypted data; and
transmitting, by the database driver, the encrypted data to the client-side proxy, the client-side proxy processing the encrypted data to provide plaintext data to an end user.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and computer-readable storage media for processing queries in analytical web applications over encrypted data. Implementations include actions of receiving, by a database driver executed on a server-side computing device and from a client-side proxy, a query and one or more encryption keys, the one or more encryption keys having been selected by the client-side proxy based on operations required to perform the query, performing at least one operation of the query to provide a query result including encrypted data, and transmitting, by the database driver, the encrypted data to the client-side proxy, the client-side proxy processing the encrypted data to provide plaintext data to an end user.
64 Citations
20 Claims
-
1. A computer-implemented method for processing queries in analytical web applications over encrypted data, the method being executed using one or more processors and comprising:
-
receiving, by a database driver executed on a server-side computing device and from a client-side proxy, a query and one or more encryption keys, the one or more encryption keys having been selected by the client-side proxy based on operations required to perform the query, wherein the client-side proxy is configured to be stateless where no state is maintained except for the one or more encryption keys and the database driver is configured to be modified to maintain an encryption state and a decryption state; performing at least one operation of the query to provide a query result comprising the encrypted data; and transmitting, by the database driver, the encrypted data to the client-side proxy, the client-side proxy processing the encrypted data to provide plaintext data to an end user. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for processing queries in analytical web applications over encrypted data, the operations comprising:
-
receiving, by a database driver executed on a server-side computing device and from a client-side proxy, a query and one or more encryption keys, the one or more encryption keys having been selected by the client-side proxy based on operations required to perform the query, wherein the client-side proxy is configured to be stateless where no state is maintained except for the one or more encryption keys and the database driver is configured to be modified to maintain an encryption state and a decryption state; performing at least one operation of the query to provide a query result comprising the encrypted data; and transmitting, by the database driver, the encrypted data to the client-side proxy, the client-side proxy processing the encrypted data to provide plaintext data to an end user. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a server-side computing device; and a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for processing queries in analytical web applications over encrypted data, the operations comprising; receiving, by a database driver executed on the server-side computing device and from a client-side proxy, a query and one or more encryption keys, the one or more encryption keys having been selected by the client-side proxy based on operations required to perform the query, wherein the client-side proxy is configured to be stateless where no state is maintained except for the one or more encryption keys and the database driver is configured to be modified to maintain an encryption state and a decryption state; performing at least one operation of the query to provide a query result comprising the encrypted data; and transmitting, by the database driver, the encrypted data to the client-side proxy, the client-side proxy processing the encrypted data to provide plaintext data to an end user. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification