IP Library Granted Patent US 11,188,547
Granted Patent B2
US 11,188,547 · App. 16/837,894 · Granted Nov 30, 2021

Differentially private budget tracking using Renyi divergence

Inventors: Ishaan Nerurkar (Berkeley, CA); Christopher Hockenbrocht (Berkeley, CA); Alexander Rozenshteyn (Berkeley, CA); Liam Damewood (Walnut Creek, CA); Mihai Maruseac (Berkeley, CA)
Assignee: LeapYear Technologies, Inc.
G06F16/2462G06F16/242G06F16/245G06F16/24564G06F16/24578G06Q30/0201
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 11,188,547
App. No.
16/837,894
Granted
Nov 30, 2021
Kind
B2
Abstract

A differentially private security system communicatively coupled to a database storing restricted data receives a database query from a client. The database query includes a relation indicative of data to perform the query upon and at least one privacy parameter indicative of a level of differential privacy with which to perform the query. The differentially private security system determines a noise type for the query. The differentially private security system determines a representation of probabilistic privacy loss for the query based on the determined noise type. The differentially private security system determines a privacy spend for the query using the generated representation of probabilistic privacy loss. The differentially private security system determines whether the determined privacy spend exceeds a privacy budget associated with the client.

Claims (88)

1. A method for bounding a privacy spend for a query to a database storing restricted data, the method comprising:

receiving a database query from a client, the database query comprising a relation indicative of data to perform the query upon;

determining a noise type for the query;

generating a representation of probabilistic privacy loss for the query based on the determined noise type;

determining a privacy spend for the query using the generated representation of probabilistic privacy loss;

determining whether the determined privacy spend exceeds a privacy budget associated with the client; and

performing the database query responsive to determining the privacy spend does not exceed the privacy budget.

2. The method of claim 1 , wherein determining a privacy spend for the query using the generated representation of probabilistic privacy loss comprises:

determining at least one privacy parameter indicative of a level of differential privacy with which to perform the query;

determining a set of upper bounds in terms of the at least one privacy parameter for the query based on the generated representation of probabilistic privacy loss;

recording the determined set of upper bounds at a log including sets of upper bounds associated with historic queries; and

evaluating the recorded sets of upper bounds in the log.

3. The method of claim 2 , wherein the at least one privacy parameter comprises at least one of an epsilon value indicative of a degree of information released about the database due to performance of the database query and a delta value indicative of an improbability of the database query satisfying epsilon-differential privacy.

4. The method of claim 3 , wherein determining whether the determined privacy spend exceeds the privacy budget associated with the client further comprises comparing a maximum epsilon to the determined privacy spend, wherein the maximum epsilon is a maximum epsilon spend allowed for a single query, the method further comprising:

determining whether the determined privacy spend exceeds the maximum epsilon; and

wherein the database query is performed responsive to determining that the determined privacy spend does not exceed the maximum epsilon.

5. The method of claim 1 , wherein generating the representation of probabilistic privacy loss for the query based on the determined noise type comprises generating a Renyi differential privacy curve, wherein determining the privacy spend for the query comprises:

evaluating the Renyi differential privacy curve at a plurality of alphas to produce a set of tau values;

for each alpha of the plurality of alphas, combining the corresponding tau value from the set of tau values with one or more historic tau values also associated with the alpha; and

determining the privacy spend for the query based on the combinations.

6. The method of claim 1 , further comprising:

determining a sensitivity of the query based on the relation; and

adjusting the generated representation of probabilistic privacy loss based on the determined sensitivity.

7. The method of claim 1 , further comprising:

responsive to performing the database query, decrementing the privacy budget by the determined privacy spend;

receiving a second database query from the client, the second database query comprising a second relation indicative of data to perform the second database query upon;

determining a second noise type for the second database query;

generating a second representation of probabilistic privacy loss for the second database query based on the determined second noise type;

determining a second privacy spend for the second database query using the second generated representation of probabilistic privacy loss;

determining whether the determined second privacy spend exceeds the decremented privacy budget associated with the client; and

responsive to the determined second privacy spend exceeding the decremented privacy budget, blocking the second database query.

8. The method of claim 1 , further comprising:

determining the privacy spend does not exceed the privacy budget;

responsive to determining the privacy spend does not exceed the privacy budget, performing the database query upon the database using the determined privacy spend to produce query results; and

reporting the produced query results to the client.

9. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations for bounding a privacy spend for a query to a database storing restricted data, the operations comprising:

receiving a database query from a client, the database query comprising a relation indicative of data to perform the query upon;

determining a noise type for the query;

generating a representation of probabilistic privacy loss for the query based on the determined noise type;

determining a privacy spend for the query using the generated representation of probabilistic privacy loss;

determining whether the determined privacy spend exceeds a privacy budget associated with the client; and

performing the database query responsive to determining the privacy spend does not exceed the privacy budget.

10. The non-transitory computer-readable storage medium of claim 9 , wherein determining a privacy spend for the query using the generated representation of probabilistic privacy loss comprises:

