Current Projects

Privacy Aware Collaborative Editing Framework (PACEF)

There are many collaborative editing systems that allow multiple authors to simultaneously edit a common document in a WYGIWYG manner. Many of such systems deploy a centralized server to store the shared document and assume that the server is fully trusted. In this study, we are interested in the collaborative setting where the confidentiality of the document is to be protected from the untrusted server, whereas the authors trust each other. We propose PACEF (Privacy Aware Collaborative Editing Framework), a framework for designing and implementing collaborative editing systems that protect privacy and confidentiality of users data. In this model, the shared document is replicated across the users to facilitate local modifications. Client applications send users’ updates to the server in the form of operations. Since the server is not trusted, client applications protect (ex. encrypt) all operations before sending them to the server. The server then saves the protected operations before forwarding them to all collaborators.

Privacy Management in Untrusted Web and Cloud Data Services

This project focuses primary on privacy management of users data in web and cloud data services where servers are not trusted. With the advances of the web and cloud computing technologies, we are undergoing a paradigm shift in how we manage our information and build applications. There is an overabundance of services such as calendar services, document management services, internet disks, database as a service, etc..., which enable people to use these third party solutions over the network as a service instead of purchasing and installing the applications on their machines. The popularity of this new paradigm is due to the many advantages it offers including accessibility, access to data and services from anywhere anytime; availability, data is available 24/7, cost; no need to buy and install hardware and software products; maintenance, tasks related to maintenance such as updates and recoveries are taken care by the services providers; sharing, since data is available over the Internet it can shared easy.

However, while this model of applications as a service is attractive, there is a fundamental issue of having to trust your data with the third party. Once the data is stored at the server provider, users do not have any control of how it is manipulated. This potential danger of information exposure often prevents people from fully exploiting the advantages of such services. Furthermore, studies have shown that people are reluctant in using web services due to privacy concerns.

To address these issues, we propose CloudProtect, a privacy middleware that sits between the web client and the web server to facilitate personal data privacy management. Among other things, it allows users to specify privacy policies, encrypts and decrypts data in accordance with these policies, generate appropriate tokens/ciphertexts for searching through encrypted data on the server, get user authorization for tasks that require decryption of sensitive data and interactively helps the user dynamically adjust his/her policies to achieve a desired tradeoff between security, efficiently and usability according to his/her personal needs and preferences.


Selected Past Projects

Privacy in Pervasive Spaces

Middleware for pervasive spaces has to meet conflicting requirements. It has to both maximize the utility of the information exposed and ensure that this information does not violate users’ privacy. In order to resolve these conflicts, we propose a framework grounded in utility theory where users dynamically control the level of disclosure about their information. We begin by providing appropriate definitions of privacy and utility for the type of applications that would support collaborative work in an office environment—current definitions of privacy and anonymity do not apply in this context. We propose a distributed solution that, given a user’s background knowledge, maximizes the utility of the information being disclosed to information recipients while meeting the privacy requirements of users. We implement our solution in the context of a real pervasive space middleware and provide.

PACE

PACE is an architectural style for trust management in decentralized applications. An architectural style is a set of guidelines, constraints and principles that define how components and connectors are composed together in an architecture, how they behave and the nature of their interaction. PACE similarly provides a set of principles and constraints that provide comprehensive guidance on what trust components to include, how to place these components appropriately within the architecture of a decentralized entity, and how these components should interact for effective trust management.

ScenarioGraph

ScenarioGraph is a tool for specifying, visualizing, and analyzing temporal relations of events in complex scenarios written in ScenarioML. ScenarioML is a language for writing scenarios in XML. It provides syntax for expressing the semantic distinctions that are present in scenarios, and semantics for the things that people use and respond to consistently in scenarios. ScenarioGraph provides graphical editing of scenarios, computation of the relations between events, consistency analysis of scenarios, comparison of scenarios, and matching graphical scenarios against concrete occurrences. ScenarioGraph has been implemented in Java and given initial evaluation on a group of scenarios, including the real-world scenario used in this study as an example.

Scenario Workbench

The Scenario Workbench is an Eclipse plug-in for editing and working with scenarios in ScenarioML. ScenarioML is a language for writing scenarios in XML. It provides syntax for expressing the semantic distinctions that are present in scenarios, and semantics for the things that people use and respond to consistently in scenarios. Scenario Workbench is currently under development.

Scenario and Ontology based Software Architecture Evaluation (SOSAE)

OSAE is an approach to architecture evaluation that aids software architecture designers. The approach takes requirements-level scenarios described in ScenarioML and evaluates them against the architecture of the system described with components and connectors. The scenarios describe the functional and non-functional requirements that are important to the stakeholders. The approach is based on explicit mappings between eventTypes in the ontology and components in the architecture. The mapping is created by examining in conjunction the meaning of the event in the scenarios and the roles played by different components in the architecture. A tool supporting the approach is under development.