IP Library Granted Patent US 10,616,765
Granted Patent B2
US 10,616,765 · App. 15/706,925 · Granted Apr 7, 2020

Security for wireless broadcasts

Inventors: Alon Ziv (Netanya, IL); Marcel Yung (New York, NY); Avinatan Hassidim (Petah, IL); Yossi Matias (New York, NY)
Assignee: Google LLC
H04W12/06H04W4/80H04W12/02
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 10,616,765
App. No.
15/706,925
Granted
Apr 7, 2020
Kind
B2
Abstract

Methods and systems are provided for concealing identifying data that may be used to identify a beacon or device in broadcasts unless an observer device is able to directly or indirectly, via an authorized resolver device, translate an encrypted broadcast into the identifiable information. The wireless security scheme disclosed herein also pertains to resolving the concealed data messages to obtain the identifiable information.

Claims (84)

1. A method of resolving an ephemeral identifier by an electronic device, the method comprising:

receiving, from a broadcasting device, a message with an ephemeral identifier comprising truncated ciphertext, the ephemeral identifier being a temporary identifier that replaces identifiable information about the broadcasting device in the message to conceal which device sent the message with an authorized resolution of the ephemeral identifier; and

determining if the ephemeral identifier can be resolved locally to obtain information about the broadcasting device;

if the ephemeral identifier can be resolved locally, determining the information about the broadcasting device; or

if the ephemeral identifier cannot be resolved locally:

sending the message to a remote resolver;

sending a list of subscriptions to the remote resolver, the list of subscriptions indicating a type of pertinent broadcasting device or broadcasts that the pertinent broadcasting device may broadcast;

sending a location for the electronic device;

receiving, from the remote resolver, a list of pertinent ephemeral identifiers, each pertinent ephemeral identifier corresponding to a pertinent broadcasting device;

determining if the received ephemeral identifier matches a pertinent ephemeral identifier of the list of pertinent ephemeral identifiers;

if the ephemeral identifier matches the pertinent ephemeral identifier, expanding the ephemeral identifier to generate a key;

attempting to decrypt, using the generated key, all entries in the list of pertinent ephemeral identifiers to decrypted identifiers; and

determining if the decryption was completed successfully.

2. The method of claim 1 , comprising:

if the decrypting is successfully completed, using the decrypted identifiers to examine information about the broadcasting device or complete an action through the broadcasting device; and

if the decrypting is not successfully completed, determining whether the ephemeral identifier matches an alternate list of ephemeral identifiers.

3. The method of claim 2 , comprising:

if the ephemeral identifier does not match the alternate list of ephemeral identifiers:

indicating that resolution of the ephemeral identifier is indeterminate; and

sending the message to the remote resolver to resolve the ephemeral identifier.

4. The method of claim 1 , wherein:

the receiving the message from the broadcasting device is via a Bluetooth Low Energy (BLE) connection.

5. A system comprising:

one or more processors; and

memory comprising instructions executable by the one or more processors to implement a remote resolver service configured to:

receive a message including an ephemeral identifier from a remote observer that directly received the message from a broadcasting device, the ephemeral identifier comprising truncated ciphertext and the ephemeral identifier concealing identifiable information from the remote observer;

receive a subscription list from the remote observer;

receive a location for the remote observer;

generate a list of pertinent broadcasting devices based on the location;

build a list from the generated list using the subscription list;

compute an ephemeral identifier for an observation period and an observation area for each device in the built list, the observation period indicating how long the remote observer will look for broadcasting devices and the observation area indicating a geographical area where the remote observer is predicted to receive messages from broadcasting devices;

for each broadcasting device in the list, look up the ephemeral identifier in a lookup table to determine information about the broadcasting device; and

send at least a portion of the information about the broadcasting device to the remote observer.

6. The system of claim 5 , wherein the instructions are executable by the one or more processors to configure the remote resolver service to:

receive information about the remote observer from the remote observer, the information about the remote observer including a location of the remote observer; and

send the information about the broadcasting device and the location of the remote observer to a remote service to build a database of resolved device locations.

7. The system of claim 5 , wherein the instructions are executable by the one or more processors to configure the remote resolver service to:

store one or more keys for at least one broadcasting device that includes the broadcasting device; and

generate an expected ephemeral identifier for each of the at least one broadcasting device for a period of time.

8. The method of claim 1 , wherein:

the identifiable information comprises a Media Access Control (MAC) address or application-specific identifiers for the broadcasting device.

