IP Library Granted Patent US 9,253,209
Granted Patent B2
US 9,253,209 · App. 13/456,843 · Granted Feb 2, 2016

Policy-based dynamic information flow control on mobile devices

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,253,209
App. No.
13/456,843
Granted
Feb 2, 2016
Kind
B2
Abstract

A system is provided for securing data on a mobile device that supports both enterprise and personal applications. According to the technique, information flows and data accesses are tracked on the device at run-time to enable access control decisions to be performed based on a policy, such as an enterprise privacy policy that has been distributed to the device from an enterprise server. The policy may be updated by events at the device as well as at the enterprise server.

Claims (36)

1. Apparatus associated with a mobile device that is configured to execute both enterprise applications and personal applications, comprising:

a processor;

computer memory holding computer program instructions executed by the processor to enforce an enterprise policy configured to prevent enterprise data from being leaked to a personal application running in the mobile device, the computer program instructions comprising:

program code to receive and store an enterprise policy defining a permitted run-time execution context when multiple applications execute concurrently on the mobile device;

program code responsive to an application seeking access to enterprise data stored in the mobile device to retrieve the enterprise policy, together with a list of applications currently running on the mobile device;

program code to determine, based at least in part on the retrieved list of applications currently running on the mobile device, whether the run-time execution context identified in the enterprise policy is satisfied;

program code to release to the application sensory data captured from a user input to the mobile device and to enable the application to access the enterprise data when the run-time execution context identified in the enterprise policy is satisfied.

2. The apparatus as described in claim 1 wherein the computer program instructions further include:

program code to receive and store a key; and

program code to use the key to encrypt the enterprise data.

3. The apparatus as described in claim 2 wherein the computer program instructions further include:

program code operative when the run-time execution context identified in the enterprise policy is satisfied to apply the key to decrypt the enterprise data; and

program code operative to provide the enterprise data to the application.

4. The apparatus as described in claim 1 wherein the computer program instructions further include program code to update the enterprise policy.

5. The apparatus as described in claim 4 wherein the enterprise policy is updated upon a trigger event at one of: the mobile device, and an enterprise server.

6. The apparatus as described in claim 4 wherein the program code to update includes program code to execute an integrity check at the mobile device prior to permitting update to the enterprise policy.

7. The apparatus as described in claim 1 wherein the enterprise policy also includes a static policy that defines an attribute that must be verified before permitting the application to access the enterprise data.

8. A computer program product in a non-transitory computer readable medium for use in a mobile device data processing system, the computer program product holding computer program instructions which, when executed by the data processing system, perform a method to enforce an enterprise policy on the mobile device, the mobile device configured to execute both enterprise applications and personal applications, the method comprising:

receiving and storing an enterprise policy configured to prevent enterprise data from being leaked to a personal application running in the mobile device, the enterprise policy defining a permitted run-time execution context when multiple applications execute concurrently on the mobile device;

responsive to an application seeking access to enterprise data stored in the mobile device, retrieving the enterprise policy, together with a list of applications currently running on the mobile device;

determining, based at least in part on the retrieved list of applications currently running on the mobile device, whether the run-time execution context identified in the enterprise policy is satisfied;

when the run-time execution context identified in the enterprise policy is satisfied, releasing to the application sensory data captured from a user input to the mobile device and enabling the application to access the enterprise data.

9. The computer program product as described in claim 8 wherein the method further includes:

receiving and storing a key; and

using the key to encrypt the enterprise data.

10. The computer program product as described in claim 9 wherein the method further includes:

when the run-time execution context identified in the enterprise policy is satisfied, applying the key to decrypt the enterprise data; and

providing the enterprise data to the application.

11. The computer program product as described in claim 8 wherein the method further includes updating the enterprise policy.

12. The computer program product as described in claim 11 wherein the enterprise policy is updated upon a trigger event at one of: the mobile device, and an enterprise server.

13. The computer program product as described in claim 11 wherein the updating step includes executing an integrity check at the mobile device prior to permitting update to the enterprise policy.

14. The computer program product as described in claim 8 wherein the enterprise policy also includes a static policy that defines an attribute that must be verified before permitting the application to access the enterprise data.

15. A mobile device, comprising:

a hardware processor;

one or more data stores in which are stored: an enterprise security policy, an enterprise application, and a personal application, the enterprise security policy configured to prevent enterprise data from being leaked to the personal application running in the mobile device, the enterprise security policy defining a permitted run-time execution context when multiple applications execute concurrently on the mobile device; and

a trusted platform module executed by the hardware processor to provide run-time enforcement of the enterprise policy to restrict use of enterprise data except by the enterprise application, the run-time enforcement based at least in part on a comparison of the multiple applications defined in the enterprise security policy with a list of applications then determined to be currently running on the mobile device, the trusted platform module releasing to the enterprise application sensory data captured from a user input to the mobile device and enabling access to the enterprise data according to the enforcement policy in association with the run-time enforcement as determined by the comparison.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2025
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: WORKDAY, INC.
Reel/Frame 073051/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2012
From: MUPPIDI, SRIDHAR R.; KODESWARAN, PALANIVEL ANDIAPPAN; MUKHERJEA, SOUGATA; NANDAKUMAR, VIKRANT; KAPOOR, SHALINI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028116/0128 →