Share this page
  • Share this page on Twitter Share this page on Facebook Share this page on Digg Share this page on Del.icio.us Read the Inside Microsoft Research blog
  • E-mail this page Print this page
  • RSS feeds
Home > Projects > Crypto Cloud Computing
Cloud Cryptography

Cloud computing provides clients with a virtual computing infrastructure on top of which they can store data and run applications.  While the benefits of cloud computing are clear, it introduces new security challenges since cloud operators are expected to manipulate client data without necessarily being fully trusted. We are designing cryptographic primitives and protocols tailored to the setting of cloud computing, attempting to strike a balance between security, efficiency and functionality.

Projects

The current generation of cloud storage services do not provide any security against untrusted cloud operators making them unsuitable for storing sensitive information such as medical records, financial records or high impact business data. To address this we are pursuing various research projects that range from theory to practice.

CS2. CS2 is a cloud storage system that provides confidentiality, integrity and verifiability of client data against an untrusted cloud provider. A key feature of CS2 is that it is semantic, i.e., data can be accessed by search (even though the data is encrypted). CS2 is described in detail in [KPR11]. A high level description of the CS2 architecture was first proposed in [LK10].

Homomorphic encryption. The most common use of encryption is to provide confidentiality by hiding all useful information about the plaintext. Encryption, however, renders data useless in the sense that one loses the ability to operate on it. To address this we are designing cryptosystems that support a variety of computations on encrypted data, ranging from general-purpose computations (i.e., fully-homomorphic encryption) to special-purpose computations (e.g., voting and search). Our work on homomorphic encryption includes [LNV11].

Searchable & structured encryption. A searchable encryption scheme encrypts data in such a way that a token can be generated to allow a third party to search over the encrypted data. Using a searchable encryption scheme, a client can safely store its data with an untrusted cloud provider without losing the ability to search over it. We are designing highly efficient searchable encryption schemes - some of which are used in our CS2 system. We are also working on the related problem of structured encryption which allows a client to encrypt various types of data (e.g., social networks or web graphs) in such a way that complex queries can be performed over the encrypted data. Some of our work on searchable encryption is described in [CGKO06] and [KPR11]. Structured encryption and various constructions for graph data were introduced in [CK10].

Proofs of storage. Using a proof of storage (also known as a proof of data possession or a proof of retrievability) a client can verify whether the cloud operator has tampered with its data. In particular, this can be done without the client storing a local copy of the data and without it having to retrieve any of the data. In fact, the work for the client is negligible no matter how large the data is. Some of our work on proofs of storage is described in [AKK10].

Publications
News
Events
Related Links