IP Library Granted Patent US 9,602,474
Granted Patent B2
US 9,602,474 · App. 14/607,593 · Granted Mar 21, 2017

Controlling mobile device access to secure data

Inventors: Gary Barton (Boca Raton, FL); Zhongmin Lang (Parkland, FL); Nitin Desai (Coral Springs, FL); James Robert Walker (Deerfield Beach, FL)
Assignee: Citrix Systems, Inc.
H04L63/0428G06F21/60G06F21/6218G06F21/88H04L67/10H04W12/06H04W12/08G06F2221/2143
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,602,474
App. No.
14/607,593
Granted
Mar 21, 2017
Kind
B2
Abstract

Various aspects of the disclosure relate to providing secure containers or data vaults for data of one or more managed applications. In some embodiments, each managed application may be assigned its own private data vault and/or may be assigned a shared data vault that is accessible to at least one other managed application. As the managed application executes, calls for access to the data may be intercepted and redirected to the secure containers. Data stored in a secure container may be encrypted according to a policy. Other aspects relate to deleting data from a secure container, such as via a selective wipe of data associated with a managed application. Further aspects relate to configuring and creating the secure containers, retrieving key information required to encrypt/decrypt the data stored in the secure containers, and publishing the managed applications, policy information and key information for download to a mobile device.

Claims (62)

1. A method, comprising:

receiving, by a mobile device via an access gateway, policy information that defines a management framework for executing a managed application of the mobile device; and

as part of a process that configures the mobile device such that the managed application is able to be executed in accordance with the management framework:

configuring, based on at least one first setting of the policy information, a private secure container, which is to be private to the managed application, such that a first type of read or write operation from the managed application is to be redirected to the private secure container;

configuring, based on at least one second setting of the policy information, a shared secure container, which is to be accessible by the managed application and at least one other managed application of the mobile device, such that a second type of read or write operation from the managed application is to be redirected to the shared secure container;

determining that legacy data, which is associated with an application of the mobile device that was executed not in accordance with the management framework, is to be configured for the managed application;

responsive to determining that the legacy data is to be configured for the managed application, encrypting the legacy data, resulting in encrypted legacy data;

storing a first set of the encrypted legacy data in the private secure container; and

storing a second set of the encrypted legacy data in the shared secure container.

2. The method of claim 1 , further comprising:

obtaining, via the access gateway, key information that includes one or more keys for encrypting or decrypting data of the private secure container or the shared secure container.

3. The method of claim 1 , wherein the at least one first setting instructs that the private secure container is to be configured on the mobile device such that the first type of read or write operation from the managed application is to be redirected to the private secure container; and

wherein the at least one second setting instructs that the shared secure container is to be configured on the mobile device such that the second type of read or write operation from the managed application is to be redirected to the private secure container.

4. The method of claim 1 , further comprising:

intercepting a read or write operation from the managed application while the managed application is executing on the mobile device, wherein the read or write operation comprises an application programming interface (API) call available via a file system of the mobile device, wherein the file system of the mobile device is different from both a file system of the private secure container and a file system of the shared secure container, and wherein the read or write operation indicates a type of data to be read or written;

determining, based on the policy information and the type of data to be read or written, whether to redirect the read or write operation to the shared secure container or the private secure container; and

based on the determining, redirecting the read or write operation to the private secure container or the shared secure container.

5. The method of claim 1 , wherein the private secure container and the shared secure container are each a logical interface into which data is read from and written to in an encrypted form.

6. The method of claim 1 , wherein the private secure container is accessible to only the managed application.

7. The method of claim 1 , wherein the shared secure container is accessible to only the managed application and the at least one other managed application, and wherein the policy information is assigned to the managed application and the at least one other managed application.

8. An apparatus, comprising:

at least one processor; and

memory storing executable instructions configured to, when executed by the at least one processor, cause the apparatus to:

receive, via an access gateway, policy information that defines a management framework for executing a managed application of the apparatus; and

as part of a process that configures the apparatus such that the managed application is able to be executed in accordance with the management framework:

configure, based on at least one first setting of the policy information, a private secure container, which is to be private to the managed application, such that a first type of read or write operation from the managed application is to be redirected to the private secure container;

configure, based on at least one second setting of the policy information, a shared secure container, which is to be accessible by the managed application and at least one other managed application of the apparatus, such that a second type of read or write operation from the managed application is to be redirected to the shared secure container;

determine that legacy data, which is associated with an application of the apparatus that was executed not in accordance with the management framework, is to be configured for the managed application;

responsive to determining that the legacy data is to be configured for the managed application, encrypt the legacy data, resulting in encrypted legacy data;

store a first set of the encrypted legacy data in the private secure container; and

store a second set of the encrypted legacy data in the shared secure container.

9. The apparatus of claim 8 , wherein the executable instructions, when executed by the at least one processor, cause the apparatus to:

