IP Library Granted Patent US 9,535,658
Granted Patent B2
US 9,535,658 · App. 13/630,590 · Granted Jan 3, 2017

Secure private database querying system with content hiding bloom filters

Inventor: Vladimir Y. Kolesnikov (Jersey City, NJ)
Assignee: Alcatel Lucent
G06F7/24G06F17/30424G06F21/6227H04L9/008H04L9/0894H04L2209/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,535,658
App. No.
13/630,590
Granted
Jan 3, 2017
Kind
B2
Abstract

Secure private database querying on a database for a query having a formula evaluation on at least two keywords A and B comprises: a server receiving a Bloom filter tree comprised of encrypted Bloom filters of encrypted keywords from the database, wherein each Bloom filter in the Bloom filter tree is separately masked by a random mask pad P; receiving an encrypted version of the keywords A and B from the client; and obtaining masked Bloom filter indices for the keywords A and B. The client and server participate in secure function evaluation (SFE) with the client. The server has an input comprising the masked Bloom filter indices for the keywords A and B and the client has an input comprising the random mask pad P. The secure function evaluation comprises: removing the random mask pad P from the masked Bloom filter indices input by the server; determining if there is a matching Bloom filter for each of the keywords A and B; and applying the formula evaluation to determine if the formula is satisfied.

Claims (50)

1. method performed by a server for secure private database querying by a client on a database for a query having a formula evaluation on at least two keywords A and B, comprising:

receiving a Bloom filter tree comprised of encrypted Bloom filters of encrypted keywords from the database, wherein each Bloom filter in the Bloom filter tree is separately masked by a random mask pad P;

receiving an encrypted version of the at least two keywords A and B from the client;

evaluating bit positions of the keywords A and B in the Bloom filter to obtain masked Bloom filter indices for the keywords A and B;

participating in Secure Function Evaluation (SFE) with the client, wherein the Secure Function Evaluation employs at least one garbled circuit representing the formula, wherein the server has an input comprising the masked Bloom filter indices for the at least two keywords A and B and wherein the client has an input comprising the random mask pad P and wherein the Secure Function Evaluation performed by the server with the client comprises the following steps:

removing the random mask pad P from the masked Bloom filter indices input by the server;

determining when there is a matching Bloom filter for each of the at least two keywords A and B;

applying the formula evaluation to determine when the formula is satisfied; and

generating a result, wherein the result does not reveal whether each term of the formula is matched by the Bloom filter tree.

2. The method of claim 1 , wherein each of the Bloom filters in the Bloom filter tree is separately masked by a random mask pad P based on a node index of the Bloom filter.

3. The method of claim 1 , wherein the step of removing the random mask pad P from the masked Bloom filter indices input by the server further employs an XOR function.

4. The method of claim 1 , wherein the step of removing the random mask pad P from the masked Bloom filter indices input by the server further comprises applying an XOR function to the masked indices for the at least two keywords A and B and separate indices for the at least two keywords A and B.

5. A tangible machine-readable recordable storage medium for secure private database querying by a client on a database for a query having a formula evaluation on the at least two keywords A and B, wherein one or more software programs when executed by one or more processing devices implement the steps of the method of claim 1 .

6. A method performed by a client for secure private database querying with a server on a database for a query having a formula evaluation on at least two keywords A and B, comprising:

providing an encrypted version of the at least two keywords A and B to the server, wherein the server represents the database as a Bloom filter tree comprised of encrypted Bloom filters of encrypted keywords from the database, wherein each Bloom filter in the Bloom filter tree is separately masked by a random mask pad P;

participating in Secure Function Evaluation (SFE) with the server, wherein the Secure Function Evaluation employs at least one garbled circuit representing the formula, wherein the server evaluates bit positions of the at least two keywords A and B in the Bloom filter to obtain an input comprising masked Bloom filter indices for the at least two keywords A and B from the Bloom filter tree and wherein the client has an input comprising the random mask pad P and wherein the Secure Function Evaluation performed by the client with the server comprises the following steps:

removing the random mask pad P from the masked Bloom filter indices input by the server;

determining when there is a matching Bloom filter for each of the at least two keywords A and B;

applying the formula evaluation to determine when the formula is satisfied; and

generating a result, wherein the result does not reveal whether each term of the formula is matched by the Bloom filter tree.

