IP Library Granted Patent US 7,558,970
Granted Patent B2
US 7,558,970 · App. 11/031,389 · Granted Jul 7, 2009

Privacy-enhanced searches using encryption

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 7,558,970
App. No.
11/031,389
Granted
Jul 7, 2009
Kind
B2
Abstract

Encryption with keys that form an Abelian group are used in combination with a semi-trusted party that converts queries that are encrypted with the key of a querier to queries that are encrypted with the key of the encrypted database, without knowing the actual keys. In an illustrative embodiment, encryption is done with Bloom filters that employ Pohlig-Hellman encryption. Since the querier's key is not divulged, neither the semi-trusted party nor the publisher of the database can see the original queries. Provision can be made for fourth party “warrant servers”, as well as “censorship sets” that limit the data to be shared.

Claims (63)

1. A method for querying a database that is encrypted with key k A , comprising the steps of:

a mediator party receiving from a first party a database query that is encrypted with key K B , and

said mediator party transforming said database query encrypted with k B to a query encrypted with a key to form a transformed query, where k A is different from, k B and said mediator has neither k A nor k B ;

said mediator party forwarding said transformed query to a warrant server;

said mediator party receiving from said warrant server a query modified by said warrant server; and

said mediator party transforming said query modified by said warrant server to a query encrypted with said key k A , where said mediator does not have said key, said key k A or said key k B.

2. The method of claim 1 where said key is said key k A .

3. The method of claim 1 further comprising the step of said mediator party forwarding said transformed query to enable arrival of said transformed query at a second party having access to a searchable portion of said encrypted database.

4. The method of claim 3 further comprising said second party

performing a search of said searchable portion of said encrypted database based on said query, to obtain results; and

sending said results to said first party.

5. The method of claim 3 further comprising the steps of said second party searching said searchable portion of said encrypted database to obtain results, applying to said results an encryption key that is related to a target party, and forwarding the results to said warrant server.

6. The method of claim 1 where said query includes at least two query terms and a Boolean operator.

7. The method of claim 1 where said encrypted database comprises Bloom filter signatures, each of which consists of at most n elements.

8. The method of claim 1 where Pohlig-Hellman encryptions are used for the encryptions.

9. The method of claim 1 where database data encrypted with said key k A is said data raised to a power k A modulo a selected number p, where p is a prime number such that p=2p′+1, where p′ is also a prime number, and where said database query encrypted with key k B is said database query raised to a power k B modulo p.

10. The method of claim 1 where said query encrypted with k A comprises at least one set of values.

11. The method of claim 1 where said query encrypted with k A comprises sets of values, and logical connectors.

12. The method of claim 1 where said step of transforming includes said mediator applying a censorship set to said database query.

13. The method of claim 12 where said censorship set is sensitive to identity of said first party.

14. The method of claim 1 where said step of transforming includes said mediator modifying said database query by salting said database query.

15. The method of claim 14 where said salting comprises adding one or more elements to said at least one set of values.

16. The method of claim 14 where said salting comprises adding one or more sets of values and logical OR connectors.

17. The method of claim 1 further comprising a step of said warrant server modifying the received transformed query by deleting query set elements.

18. The method of claim 17 where said warrant server modifies the received transformed query based on information provided by a fourth party.

19. The method of claim 18 where said information provided by said fourth party provides is encrypted with said key.

20. The method of claim 17 where said modifying is based on identity of said first party.

21. A method comprising:

a first party sending to a mediator party a query encrypted with key of said first party, k 1 ;

said mediator party salting said query;

said mediator party converting said query to a query encrypted with a key of a warrant server, k 2 ;

said warrant server applying censorship related to restrictions on search, and returning a restricted query to said mediator party;

said mediator party applying to said restricted query a censorship related to identity of said first party, to form a final search query;

said mediator party converting said final search query to a query encrypted with key of a third party, k 2 , and forwarding the query encrypted with k 2 to said third party; and

said third party executing a search and outputting search results.

22. The method of claim 21 where said search results are forwarded to said first party.

23. A method comprising:

a first party sending to a mediator party a query encrypted with key of said first party, k 1 ;

said mediator party salting said query, applying to the salted query a censorship that is related to identity of said first party, converting the censored query to a query encrypted with a key of a second party, k 2 to form a final search query, and forwarding the final search query to said second party;

said second party executing a search based on said final search query, and outputting search results to said mediator party;

said mediator party applying to said search results a key, k 2 , of a warrant server, and forwarding said search results to said warrant server;

said warrant server applying censorship related to restrictions on search, and returning results of said censorship to said mediator party; and

said mediator party converting information received from said warrant server to results information encrypted with said key k 1 , and forwarding the information encrypted with said key k 1 to said first party.

24. A method for querying a database that is encrypted with key k 1 comprising the steps of:

a first party sending a database query that is encrypted with key k 2 to an mediator party,

said mediator party transforming said database query encrypted with k 2 to a query encrypted with said key k 1 to form a transformed query, where keys k 1 nor k 2 belong to a given Abelian group; and

said mediator forwarding said transformed query to enable arrival of said transformed query at a second party having access to a searchable portion of said encrypted database;

said mediator party forwarding said transformed query to a warrant server;

said mediator party receiving from said warrant server a query modified by said warrant server; and

said mediator party transforming said query modified by said warrant server to a query encrypted with said key k 1 , where said mediator does not have said key, said key k 1 or said key k 2.

25. A method for querying a database that is encrypted with key k 1 comprising the steps of:

a first party sending a database query that is encrypted with key k 2 to an mediator party,

said mediator party transforming said database query encrypted with k 2 to a query encrypted with said key k 1 to form a transformed query, where keys k 1 nor k 2 are such that

{{X} k1 } k2 ={X} k2* k1 for all k 1 and k 2 , and some operator “∘”; and

said mediator forwarding said transformed query to enable arrival of said transformed query at a second party having access to a searchable portion of said encrypted database;

said mediator party forward said transformed query to a warrant server;

said mediator party receiving from said warrant server a query modified by said warrant server; and

said mediator party transforming said query modified by said warrant server to a query encrypted with said key k 1 where said mediator does not have said key, said key k 1 or said key k 2.

26. The method of claim 25 where said encrypted database comprises Bloom filter signatures, each of which consists of at most n elements when expressed in set form.

27. The method of claim 25 where said encrypted database comprises an index of Bloom filter signature elements.

28. The method of claim 25 where said database is encrypted by use of the Pohlig-Hellman encryption algorithm.

29. The method of claim 1 where said database that is encrypted with key k A is encrypted by a party other than said first party or said mediator party.

30. The method of claim 1 where said database is under control of a party other than said mediator party.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2009
From: AT&T PROPERTIES, LLC
To: AT&T INTELLECTUAL PROPERTY II, L.P.
Reel/Frame 022928/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2009
From: AT&T CORP.
To: AT&T PROPERTIES, LLC
Reel/Frame 022856/0780 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2005
From: BELLOVIN, STEVEN MICHAEL
To: AT&T CORP.
Reel/Frame 016179/0489 →