obtain, via the access gateway, key information that includes one or more keys for encrypting or decrypting data of the private secure container or the shared secure container.

10. The apparatus of claim 8 , wherein the at least one first setting instructs that the private secure container is to be configured on the apparatus such that the first type of read or write operation from the managed application is to be redirected to the private secure container; and

wherein the at least one second setting instructs that the shared secure container is to be configured on the apparatus such that the second type of read or write operation from the managed application is to be redirected to the private secure container.

11. The apparatus of claim 8 , wherein the executable instructions, when executed by the at least one processor, cause the apparatus to:

intercept a read or write operation from the managed application while the managed application is executing on the apparatus, wherein the read or write operation comprises an application programming interface (API) call available via a file system of the apparatus, wherein the file system of the apparatus is different from both a file system of the private secure container and a file system of the shared secure container, and wherein the read or write operation indicates a type of data to be read or written;

determine, based on the policy information and the type of data to be read or written, whether to redirect the read or write operation to the shared secure container or the private secure container; and

based on the determining, redirect the read or write operation to the private secure container or the shared secure container.

12. The apparatus of claim 8 , wherein the private secure container and the shared secure container are each a logical interface into which data is read from and written to in an encrypted form.

13. The apparatus of claim 8 , wherein the private secure container is accessible to only the managed application; and

wherein the shared secure container is accessible to only the managed application and the at least one other managed application, wherein the policy information is assigned to the managed application and the at least one other managed application.

14. One or more non-transitory computer readable media storing executable instructions configured to, when executed, cause an apparatus to:

receive, via an access gateway, policy information that defines a management framework for executing a managed application of the apparatus; and

as part of a process that configures the apparatus such that the managed application is able to be executed in accordance with the management framework:

configure, based on at least one first setting of the policy information, a private secure container, which is to be private to the managed application, such that a first type of read or write operation from the managed application is to be redirected to the private secure container;

configure, based on at least one second setting of the policy information, a shared secure container, which is to be accessible by the managed application and at least one other managed application, such that a second type of read or write operation from the managed application is to be redirected to the shared secure container;

determine that legacy data, which is associated with an application of the apparatus that was executed not in accordance with the management framework, is to be configured for the managed application;

responsive to determining that the legacy data is to be configured for the managed application, encrypt the legacy data, resulting in encrypted legacy data;

store a first set of the encrypted legacy data in the private secure container; and

store a second set of the encrypted legacy data in the shared secure container.

15. The one or more non-transitory computer readable media of claim 14 , wherein the executable instructions, when executed, cause the apparatus to:

obtain, via the access gateway, key information that includes one or more keys for encrypting or decrypting data of the private secure container or the shared secure container.

16. The one or more non-transitory computer readable media of claim 14 , wherein the at least one first setting instructs that the private secure container is to be configured on the apparatus such that the first type of read or write operation from the managed application is to be redirected to the private secure container; and

wherein the at least one second setting instructs that the shared secure container is to be configured on the apparatus such that the second type of read or write operation from the managed application is to be redirected to the private secure container.

17. The one or more non-transitory computer readable media of claim 14 , wherein the executable instructions, when executed, cause the apparatus to:

intercept a read or write operation from the managed application while the managed application is executing on the apparatus, wherein the read or write operation comprises an application programming interface (API) call available via a file system of the apparatus, wherein the file system of the apparatus is different from both a file system of the private secure container and a file system of the shared secure container, and wherein the read or write operation indicates a type of data to be read or written;

determine, based on the policy information and the type of data to be read or written, whether to redirect the read or write operation to the shared secure container or the private secure container; and

based on the determining, redirect the read or write operation to the private secure container or the shared secure container.

18. The one or more non-transitory computer readable media of claim 14 , wherein the private secure container and the shared secure container are each a logical interface into which data is read from and written to in an encrypted form.

19. The one or more non-transitory computer readable media of claim 14 , wherein the private secure container is accessible to only the managed application.

20. The one or more non-transitory computer readable media of claim 14 , wherein the shared secure container is a shared data vault that is accessible to only the managed application and the at least one other managed application, and wherein the policy information is assigned to the managed application and the at least one other managed application.

Assignments (8)
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: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
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 →
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 Jun 7, 2016
From: BARTON, GARY; LANG, ZHONGMIN; DESAI, NITIN; WALKER, JAMES ROBERT
To: CITRIX SYSTEMS, INC.
Reel/Frame 038827/0719 →
Continuity (6)
Continuation 14041911 · Sep 30, 2013
Continuation 14039632 · Sep 27, 2013
Provisional Application 61861910 · Aug 2, 2013
Provisional Application 61806577 · Mar 29, 2013
Provisional Application 61714293 · Oct 16, 2012
Related Publication 20150143120A1 · May 21, 2015