IP Library Granted Patent US 8,555,400
Granted Patent B2
US 8,555,400 · App. 13/021,538 · Granted Oct 8, 2013

Privacy-preserving aggregation of Time-series data

Inventors: Runting Shi (San Jose, CA); Richard Chow (Sunnyvale, CA); Tsz Hong Hubert Chan (Hong Kong, HK)
Assignee: Palo Alto Research Center Incorporated
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 8,555,400
App. No.
13/021,538
Granted
Oct 8, 2013
Kind
B2
Abstract

A private stream aggregation (PSA) system contributes a user's data to a data aggregator without compromising the user's privacy. The system can begin by determining a private key for a local user in a set of users, wherein the sum of the private keys associated with the set of users and the data aggregator is equal to zero. The system also selects a set of data values associated with the local user. Then, the system encrypts individual data values in the set based in part on the private key to produce a set of encrypted data values, thereby allowing the data aggregator to decrypt an aggregate value across the set of users without decrypting individual data values associated with the set of users, and without interacting with the set of users while decrypting the aggregate value. The system also sends the set of encrypted data values to the data aggregator.

Claims (73)

1. A method for sharing sensitive data with a data aggregator, the method comprising:

determining a private key for a local user in a set of users, wherein the sum of the private keys associated with the set of users and the data aggregator is equal to zero;

selecting, at a client computer, a set of data values associated with the local user;

encrypting individual data values in the set based in part on the private key to produce a set of encrypted data values, thereby allowing the data aggregator to decrypt an aggregate value across the set of users without decrypting individual data values associated with the set of users, and without interacting with the set of users while decrypting the aggregate value; and

sending the set of encrypted data values to the data aggregator;

wherein the set of data values includes a time series, wherein the private key is determined prior to encrypting the individual data values in the time series, wherein the aggregate value includes a summation of the individual values associated with the set of users; and

wherein encrypting an individual data value x i,t for a user i and time period t involves computing an expression:

c i,t =g x i,t ·H ( t ) sk i

wherein c i,t is an encrypted value associated with user i and time period t, wherein g is a generator, wherein sk i is a private key associated with user i, and wherein H(t) is a hash function.

2. The method of claim 1 , wherein determining the private key for the local user comprises receiving the private key from a trusted source.

3. The method of claim 1 , wherein determining the private key for the local user comprises using a secure multi-party protocol.

4. The method of claim 1 , wherein encrypting the individual data values involves adding random values to at least a subset of the data values to produce a modified set of data values with random noise.

5. The method of claim 4 , wherein the random values are chosen from a pre-determined distribution to minimize the total noise introduced to the aggregate value by the set of users to:

O

(

Δ

ɛ

n

)

,

wherein Δ is the sensitivity of the aggregate value, and wherein n is the number of users.

6. The method of claim 1 , wherein encrypting the individual data values involves also encrypting higher moments of the individual data values, thereby allowing the data aggregator to determine a distribution for the data values across the set of users.

7. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for sharing sensitive data with a data aggregator, the method comprising:

determining a private key for a local user in a set of users, wherein the sum of the private keys associated with the set of users and the data aggregator is equal to zero;

selecting a set of data values associated with the local user;

encrypting individual data values in the set based in part on the private key to produce a set of encrypted data values, thereby allowing the data aggregator to decrypt an aggregate value across the set of users without decrypting individual data values associated with the set of users, and without interacting with the set of users while decrypting the aggregate value; and

sending the set of encrypted data values to the data aggregator;

wherein the set of data values includes a time series, wherein the private key is determined prior to encrypting the individual data values in the time series, and wherein the aggregate value includes a product of the individual values associated with the set of users; and

wherein encrypting an individual data value x i,t for a user i and time period t involves computing an expression:

c i,t =x i,t ·H ( t ) sk i

wherein c i,t is the encrypted value associated with user i and time period t, wherein sk i is a private key associated with user i, and wherein H(t) is a hash function.

8. The computer-readable storage medium of claim 7 , wherein determining the private key for the local user comprises receiving the private key from a trusted source.

9. The computer-readable storage medium of claim 7 , wherein determining the private key for the local user comprises using a secure multi-party protocol.

10. The computer-readable storage medium of claim 7 , wherein encrypting the individual data values involves adding random values to at least a subset of the data values to produce a modified set of data values with random noise.

11. An apparatus for sharing sensitive data with a data aggregator, the method comprising:

a setup mechanism configured to determine a private key for a local user in a set of users, wherein the sum of the private keys associated with the set of users and the data aggregator is equal to zero;

an encrypt mechanism configured to:

select a set of data values associated with the local user; and

encrypt individual data values in the set based in part on the private key to produce a set of encrypted data values, thereby allowing the data aggregator to decrypt an aggregate value across the set of users without decrypting individual data values associated with the set of users, and without interacting with the set of users while decrypting the aggregate value; and

a communication mechanism configured to send the set of encrypted data values to the data aggregator;

wherein the set of data values includes a time series, wherein the private key is determined prior to encrypting the individual data values in the time series, and wherein the aggregate value includes a summation of the individual values associated with the set of users; and

wherein while encrypting an individual data value x i,t for a user i and time period t, the encrypt mechanism is further configured to compute an expression:

c i,t =g x i,t ·H ( t ) sk i

wherein c i,t is an encrypted value associated with user i and time period t, wherein g is a generator, wherein sk i is a private key associated with user i, and wherein H(t) is a hash function.

12. The apparatus of claim 11 , wherein determining the private key for the local user comprises receiving the private key from a trusted source.

13. The apparatus of claim 11 , wherein determining the private key for the local user comprises using a secure multi-party protocol.

14. The apparatus of claim 11 , wherein encrypting the individual data values involves adding random values to at least a subset of the data values to produce a modified set of data values with random noise.

15. The computer-readable storage medium of claim 7 , wherein the random values are chosen from a pre-determined distribution to minimize the total noise introduced to the aggregate value by the set of users to:

O

(

Δ

ɛ

n

)

,

wherein Δ is the sensitivity of the aggregate value, and wherein n is the number of users.

16. The computer-readable storage medium of claim 10 , wherein encrypting the individual data values involves also encrypting higher moments of the individual data values, thereby allowing the data aggregator to determine a distribution for the data values across the set of users.

17. The apparatus of claim 11 , wherein the random values are chosen from a pre-determined distribution to minimize the total noise introduced to the aggregate value by the set of users to:

O

(

Δ

ɛ

n

)

,

wherein Δ is the sensitivity of the aggregate value, and wherein n is the number of users.

18. The apparatus of claim 14 , wherein while encrypting the individual data values, the encrypt mechanism is further configured to also encrypt higher moments of the individual data values, thereby allowing the data aggregator to determine a distribution for the data values across the set of users.

Assignments (9)
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVAL OF US PATENTS 9356603, 10026651, 10626048 AND INCLUSION OF US PATENT 7167871 PREVIOUSLY RECORDED ON REEL 064038 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064161/0001 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064038/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2011
From: SHI, RUNTING; CHOW, RICHARD; CHAN, TSZ HONG HUBERT
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 025776/0651 →
Continuity (1)
Related Publication 20120204026A1 · Aug 9, 2012