IP Library Granted Patent US 8,997,197
Granted Patent B2
US 8,997,197 · App. 13/712,333 · Granted Mar 31, 2015

Encryption-based data access management

Inventors: Joseph Nord (Lighthouse Point, FL); Benjamin Elliot Tucker (Parkland, FL); Timothy Gaylor (Plantation, FL)
Assignee: Citrix Systems, Inc.
G06F17/30G06F21/602G06F21/6218H04L63/064H04L63/0807G06F9/00H04L9/12H04L63/105H04L9/0869
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,997,197
App. No.
13/712,333
Filed
Dec 12, 2012
Granted
Mar 31, 2015
Kind
B2
Art Unit
2495
USPC
713/171
Abstract

Encryption-based data access management may include a variety of processes. In one example, a device may transmit a user authentication request for decrypting encrypted data to a data storage server storing the encrypted data. The computing device may then receive a validation token associated with the user's authentication request, the validation token indicating that the user is authenticated to a domain. Subsequently, the computing device may transmit the validation token to a first key server different from the data storage server. Then, in response to transmitting the validation token the computing device may receive, from the first key server, a key required for decrypting the encrypted data. The device may then decrypt at least a portion of the encrypted data using the key.

Claims (62)

1. A method comprising:

receiving, by a data storage server storing encrypted data, a user authentication request for decrypting the encrypted data from a client device;

transmitting, by the data storage server, a validation token associated with the user authentication request to the client device, wherein the validation token indicates that the client device successfully authenticated;

receiving, by the data storage server, a confirmation request associated with the validation token from a second device that is different from the client device; and

transmitting, by the data storage server, a confirmation to the second device indicating that the client device is authenticated to the data storage server.

2. The method of claim 1 , further comprising, prior to transmitting the validation token:

authenticating the client device to a domain; and

determining, based on a domain group membership of the client device, data accessible to the client device,

wherein a domain group comprises a plurality of domain group memberships respectively associated with a plurality of client devices.

3. The method of claim 1 , wherein the second device comprises a first key server, and the confirmation request is sent by the first key server in response to receiving the validation token from a computing device, the first key server configured to store at least a portion of a decryption key for decrypting the encrypted data.

4. The method of claim 3 , further comprising:

receiving, by the data storage server, from a second key server, a second confirmation request associated with the validation token; and

transmitting, by the data storage server, to a second key server, a second confirmation indicating that the client device is authenticated to the data storage server.

5. The method of claim 3 , wherein one or more of the first key server and a second key server transmits a kill pill to the computing device, the kill pill including instructions to delete one or more of the key and the encrypted data.

6. The method of claim 1 , wherein the confirmation is associated with a key required for decrypting the encrypted data.

7. The method of claim 5 , wherein the kill pill is authorized by a key-server administrator.

8. The method of claim 3 , comprising:

receiving, by the client device, from the first key server, a first key required for decrypting the encrypted data;

receiving, by the client device, from a second key server, a second key required for decrypting the encrypted data; and

using the first key and the second key to generate a decryption key that is used for decrypting the encrypted data.

9. A data storage server comprising:

at least one processor; and

non-transitory memory storing executable instructions configured to, when executed by the at least one processor, cause the data storage server to:

receive, from a client device, a user authentication request for decrypting encrypted data;

transmit, to the client device, a validation token associated with the user authentication request, the validation token indicating that the client device successfully authenticated;

receive, from a second device that is different than the client device, a confirmation request associated with the validation token; and

transmit, to the second device, a confirmation indicating that the client device is authenticated.

10. The data storage server of claim 9 , wherein the non-transitory memory stores executable instructions configured to, when executed by the at least one processor, cause the data storage server to:

authenticate the client device to a domain; and

determine, based on membership of the client device in a domain group of the domain, data accessible to the client device,

wherein the domain group comprises a plurality of memberships respectively associated with a plurality of client devices.

11. The data storage server of claim 9 , wherein the second device comprises a first key server, and the first key server sends the confirmation request in response to receiving the validation token from a computing device, the first key server configured to store at least a portion of a decryption key for decrypting the encrypted data.

12. The data storage server of claim 11 , wherein the non-transitory memory stores executable instructions configured to, when executed by the at least one processor, cause the data storage server to:

receive, from a second key server, a request for a second confirmation associated with the validation token; and

transmit, to a second key server, a second confirmation indicating that the client device is authenticated.

13. The data storage server of claim 11 , wherein one or more of the first key server and a second key server transmits a kill pill to the computing device, the kill pill comprising instructions to the computing device to delete one or more of the key and the encrypted data.

14. The data storage server of claim 9 , wherein the confirmation is associated with a key required for decrypting the encrypted data.

15. One or more non-transitory computer-readable media storing computer-readable instructions that, when executed by at least one processor, cause one or more data storage servers to:

receive, from a client device, a user authentication request for decrypting encrypted data;

transmit, to the client device, a validation token associated with the user authentication request, the validation token indicating that the client device successfully authenticated;

receive, from a second device that is different than the client device, a confirmation request associated with the validation token; and

transmit, to the second device, a confirmation indicating that the client device is authenticated.

16. The one or more non-transitory computer-readable media of claim 15 , storing computer-readable instructions that, when executed by the at least one processor, cause the one or more data storage servers to:

authenticate the client device to a domain; and

determine, based on membership of the client device in a domain group of the domain, data accessible to the client device,

wherein the domain group comprises a plurality of memberships respectively associated with a plurality of client devices.

17. The one or more non-transitory computer-readable media of claim 15 , wherein the second device comprises a first key server, and the first key server sends the confirmation request in response to receiving the validation token from a computing device, the first key server configured to store at least a portion of a decryption key for decrypting the encrypted data.

18. The one or more non-transitory computer-readable media of claim 17 , storing computer-readable instructions that, when executed by the at least one processor, cause the one or more data storage servers to:

receive, from a second key server, a request for a second confirmation associated with the validation token; and

transmit, to a second key server, a second confirmation indicating that the client device is authenticated.

19. The one or more non-transitory computer-readable media of claim 17 , wherein one or more of the first key server and a second key server transmits a kill pill to the computing device, the kill pill comprising instructions to the computing device to delete one or more of the key and the encrypted data.

20. The one or more non-transitory computer-readable media of claim 15 , wherein the confirmation is associated with a key required for decrypting the encrypted data.

21. The one or more non-transitory computer-readable media of claim 19 , wherein the kill pill is authorized by a key-server administrator.

22. The one or more non-transitory computer-readable media of claim 17 , storing computer-readable instructions that, when executed by the at least one processor, cause the one or more data storage servers to:

receive, by the client device, from the first key server, a first key required for decrypting the encrypted data;

receive, by the client device, from a second key server, a second key required for decrypting the encrypted data; and

use the first key and the second key to generate a decryption key that is used for decrypting the encrypted data.

23. The data storage server of claim 13 , wherein the kill pill is authorized by a key-server administrator.

24. The data storage server of claim 11 , wherein the non-transitory memory stores executable instructions configured to, when executed by the at least one processor, cause the data storage server to:

receive, by the client device, from the first key server, a first key required for decrypting the encrypted data;

receive, by the client device, from a second key server, a second key required for decrypting the encrypted data; and

use the first key and the second key to generate a decryption key that is used for decrypting the encrypted data.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2013
From: NORD, JOSEPH; TUCKER, BENJAMIN ELLIOT; GAYLOR, TIMOTHY
To: CITRIX SYSTEMS, INC.
Reel/Frame 031366/0207 →
Continuity (1)
Related Publication 20140164774A1 · Jun 12, 2014