IP Library Granted Patent US 8,812,868
Granted Patent B2
US 8,812,868 · App. 13/309,387 · Granted Aug 19, 2014

Secure execution of unsecured apps on a device

Inventors: James Blaisdell (Novato, CA); Jean-Max Vally (San Francisco, CA)
Assignee: Mocana Corporation
G06F21/52H04W12/12G06F2221/2115
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,812,868
App. No.
13/309,387
Granted
Aug 19, 2014
Kind
B2
Abstract

Given the volume of apps being developed and downloaded, performing operations to enable security for mobile devices, such as locating relevant classes and substituting different classes, can become very inefficient when done to a very high number of apps. In the invention, a device is enabled with an app security enforcement layer. The consumer can download unsecured apps and have the app execute on the phone in a secure manner, where potential data loss to the device, such as a smart phone or tablet, is minimized. To make the security wrapping process more efficient, an app template containing markers is created. This template is merged with data in an active user policy or is used to randomize or obfuscate the code to add more security. The process of security wrapping an app becomes more efficient.

Claims (32)

1. A method of securing an app for execution on a device using a security program, the method comprising:

obtaining core object code of the app, wherein a digital signature is removed from the app and said core object code of the app is stored in a data storage component;

generating Java class files for an app security program, said generating dictated by a plurality of app security policies and wherein said generating is performed by a processor;

replacing Java class files for the app with the Java class files for the app security program, wherein the Java class files for the app that are being replaced function as a proxy between the app and a device operating system and wherein a security-wrapped app is created and wherein said replacing is performed by the processor;

creating an app template;

preparing the security-wrapped app for execution on the device, said preparing performed by the processor;

modifying the app template; and

re-signing the security-wrapped app with a new key,

wherein a user policy to control and secure access to data is implemented on the device.

2. A method as recited in claim 1 wherein the template has markers which are merged with content from a user policy.

3. A method as recited in claim 2 wherein modifying the app template further comprises using an active policy.

4. A method as recited in claim 1 wherein modifying the app template further comprises obfuscating the app object code to add randomness.

5. A method as recited in claim 1 wherein modifying the app template further comprises personalizing the app object code using an active user policy.

6. A method as recited in claim 1 further comprising decompiling the app using the security program thereby obtaining executable code.

7. A method as recited in claim 1 further comprising disassembling the app using the security program, thereby obtaining executable code.

8. A method as recited in claim 1 further comprising:

applying a security program to the app.

9. A method as recited in claim 1 wherein said obtaining core object code and substituting app object code is done before the app interacts with an operating system of the device.

10. A method as recited in claim 1 further comprising making a copy of the app.

11. A method as recited in claim 10 further comprising:

deleting an original app from the device.

12. A method as recited in claim 10 further comprising:

reverting to an original app if a malfunction occurs while securing the app on the device.

13. A method as recited in claim 1 further comprising:

applying security program object code to operating system object code, wherein the security program object code is derived from policies.

14. A method as recited in claim 1 further comprising:

changing an icon representing the app on a display of the device to show that the app is secured.

15. A method as recited in claim 1 further comprising:

wrapping the app with a security layer before downloading the app.

16. A method as recited in claim 1 wherein the security-wrapped app implements an app policy.

17. A method as recited in claim 1 wherein the app policy includes one or more of limiting app execution time on the device, limiting the total number of apps on the device; and

limiting where the app may execute.

Assignments (3)
SECURITY INTEREST Recorded Jul 30, 2019
From: BLUE CEDAR NETWORKS, INC.
To: KREOS CAPITAL VI (UK) LIMITED
Reel/Frame 049909/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2016
From: MOCANA CORPORATION
To: BLUE CEDAR NETWORKS, INC.
Reel/Frame 039744/0142 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2012
From: BLAISDELL, JAMES; VALLY, JEAN-MAX
To: MOCANA CORPORATION
Reel/Frame 027472/0632 →
Continuity (2)
Continuation In Part 13052973 · Mar 21, 2011
Related Publication 20120246484A1 · Sep 27, 2012