7. The method of claim 6 , wherein each of the Bloom filters in the Bloom filter tree is separately masked by a random mask pad P based on a node index of the Bloom filter.

8. The method of claim 6 , wherein the step of removing the random mask pad P from the masked Bloom filter indices input by the server further employs an XOR function.

9. The method of claim 6 , wherein the step of removing the random mask pad P from the masked Bloom filter indices input by the server further comprises applying an XOR function to the masked indices for the at least two keywords A and B and separate indices for the at least two keywords A and B.

10. A tangible machine-readable recordable storage medium for secure private database querying with a server on a database for a query having a formula evaluation on the at least two keywords A and B, wherein one or more software programs when executed by one or more processing devices implement the steps of the method of claim 6 .

11. A server system for secure private database querying by a client on a database for a query having a formula evaluation on at least two keywords A and B, comprising:

a memory; and

at least one hardware device, coupled to the memory, operative to:

receive a Bloom filter tree comprised of encrypted Bloom filters of encrypted keywords from the database, wherein each Bloom filter in the Bloom filter tree is separately masked by a random mask pad P;

receive an encrypted version of the at least two keywords A and B from the client;

evaluate bit positions of the keywords A and B in the Bloom filter to obtain masked Bloom filter indices for the at least two keywords A and B;

participate in Secure Function Evaluation (SFE) with the client, wherein the Secure Function Evaluation employs at least one garbled circuit representing the formula, wherein the server has an input comprising the masked Bloom filter indices for the at least two keywords A and B and wherein the client has an input comprising the random mask pad P and wherein the Secure Function Evaluation performed by the server with the client comprises the following steps:

removing the random mask pad P from the masked Bloom filter indices input by the server;

determining when there is a matching Bloom filter for each of the at least two keywords A and B;

applying the formula evaluation to determine when the formula is satisfied; and

generating a result, wherein the result does not reveal whether each term of the formula is matched by the Bloom filter tree.

12. The server system of claim 11 , wherein each of the Bloom filters in the Bloom filter tree is separately masked by a random mask pad P based on a node index of the Bloom filter.

13. The server system of claim 11 , wherein the random mask pad P is removed from the masked Bloom filter indices input by the server using an XOR function.

14. The server system of claim 11 , wherein the random mask pad P is removed from the masked Bloom filter indices input by applying an XOR function to the masked indices for the at least two keywords A and B and separate indices for the at least two keywords A and B.

15. A client system for secure private database querying by a client on a database for a query having a formula evaluation on at least two keywords A and B, comprising:

a memory; and

at least one hardware device, coupled to the memory, operative to:

provide an encrypted version of the at least two keywords A and B to the server, wherein the server represents the database as a Bloom filter tree comprised of encrypted Bloom filters of encrypted keywords from the database, wherein each Bloom filter in the Bloom filter tree is separately masked by a random mask pad P;

participate in Secure Function Evaluation (SFE) with the server, wherein the Secure Function Evaluation employs at least one garbled circuit representing the formula, wherein the server evaluates bit positions of the at least two keywords A and B in the Bloom filter to obtain an input comprising masked Bloom filter indices for the at least two keywords A and B from the Bloom filter tree and wherein the client has an input comprising the random mask pad P and wherein the Secure Function Evaluation performed by the client with the server comprises the following steps:

removing the random mask pad P from the masked Bloom filter indices input by the server;

determining when there is a matching Bloom filter for each of the at least two keywords A and B;

applying the formula evaluation to determine when the formula is satisfied; and

generating a result, wherein the result does not reveal whether each term of the formula is matched by the Bloom filter tree.

16. The client system of claim 15 , wherein each of the Bloom filters in the Bloom filter tree is separately masked by a random mask pad P based on a node index of the Bloom filter.

17. The client system of claim 15 , wherein the random mask pad P is removed from the masked Bloom filter indices input by the server using an XOR function.

18. The client system of claim 15 , wherein the random mask pad P is removed from the masked Bloom filter indices input by applying an XOR function to the masked indices for the at least two keywords A and B and separate indices for the at least two keywords A and B.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0016 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2013
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 031420/0703 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2012
From: KOLESNIKOV, VLADIMIR Y.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 029385/0100 →
Continuity (1)
Related Publication 20140108435A1 · Apr 17, 2014