IP Library Granted Patent US 9,867,040
Granted Patent B2
US 9,867,040 · App. 15/047,674 · Granted Jan 9, 2018

Method, apparatus, and computer program product for service anonymity

Inventors: Janne Marin (Espoo, FI); Mika Kasslin (Espoo, FI); Jarkko Kneckt (Espoo, FI); Olli Alanen (Vantaa, FI)
Assignee: Nokia Technologies Oy
H04W12/02H04L63/0421H04L63/101H04W4/008H04W12/08H04W84/18
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,867,040
App. No.
15/047,674
Granted
Jan 9, 2018
Kind
B2
Abstract

Embodiments enable privacy protection for increasing service anonymity. A method comprises receiving a service discovery frame from a wireless device operating synchronously in a neighbor awareness network cluster, including scrambled values associated with service names, each of the scrambled values being a hash of an argument comprising the service name and a component value selected based on a current synchronous time shared with the wireless device. The received scrambled values are compared with scrambled values associated with maintained service names, each being a hash of an argument comprising a valid service name of a known service and a component value selected based on the current synchronous time. If any of the received scrambled values satisfies the comparison with a scrambled value associated with the service name, then the received scrambled value is determined to be associated with the known service.

Claims (55)

1. A method, comprising:

receiving, by an apparatus, a service discovery frame from a wireless device operating synchronously with the apparatus in a neighbor awareness network cluster, the service discovery frame including one or more scrambled values associated with one or more service names, each of the scrambled values being a hash of an argument comprising a service name and a component value selected from an array of component values, the selection of a component value being made at each occurrence of a periodic time interval based on a current synchronous time shared by the apparatus and the wireless device;

comparing, by the apparatus, the one or more received scrambled values with scrambled values associated with service names maintained by the apparatus, each of the scrambled values maintained by the apparatus being a hash of an argument comprising a valid service name of a service known by the apparatus and a component value that is selected by the apparatus from the array of component values, the selection of a component value being made at each occurrence of the periodic time interval based on the current synchronous time shared by the apparatus and the wireless device; and

determining, by the apparatus, that the received one or more scrambled values are associated with a service name known by the apparatus, if any of the received scrambled values satisfies the comparison with a scrambled value maintained by the apparatus, associated with the known service name.

2. The method of claim 1 , further comprising:

wherein the received service discovery frame includes a subscribe message;

composing, by the apparatus, a publish message, including the scrambled value maintained by the apparatus, associated with the known service name; and

transmitting, by the apparatus, the publish message, to the wireless device, in response to the determination, by the apparatus, that the received one or more scrambled values are associated with the service name known by the apparatus.

3. The method of claim 1 , further comprising:

transmitting, by the apparatus, one or more subscribe messages to other wireless devices, including the wireless device operating synchronously with the apparatus in the neighbor awareness network cluster, the subscribe message including the scrambled value maintained by the apparatus, associated with the known service name; and

receiving, by the apparatus, the service discovery frame, which includes a publish message from the wireless device, in response to the one or more subscribe messages transmitted by the apparatus.

4. The method of claim 1 , further comprising:

computing, by the apparatus, the scrambled values associated with service names maintained by the apparatus.

5. The method of claim 1 , further comprising:

accessing, by the apparatus, the scrambled values associated with service names maintained by the apparatus, the scrambled values having been previously computed and stored by the apparatus.

6. The method of claim 1 , wherein the received scrambled value is a hash of an argument comprising the known service name, the component value selected based on the current synchronous time shared by the apparatus and the wireless device, and the current synchronous time.

7. An apparatus, comprising:

at least one processor;

at least one memory including computer program code;

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

receive a service discovery frame from a wireless device operating synchronously with the apparatus in a neighbor awareness network cluster, the service discovery frame including one or more scrambled values associated with one or more service names, each of the scrambled values being a hash of an argument comprising a service name and a component value selected from an array of component values, the selection of a component value being made at each occurrence of a periodic time interval based on a current synchronous time shared by the apparatus and the wireless device;

compare the one or more received scrambled values with scrambled values associated with service names maintained by the apparatus, each of the scrambled values maintained by the apparatus being a hash of an argument comprising a valid service name of a service known by the apparatus and a component value that is selected by the apparatus from the array of component values, the selection of a component value being made at each occurrence of the periodic time interval based on the current synchronous time shared by the apparatus and the wireless device; and

