Access control in a multi-principal browser
AssigneeMicrosoft Corporation
InventorsJiahe Helen Wang, Alexander Moshchuk
Life of this patent
Estimating the term…
Abstract
A principal operating system based-browser controls access to resources. The resources are represented semantically in a resource object model. A browser kernel of the browser mediates resources access calls from principals. In some implementations the principals are web entities and the resources are peripheral devices. The resource object model separates device semantics from physical device access. Resource access control policies are maintained by the browser kernel and separated from device access mechanisms.
Claims20
A method implemented on a computing device by a processor configured to execute instructions that, when executed by the processor, direct the computing device to perform acts comprising:
- receiving a system call from a web entity for access to a peripheral device with a capability;
- comparing, by the processor, the received system call to a semantic model of peripheral device capabilities to determine whether the capability is available in the semantic model, wherein the semantic model is a hierarchical model of resource capabilities with related resource capabilities grouped together;
- verifying, by a browser kernel running in a multi-principal operating system-based browser, that the web entity has authorization to access the peripheral device with the capability specified by the system call;
- correlating the semantic model specified by the system call with a physical device and a device driver for the physical device;
- and
- accessing the physical device by the device driver operating on a commodity operating system.
A system comprising:
- a processor;
- a resource coupled to the processor, wherein the resource comprises a device;
- and
- a memory coupled to the processor, the memory comprising:
- a multi-principal browser having a browser kernel comprising:
- an access control module configured to decide whether a system call from a web entity requesting access to the resource is permitted based at least in part on:
- a resource access control policy;
- and
- a resource object model providing semantic representations of resources, the model grouping related resources together;
- a system call implementation module configured to implement the system call when the access control module decides the system call is permitted and block the system call when the access control module decides the system call is prohibited;
- a device library module comprising an application programming interface for communicating with a commodity operating system;
- and
- the commodity operating system configured to provide the web entity access to the resource based on the system call.
One or more computer-readable storage devices having computer-readable instructions thereon which, when executed by a processor, cause a computing device comprising a multi-principal browser to perform acts comprising:
- modeling resources in a hierarchical resource object model tree, wherein the resources comprise at least one hardware device, comprising:
- leaf nodes providing semantic representations of resource capabilities that are independent of corresponding physical resources;
- intermediate nodes grouping the resource capabilities that are related together;
- and
- a root node grouping the resources available to the computer system;
- and
- in response to receiving a call from a principal, granting a resource capability represented by a granted node to the principal in accordance with a resource access control policy.
Dependencies are inferred from the claim text.