determining at least one privacy parameter indicative of a level of differential privacy with which to perform the query;

determining a set of upper bounds in terms of the at least one privacy parameter for the query based on the generated representation of probabilistic privacy loss;

recording the determined set of upper bounds at a log including sets of upper bounds associated with historic queries; and

evaluating the recorded sets of upper bounds in the log.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the at least one privacy parameter comprises at least one of an epsilon value indicative of a degree of information released about the database due to performance of the database query and a delta value indicative of an improbability of the database query satisfying epsilon-differential privacy.

12. The non-transitory computer-readable storage medium of claim 11 , wherein determining whether the determined privacy spend exceeds the privacy budget associated with the client further comprises comparing a maximum epsilon to the determined privacy spend, wherein the maximum epsilon is a maximum epsilon spend allowed for a single query, the operations further comprising:

determining whether the determined privacy spend exceeds the maximum epsilon; and

wherein the database query is performed responsive to determining that the determined privacy spend does not exceed the maximum epsilon.

13. The non-transitory computer-readable storage medium of claim 9 , wherein generating the representation of probabilistic privacy loss for the query based on the determined noise type comprises generating a Renyi differential privacy curve, wherein determining the privacy spend for the query comprises:

evaluating the Renyi differential privacy curve at a plurality of alphas to produce a set of tau values;

for each alpha of the plurality of alphas, combining the corresponding tau value from the set of tau values with one or more historic tau values also associated with the alpha; and

determining the privacy spend for the query based on the combinations.

14. The non-transitory computer-readable storage medium of claim 9 , further comprising:

determining a sensitivity of the query based on the relation; and

adjusting the generated representation of probabilistic privacy loss based on the determined sensitivity.

15. The non-transitory computer-readable storage medium of claim 9 , further comprising:

responsive to performing the database query, decrementing the privacy budget by the determined privacy spend;

receiving a second database query from the client, the second database query comprising a second relation indicative of data to perform the second database query upon;

determining a second noise type for the second database query;

generating a second representation of probabilistic privacy loss for the second database query based on the determined second noise type;

determining a second privacy spend for the second database query using the second generated representation of probabilistic privacy loss;

determining whether the determined second privacy spend exceeds the decremented privacy budget associated with the client; and

responsive to the determined second privacy spend exceeding the decremented privacy budget, blocking the second database query.

16. The non-transitory computer-readable storage medium of claim 9 , further comprising:

determining the privacy spend does not exceed the privacy budget;

responsive to determining the privacy spend does not exceed the privacy budget, performing the database query upon the database using the determined privacy spend to produce query results; and

reporting the produced query results to the client.

17. A system, comprising:

a processor; and

a non-transitory computer-readable storage medium storing computer program instructions executable by the processor to perform operations for bounding privacy spend for a query to a database storing restricted data, the operations comprising:

receiving a database query from a client, the database query comprising a relation indicative of data to perform the query upon;

determining a noise type for the query;

generating a representation of probabilistic privacy loss for the query based on the determined noise type;

determining a privacy spend for the query using the generated representation of probabilistic privacy loss;

determining whether the determined privacy spend exceeds a privacy budget associated with the client; and

performing the database query responsive to determining the privacy spend does not exceed the privacy budget.

18. The system of claim 17 , wherein determining a privacy spend for the query using the generated representation of probabilistic privacy loss comprises:

determining at least one privacy parameter indicative of a level of differential privacy with which to perform the query;

determining a set of upper bounds in terms of the at least one privacy parameter for the query based on the generated representation of probabilistic privacy loss;

recording the determined set of upper bounds at a log including sets of upper bounds associated with historic queries; and

evaluating the recorded sets of upper bounds in the log.

19. The system of claim 18 , wherein the at least one privacy parameter comprises at least one of an epsilon value indicative of a degree of information released about the database due to performance of the database query and a delta value indicative of an improbability of the database query satisfying epsilon-differential privacy.

20. The system of claim 19 , wherein determining whether the determined privacy spend exceeds the privacy budget associated with the client further comprises comparing a maximum epsilon to the determined privacy spend, wherein the maximum epsilon is a maximum epsilon spend allowed for a single query, the operations further comprising:

determining whether the determined privacy spend exceeds the maximum epsilon; and

wherein the database query is performed responsive to determining that the determined privacy spend does not exceed the maximum epsilon.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: LEAPYEAR TECHNOLOGIES, INC.
To: SNOWFLAKE INC.
Reel/Frame 063865/0245 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2020
From: NERURKAR, ISHAAN; HOCKENBROCHT, CHRISTOPHER; ROZENSHTEYN, ALEXANDER; DAMEWOOD, LIAM; MARUSEAC, MIHAI
To: LEAPYEAR TECHNOLOGIES, INC.
Reel/Frame 054145/0555 →
Continuity (2)
Continuation 16408390 · May 9, 2019
Related Publication 20200356558A1 · Nov 12, 2020