IP Library Granted Patent US 9,319,395
Granted Patent B2
US 9,319,395 · App. 14/318,133 · Granted Apr 19, 2016

System and method for securing authentication information in a networked environment

Inventors: Craig Robert William Forster (Austin, TX); Daniel Thomas Greff (Austin, TX); Crandall B. T. Chow (Austin, TX); Phillip Goldenburg (Austin, TX)
Assignee: Sailpoint Technologies, Inc.
H04L63/08G06F21/31H04L9/30H04L63/029H04L63/0428G06F2221/2115H04L63/0272
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 9,319,395
App. No.
14/318,133
Granted
Apr 19, 2016
Kind
B2
Abstract

This disclosure is directed to systems and methods for securely communicating authentication information in a networked environment such as one involving a client device, a cloud based computing platform, and an enterprise computing environment. Some embodiments may include encrypting, by a client device using a public key, authentication information provided by a user. The encrypted authentication information is sent to a cloud based service which then sends it to an on-premises component residing behind a firewall of an enterprise. The on-premises component decrypts the authentication information using a private key, validates the authentication information, and returns the result to the cloud based service over a network. If validated, the cloud based service establishes a secure connection between the client device and the on-premises component such that the user can access the enterprise's content without the enterprise having to share the authentication information with the cloud based service.

Claims (52)

1. A method, comprising:

encrypting, at a client device operated by a first party using a public key, original authentication information provided by the first party at the client device to generate encrypted authentication information, wherein the public key and instructions for encrypting the authentication information were provided by a cloud based service operated by a second party in response to an access to the cloud based service by the client device operated by the first party;

the client device providing the encrypted authentication information to the cloud based service operated by the second party;

the cloud based service providing the encrypted authentication information to an on-premises component residing behind a firewall of an enterprise operated by a third party distinct from the first party and second party;

the on-premises component decrypting the encrypted authentication information using a private key corresponding to the public key provided by the cloud based service operated by the second party to obtain the original authentication information;

the on-premises component performing a validation on the original authentication information; and

the on-premises component returning a result of the validation to the cloud based service over a network, wherein the result is signed by the on-premises component using the private key such that the cloud based service operated by the second party can verify the result was sent by the on-premises component behind the firewall of the enterprise operated by the third party.

2. The method according to claim 1 , further comprising:

based on the result of the validation being valid, the cloud based service establishing a secure connection between the client device and the on-premises component.

3. The method according to claim 2 , further comprising:

the on-premises component providing the client device, via the secure connection, access to an on-premises system operating behind the firewall of the enterprise.

4. The method according to claim 3 , wherein communications between the on-premises component and the on-premises system are not encrypted.

5. The method according to claim 1 , further comprising:

subsequent to receiving the encrypted authentication information from the client device, the cloud based service opening a direct connection to the on-premises component and providing the encrypted authentication information to the on-premises component via the direct connection.

6. The method according to claim 1 , further comprising:

configuring an interface running on the client device with the public key, wherein the interface encrypts the original authentication information using the public key before sending the encrypted authentication information to the cloud based service.

7. The method according to claim 1 , wherein the on-premises component utilizes the original authentication information or the encrypted authentication information to access a third-party service not controlled by the enterprise.

8. A computer program product comprising at least one non-transitory computer readable medium storing instructions translatable by at least one processor to perform:

encrypting, at a client device operated by a first party using a public key, original authentication information provided by the first party at the client device to generate encrypted authentication information, wherein the public key and instructions for encrypting the authentication information were provided by a cloud based service operated by a second party in response to an access to the cloud based service by the client device operated by the first party;

providing the encrypted authentication information from the client device to the cloud based service operated by the second party;

providing the encrypted authentication information from the cloud based service to an on-premises component residing behind a firewall of an enterprise operated by a third party distinct from the first party and second party;

decrypting the encrypted authentication information at the on-premises component using a private key corresponding to the public key provided by the cloud based service operated by the second party to obtain the original authentication information;

performing a validation on the original authentication information by the on-premises component; and

returning, by the on-premises component, a result of the validation to the cloud based service over a network, wherein the result is signed by the on-premises component using the private key such that the cloud based service operated by the second party can verify the result was sent by the on-premises component behind the firewall of the enterprise operated by the third party.

9. The computer program product of claim 8 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

based on the result of the validation being valid, establishing a secure connection between the client device and the on-premises component.

10. The computer program product of claim 9 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

providing the client device, via the secure connection, access to an on-premises system operating behind the firewall of the enterprise.

11. The computer program product of claim 10 , wherein communications between the on-premises component and the on-premises system are not encrypted.

