IP Library Granted Patent US 8,776,209
Granted Patent B1
US 8,776,209 · App. 13/416,786 · Granted Jul 8, 2014

Tunneling session detection to provide single-sign on (SSO) functionality for a VPN gateway

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,776,209
App. No.
13/416,786
Granted
Jul 8, 2014
Kind
B1
Abstract

A VPN gateway is described that provides single sign-on (SSO) functionality with respect to remote users who have established tunneling sessions with the VPN gateway and who attempt to access a protected resource. The VPN gateway may receive, from a client device, a security assertion request that includes a request for a security assertion to be made by the VPN gateway with respect to a user of a private network associated with the VPN gateway, determine whether the security assertion request was received via a tunneling session established for the user between the client device and the VPN gateway, and issue a security assertion for the user in response to determining that the security assertion request was received via the tunneling session. In this way, a VPN gateway may act as an SSO identity provider for users that have an established tunneling session with the gateway.

Claims (61)

1. A method comprising:

presenting a user interface configured to receive user input specifying whether tunneling session detection should be used to provide security assertions without requiring a user to re-authenticate with a VPN gateway device;

establishing, with the VPN gateway device, a tunneling session for a user of a private network associated with the VPN gateway device, the tunneling session being established between a client device and the VPN gateway device;

receiving, with the VPN gateway device, a security assertion request from the client device, the security assertion request including a request for a security assertion to be made by the VPN gateway device with respect to the user of the private network associated with the VPN gateway device;

determining, with the VPN gateway device, whether the security assertion request was received via the tunneling session established for the user between the client device and the VPN gateway device; and

issuing, with the VPN gateway device, a security assertion for the user in response to determining that the security assertion request was received via the tunneling session.

2. The method of claim 1 , wherein issuing the security assertion for the user comprises issuing the security assertion for the user without requiring the user to re-authenticate with the VPN gateway device.

3. The method of claim 1 , wherein determining whether the security assertion request was received via the tunneling session comprises:

determining whether the security assertion request was received via the tunneling session based on a source internet protocol (IP) address specified in the security assertion request.

4. The method of claim 1 , wherein determining whether the security assertion request was received via the tunneling session comprises:

determining whether the security assertion request was received via the tunneling session based on whether a source internet protocol (IP) address specified in the security assertion request is a private IP address associated with a private network to which access is controlled by the VPN gateway device.

5. The method of claim 4 , wherein determining whether the security assertion request was received via the tunneling session based on whether the source IP address is a private IP address comprises:

determining whether the source IP address is a private IP address associated with a private network to which access is controlled by the VPN gateway device; and

determining that the security assertion request was received via the tunneling session in response to determining that the source IP address is a private IP address associated with the private network.

6. The method of claim 4 , wherein determining whether the security assertion request was received via the tunneling session based on whether the source IP address is a private IP address comprises:

determining whether the source IP address is a private IP address associated with a private network to which access is controlled by the VPN gateway device;

determining whether the private IP address is associated with a valid tunneling session for the user specified in the security assertion request; and

determining that the security assertion request was received via the tunneling session in response to determining that the source IP address is a private IP address associated with the private network and that the private IP address is associated with a valid tunneling session for the user.

7. The method of claim 1 , further comprising:

causing the client device to send security assertion requests to the VPN gateway device via the tunneling session.

8. The method of claim 7 , wherein causing the client device to send security assertion requests to the VPN gateway device via the tunneling session comprises:

causing a hostname for receiving security assertion requests at the VPN gateway device to be resolved by the client device to a private IP address associated with the VPN gateway device upon establishment of the tunneling session between the client device and the VPN gateway device.

9. The method of claim 8 , wherein prior to establishment of the tunneling session, a name resolver in the client device is configured to query a first name server that associates the hostname for receiving security assertions requests with a public IP address associated with the VPN gateway device, and wherein causing the hostname for receiving security assertion requests at the VPN gateway device to be resolved by the client device to a private IP address comprises:

configuring the name resolver in the client device to query a second name server different than the first name server upon establishment of the tunneling session between the client device and the VPN gateway device, the second name server associating the hostname for receiving security assertion requests with the private IP address associated with the VPN gateway device.

10. The method of claim 8 , wherein causing the hostname for receiving security assertion requests at the VPN gateway device to be resolved by the client device to a private IP address comprises:

placing an entry in a host table of the client device upon establishment of the tunneling session between the client device and the VPN gateway device, the entry associating the hostname for receiving security assertion requests with the private IP address associated with the VPN gateway device.

11. The method of claim 1 , wherein the client device includes a VPN handler that is configured to send the security assertion request to the VPN gateway device via the tunneling session when the tunneling session is established.

12. A method for issuing security assertions with a VPN gateway device that is associated with a first hostname, the method comprising:

presenting a user interface configured to receive user input specifying a second hostname for receiving security assertion requests at the VPN gateway device, the second hostname being different than the first hostnames;

establishing, with the VPN gateway device, a tunneling session for a user of a private network associated with the VPN gateway device, the tunneling session being established between a client device and the VPN gateway device;

receiving, with the VPN gateway device, a security assertion request from the client device, the security assertion request including a request for a security assertion to be made by the VPN gateway device with respect to the user of the private network associated with the VPN gateway device;

determining, with the VPN gateway device, whether the security assertion request was received via the tunneling session established for the user between the client device and the VPN gateway device; and

issuing, with the VPN gateway device, a security assertion for the user in response to determining that the security assertion request was received via the tunneling session.

13. The method of claim 1 , wherein the VPN gateway device is associated with a first hostname, and wherein the method further comprises:

presenting a user interface configured to receive user input specifying a second hostname for receiving security assertion requests at the VPN gateway device, the second hostname being different than the first hostname.

14. The method of claim 1 , wherein the VPN gateway device is a secure sockets layer (SSL) VPN gateway device configured to establish an SSL tunneling session.

15. The method of claim 1 , wherein the VPN gateway device is an Internet Protocol Security (IPSec) VPN gateway device configured to establish an IPSec tunneling session.

16. A virtual private network (VPN) gateway device comprising:

one or more processors configured to:

present a user interface configured to receive user input specifying whether tunneling session detection should be used to provide security assertions without requiring a user to re-authenticate with a VPN gateway device;

establish a tunneling session for a user of a private network associated with the VPN gateway device, the tunneling session being established between a client device and the VPN gateway device,

receive, from the client device, a security assertion request that includes a request for a security assertion to be made by the VPN gateway device with respect to the user of the private network associated with the VPN gateway device,

determine whether the security assertion request was received via the tunneling session established for the user between the client device and the VPN gateway device, and

issue a security assertion for the user in response to determining that the security assertion request was received via the tunneling session.

17. The device of claim 16 , wherein the security assertion module is further configured to issue the security assertion for the user without requiring the user to re-authenticate with the VPN gateway device.

18. The device of claim 16 , wherein the security assertion module is further configured to determine whether the security assertion request was received via the tunneling session based on a source internet protocol (IP) address specified in the security assertion request.

19. The device of claim 16 , wherein the security assertion module is further configured to determine whether the security assertion request was received via the tunneling session based on whether a source internet protocol (IP) address specified in the security assertion request is a private IP address associated with a private network to which access is controlled by the VPN gateway device.

20. The device of claim 19 , wherein the security assertion module is further configured to determine whether the source IP address is a private IP address associated with a private network to which access is controlled by the VPN gateway device, and determine that the security assertion request was received via the tunneling session in response to determining that the source IP address is a private IP address associated with the private network.

21. The device of claim 19 , wherein the security assertion module is further configured to determine whether the source IP address is a private IP address associated with a private network to which access is controlled by the VPN gateway device, determine whether the private IP address is associated with a valid tunneling session for the user specified in the security assertion request, and determine that the security assertion request was received via the tunneling session in response to determining that the source IP address is a private IP address associated with the private network and that the private IP address is associated with a valid tunneling session for the user.