determine that the received one or more scrambled values are associated with a service name known by the apparatus, if any of the received scrambled values satisfies the comparison with a scrambled value maintained by the apparatus, associated with the known service name.

8. The apparatus of claim 7 , further comprising:

wherein the received service discovery frame includes a subscribe message;

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

compose a publish message, including the scrambled value maintained by the apparatus, associated with the known service name; and

transmit the publish message, to the wireless device, in response to the determination, by the apparatus, that the received one or more scrambled values are associated with the service name known by the apparatus.

9. The apparatus of claim 7 , further comprising:

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

transmit one or more subscribe messages to other wireless devices, including the wireless device operating synchronously with the apparatus in the neighbor awareness network cluster, the subscribe message including the scrambled value maintained by the apparatus, associated with the known service name; and

receive the service discovery frame, which includes a publish message from the wireless device, in response to the one or more subscribe messages transmitted by the apparatus.

10. The apparatus of claim 7 , further comprising:

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

compute the scrambled values associated with service names maintained by the apparatus.

11. The apparatus of claim 7 , further comprising:

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

access the scrambled values associated with service names maintained by the apparatus, the scrambled values having been previously computed and stored by the apparatus.

12. The apparatus of claim 7 , wherein the received scrambled value is a hash of an argument comprising the known service name, the component value selected based on the current synchronous time shared by the apparatus and the wireless device, and the current synchronous time.

13. A computer program product comprising computer executable program code recorded on a computer readable non-transitory storage medium, the computer executable program code comprising:

code for receiving, by an apparatus, a service discovery frame from a wireless device operating synchronously with the apparatus in a neighbor awareness network cluster, the service discovery frame including one or more scrambled values associated with one or more service names, each of the scrambled values being a hash of an argument comprising a service name and a component value selected from an array of component value, the selection of a component value being made at each occurrence of a periodic time interval s based on a current synchronous time shared by the apparatus and the wireless device;

code for comparing, by the apparatus, the one or more received scrambled values with scrambled values associated with service names maintained by the apparatus, each of the scrambled values maintained by the apparatus being a hash of an argument comprising a valid service name of a service known by the apparatus and a component value that is selected by the apparatus from the array of component values, the selection of a component value being made at each occurrence of the periodic time interval based on the current synchronous time shared by the apparatus and the wireless device; and

code for determining, by the apparatus, that the received one or more scrambled values are associated with a service name known by the apparatus, if any of the received scrambled values satisfies the comparison with a scrambled value maintained by the apparatus, associated with the known service name.

14. The computer program product of claim 13 , further comprising:

wherein the received service discovery frame includes a subscribe message;

code for composing, by the apparatus, a publish message, including the scrambled value maintained by the apparatus, associated with the known service name; and

code for transmitting, by the apparatus, the publish message, to the wireless device, in response to the determination, by the apparatus, that the received one or more scrambled values are associated with the service name known by the apparatus.

15. The computer program product of claim 13 , further comprising:

code for transmitting, by the apparatus, one or more subscribe messages to other wireless devices, including the wireless device operating synchronously with the apparatus in the neighbor awareness network cluster, the subscribe message including the scrambled value maintained by the apparatus, associated with the known service name; and

code for receiving, by the apparatus, the service discovery frame, which includes a publish message from the wireless device, in response to the one or more subscribe messages transmitted by the apparatus.

16. The computer program product of claim 13 , further comprising:

code for computing, by the apparatus, the scrambled values associated with service names maintained by the apparatus.

17. The computer program product of claim 13 , further comprising:

code for accessing, by the apparatus, the scrambled values associated with service names maintained by the apparatus, the scrambled values having been previously computed and stored by the apparatus.

18. The computer program product of claim 13 , wherein the received scrambled value is a hash of an argument comprising the known service name, the component value selected based on the current synchronous time shared by the apparatus and the wireless device, and the current synchronous time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2016
From: MARIN, JANNE; KASSLIN, MIKA; KNECKT, JARKKO; ALANEN, OLLI
To: NOKIA TECHNOLOGIES OY
Reel/Frame 037772/0382 →
Continuity (2)
Provisional Application 62137473 · Mar 24, 2015
Related Publication 20160286388A1 · Sep 29, 2016