IP Library › Granted Patent US 10,158,627
Granted Patent B2
US 10,158,627 · App. 15/814,653 · Granted Dec 18, 2018

Location determination for user authentication

Inventor: Micheal Thompson (Meridian, ID)
Assignee: A10 Networks, Inc.
H04L63/083G06F21/31H04L63/08H04L63/0876H04L63/102H04L63/107H04L67/02H04W4/02H04W12/06G06F2221/2111H04L63/108H04L67/18H04L2463/121
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,158,627
App. No.
15/814,653
Granted
Dec 18, 2018
Kind
B2
Abstract

User authentication techniques based on geographical locations associated with a client device are provided. An example method for authentication of the client device includes receiving an authentication request from the client device. The method may include establishing current geographical location of the client device based on metadata received from the client device. The method may further include establishing a trusted tolerance geographical area based on historical location area associated with the client device. After establishing the trusted tolerance geographical area, the method may proceed with determining whether the current geographical location of the client device is within the trusted tolerance geographical area. The method may further include authenticating the client device based on the determination that the current geographical location of the client device is within the trusted tolerance geographical area.

Claims (52)

1. A method for authentication of a client device, the method comprising:

receiving, by at least one processor of a host machine, an authentication request from the client device to access a resource provided by the host machine, the host machine being located remotely with respect to the client device;

determining, by the at least one processor of the host machine, a first distance between the host machine and the client device;

based on the authentication request, instructing, by the at least one processor of the host machine, a further host machine of two or more host machines to determine a second distance between the further host machine and the client device, the further host machine providing data associated with the second distance to the host machine;

establishing, by the at least one processor of the host machine, a current geographical location of the client device by a triangulation of the client device, the host machine, and the further host machine based on the first distance, the second distance, and a known distance between the host machine and the further host machine;

establishing, by the at least one processor, a trusted tolerance geographical area based on at least a historical location area associated with the client device, the trusted tolerance geographical area being circumscribed by a plurality of points, the plurality of points being at varying respective distances from each of the first host machine and the second host machine;

determining, by the at least one processor, whether the current geographical location of the client device is within the trusted tolerance geographical area; and

authenticating the client device, by the at least one processor, based on the determination that the current geographical location of the client device is within the trusted tolerance geographical area.

2. The method of claim 1 , wherein a location of the host machine and a location of the further host machine are known.

3. The method of claim 2 , wherein the triangulation includes:

calculating trip times (RTTs) of test messages exchanged between the client device and the host machine and between the client device and the further host machine;

determining the location of the client device by forming triangles between the client device, the host machine, and the further host machine.

4. The method of claim 1 , wherein the trusted tolerance geographical area is based on historical locations of the client device.

5. The method of claim 4 , wherein the authenticating the client device is further based on time stamps associated with the current geographical location and the historical locations of the client device.

6. The method of claim 5 , wherein the time stamps are used to establish a likelihood of moving the client device between a historical location and the current geographical location within a period of time.

7. The method of claim 1 , further comprising updating the trusted tolerance geographical area in response to the authentication of the client device.

8. The method of claim 1 , wherein the trusted tolerance geographical area is defined based on the historical locations.

9. The method of claim 1 , further comprising receiving metadata from the client device, wherein the metadata include an Internet Protocol version 4 (IPv4) address or an Internet Protocol version 6 (IPv6) address associated with the client device.

10. The method of claim 1 , further comprising receiving user credentials, the user credentials including a user login and a password.

11. A system for authentication of a client device, the system comprising:

a processor of a host machine, wherein the processor is a hardware processor configured to:

receive an authentication request from the client device to access a resource provided by the host machine, the host machine being located remotely with respect to the client device;

determine a first distance between the host machine and the client device;

based on the authentication request, instruct a further host machine of two or more host machines to determine a second distance between the further host machine and the client device, the further host machine providing data associated with the second distance to the host machine;

establish a current geographical location of the client device by a triangulation of the client device, the host machine, and the further host machine based on the first distance, the second distance, and a known distance between the host machine and the further host machine;

establish a trusted tolerance geographical area based on at least a historical location area associated with the client device, the trusted tolerance geographical area being circumscribed by a plurality of points, the plurality of points being at varying respective distances from each of the first host machine and the second host machine;

determine whether the current geographical location of the client device is within the trusted tolerance geographical area; and

authenticate the client device based on the determination that the current geographical location of the client device is within the trusted tolerance geographical area; and

a database configured to store at least data associated with the client device.

12. The system of claim 11 , wherein a location of the host machine and a location of the further host machine are known.

13. The system of claim 12 , wherein the triangulation includes:

calculating trip times (RTTs) of test messages exchanged between the client device and the host machine and between the client device and the further host machine;

determining the location of the client device by forming triangles between the client device, the host machine and the further host machine.

14. The system of claim 11 , wherein the trusted tolerance geographical area is based on historical locations of the client device.

15. The system of claim 14 , wherein the authenticating the client device is further based on time stamps associated with the current geographical location and the historical locations of the client device.

16. The system of claim 15 , wherein the time stamps are used to establish a likelihood of moving the client device between a historical location and the current geographical location within a period of time.

17. The system of claim 11 , wherein the processor is further configured to update the trusted tolerance geographical area in response to the authentication of the client device.

18. The system of claim 11 , wherein the trusted tolerance geographical area is defined based on the historical locations.

19. The system of claim 11 , wherein the processor is further configured to receive metadata from the client device and wherein the metadata include an Internet Protocol version 4 (IPv4) address or Internet Protocol version 6 (IPv6) address associated with the client device.

20. A system for authentication of a client device, the system comprising:

a processor of a host machine of two or more host machines, wherein the processor is a hardware processor configured to:

receive an authentication request from the client device to access a resource provided by the host machine, the host machine being located remotely with respect to the client device;

determine a first distance between the host machine and the client device;

based on the authentication request, instruct a further host machine of two or more host machines to determine a second distance between the further host machine and the client device, the further host machine providing data associated with the second distance to the host machine;

establish a current geographical location of the client device by a triangulation of the client device, the host machine, and the further host machine based on the first distance, the second distance, and a known distance between the host machine and the further host machine, wherein the triangulation includes:

calculating trip times (RTTs) of test messages exchanged between the client device and the host machine and the further host machine; and

determining the location of the client device by forming triangles between the client device, the host machine, and the further host machine;

establish a trusted tolerance geographical area based on at least a historical location area associated with the client device, the trusted tolerance geographical area being circumscribed by a plurality of points, the plurality of points being at varying respective distances from each of the first host machine and the second host machine;

determine whether the current geographical location of the client device is within the trusted tolerance geographical area;

authenticate the client device based on the determination that the current geographical location of the client device is within the trusted tolerance geographical area; and

update the trusted tolerance geographical area in response to the authentication of the client device; and

a database configured to store at least data associated with the client device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2017
From: THOMPSON, MICHEAL
To: A10 NETWORKS, INC.
Reel/Frame 044150/0308 →
Continuity (4)
Continuation 15207190 · Jul 11, 2016
Continuation 14834278 · Aug 24, 2015
Continuation 13925745 · Jun 24, 2013
Related Publication 20180097796A1 · Apr 5, 2018