Sieve: Cryptographically Enforced Access Control for User Data in Untrusted Clouds Frank Wang (MIT CSAIL) , James Mickens (Harvard), Nickolai Zeldovich (MIT CSAIL), Vinod Vaikuntanathan (MIT CSAIL) 1
Motivation Boston Marathon NY Marathon FitBit Cloud Server Insurance 2
Motivation Boston Marathon NY Marathon FitBit Cloud Server Insurance 2
Motivation Boston Marathon NY Marathon FitBit Cloud Server Insurance 2
Motivation Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 2
Problem: Curious storage provider or external attacker Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 3
Problem: Curious storage provider or external attacker Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 3
Naïve Approach: Encrypt Data under 1 key Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 4
Naïve Approach: Encrypt Data under 1 key Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 4
Naïve Approach: Encrypt Data under 1 key Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 4
Naïve Approach: Encrypt Data under 1 key How does the user selectively disclose her data? Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 4
Another Approach: Encrypt each piece of data individually Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 5
Another Approach: Encrypt each piece of data individually Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 5
Another Approach: Encrypt each piece of data individually Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 5
Another Approach: Encrypt each piece of data individually Boston Marathon type=race type=running NY Marathon FitBit Cloud Server type=fitness Insurance 5
Contributions • Sieve: a new platform that allows users to selectively and securely disclose their data – Sieve protects against server compromise – Sieve hides key management from users – Reasonable performance – Sieve supports revocation – Sieves allows users to recover from device loss – Good for web services that analyze user data 6
Outline • Sieve – Protocol – Optimizations – Revocation – Device Loss • Implementation • Evaluation 7
Sieve Overview 8
Sieve Overview User Storage Provider Web services 8
Sieve Overview User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon 8
Sieve Overview User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, Year=2012, Type=fitness Year=2015, Type=financial 8
Sieve Overview User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, Year=2012, Type=fitness Year=2015, Type=financial 8
Sieve Overview User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) 8
Sieve Overview User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) 8
Sieve Overview User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, Location=US, Year=2012, Year=2012, Type=fitness Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) 8
Sieve Overview User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, Location=US, Year=2012, Year=2012, Type=fitness Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) 8
Sieve Overview User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, Location=US, Year=2012, Year=2012, Type=fitness Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) 8
Threat Model • Storage provider is a passive adversary – Adversary can read all data – Follows protocol • Web services trusted with user data they are given access to • User and her devices trusted 9
Our approach: Attribute-based encryption (ABE) Assume that user-specific ABE public/private key pair • Three main functions • 10
Our approach: Attribute-based encryption (ABE) Assume that user-specific ABE public/private key pair • Three main functions • GenerateDecKey Encrypt Decrypt 10
Our approach: Attribute-based encryption (ABE) Assume that user-specific ABE public/private key pair • Three main functions • GenerateDecKey private Policy : (Year < 2013 AND type=Fitness) Encrypt Decrypt 10
Our approach: Attribute-based encryption (ABE) Assume that user-specific ABE public/private key pair • Three main functions • GenerateDecKey private Policy : (Year < 2013 (Year < 2013 AND AND type=Fitness) Type=Fitness ) Encrypt Decrypt 10
Our approach: Attribute-based encryption (ABE) Assume that user-specific ABE public/private key pair • Three main functions • GenerateDecKey private Policy : (Year < 2013 (Year < 2013 AND AND type=Fitness) Type=Fitness ) public Encrypt Attributes : Location=US, Year=2012, Type=fitness Decrypt 10
Our approach: Attribute-based encryption (ABE) Assume that user-specific ABE public/private key pair • Three main functions • GenerateDecKey private Policy : (Year < 2013 (Year < 2013 AND AND type=Fitness) Type=Fitness ) public Encrypt Attributes : Location=US, Year=2012, Location=US, Type=fitness Year=2012, Type=fitness Decrypt 10
Our approach: Attribute-based encryption (ABE) Assume that user-specific ABE public/private key pair • Three main functions • GenerateDecKey private Policy : (Year < 2013 (Year < 2013 AND AND type=Fitness) Type=Fitness ) public Encrypt Attributes : Location=US, Year=2012, Location=US, Type=fitness Year=2012, Type=fitness Decrypt Location=US, (Year < 2013 AND Year=2012, Type=Fitness ) Type=fitness 10
Our approach: Attribute-based encryption (ABE) Assume that user-specific ABE public/private key pair • Three main functions • GenerateDecKey private Policy : (Year < 2013 (Year < 2013 AND AND type=Fitness) Type=Fitness ) public Encrypt Attributes : Location=US, Year=2012, Location=US, Type=fitness Year=2012, Type=fitness Decrypt Location=US, (Year < 2013 AND Year=2012, Type=Fitness ) Type=fitness 10
Our approach: Attribute-based encryption (ABE) Assume that user-specific ABE public/private key pair • Three main functions • GenerateDecKey private Policy : (Year < 2013 (Year < 2013 AND AND type=Fitness) Type=Fitness ) public Encrypt Attributes : Location=US, Year=2012, Location=US, Type=fitness Year=2012, Type=fitness Decrypt Location=US, (Year < 2013 AND Year=2012, Type=Fitness ) Type=fitness Note: attributes and policy are in cleartext 10
Sieve with ABE User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon 11
Sieve with ABE User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, ABE Year=2012, Encrypt Type=fitness Year=2015, Type=financial 11
Sieve with ABE User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, ABE Year=2012, Encrypt Type=fitness Year=2015, Type=financial 11
Sieve with ABE User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, ABE Year=2012, Encrypt Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) ABE GenerateDecKey 11
Sieve with ABE User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, ABE Year=2012, Encrypt Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) ABE GenerateDecKey 11
Sieve with ABE User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, ABE Location=US, Year=2012, Year=2012, Encrypt Type=fitness Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) ABE GenerateDecKey 11
Sieve with ABE User Storage Provider Web services Sieve storage Sieve user client Sieve data import daemon Location=US, ABE Location=US, Year=2012, Year=2012, Encrypt Type=fitness Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) ABE ABE GenerateDecKey Decrypt 11
Challenges with ABE • Performance • Revocation • Device Loss 12
Recommend
More recommend