WWW 2007 / Track: Security, Privacy, Reliability, and Ethics Session: Defending Against Emerging Threats Subspace: Secure Cross-Domain Communication for Web Mashups Collin Jackson Stanford University Helen J. Wang Microsoft Research collinj@cs.stanford.edu helenw@microsoft.com ABSTRACT Combining data and code from third-party sources has enabled a new wave of web mashups that add creativity and functionality to web applications. However, browsers are poorly designed to pass data between domains, often forcing web developers to abandon security in the name of functionality. To address this deficiency, we developed Subspace, a cross-domain communication mechanism that allows efficient communication across domains without sacrificing security. Our prototype requires only a small JavaScript library, and works across all ma jor browsers. We believe Subspace can serve as a new secure communication primitive for web mashups. Categories and Subject Descriptors K.6.5 [Management of Computing and Information Systems]: Security and Protection--Unauthorized Access Figure 1: Example warning message from Go ogle p ersonalized homepage. This third-party "to do" list gadget requires inlining so that it can request additional height from its parent as more items are added to the list. Unfortunately, inlining also allows the gadget author to access the user's Go ogle account. General Terms Design, Security, Performance Keywords access control, trust, web services, same origin policy 1. INTRODUCTION A mashup is a website or web application that seamlessly combines content from more than one source into an integrated experience. Recently these websites have been on the rise. For example, www.housingmaps.com combines Google Maps data with Craigslist's housing data and presents an integrated view of the prices of the houses at various locations on the Google map. Gadget aggregators, such as Microsoft Windows Live and Google Personalized Homepage, aggregate third-party JavaScript code, the gadgets, into one page to provide a desirable, single-stop information presentation to their users. Because mashups bring together content from multiple sources, they must somehow circumvent the traditional sameorigin web security model to obtain third-party data. Often web developers are forced to chose between security and functionality. Current practices include giving uncontrolled cross domain execution through the use of