Data privacy: on the cloud but user-controlled

March 18, 2016 // By Julien Happich
MIT researchers have designed a cryptographic system that could allow users to decide which applications access which aspects of their data at any given time, through app-specific and revocable encryption keys.

The Sieve, as they've called the data-selective cryptographic system, is yet another user-controlled data privacy tool put forward by the research institute (see Cutting down on personal data leaks ) and one can only wish their tools will be embraced by application developers and promoted as a privacy-aware differentiating feature among end-users.

Rather than being data-blind, web users would store all of their personal data, in encrypted form, on the cloud and any app that wanted to use specific data items would send a request to the user and receive a secret key that decrypted only those items. If the user wanted to revoke the app’s access, Sieve would re-encrypt the data with a new key.

“This is a rethinking of the Web infrastructure,” says Frank Wang, a PhD student in electrical engineering and computer science and one of the system’s designers. “Maybe it’s better that one person manages all their data. There’s one type of security and not 10 types of security. We’re trying to present an alternative model that would be beneficial to both users and applications.”

Sieve required the researchers to develop practical versions of two cutting-edge cryptographic techniques called attribute-based encryption and key homomorphism. With attribute-based encryption, data items in a file are assigned different labels, or “attributes.”

After encryption, secret keys can be generated that unlock only particular combinations of attributes: name and zip code but not street name, for instance, or zip code and date of birth but not name.

The problem with attribute-based encryption — and decryption — is that it’s slow. To get around that, the MIT and Harvard researchers envision that Sieve users would lump certain types of data together under a single attribute. For instance, a doctor might be interested in data from a patient’s fitness-tracking device but probably not in the details of a single afternoon’s run. The user might choose to group fitness data by month.

Sieve includes