IP Library Granted Patent US 11,418,488
Granted Patent B2
US 11,418,488 · App. 16/788,325 · Granted Aug 16, 2022

Dynamic variance mechanism for securing enterprise resources using a virtual private network

Inventors: Arjun Kochhar (Bangalore, IN); Suman Aluvala (Bangalore, IN); Amit Yadav (Bangalore, IN); Aman Srivastava (Bangalore, IN)
Assignee: VMWARE, INC.
H04L63/0272G06N20/00H04W12/40
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 11,418,488
App. No.
16/788,325
Granted
Aug 16, 2022
Kind
B2
Abstract

Disclosed are various examples for securing enterprise resources using a virtual private network. A client device can send a first unique device identifier for the client device to a remote management service upon enrollment. When a virtual private network application is first executed, the client device can send a second unique device identifier to the remote management service, where the remote management service is configured to store the second unique device identifier in association with the first unique universal identifier. During subsequent executions of the virtual private network application, the virtual private network service can authenticate the client device by comparing the first unique device identifier and the second unique device identifier to a device identifier received from the remote management service. A machine learning routine can be employed to identify anomalies as the virtual private network application is executed.

Claims (51)

1. A system, comprising:

a client device; and

program instructions stored in memory and executable by the client device that, when executed, direct the client device to:

in an instance in which a virtual private network (VPN) application is first executed on the client device, generate and send a first unique device identifier to a remote management service, the remote management service being configured to store the first unique device identifier in association with a second unique universal identifier;

in an instance in which the virtual private network application is subsequently executed, send the first unique device identifier and the second unique universal identifier to a virtual private network service, wherein the virtual private network service is configured to authenticate the client device by comparing at least one of the first unique device identifier and the second unique universal identifier to a device identifier received from the remote management service; and

in an instance in which the device identifier received from the remote management service does not match at least one of the first unique device identifier and the second unique device identifier, terminate a virtual private network connection on the client device; and

wherein the virtual private network service is further configured to:

execute a machine learning (ML) routine to identify at least one pattern of access for the client device;

identify a network access anomaly in response to a network interaction of the client device deviating from the at least one pattern of access for the client device; and

in an instance in which the network access anomaly is identified, perform at least one remedial action, the at least one remedial action being determined based at least in part on an administrator-defined policy, wherein the machine learning routine is one of: a K-nearest neighbor routine, a one class support vector machine (SVM) routine, an auto-encoder neural network routine, and a one-class neural network (OC-NN) routine.

2. The system of claim 1 , wherein the first unique device identifier is generated as a function of at least one of: an application signing key, a device model, a user enrollment mode, or a unique hash generated from a network service unique identifier for the client device.

3. The system of claim 2 , wherein:

the network service unique identifier for the client device is an international mobile equipment identity (IMEI) identifier or a mobile equipment identifier (MEID); and

the second unique device identifier is a universally unique device identifier (UUID).

4. The system of claim 1 , wherein the second unique device identifier for the client device is generated by the remote management service in response to an enrollment of the client device with the remote management service.

5. The system of claim 1 , wherein, in the instance in which the virtual private network application is subsequently executed, the first unique device identifier and the second unique identifier are sent to the virtual private network service after completion of a secure sockets layer (SSL) handshake between the virtual private network service and the client device.

6. The system of claim 1 , wherein the virtual private network service is further configured to:

maintain an access log for at least the client device detailing a network access history of the client device; and

identify the at least one pattern of access for the client device based on the access log.

7. A computer-implemented method, comprising:

in an instance in which a virtual private network (VPN) application is first executed on a client device, generating and sending a first unique device identifier to a remote management service, the remote management service being configured to store the first unique device identifier in association with a second unique universal identifier;

in an instance in which the virtual private network application is subsequently executed, sending the first unique device identifier and the second unique universal identifier to a virtual private network service, wherein the virtual private network service is configured to authenticate the client device by comparing at least one of the first unique device identifier and the second unique universal identifier to a device identifier received from the remote management service;

in an instance in which the device identifier received from the remote management service does not match at least one of the first unique device identifier and the second unique universal identifier, terminating a virtual private network connection on the client device;

executing, by the virtual private network service, a machine learning (ML) routine to identify the at least one pattern of access for the client device;

