SECURE MULTI-PRINCIPAL WEB BROWSER
First Claim
1. One or more computer-readable storage media storing instructions that when executed instruct a processor to perform acts comprising:
- executing a browser kernel in a hardware-isolated protection domain;
accessing a web page comprising elements such as a primary page and embedded secondary pages;
determining the origin of the elements;
instantiating a separate principal instance in a separate hardware-isolated protection domain for each distinct origin;
executing a browser runtime as a restricted operating system process within each separate principal instance to render the elements;
permitting communication between separate principal instances via the browser kernel; and
presenting the renderings from each of the separate principal instances together at a display to form the web page.
2 Assignments
0 Petitions
Accused Products
Abstract
A web browser operating system using a browser kernel places principals having different origins in separate principal instances, where each separate principal instance executes in a separate protection domain. Principal origin may be determined using the combination of protocol, domain name, and port. The browser kernel mediates communications between principal instances, and between the principal instances and the operating system. Within each principal instance, a browser runtime executes as a restricted operating system process (ROSP), while any plugins are executed as a separate ROSP. Renderings from each browser runtime are combined by the browser kernel for presentation to a user.
-
Citations
20 Claims
-
1. One or more computer-readable storage media storing instructions that when executed instruct a processor to perform acts comprising:
-
executing a browser kernel in a hardware-isolated protection domain; accessing a web page comprising elements such as a primary page and embedded secondary pages; determining the origin of the elements; instantiating a separate principal instance in a separate hardware-isolated protection domain for each distinct origin; executing a browser runtime as a restricted operating system process within each separate principal instance to render the elements; permitting communication between separate principal instances via the browser kernel; and presenting the renderings from each of the separate principal instances together at a display to form the web page. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of browsing multiple origin web pages, the method comprising:
-
executing a browser kernel; determining the origin of the elements on an access web page; instantiating a separate principal instance in a separate protection domain for each unique origin; executing a browser runtime within each separate principal instance to render each element; mediating communication between separate principal instances via the browser kernel; and presenting the renderings from each of the separate principal instances together at a display to form the web page. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system for securely browsing multiple origin web pages, the system comprising:
-
a processor; a memory coupled to the processor, the memory storing instructions that when executed instruct a processor to perform acts comprising; executing a browser operating system; parsing web pages of different origins in separate hardware-isolated protection domains; mediating communications between the separate hardware-isolated protection domains with the browser operating system; rendering web pages within the browser operating system; and a display coupled to the processor, and configured to display the rendered web pages. - View Dependent Claims (19, 20)
-
Specification