12. The computer program product of claim 8 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

subsequent to receiving the encrypted authentication information from the client device, opening a direct connection from the cloud based service to the on-premises component and providing the encrypted authentication information to the on-premises component via the direct connection.

13. The computer program product of claim 8 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

configuring an interface running on the client device with the public key, wherein the interface encrypts the original authentication information using the public key before sending the encrypted authentication information to the cloud based service.

14. A system, comprising:

at least one processor; and

at least one non-transitory computer readable medium storing instructions translatable by the at least one processor to perform:

encrypting, at a client device operated by a first party using a public key, original authentication information provided by the first party at the client device to generate encrypted authentication information, wherein the public key and instructions for encrypting the authentication information were provided by a cloud based service operated by a second party in response to an access to the cloud based service by the client device operated by the first party;

providing the encrypted authentication information from the client device to the cloud based service operated by the second party;

providing the encrypted authentication information from the cloud based service to an on-premises component residing behind a firewall of an enterprise operated by a third party distinct from the first party and second party;

decrypting the encrypted authentication information at the on-premises component using a private key corresponding to the public key provided by the cloud based service operated by the second party to obtain the original authentication information;

performing a validation on the original authentication information by the on-premises component; and

returning, by the on-premises component, a result of the validation to the cloud based service over a network, wherein the result is signed by the on-premises component using the private key such that the cloud based service operated by the second party can verify the result was sent by the on-premises component behind the firewall of the enterprise operated by the third party.

15. The system of claim 14 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

based on the result of the validation being valid, establishing a secure connection between the client device and the on-premises component.

16. The system of claim 15 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

providing the client device, via the secure connection, access to an on-premises system operating behind the firewall of the enterprise.

17. The system of claim 16 , wherein communications between the on-premises component and the on-premises system are not encrypted.

18. The system of claim 14 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

subsequent to receiving the encrypted authentication information from the client device, opening a direct connection from the cloud based service to the on-premises component and providing the encrypted authentication information to the on-premises component via the direct connection.

19. The system of claim 14 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

configuring an interface running on the client device with the public key, wherein the interface encrypts the original authentication information using the public key before sending the encrypted authentication information to the cloud based service.

20. The system of claim 14 , wherein the on-premises component utilizes the original authentication information or the encrypted authentication information to access a third-party service not controlled by the enterprise.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Jun 27, 2025
From: GOLUB CAPITAL MARKETS LLC
To: SAILPOINT TECHNOLOGIES, INC.; SAILPOINT TECHNOLOGIES HOLDINGS, INC.
Reel/Frame 071776/0411 →
SECURITY INTEREST Recorded Aug 17, 2022
From: SAILPOINT TECHNOLOGIES, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 061202/0540 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 048581/0689 Recorded Aug 16, 2022
From: CITIBANK, N.A.
To: SAILPOINT TECHNOLOGIES, INC.
Reel/Frame 061200/0795 →
GRANT OF SECURITY INTEREST IN PATENTS Recorded Mar 13, 2019
From: SAILPOINT TECHNOLOGIES, INC.; SAILPOINT TECHNOLOGIES HOLDINGS, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 048581/0689 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2018
From: GOLDMAN SACHS BANK USA
To: SAILPOINT TECHNOLOGIES, INC.
Reel/Frame 047632/0011 →
CHANGE OF ADDRESS FOR ASSIGNEE Recorded Oct 11, 2018
From: GOLDMAN SACHS BANK USA
To: GOLDMAN SACHS BANK USA
Reel/Frame 047215/0114 →
RELEASE OF SECURITY INTEREST Recorded Aug 17, 2016
From: SILICON VALLEY BANK
To: SAILPOINT TECHNOLOGIES HOLDINGS, INC.; SAILPOINT TECHNOLOGIES, INC.
Reel/Frame 039467/0576 →
SECURITY INTEREST Recorded Aug 16, 2016
From: SAILPOINT TECHNOLOGIES, INC., AS GRANTOR
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 039458/0289 →
SECURITY INTEREST Recorded Sep 11, 2014
From: SAILPOINT TECHNOLOGIES, INC.
To: SILICON VALLEY BANK
Reel/Frame 033720/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2014
From: FORSTER, CRAIG ROBERT WILLIAM; GREFF, DANIEL THOMAS; CHOW, CRANDALL B.T.; GOLDENBURG, PHILLIP
To: SAILPOINT TECHNOLOGIES, INC.
Reel/Frame 033473/0465 →
Continuity (2)
Provisional Application 61842831 · Jul 3, 2013
Related Publication 20150012751A1 · Jan 8, 2015