22. The device of claim 16 , wherein the VPN gateway device further comprises:

a tunnel management module configured to cause the client device to send security assertion requests to the VPN gateway device via the tunneling session.

23. The device of claim 22 , wherein the tunnel management module is further configured to cause a hostname for receiving security assertion requests at the VPN gateway device to be resolved by the client device to a private IP address associated with the VPN gateway device upon establishment of the tunneling session between the client device and the VPN gateway device.

24. The device of claim 23 , wherein prior to establishment of the tunneling session, a name resolver in the client device is configured to query a first name server that associates the hostname for receiving security assertions requests with a public IP address associated with the VPN gateway device, and wherein the tunnel management module is further configured to configure the name resolver in the client device to query a second name server different than the first name server upon establishment of the tunneling session between the client device and the VPN gateway device, the second name server associating the hostname for receiving security assertion requests with the private IP address associated with the VPN gateway device.

25. The device of claim 23 , wherein the tunnel management module is further configured to place an entry in a host table of the client device upon establishment of the tunneling session between the client device and the VPN gateway device, the entry associating the hostname for receiving security assertion requests with the private IP address associated with the VPN gateway device.

26. The device of claim 16 , wherein the client device includes a VPN handler that is configured to send the security assertion request to the VPN gateway device via the tunneling session when the tunneling session is established.

27. The device of claim 16 , wherein the VPN gateway device is associated with a first hostname, and wherein the VPN gateway device is configured to present a user interface configured to receive user input specifying a second hostname for receiving security assertion requests at the VPN gateway device, the second hostname being different than the first hostname.

28. The device of claim 16 , wherein the VPN gateway device is a secure sockets layer (SSL) VPN gateway device configured to establish an SSL tunneling session.

29. The device of claim 16 , wherein the VPN gateway device is an Internet Protocol Security (IPSec) VPN gateway device configured to establish an IPSec tunneling session.

30. The method of claim 1 , further comprising:

authenticating, with the VPN gateway device, the user in response to determining that the security assertion request was not received via the tunneling session.

31. The device of claim 16 , wherein the VPN gateway device is further configured to authenticate the user in response to determining that the security assertion request was not received via the tunneling session.

Assignments (16)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 3, 2025
From: PULSE SECURE LLC
To: ALTER DOMUS (US) LLC
Reel/Frame 071165/0027 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 053638-0220 Recorded Dec 1, 2020
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: PULSE SECURE, LLC
Reel/Frame 054559/0368 →
SECURITY INTEREST Recorded Aug 29, 2020
From: PULSE SECURE, LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 053638/0220 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 042380/0859 Recorded Aug 29, 2020
From: CERBERUS BUSINESS FINANCE, LLC, AS AGENT
To: PULSE SECURE, LLC
Reel/Frame 053638/0259 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2020
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
Reel/Frame 053271/0307 →
GRANT OF SECURITY INTEREST PATENTS Recorded May 1, 2017
From: PULSE SECURE, LLC
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 042380/0859 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL 037338, FRAME 0408 Recorded May 1, 2017
From: US BANK NATIONAL ASSOCIATION
To: PULSE SECURE, LLC
Reel/Frame 042381/0568 →
SECURITY INTEREST Recorded Dec 21, 2015
From: PULSE SECURE, LLC
To: U.S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037338/0408 →
SECURITY INTEREST Recorded Oct 23, 2014
From: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 034037/0526 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2014
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC
Reel/Frame 034036/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2012
From: KUMAR, KARTIK; AGRAWAL, ANKUR; CHICKERING, ROGER A.; WOOD, JAMES; ANNE, VAMSI K.
To: JUNIPER NETWORKS, INC.
Reel/Frame 027837/0839 →