Browser Security via Cross-Domain Cookie Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a browser-based environment, security and privacy are compromised when multiple applications share the same host domain, allowing access to cookies set by one application by other applications on the same domain, which is undesirable for applications supported by separate entities.

Innovation Solution

A browser application loads and communicates with other applications on separate domains using cookies, ensuring that each application can only access and set cookies within its own domain, thereby isolating cookie access and enhancing security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple applications are hosted on the same host domain to enable mash-up functionality, then application integration and user convenience are improved, but security and privacy are compromised because applications can access each other's cookies

Engineering Contradiction:
Improveapplication integrationVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the host domain into multiple isolated application domains. Each application runs on a separate domain (e.g., app1.example.com, app2.example.com) while being embedded within the same host application. This segmentation prevents applications from accessing each other's cookies and data, as cookies are domain-specific and cannot be read by applications on different domains, thus maintaining security while enabling integration.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If applications share the same host domain for easier communication, then ease of operation is improved, but loss of information increases due to unauthorized cookie access

Engineering Contradiction:
Improvecommunication easeVSAvoidcookie privacy
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The system introduces an intermediary mechanism through the host application's embedding framework. Applications on separate domains communicate through controlled interfaces provided by the host application rather than directly accessing each other's data. This intermediary approach maintains communication ease while preventing unauthorized cookie access, as the framework mediates all interactions between embedded applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If applications are loaded on separate domains to enhance security, then security is improved, but device complexity increases due to multi-domain configuration

Engineering Contradiction:
ImprovesecurityVSAvoiddomain configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The host application implements a universal embedding framework that can load and manage multiple applications on separate domains through a standardized interface. This multi-functional framework handles domain configuration, cookie management, and inter-application communication uniformly across all embedded applications, reducing the perceived complexity for individual applications while maintaining security through domain separation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8543638B2Security system for a browser-based environment
Publication Date: 2013.09.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8543638B2 patent drawing
  • US8543638B2 patent drawing
  • US8543638B2 patent drawing

AI summary

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.