IP Library Granted Patent US 8,893,261
Granted Patent B2
US 8,893,261 · App. 13/629,442 · Granted Nov 18, 2014

Method and system for VPN isolation using network namespaces

Inventors: Alexander Fainkichen (Cambridge, MA); Craig Newell (Cambridge, MA)
Assignee: VMware, Inc.
H04L63/0272B32B37/16G06F9/445H04W12/08C09J7/041H04W12/06G06F9/455H04W4/001
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 8,893,261
App. No.
13/629,442
Granted
Nov 18, 2014
Kind
B2
Abstract

One embodiment of the present invention provides a system for providing exclusive access to a virtual private network (VPN) connection to an authorized application. During operation, the system creates a unique network namespace that is different from a default network namespace of a host system. The system then places a pseudo network interface associated with the VPN connection into the unique network namespace. Furthermore, the system places at least one socket for an authorized application into the unique network namespace. The system also precludes unauthorized applications on the host from accessing the unique network namespace, thereby facilitating exclusive access to the VPN connection by the authorized application.

Claims (37)

1. A computer executable method for providing exclusive access to a virtual private network (VPN) connection to an authorized application, comprising:

creating a unique network namespace that is different from a default network namespace of a host system;

placing a pseudo network interface associated with the VPN connection into the unique network namespace;

placing at least one socket for the authorized application into the unique network namespace; and

precluding all unauthorized applications on the host system from accessing the unique network namespace, thereby facilitating exclusive access to the VPN connection by the authorized application.

2. The method of claim 1 , wherein the authorized application is a virtual machine.

3. The method of claim 2 , further comprising:

intercepting a socket-creation request from an application on the virtual machine; and

creating a socket of the at least one socket on the host system on behalf of the virtual machine.

4. The method of claim 1 , further comprising establishing the VPN connection by a VPN client which resides in the default network namespace of the host system.

5. The method of claim 1 , further comprising receiving a set of network parameters by a VPN client and passing the network parameters to a connectivity service on the host system.

6. The method of claim 1 , further comprising applying a set of network parameters received via the VPN connection to the pseudo network interface.

7. The method of claim 1 , wherein the host system is a mobile device.

8. A computer readable non-transitory storage medium storing instructions which when executed by a computer cause the computer to perform a method, the method comprising:

creating a unique network namespace that is different from a default network namespace of a host system on the computer;

placing a pseudo network interface associated with the VPN connection into the unique network namespace;

placing at least one socket for an authorized application into the unique network namespace; and

precluding all unauthorized applications on the host system from accessing the unique network namespace, thereby facilitating exclusive access to the VPN connection by the authorized application.

9. The computer readable non-transitory storage medium of claim 8 , wherein the authorized application is a virtual machine.

10. The computer-readable non-transitory storage medium of claim 9 , wherein the method further comprises:

intercepting a socket-creation request from an application on the virtual machine; and

creating a socket of the at least one socket on the host system on behalf of the virtual machine.

11. The computer-readable non-transitory storage medium of claim 8 , wherein the method further comprises establishing the VPN connection by a VPN client which resides in the default network namespace of the host system.

12. The computer-readable non-transitory storage medium of claim 8 , wherein the method further comprises receiving a set of network parameters by a VPN client and passing the network parameters to a connectivity service on the host system.

13. The computer-readable non-transitory storage medium of claim 8 , wherein the method further comprises applying a set of network parameters received via the VPN connection to the pseudo network interface.

14. The computer-readable non-transitory storage medium of claim 8 , wherein the computer is a mobile device.

15. A computing system for providing exclusive access to a virtual private network (VPN) connection to an authorized application, comprising:

a network namespace creation mechanism configured to create a unique network namespace that is different from a default network namespace of a host system; a connectivity service configured to place a pseudo network interface associated with the VPN connection into the unique network namespace; and

a socket management mechanism configured to place at least one socket for the authorized application into the unique network namespace;

wherein all unauthorized applications on the host system are precluded from accessing the unique network namespace, thereby facilitating exclusive access to the VPN connection by the authorized application.

16. The computing system of claim 15 , wherein the authorized application is a virtual machine.

17. The computing system of claim 16 , wherein the socket management mechanism is further configured to:

intercept a socket-creation request from an application on the virtual machine; and

create a socket of the at least one socket on the host system on behalf of the virtual machine.

18. The computing system of claim 15 , further comprising a VPN client configured to establish the VPN connection, wherein the VPN client resides in the default network namespace of the host system.

19. The computing system of claim 15 , wherein the connectivity service is configured to receive a set of network parameters by a VPN client and pass the network parameters to a connectivity service on the host system.

20. The computing system of claim 15 , wherein the connectivity service is configured to apply a set of network parameters received via the VPN connection to the pseudo network interface.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2012
From: FAINKICHEN, ALEXANDER; NEWELL, CRAIG
To: VMWARE, INC.
Reel/Frame 029056/0596 →
Continuity (2)
Provisional Application 61562979 · Nov 22, 2011
Related Publication 20130133061A1 · May 23, 2013