System and method for verifying device security
First Claim
Patent Images
1. A method for verifying a proximity of a user device to a beacon, the method comprising:
- at the beacon;
for a time window, generating a time-window key and a temporary identifier (temporary ID) based on a window time of the time window;
generating an encrypted payload by encrypting a payload, comprising a broadcast time, with the time-window key;
generating a frame comprising the temporary ID and the encrypted payload; and
near the broadcast time and during the time window, broadcasting the frame; and
at a remote computing device;
independently from the beacon, for each of a series of time windows, generating a time-window key and a temporary ID based on the respective time window;
wherein the time window is within the series of time windows;
receiving the frame at a receipt time from the user device;
extracting the temporary ID from the frame;
extracting the broadcast time from the encrypted payload based on the time-window key associated with the temporary ID;
determining a time parameter based on the receipt time and the broadcast time, wherein the time parameter comprises a packet stability, wherein the packet stability is determined based on a difference between a broadcast delay and a receipt delay, wherein the broadcast delay is determined between successive broadcasting times and the receipt delay is determined between successive receipt times, wherein the user device proximity is verified in response to the packet stability for the frame falling within a predetermined range of an average packet stability for the beacon;
verifying the proximity of the user device to the beacon based on the time parameter; and
after verifying the proximity, transmitting a beacon identifier to the user device, wherein the user device performs a client-specified action based on the beacon identifier.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for verifying a proximity of a user device to a beacon, including broadcasting a frame comprising an encrypted payload, receiving the frame, extracting information from the frame, and verifying the proximity of the user device to the beacon based on the extracted information.
-
Citations
17 Claims
-
1. A method for verifying a proximity of a user device to a beacon, the method comprising:
-
at the beacon; for a time window, generating a time-window key and a temporary identifier (temporary ID) based on a window time of the time window; generating an encrypted payload by encrypting a payload, comprising a broadcast time, with the time-window key; generating a frame comprising the temporary ID and the encrypted payload; and near the broadcast time and during the time window, broadcasting the frame; and at a remote computing device; independently from the beacon, for each of a series of time windows, generating a time-window key and a temporary ID based on the respective time window;
wherein the time window is within the series of time windows;receiving the frame at a receipt time from the user device; extracting the temporary ID from the frame; extracting the broadcast time from the encrypted payload based on the time-window key associated with the temporary ID; determining a time parameter based on the receipt time and the broadcast time, wherein the time parameter comprises a packet stability, wherein the packet stability is determined based on a difference between a broadcast delay and a receipt delay, wherein the broadcast delay is determined between successive broadcasting times and the receipt delay is determined between successive receipt times, wherein the user device proximity is verified in response to the packet stability for the frame falling within a predetermined range of an average packet stability for the beacon; verifying the proximity of the user device to the beacon based on the time parameter; and after verifying the proximity, transmitting a beacon identifier to the user device, wherein the user device performs a client-specified action based on the beacon identifier. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for verifying a proximity of a user device to a beacon, the method comprising:
-
at the beacon, near a broadcast time, broadcasting a frame comprising an encrypted payload, the encrypted payload comprising the broadcast time encrypted with an encryption key stored onboard the beacon; at a remote computing system; receiving the frame at a receipt time from the user device; extracting the broadcast time from the encrypted payload based on the encryption key; and verifying the proximity of the user device to the beacon based on the extracted broadcast time and the receipt time; providing a beacon identifier for the beacon to the user device, wherein the user device performs a predetermined action based on the beacon identifier; and determining the beacon identifier for the beacon based on the temporary ID, comprising, at a resolver; for each time window of a set of time windows, retrieving a lookup table comprising a set of public identifiers, wherein each public identifier is associated with a different temporary identifier hash, wherein the temporary identifier hash for each time window is generated from a temporary identifier for the time window, wherein the temporary identifier for each time window is generated independently from the beacon; extracting the temporary identifier from the frame; and determining the public identifier from the set of public identifiers, wherein the public identifier is associated with the temporary identifier hash matching an analysis hash calculated from the temporary identifier extracted from the frame;
wherein the predetermined action is performed based on the public identifier. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification