Querying encrypted data in a relational database system
First Claim
1. A method of storing and accessing data in a client-server relational database system, comprising:
- encrypting data from a client computer;
storing the encrypted data at a server computer;
performing a query against the encrypted data stored at the server computer to produce an encrypted intermediate results set;
sending the encrypted intermediate results set from the server computer to the client computer;
decrypting and filtering the encrypted intermediate results set at the client computer to produce unencrypted actual results for the query, such that the data is always encrypted when it is stored at or processed by the server computer and the encrypted data is never decrypted by the server computer.
0 Assignments
0 Petitions
Accused Products
Abstract
A client-server relational database system, wherein data from the client computer is encrypted by the client computer and hosted by the server computer, the encrypted data is operated upon by the server computer, using one or more operators selected from a group of operators comprising: (a) inequality logic operators, (b) aggregation operators, and (c) wildcard matching operators, to produce an intermediate results set, the intermediate results set is sent from the server computer to the client computer, and the intermediate results set is decrypted and filtered by the client computer to produce actual results. The group of operators is limited because the encrypted results set, when decrypted, includes inaccuracies therein. The client computer applies a set of correction procedures to the decrypted results set to remove the inaccuracies therein.
-
Citations
12 Claims
-
1. A method of storing and accessing data in a client-server relational database system, comprising:
-
encrypting data from a client computer; storing the encrypted data at a server computer; performing a query against the encrypted data stored at the server computer to produce an encrypted intermediate results set; sending the encrypted intermediate results set from the server computer to the client computer; decrypting and filtering the encrypted intermediate results set at the client computer to produce unencrypted actual results for the query, such that the data is always encrypted when it is stored at or processed by the server computer and the encrypted data is never decrypted by the server computer. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An article of manufacture comprising a program storage device for storing instructions that, when read and executed by one or more computers, result in the computers performing a method of storing and accessing data in a client-server relational database system, comprising:
-
encrypting data from a client computer; storing the encrypted data at a server computer; performing a query against the encrypted data stored at the server computer to produce an encrypted intermediate results set; sending the encrypted intermediate results set from the server computer to the client computer; decrypting and filtering the encrypted intermediate results set at the client computer to produce unencrypted actual results for the query, such that the data is always encrypted when it is stored at or processed by the server computer and the encrypted data is never decrypted by the server computer. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification