IP Library Granted Patent US 9,003,204
Granted Patent B2
US 9,003,204 · App. 13/938,571 · Granted Apr 7, 2015

Optimal re-encryption strategy for joins in encrypted databases

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,003,204
App. No.
13/938,571
Granted
Apr 7, 2015
Kind
B2
Abstract

Methods, systems, and computer-readable storage media for selecting columns for re-encryption in join operations. In some implementations, actions include determining a first column and a second column to be joined, receiving a first key corresponding to the first column and a second key corresponding to the second column, receiving a first rank associated with the first key and a second rank associated with the second key, selecting the second column for re-encryption based on the first rank and the second rank, and providing the first column, the second column, and the first key for performing a join operation, the second column being re-encrypted based on the first key.

Claims (38)

1. A computer-implemented method for selecting columns for re-encryption in join operations, the method being executed using one or more processors and comprising:

determining, by the one or more processors, a first column and a second column to be joined;

receiving, by the one or more processors, a first key corresponding to the first column and a second key corresponding to the second column;

receiving, by the one or more processors, a first rank associated with the first key and a second rank associated with the second key;

selecting, by the one or more processors, the second column for re-encryption based on the first rank and the second rank;

updating data associated with the first column and the second column based on selecting the second column for re-encryption and based on a cost associated with the second column, updating data comprising:

adding the cost to the first rank, and

subtracting the cost from the second rank; and

providing, by the one or more processors, the first column, the second column, and the first key for performing a join operation, the second column being re-encrypted based on the first key.

2. The method of claim 1 , wherein the cost is based on a number of elements provided in the second column.

3. The method of claim 1 , further comprising determining that the second rank is less than the first rank, wherein selecting the second column is performed in response.

4. The method of claim 1 , wherein the first key comprises a cluster key corresponding to a cluster of columns that includes the first column.

5. The method of claim 1 , wherein the second key comprises a cluster key corresponding to a cluster of columns that includes the second column.

6. The method of claim 1 , further comprising deleting the second key.

7. The method of claim 6 , further comprising determining that a difference between the second rank and a cost is less than zero, wherein the second key is deleted in response.

8. The method of claim 1 , wherein the first key comprises an encryption key used to encrypt the first column.

9. The method of claim 1 , wherein the second key comprises an encryption key used to encrypt the second column.

10. The method of claim 1 , wherein the second column is re-encrypted further based on the second key.

11. 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 selecting columns for re-encryption in join operations, the operations comprising:

determining a first column and a second column to be joined;

receiving a first key corresponding to the first column and a second key corresponding to the second column;

receiving a first rank associated with the first key and a second rank associated with the second key;

selecting the second column for re-encryption based on the first rank and the second rank;

updating data associated with the first column and the second column based on selecting the second column for re-encryption and based on a cost associated with the second column, updating data comprising:

adding the cost to the first rank, and

subtracting the cost from the second rank; and

providing the first column, the second column, and the first key for performing a join operation, the second column being re-encrypted based on the first key.

12. A system, comprising:

a 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 selecting columns for re-encryption in join operations, the operations comprising:

determining a first column and a second column to be joined;

receiving a first key corresponding to the first column and a second key corresponding to the second column;

receiving a first rank associated with the first key and a second rank associated with the second key;

selecting the second column for re-encryption based on the first rank and the second rank;

updating data associated with the first column and the second column based on selecting the second column for re-encryption and based on a cost associated with the second column, updating data comprising:

adding the cost to the first rank, and

subtracting the cost from the second rank; and

providing the first column, the second column, and the first key for performing a join operation, the second column being re-encrypted based on the first key.

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 Sep 4, 2013
From: HAERTERICH, MARTIN; KERSCHBAUM, FLORIAN; GROFIG, PATRICK; KOHLER, MATHIAS; SCHAAD, ANDREAS; SCHROEPFER, AXEL; TIGHZERT, WALTER
To: SAP AG
Reel/Frame 031156/0688 →