# US 8,543,638 B2 · Security system for a browser-based environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,638 B2
- Document ID: US8543638B2
- Status: Granted
- Kind: B2
- Application number: 11/903,598
- Filed: 2007-09-24
- Published: 2009-03-26
- Granted: 2013-09-24
- Earliest claimed: 2007-09-24
- Assignees: Microsoft Corporation
- Applicants: Adam D. Nathan; Andrew Sterland; Michael J. Leonard; Timothy Rice; John I. Montgomery
- Inventors: Adam D. Nathan; Andrew Sterland; Michael J. Leonard; Timothy Rice; John I. Montgomery
- Web page: https://patentgrep.com/patent/US8543638B2

## CPC

- H04L 63/0407: {wherein the identity of one or more communicating identities is hidden (cryptographic mechanisms or cryptographic arrangements for anonymous credentials or for identity based cryptographic systems H04L9/00)}
- G06F 21/53: by executing in a restricted environment, e.g. sandbox or secure virtual machine
- G06F 21/6263: {during internet communication, e.g. revealing personal data from cookies}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various technologies and techniques are disclosed for enhancing security in a browser-based environment. A first browser application hosts one or more other applications. The first browser application is operable to load the one or more other applications on one or more separate domains than a host domain, using one or more cookies as a communication method between the first browser application and the one or more other applications. Input is received from a user to access a first browser application on a first domain. A selection is received from the user to run a second browser application from within the first browser application. A first cookie is created in a second domain, with the first cookie containing information to be used by the second browser application. The second browser application is loaded on the second domain. For example, the first browser application can be a browser-based software development application.

## Claims

### Claim 1

A system, the system comprising:
a processor;
system memory; and
one or more computer storage devices having stored thereon a computer-executable instructions representing a security system for a browser-based environment, the security system including a first browser application configured to:
host one or more other applications;
load the one or more other applications on one or more separate domains other than a host domain; and
use one or more cookies as a two-way communication method between the first browser application and the one or more other applications.

### Claim 2 (depends on 1)

The system of claim 1, wherein the first browser application is a software development application.

### Claim 3 (depends on 2)

The system of claim 2, wherein the one or more other applications are browser applications that were developed by one or more users of the software development application.

### Claim 4 (depends on 1)

The system of claim 1, wherein the host domain is a secure domain and the one or more separate domains are anonymous domains.

### Claim 5 (depends on 1)

The system of claim 1, wherein the one or more cookies are used to ensure the communication method between the first browser and the one or more other applications is secure.

### Claim 6 (depends on 1)

The system of claim 1, wherein the first browser application sets a first cookie on the one or more other applications by loading a page on the one or more separate domains of the one or more other applications.

### Claim 7 (depends on 6)

The system of claim 6, wherein the first browser application accesses a second cookie on the host domain to determine a result of the one or more other applications.

### Claim 8 (depends on 7)

The system of claim 7, wherein a creation of the second cookie was initiated by the one or more other applications upon completion of an operation.

### Claim 9

A computer program product for use at a computer system, the computer program product for implementing a method for enhancing security in a browser-based development environment, the computer program product comprising one or more computer-readable storage devices having stored thereon computer-executable instructions, that when executed at a processor, cause the computer system to perform the method including the following:
receiving input from a user to access a first browser application on a first domain;
receiving a selection from the user to run a second browser application from within the first browser application;
while operating within the first browser application on the first domain, creating a first cookie in a second domain, the first cookie containing information to be used by the second browser application;
loading the second browser application on the second domain; and
while operating within the second browser application on the second domain, creating a second cookie in said first domain, said second cookie containing information to be used by the first browser application.

### Claim 10 (depends on 9)

The computer program product of claim 9, further comprising computer-executable instructions that, when executed, cause the computer system to perform the following:
accessing a second cookie in the first domain to determine a result of an operation performed by the second browser application.

### Claim 11 (depends on 10)

The computer program product of claim 10, wherein the second cookie is created on the first domain by a creation operation initiated from the second browser application on the second domain.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the creation operation is initiated from the second browser application when the second browser application loads a page of the first browser application.

### Claim 13 (depends on 9)

The computer program product of claim 9, wherein the first cookie is created on the second domain when the first browser application loads a page of the second browser application.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein the first browser application is a software development application.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein the software development application supports multiple users.

### Claim 16 (depends on 9)

The computer program product of claim 9, wherein a session identifier is included in the first cookie so the second browser application can read a correct version of the information.

### Claim 17

A method for enhancing security in a browser-based development environment comprising:
receiving input from a first user to create an application using a browser-based development environment, the browser-based development environment executing on a host domain and with a first computer;
receiving input from the first user to share the application to a second user;
receiving input from the second user to log in to the browser-based development environment;
receiving input from the second user to browse to the application created by the first user;
setting a first cookie on a second computer of the second user with information for loading the application created by the first user; and
loading the application on a separate domain from the host domain of the browser-based development environment using the information for loading the application.

### Claim 18 (depends on 17)

The method of claim 17, wherein upon receiving input from the second user to log in, a private login credential is set in the first cookie on the computer of the second user.

### Claim 19 (depends on 17)

The method of claim 17, further comprising:
accessing a second cookie on the host domain, the second cookie containing results from the application.