identifying, by the virtual private network service, a network access anomaly in response to a network interaction of the client device deviating from the at least one pattern of access for the client device; and

in an instance in which the network access anomaly is identified, performing, by the virtual private network service, at least one remedial action, the at least one remedial action being determined based at least in part on an administrator-defined policy, wherein the machine learning routine is one of: a K-nearest neighbor routine, a one class support vector machine (SVM) routine, an auto-encoder neural network routine, and a one-class neural network (OC-NN) routine.

8. The computer-implemented method of claim 7 , further comprising generating the first unique device identifier as a function of at least one of: an application signing key, a device model, a user enrollment mode, or a unique hash generated from a network service unique identifier for the client device.

9. The computer-implemented method of claim 8 , wherein:

the network service unique identifier for the client device is an international mobile equipment identity (IMEI) identifier or a mobile equipment identifier (MEID); and

the second unique universal identifier is a universally unique device identifier (UUID).

10. The computer-implemented method of claim 7 , wherein the first unique device identifier for the client device is generated by the remote management service in response to an enrollment of the client device with the remote management service.

11. The computer-implemented method of claim 7 , wherein, in the instance in which the virtual private network application is subsequently executed, the first unique device identifier and the second unique universal identifier are sent to the virtual private network service after completion of a secure sockets layer (SSL) handshake between the virtual private network service and the client device.

12. The computer-implemented method of claim 7 , further comprising:

maintaining, by the virtual private network service, an access log for at least the client device detailing a network access history of the client device; and

identifying, by the virtual private network service, at least one pattern of access for the client device based on the access log.

13. A non-transitory computer-readable medium comprising program instructions stored thereon executable in a client device that, when executed, direct the client device to:

in an instance in which a virtual private network (VPN) application is first executed on the client device, generate and send a first unique device identifier to a remote management service, the remote management service being configured to store the first unique device identifier in association with a second unique universal identifier;

in an instance in which the virtual private network application is subsequently executed, send the first unique device identifier and the second unique universal identifier to a virtual private network service, wherein the virtual private network service is configured to authenticate the client device by comparing at least one of the first unique identifier and the second unique universal identifier to a device identifier received from the remote management service;

in an instance in which the device identifier received from the remote management service does not match at least one of the first unique device identifier and the second unique universal identifier, terminate a virtual private network connection on the client device;

execute a machine learning (ML) routine to identify at least one pattern of access for the client device;

identify a network access anomaly in response to a network interaction of the client device deviating from the at least one pattern of access for the client device; and

in an instance in which the network access anomaly is identified, perform at least one remedial action, the at least one remedial action being determined based at least in part on an administrator-defined policy, wherein the machine learning routine is one of: a K-nearest neighbor routine, a one class support vector machine (SVM) routine, an auto-encoder neural network routine, and a one-class neural network (OC-NN) routine.

14. The non-transitory computer-readable medium of claim 13 , wherein the first unique device identifier is generated as a function of at least one of: an application signing key, a device model, a user enrollment mode, or a unique hash generated from a network service unique identifier for the client device.

15. The non-transitory computer-readable medium of claim 14 , wherein:

the network service unique identifier for the client device is an international mobile equipment identity (IMEI) identifier or a mobile equipment identifier (MEID); and

the second unique universal identifier is a universally unique device identifier (UUID).

16. The non-transitory computer-readable medium of claim 13 , wherein the first unique device identifier for the client device is generated by the remote management service in response to an enrollment of the client device with the remote management service.

17. The non-transitory computer-readable medium of claim 13 , wherein, in the instance in which the virtual private network application is subsequently executed, the first unique device identifier and the second unique universal identifier are sent to the virtual private network service after completion of a secure sockets layer (SSL) handshake between the virtual private network service and the client device.

18. The non-transitory computer-readable medium of claim 13 , wherein the virtual private network service is further configured to:

maintain an access log for at least the client device detailing a network access history of the client device; and

identify the at least one pattern of access for the client device based on the access log.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2020
From: KOCHHAR, ARJUN; ALUVALA, SUMAN; YADAV, AMIT; SRIVASTAVA, AMAN
To: VMWARE, INC.
Reel/Frame 051900/0219 →
Priority Claims (1)
IN 201941051804 · Dec 13, 2019 · national
Continuity (1)
Related Publication 20210185012A1 · Jun 17, 2021