IP Library Granted Patent US 9,425,960
Granted Patent B2
US 9,425,960 · App. 12/253,616 · Granted Aug 23, 2016

Searchable encryption for outsourcing data analytics

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,425,960
App. No.
12/253,616
Granted
Aug 23, 2016
Kind
B2
Abstract

A method for performing data analytics on outsourced data may include receiving, at a data analyst, cipher text representing data from a data owner such that the data remains hidden from the data analyst, generating a query token using a constant provided by the data analyst such that the constant remains hidden from the data owner, and analyzing the cipher text using the query token.

Claims (54)

1. A method for performing data analytics on outsourced data, the method comprising:

receiving, at a computing device associated with a data analyst, cipher text representing data comprising one or more tuples, from a computing device associated with a data owner such that the data is undecipherable by the computing device associated with the data analyst, wherein the cipher text is generated by the computing device associated with the data owner encrypting the tuples using a secret key and a corresponding public security parameter such that the cipher text is unique for each of the tuples;

generating a query token using a constant provided by the computing device associated with the data analyst such that the constant is undiscoverable by the computing device associated with the data owner;

searching the cipher text by performing a query against the cipher text with the constant as a search term using the query token;

outputting one or more identity query tokens as a result of searching the cipher text, wherein the identity query tokens including encrypted search results;

searching the cipher text by performing a new query against the cipher text using the outputted identity query tokens as search terms; and

outputting additional identity query tokens as a result of searching the cipher text with the new query.

2. The method as in claim 1 wherein generating the query token comprises:

inputting the constant and a public security parameter by the computing device associated with the data analyst such that the constant is undiscoverable by the computing device associated with the data owner;

inputting a secret key by the computing device associated with the data owner such that the secret key is undecipherable by the computing device associated with the data analyst; and

outputting the query token to the computing device associated with the data analyst.

3. The method as in claim 1 wherein:

generating the query token comprises generating a set of range query tokens using constants provided by the computing device associated with the data analyst such that the constants are undiscoverable by the computing device associated with the data owner; and

searching the cipher text comprises searching the cipher text using the set of range query tokens.

4. The method as in claim 3 further comprising:

outputting one or more identity query tokens as a result of searching the cipher text;

searching the cipher text using the outputted identity query tokens; and

outputting additional identity query tokens.

5. A system for performing data analytics on outsourced data, comprising:

an encryption generator that is arranged and configured to use at least one processor to encrypt data comprising one or more tuples from a computing device associated with a data owner, output a cipher text and communicate the cipher text to a computing device associated with a data analyst such that the data is undecipherable by the computing device associated with the data analyst, and encrypt the tuples using a secret key and a corresponding public security parameter such that the cipher text is unique for each of the tuples;

a query generator that is arranged and configured to use at least one processor to generate a query token using a constant provided by the computing device associated with the data analyst such that the constant is undiscoverable by the computing device associated with the data owner; and

an analysis engine that is arranged and configured to:

use at least one processor to search the cipher text by performing a query against the cipher text with the constant as a search term using the query token,

use the at least one processor to output one or more identity query tokens as a result of analyzing the cipher text, wherein the identity query tokens including encrypted search results,

search the cipher text by performing a new query against the cipher text using the outputted identity query tokens as search terms, and

output additional identity query tokens as a result of searching the cipher text with the new query.

6. The system of claim 5 wherein the query generator is arranged and configured to use the at least one processor to generate the query token by:

receiving the constant and a public security parameter from the computing device associated with the data analyst such that the constant is undiscoverable by the computing device associated with the data owner;

receiving a secret key from the computing device associated with the data owner such that the secret key is undecipherable by the computing device associated with the data analyst; and

outputting the query token to the computing device associated with the data analyst.

7. The system of claim 5 wherein:

the query generator is arranged and configured to use the at least one processor to generate a set of range query tokens using constants provided by the computing device associated with the data analyst such that the constants are undiscoverable by the computing device associate with the data owner; and

the analysis engine is arranged and configured to use the at least one processor to search the cipher text using the set of range query tokens.

8. The system of claim 7 wherein the analysis engine is further arranged and configured to use the at least one processor to:

output one or more identity query tokens as a result of searching the cipher text;

search the cipher text using the outputted identity query tokens; and

output additional identity query tokens.

9. A computer program product for performing data analytics on outsourced data, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and including executable code that, when executed, is configured to cause a data processing apparatus to:

encrypt data from a data owner, output a cipher text and communicate the cipher text to a computing device associated with a data analyst such that the data is undecipherable by the computing device associated with the data analyst;

generate a query token using a constant provided by the computing device associated with the data analyst such that the constant is undiscoverable by the computing device associated with the data owner by:

receiving the constant and a public security parameter from the computing device associated with the data analyst such that the constant is undiscoverable by the computing device associate with the data owner;

receiving a secret key from the computing device associated with the data owner such that the secret key is undecipherable by the computing device associated with the data analyst; and

outputting the query token to the computing device associated with the data analyst;

search the cipher text using the query token by performing a query against the cipher text with the constant as a search term;

output one or more identity query tokens as a result of searching the cipher text, wherein the identity query tokens including encrypted search results;

search the cipher text by performing a new query against the cipher text using the outputted identity query tokens as search terms; and

output additional identity query tokens as a result of searching the cipher text with the new query.

10. The computer program product of claim 9 wherein the executable code that, when executed, causes the data processing engine to:

generate a set of range query tokens using constants provided by the computing device associated with the data analyst such that the constants are undiscoverable by the computing device associated with the data owner; and

search the cipher text using the set of range query tokens.

11. The computer program product of claim 10 further comprising executable code that, when executed, causes the data processing engine to:

output one or more identity query tokens as a result of searching the cipher text;

search the cipher text using the outputted identity query tokens; and

output additional identity query tokens.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2009
From: KERSCHBAUM, FLORIAN; VAYSSIERE, JULIEN JEAN-PIERRE
To: SAP AG
Reel/Frame 022522/0923 →