IP Library › Granted Patent US 9,773,107
Granted Patent B2
US 9,773,107 · App. 14/210,382 · Granted Sep 26, 2017

Systems and methods for enforcing security in mobile computing

Inventors: Christopher Jules White (Nashville, TN); Brian Dougherty (Nashville, TN); David Alexander Hamrick (Nashville, TN); Grayson Gates Sharpe (Louisville, KY); Robert Austin Hanlin (Nashville, TN); Krzysztof Kamil Zienkiewicz (Nashville, TN); Christopher Michael Thompson (Nashville, TN); Thomas Charles Clancy, III (Washington, DC)
Assignee: OPTIO LABS, INC.
G06F21/53G06F21/577H04L63/0227H04L63/20
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,773,107
App. No.
14/210,382
Granted
Sep 26, 2017
Kind
B2
Abstract

Methods and systems described herein relate to enhancing security on a device by configuring one or more software functions in a trusted zone of a processor using object firewalls, IPC mechanisms, and/or a policy engine. An inter-process communication mechanism and inter-process communication bus enable secure inter-process communication between inter-process communication applications within the trusted zone and inter-process communication applications external to the trusted zone. Adapting, filtering, blocking, redirecting, or otherwise modifying inter-process communications is enabled by the inter-process communications mechanism. Modifications may be controlled by a policy engine within the trusted zone.

Claims (36)

1. A method of securing inter-process communications in a device, comprising:

operating an inter-process communications mechanism within a trusted code zone of the device, wherein operating within the trusted code zone of the device cryptographically guarantees the code within the trusted code zone has not been tampered with and thereby ensures that inter-process communications are not tampered with within the inter-process communications mechanism;

extending an inter-process communications bus from outside the trusted code zone into the trusted code zone of the device, within which code is cryptographically guaranteed not to have been tampered with;

performing inter-process communications on the inter-process communications bus between services on the device and user-space applications not within the trusted code zone of the device; and

adapting the inter-process communications between services on the device and user-space applications using the inter-process communications mechanism within the trusted code zone of the device.

2. The method of claim 1 , wherein the inter-process communications adapted using the inter-process communications mechanism are filtered according to a policy determined by a policy engine.

3. The method of claim 1 , wherein the inter-process communications are blocked using the inter-process communications mechanism according to a policy determined by a policy engine.

4. The method of claim 2 , wherein the policy engine is within the trusted code zone of the device.

5. The method of claim 1 , wherein the service on the device is a user input service.

6. The method of claim 1 , wherein the inter-process communications include financial information.

7. The method of claim 1 , further comprising redirecting requests for inter-process communication with the user-space application not within the trusted code zone to a trusted version of the user-space application within the trusted code zone.

8. A device with secure inter-process communications, comprising:

a memory storing program instructions;

a processor connected to the memory, wherein the processor is configured

according to the program instructions to execute:

a trusted code zone of the device, wherein code operating within the trusted code zone of the device is cryptographically guaranteed not to have been tampered with;

an inter-process communications mechanism within the trusted code zone, wherein operation within the trusted code zone ensures that inter-process communications are not tampered with within the inter-process communications mechanism;

an inter-process communications bus extending from outside the trusted code zone into the trusted code zone, wherein the inter-process communications bus allows inter-process communications between objects supporting inter-process communication located within the trusted code zone and objects supporting inter-process communication not located within the trusted code zone, within which code is cryptographically guaranteed not to have been tampered with;

services on the device located within the trusted code zone of the device; and user-space applications on the device not located within the trusted code zone, wherein inter-process communications between the services on the device and the user-space applications on the device are adapted by the inter-process communications mechanism.

9. The device of claim 8 , wherein the inter-process communications adapted using the inter-process communications mechanism are filtered according to a policy determined by a policy engine.

10. The device of claim 8 , wherein the inter-process communications adapted using the inter-process communications mechanism are blocked according to a policy determined by a policy engine.

11. The device of claim 10 , wherein the policy engine is within the trusted code zone of the device.

12. The device of claim 8 , wherein the service on the device is a user input service.

13. The device of claim 12 , wherein the user input service is a touch-screen input service for a touch-screen of the device.

14. The device of claim 8 , wherein the inter-process communications mechanism is configured to redirect requests for inter-process communication with the user-space application not within the trusted code zone to a trusted version of the user-space application within the trusted code zone.

15. A non-transitory computer readable medium comprising:

instructions executable by one or more processors to cause the one or more processors to:

operate an inter-process communications mechanism within a trusted code zone of the device, wherein operating within the trusted code zone of the device cryptographically guarantees the code within the trusted code zone has not been tampered with and thereby ensures that inter-process communications are not tampered with within the inter-process communications mechanism;

extend an inter-process communications bus from outside the trusted code zone into the trusted code zone of the device, within which code is cryptographically guaranteed not to have been tampered with;

perform inter-process communications on the inter-process communications bus between services on the device and user-space applications not within the trusted code zone of the device; and

adapt the inter-process communications between services on the device and user-space applications using the inter-process communications mechanism within the trusted code zone of the device.

16. The medium of claim 15 , wherein a policy engine is located within the trusted code zone of the device.

17. The medium of claim 16 , wherein the policy engine controls the adaptation of the inter-process communications.

18. The medium of claim 15 , wherein the service on the device is a user input service.

19. The medium of claim 18 , wherein the user input service is a touch-screen user input service.

20. The medium of claim 15 , wherein the instructions are further executable to cause the one or more processors to redirect requests for inter-process communication with the user-space application not within the trusted code zone to a trusted version of the user-space application within the trusted code zone.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2014
From: WHITE, CHRISTOPHER JULES; DOUGHERTY, BRIAN; HAMRICK, DAVID ALEXANDER; SHARPE, GRAYSON GATES; HANLIN, ROBERT AUSTIN; ZIENKIEWICZ, KRZYSZTOF KAMIL; THOMPSON, CHRISTOPHER MICHAEL; CLANCY, THOMAS CHARLES, III
To: OPTIO LABS, INC.
Reel/Frame 033270/0474 →
Continuity (7)
Continuation In Part 13735885 · Jan 7, 2013
Provisional Application 61780408 · Mar 13, 2013
Provisional Application 61781252 · Mar 14, 2013
Provisional Application 61785109 · Mar 14, 2013
Provisional Application 61779931 · Mar 13, 2013
Provisional Application 61790728 · Mar 15, 2013
Related Publication 20140201807A1 · Jul 17, 2014