IP Library Granted Patent US 8,973,158
Granted Patent B2
US 8,973,158 · App. 13/186,474 · Granted Mar 3, 2015

Trust level activation

Inventors: Saji Abraham (Kirkland, WA); Hart Wilson (Auburn, WA); Tassaduq Basu (Redmond, WA); Sermet Iskin (Bellevue, WA); Liang Zhao (Bothell, WA)
Assignee: Microsoft Technology Licensing LLC
G06F21/53
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,973,158
App. No.
13/186,474
Granted
Mar 3, 2015
Kind
B2
Abstract

An isolation execution environment provides an application with limited resources to execute an application. The application may require access to secured resources associated with a particular trust level that are outside of the isolation execution environment. A trust activation engine determines the trust level associated with a request for a resource and operates differently based on the trust level. A broker process may be used to execute components providing access to resources having a partial trust level in an execution environment that is separate from the isolation execution environment.

Claims (49)

1. A computer-implemented method, comprising:

associating one of a plurality of trust levels with a component, the component including executable instructions that access a resource controlled by an operating system, the trust level associates a security level with the resource;

associating a privilege level with an application, the privilege level associates a security level with the application, the trust level of the component separate from the privilege level of the application;

executing the application in an isolation execution environment when the privilege level of the application is a first level;

requesting, by the application, activation of the component; and

based on the trust level of the component and the privilege level of the application, executing the component requested by the application in a broker process, the broker process accesses the resource in an execution environment that is separate from the isolation execution environment.

2. The computer-implemented method of claim 1 , wherein the application is associated with a low privilege level.

3. The computer-implemented method of claim 1 , wherein the component requested by the application is associated with a partial trust level.

4. The computer-implemented method of claim 1 , further comprising:

executing the component requested by the application in the isolation execution environment when the component requested by the application has a base trust level.

5. The computer-implemented method of claim 1 , further comprising:

denying access to the component requested by the application when the requested component has a full trust level.

6. The computer-implemented method of claim 1 , further comprising:

generating an API object associated with the component requested by the application when the component requested by the application is associated with a partial trust level; and

activating the API object within the broker process.

7. The computer-implemented method of claim 1 , further comprising:

generating an API object associated with the component requested by the application when the component requested by the application is associated with a base trust level; and

activating the API object within the isolation execution environment.

8. A computer-readable storage device storing thereon processor-executable instructions that when executed perform actions, comprising:

creating an isolation execution environment that executes an application, the application associated with a privilege level;

requesting activation of a component by the application, the component including executable instructions used to access a resource controlled by an operating system, the component associated with a trust level, the trust level of the component separate from the privilege level of the application; and

based on the trust level of the component and the privilege level of the application;

creating a broker process to execute the component requested by the application; and

executing the component requested by the application in the broker process, the broker process operates in an execution environment separate from the isolation execution environment.

9. The computer-readable storage device of claim 8 , further comprising:

recognizing a plurality of trust levels associated with a component.

10. The computer-readable storage device of claim 8 , further comprising:

executing the component requested by the application in the isolation execution environment when the component requested by the application is associated with a base trust level.

11. The computer-readable storage device of claim 8 , further comprising:

denying execution of the component requested by the application in the isolation execution environment when the component requested by the application is associated with a full trust level.

12. The computer-readable storage device of claim 8 , further comprising:

generating an API object associated with the component requested by the application which is executed in the broker process when the component requested by the application is associated with a partial trust level.

13. The computer-readable storage device of claim 8 , further comprising:

generating an API object associated with the component requested by the application which is executed in the isolation execution environment when the component requested by the application is associated with a base trust level.

14. The computer-readable storage device of claim 8 , further comprising:

creating an execution environment that executes a high privilege application; and

executing a component requested by the high privilege application in the execution environment.

15. An apparatus, comprising:

a processor; and

a memory, coupled to the processor, the memory having a trust activation module, the trust activation module containing instructions that when executed on the processor determines whether an application, associated with a select privilege level, may access a component having a select trust level, the application executing in an isolation execution environment separate from the trust activation module, the component including executable instructions used to access a resource controlled by an operating system, the trust activation module configures a broker process to execute the component based on the trust level of the component and the privilege level of the application in an execution environment separate from the isolation execution environment, the trust level of the component separate from the privilege level of the application.

16. The apparatus of claim 15 , further comprising:

the trust activation module containing instructions that when executed on the processor prohibits a low privilege application from executing the component when the component has a full trust level.

17. The apparatus of claim 15 , further comprising:

the trust activation module containing instructions that when executed on the processor enables a high privilege application to execute any trust level component.

18. The apparatus of claim 15 , further comprising:

the trust activation module containing instructions that when executed on the processor provides a low privilege application with executable code configured to execute in the isolation execution environment when the component has a base trust level.

19. The apparatus of claim 15 , further comprising:

the trust activation module containing instructions that when executed on the processor denies execution of a component requested by the application in the isolation execution environment when the component requested by the application is associated with a full trust level.

20. The apparatus of claim 15 , wherein the component is associated with an API object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2011
From: ABRAHAM, SAJI; WILSON, HART; BASU, TASSADUQ; ISKIN, SERMET; ZHAO, LIANG
To: MICROSOFT CORPORATION
Reel/Frame 026625/0668 →
Continuity (1)
Related Publication 20130024929A1 · Jan 24, 2013