9. The method of claim 1 , wherein determining if the ephemeral identifier can be resolved locally to obtain information about the broadcasting device comprises:

computing a drift value of the ephemeral identifier; and

determining if the computed drift value is an allowable drift value.

10. A method of resolving an ephemeral identifier by an electronic device, the method comprising:

receiving, from a broadcasting device, a message with an ephemeral identifier comprising truncated ciphertext, the ephemeral identifier being a temporary identifier that replaces identifiable information about the broadcasting device in the message to conceal which device sent the message with an authorized resolution of the ephemeral identifier; and

determining if the ephemeral identifier can be resolved locally to obtain information about the broadcasting device;

if the ephemeral identifier can be resolved locally, determining the information about the broadcasting device; or

if the ephemeral identifier cannot be resolved locally:

sending the message to a remote resolver;

sending a list of subscriptions to the remote resolver, the list of subscriptions indicating a type of pertinent broadcasting device or broadcasts that the pertinent broadcasting device may broadcast;

sending a location for the electronic device;

receiving, from the remote resolver, a list of pertinent ephemeral identifiers, each pertinent ephemeral identifier corresponding to a pertinent broadcasting device;

determining if the received ephemeral identifier matches a pertinent ephemeral identifier of the list of pertinent ephemeral identifiers;

if the ephemeral identifier does not match an alternate list of ephemeral identifiers:

indicating that resolution of the ephemeral identifier is indeterminate; and

sending the message to the remote resolver to resolve the ephemeral identifier.

11. The method of claim 10 , comprising:

if the ephemeral identifier matches the pertinent ephemeral identifier, expanding the ephemeral identifier to generate a key;

attempting to decrypt, using the generated key, all entries in the list of pertinent ephemeral identifiers to decrypted identifiers; and

determining if the decryption was completed successfully.

12. The method of claim 11 , comprising:

if the decrypting is successfully completed, using the decrypted identifiers to examine information about the broadcasting device or complete an action through the broadcasting device; and

if the decrypting is not successfully completed, determining whether the ephemeral identifier matches the alternate list of ephemeral identifiers.

13. The method of claim 10 , wherein the receiving the message from the broadcasting device is via a Bluetooth Low Energy (BLE) connection.

14. The method of claim 10 , wherein the identifiable information comprises a Media Access Control (MAC) address or application-specific identifiers for the broadcasting device.

15. The method of claim 10 , wherein determining if the ephemeral identifier can be resolved locally to obtain information about the broadcasting device comprises:

computing a drift value of the ephemeral identifier; and

determining if the computed drift value is an allowable drift value.

16. A method of resolving an ephemeral identifier by a remote resolver service, comprising:

receiving a message including an ephemeral identifier from a remote observer that directly received the message from a broadcasting device, the ephemeral identifier comprising truncated ciphertext and the ephemeral identifier concealing identifiable information from the remote observer;

receiving a subscription list from the remote observer;

receiving a location for the remote observer;

generating a list of pertinent broadcasting devices based on the location;

building a list from the generated list using the subscription list;

computing an ephemeral identifier for an observation period and an observation area for each device in the built list, the observation period indicating how long the remote observer will look for broadcasting devices and the observation area indicating a geographical area where the remote observer is predicted to receive messages from broadcasting devices;

for each broadcasting device in the list, looking up the ephemeral identifier in a lookup table to determine information about the broadcasting device; and

sending at least a portion of the information about the broadcasting device to the remote observer.

17. The method of claim 16 , the method further comprising:

receiving information about the remote observer from the remote observer, the information about the remote observer including a location of the remote observer; and

sending the information about the broadcasting device and the location of the remote observer to a remote service to build a database of resolved device locations.

18. The method of claim 16 , the method further comprising:

storing one or more keys for at least one broadcasting device that includes the broadcasting device; and

generating an expected ephemeral identifier for each of the at least one broadcasting device for a period of time.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2019
From: MATIAS, YOSSI
To: GOOGLE LLC
Reel/Frame 047955/0809 →
CHANGE OF NAME Recorded Feb 13, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 045312/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2017
From: ZIV, ALON; YUNG, MARCEL; HASSIDIM, AVINATAN
To: GOOGLE INC
Reel/Frame 043612/0083 →
Continuity (2)
Continuation 14795772 · Jul 9, 2015
Related Publication 20180007555A1 · Jan 4, 2018
Cited By (1)
US 12,295,068