Rolling code authentication techniques
AssigneeBandwidth Inc.
InventorsAdam Covati, Bryan C. Turner
Life of this patent
Estimating the term…
Abstract
Techniques are described for single or multi-factor authentication. An access request is received followed by a prompt for authentication data comprising a segment of a continuous rolling authentication code. Upon receipt of the segment of a continuous rolling authentication code, it is compared to another version of the continuous rolling authentication code generated by an algorithm and shared secret key known to both parties. The access request may be authenticated when the segment of the rolling authentication code received in response to the prompt for authentication data matches a segment the continuous rolling authentication code generated. Otherwise, it is rejected.
Claims27
An access authentication method comprising:
- receiving an access request;
- prompting for authentication data pertaining to the access request, the authentication data comprising a segment of a continuous rolling authentication code comprised of characters;
- receiving, in response to the prompt for authentication data, a segment of a continuous rolling authentication code;
- comparing the received segment of the continuous rolling authentication code to a window segment of the continuous rolling authentication code of the same segment length beginning at time “x−y” seconds where “x” is the moment at which the received segment was received and “y” is a look back period;
- shifting the window segment one character at a time until there is a match between the received segment and a window segment or the time attributable to the shifted window segment is “x”;
- authenticating the access request when the received segment of the continuous rolling authentication code exactly matches a window segment;
- and
- rejecting the access request when the received segment of the continuous rolling authentication code does not match any window segments.
A system for processing access requests, comprising:
- a processor;
- and
- a non-transitory computer readable medium to store a set of instructions for execution by the processor, the set of instructions to cause the processor to:
- receive an access request;
- prompt for authentication data pertaining to the access request, the authentication data comprising a segment of a continuous rolling authentication code comprised of characters;
- receive, in response to the prompt for authentication data, a segment of a continuous rolling authentication code;
- compare the received segment of the continuous rolling authentication code to a window segment of the continuous rolling authentication code of the same segment length beginning at time “x−y” seconds where “x” is the moment at which the received segment was received and “y” is a look back period;
- shift the window segment one character at a time until there is a match between the received segment and a window segment or the time attributable to the shifted window segment is “x”;
- authenticate the access request when the received segment of the continuous rolling authentication code exactly matches a window segment;
- and
- reject the access request when the received segment of the continuous rolling authentication code does not match any window segments.
At least one non-transitory machine-readable medium comprising a set of instructions executable on at least one computing device to cause the at least one computing device to perform multi-factor authentication, set of instructions to:
- receive an access request;
- prompt for authentication data pertaining to the access request, the authentication data comprising a segment of a continuous rolling authentication code comprised of characters;
- receive, in response to the prompt for authentication data, a segment of a continuous rolling authentication code;
- compare the received segment of the continuous rolling authentication code to a window segment of the continuous rolling authentication code of the same segment length beginning at time “x-y” seconds where “x” is the moment at which the received segment was received and “y” is a look back period;
- shift the window segment one character at a time until there is a match between the received segment and a window segment or the time attributable to the shifted window segment is “x”;
- authenticate the access request when the received segment of the continuous rolling authentication code exactly matches a window segment;
- and
- reject the access request when the received segment of the continuous rolling authentication code does not match any window segments.
Dependencies are inferred from the claim text.