IP Library Granted Patent US 9,032,202
Granted Patent B2
US 9,032,202 · App. 13/775,912 · Granted May 12, 2015

Privacy-preserving publish-subscribe protocol in a cloud-assisted model

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,032,202
App. No.
13/775,912
Granted
May 12, 2015
Kind
B2
Abstract

A server receives from a client at least one interest pseudonym produced by a double application of a pseudo random function to at least one interest of the client. The server encrypts an item. The server computes at least one intermediate topic pseudonym for at least one topic associated with the item by applying the function to each of the at least one topic associated with the item. The server transmits the at least one intermediate topic pseudonym, the at least one interest pseudonym, and the encrypted item to a third party. The third party may apply the function to the at least one intermediate topic pseudonym to produce at least one topic pseudonym associated with the item and transmit the encrypted item to the client for decryption when one of the at least one masked topic pseudonym is equal to one of the at least one interest pseudonym of the client.

Claims (45)

1. A computer-implemented method for providing privacy in a publish-subscribe protocol, comprising the steps of:

receiving, by a server from a client, at least one interest pseudonym, wherein the at least one interest pseudonym is produced by applying a function using a server key to at least one interest of the client to produce at least one intermediate interest pseudonym and applying the function using a third party key to the at least one intermediate interest pseudonym to produce the at least one interest pseudonym, wherein the server key is shared between the server and the client and the third party key is shared between the client and a third party, and wherein the server key and the third party key differ from each other;

encrypting, by the server, an item;

computing, by the server, at least one intermediate topic pseudonym for at least one topic associated with the item by applying the function using the server key to each of the at least one topic associated with the item; and

transmitting, by the server, the at least one intermediate topic pseudonym, the at least one interest pseudonym, and the encrypted item to the third party.

2. The method of claim 1 , further comprising:

wherein the third party is configured to apply the function using the third party key to the at least one intermediate topic pseudonym to produce at least one topic pseudonym associated with the item;

wherein the third party is configured to determine whether one of the at least one topic pseudonym is equal to one of the at least one interest pseudonym; and

wherein the third party is configured to transmit the encrypted item to the client when one of the at least one topic pseudonym is equal to one of the at least one interest pseudonym of the client.

3. The method of claim 1 , wherein the encrypted item is decryptable by the client.

4. The method of claim 1 , further comprising transmitting, by the server to the client, a decrypting key to the client for decrypting the encrypted item.

5. The method of claim 4 , wherein the decryption key is shared by the client and the server, but not by the third party.

6. The method of claim 4 , wherein the decryption key differs from the server key.

7. The method of claim 4 , wherein the server key, the third party key, and the decryption key are symmetric keys.

8. The method of claim 1 , further comprising receiving, by the server from the client, an indication to add the at least one interest pseudonym to at least one subscription of the client.

9. The method of claim 1 , further comprising receiving, by the server from the client, an indication to delete the at least one interest pseudonym from at least one subscription of the client.

10. The method of claim 9 , further comprising disassociating, by the server, the at least one interest pseudonym with the at least one subscription of the client.

11. The method of claim 9 , further comprising, receiving, by the server from the client, an interest pseudonym for at least one other interest of the client that is not to be deleted when receiving the indication from the client to delete the at least one interest pseudonym from the at least one subscription of the client.

12. The method of claim 11 , wherein the interest pseudonym for at least one other interest of the client differs from an initial interest pseudonym for the at least one other interest received by the server from the client.

13. The method of claim 1 , wherein the function is a pseudo-random function.

14. The method of claim 13 , wherein the pseudo-random function is implemented using a block cipher or a keyed cryptographic hash function.

15. The method of claim 1 , wherein the server employs a point-to-point secure communication protocol with the client and the third party.

16. The method of claim 1 , wherein the applying, encrypting and transmitting are performed for each of a plurality of clients requesting a pull when the server is in a pull mode.

17. The method of claim 1 , wherein the applying, encrypting and transmitting are performed for each of a plurality of clients when the server is in a push mode.

18. The method of claim 1 , further comprising receiving, by the server, the item with associated topics.

19. A computer-implemented method for providing privacy in a publish-subscribe protocol, comprising the steps of:

receiving, by a third party from a server, at least one intermediate topic pseudonym for at least one topic associated with an item, wherein the at least one intermediate topic pseudonym was computed by the server by applying a function using a server key to each of the at least one topic associated with the item, wherein the third party cannot access the server key;

receiving, by the third party from the server, at least one interest pseudonym for at least one interest associated with a client, wherein the at least one interest pseudonym was produced by the client by applying a function using the server key to at least one interest of the client to produce at least one intermediate interest pseudonym and applying the function using a third party key to the at least one intermediate interest pseudonym to produce the at least one interest pseudonym;

receiving, by the third party from the server, an encrypted item;

applying, by the third party, a function using the third party key to the at least one intermediate topic pseudonym to produce at least one topic pseudonym associated with the item;

determining, by the third party, whether one of the at least one topic pseudonym is equal to one of the at least one interest pseudonym; and

transmitting, by the third party, the encrypted item to the client when one of the at least one topic pseudonym is equal to one of the at least one interest pseudonym of the client.

20. The method of claim 19 , wherein the encrypted item is decryptable by the client.

21. A computer system, comprising:

a memory; and

a processor in communications with the memory, wherein the computer system is configured to perform a method, the method comprising:

receiving, from a client, at least one interest pseudonym, wherein the at least one interest pseudonym is produced by applying a function using a server key to at least one interest of the client to produce at least one intermediate interest pseudonym and applying the function using a third party key to the at least one intermediate interest pseudonym to produce the at least one interest pseudonym, wherein the server key is shared between the server and the client and the third party key is shared between the client and a third party, and wherein the server key and the third party key differ from each other;

encrypting an item;

computing at least one intermediate topic pseudonym for at least one topic associated with the item by applying the function using the server key to each of the at least one topic associated with the item; and

transmitting the at least one intermediate topic pseudonym, the at least one interest pseudonym, and the encrypted item to a third party.

22. The system of claim 21 ,

wherein the third party is configured to apply the function using the third party key to the at least one intermediate topic pseudonym to produce at least one topic pseudonym associated with the item;

wherein the third party is configured to determine whether one of the at least one topic pseudonym is equal to one of the at least one interest pseudonym; and

wherein the third party is configured to transmit the encrypted item to the client when one of the at least one topic pseudonym is equal to one of the at least one interest pseudonym.

23. The system of claim 21 , wherein the encrypted item is decryptable by the client.

Assignments (10)
FIRST LIEN SECURITY AGREEMENT Recorded May 6, 2021
From: PERSPECTA LABS INC.; PERSPECTA ENGINEERING INC.; PERSPECTA SERVICES & SOLUTIONS INC.; KNIGHT POINT SYSTEMS, LLC; DHPC TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056168/0001 →
SECOND LIEN SECURITY AGREEMENT Recorded May 6, 2021
From: PERSPECTA LABS INC.; PERSPECTA ENGINEERING INC.; PERSPECTA SERVICES & SOLUTIONS INC.; KNIGHT POINT SYSTEMS, LLC; DHPC TECHNOLOGIES, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 056168/0378 →
CHANGE OF NAME Recorded Jan 15, 2019
From: VENCORE LABS, INC.
To: PERSPECTA LABS INC.
Reel/Frame 048602/0956 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2018
From: UBS AG, STAMFORD BRANCH
To: VENCORE, INC.; VENCORE LABS, INC. (F/K/A TT GOVERNMENT SOLUTIONS, INC.); VENCORE SERVICES AND SOLUTIONS, INC. (F/K/A QINETIQ NORTH AMERICA, INC.); WESTAR DISPLAY TECHNOLOGIES, INC.; ANALEX CORPORATION
Reel/Frame 045992/0873 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2018
From: UBS AG, STAMFORD BRANCH
To: VENCORE, INC.; VENCORE LABS, INC. (F/K/A TT GOVERNMENT SOLUTIONS, INC.); VENCORE SERVICES AND SOLUTIONS, INC. (F/K/A QINETIQ NORTH AMERICA, INC.); WESTAR DISPLAY TECHNOLOGIES, INC.; ANALEX CORPORATION
Reel/Frame 045992/0948 →
CHANGE OF NAME Recorded Mar 24, 2015
From: TT GOVERNMENT SOLUTIONS, INC.
To: VENCORE LABS, INC.
Reel/Frame 035306/0946 →
SECURITY INTEREST Recorded May 23, 2014
From: THE SI ORGANIZATION, INC.; TT GOVERNMENT SOLUTIONS, INC.; QINETIQ NORTH AMERICA, INC.; WESTAR DISPLAY TECHNOLOGIES, INC.; ANALEX CORPORATION
To: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AGENT
Reel/Frame 033012/0602 →
SECURITY INTEREST Recorded May 23, 2014
From: THE SI ORGANIZATION, INC.; TT GOVERNMENT SOLUTIONS, INC.; QINETIQ NORTH AMERICA, INC.; WESTAR DISPLAY TECHNOLOGIES, INC.; ANALEX CORPORATION
To: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AGENT
Reel/Frame 033012/0626 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ERRONEOUSLY LISTED AND PREVIOUSLY RECORDED ON REEL 031724 FRAME 0284. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE WAS ERRONEOUSLY LISTED AS APPLIED COMMUNICATION SCIENCES AND SHOULD BE TT GOVERNMENT SOLUTIONS, INC. Recorded Apr 9, 2014
From: DI CRESCENZO, GIOVANNI
To: TT GOVERNMENT SOLUTIONS, INC.
Reel/Frame 032643/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2013
From: DI CRESCENZO, GIOVANNI
To: APPLIED COMMUNICATION SCIENCES, INC.
Reel/Frame 031724/0284 →