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
Sieve: Cryptographically Enforced Access Control for User Data in - - PowerPoint PPT Presentation
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
1
2
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
2
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
2
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
2
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
3
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
3
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
4
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
4
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
4
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
4
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
How does the user selectively disclose her data?
5
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
5
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
5
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
5
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
6
7
8
8
Storage Provider User Web services
8
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
8
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial
8
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial
8
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness )
8
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness )
8
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) Location=US, Year=2012, Type=fitness
8
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) Location=US, Year=2012, Type=fitness
8
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) Location=US, Year=2012, Type=fitness
9
10
10
10
Policy: (Year < 2013
AND type=Fitness)
private
10
(Year < 2013 AND Type=Fitness )
Policy: (Year < 2013
AND type=Fitness)
private
10
(Year < 2013 AND Type=Fitness )
Policy: (Year < 2013
AND type=Fitness)
private Attributes:
Location=US, Year=2012, Type=fitness
public
10
Location=US, Year=2012, Type=fitness (Year < 2013 AND Type=Fitness )
Policy: (Year < 2013
AND type=Fitness)
private Attributes:
Location=US, Year=2012, Type=fitness
public
10
Location=US, Year=2012, Type=fitness (Year < 2013 AND Type=Fitness ) Location=US, Year=2012, Type=fitness (Year < 2013 AND Type=Fitness )
Policy: (Year < 2013
AND type=Fitness)
private Attributes:
Location=US, Year=2012, Type=fitness
public
10
Location=US, Year=2012, Type=fitness (Year < 2013 AND Type=Fitness ) Location=US, Year=2012, Type=fitness (Year < 2013 AND Type=Fitness )
Policy: (Year < 2013
AND type=Fitness)
private Attributes:
Location=US, Year=2012, Type=fitness
public
10
Location=US, Year=2012, Type=fitness (Year < 2013 AND Type=Fitness ) Location=US, Year=2012, Type=fitness (Year < 2013 AND Type=Fitness )
Policy: (Year < 2013
AND type=Fitness)
private Attributes:
Location=US, Year=2012, Type=fitness
public
11
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
11
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial
ABE Encrypt
11
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial
ABE Encrypt
11
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness )
ABE Encrypt ABE GenerateDecKey
11
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness )
ABE Encrypt ABE GenerateDecKey
11
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) Location=US, Year=2012, Type=fitness
ABE Encrypt ABE GenerateDecKey
11
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
Location=US, Year=2012, Type=fitness Year=2015, Type=financial (Year < 2013 AND Type=Fitness ) Location=US, Year=2012, Type=fitness
ABE Encrypt ABE GenerateDecKey ABE Decrypt
12
13
14
14
symmetric
14
symmetric
14
symmetric ABE symmetric GUID
Metadata block
14
symmetric ABE symmetric GUID
Metadata block
14
symmetric ABE symmetric GUID
Index Attr1 Attr2 Attr3 Attr4 Attr5
meta meta meta meta meta
Index
GUID1 GUID2 GUID3 GUID4 GUID5
data data data data data
Metadata block
14
symmetric ABE symmetric GUID
Index Attr1 Attr2 Attr3 Attr4 Attr5
meta meta meta meta meta
Index
GUID1 GUID2 GUID3 GUID4 GUID5
data data data data data
Metadata block
14
symmetric ABE symmetric GUID
Index Attr1 Attr2 Attr3 Attr4 Attr5
meta meta meta meta meta
Index
GUID1 GUID2 GUID3 GUID4 GUID5
data data data data data
15
15
symmetric
symmetric
symmetric
15
symmetric
symmetric
symmetric
symmetric
15
symmetric
symmetric
symmetric
symmetric ABE symmetric GUID
15
symmetric
symmetric
symmetric
symmetric ABE symmetric GUID
16
17
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
17
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
17
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
17
NY Marathon Boston Marathon Insurance
FitBit Cloud Server
type=race type=running type=fitness
18
19
symmetric
ABE (attrs, epoch = 0)
symmetric
20
Metadata Block
symmetric
ABE (attrs, epoch = 0)
symmetric
20
Metadata Block
symmetric
ABE (attrs, epoch = 0)
symmetric
20
Metadata Block
symmetric
ABE (attrs, epoch = 0)
symmetric
20
Metadata Block
symmetric
ABE (attrs, epoch = 0)
symmetric
20
Metadata Block
symmetric
symmetric
ABE (attrs, epoch = 0)
symmetric
20
Metadata Block
symmetric symmetric
ABE (attrs, epoch = 1)
symmetric
ABE (attrs, epoch = 0)
symmetric
20
Metadata Block
symmetric symmetric
ABE (attrs, epoch = 1)
symmetric
ABE (attrs, epoch = 0)
symmetric
20
Metadata Block
Issue new keys to web services whose data access has been changed and affected by revocation symmetric symmetric
ABE (attrs, epoch = 1)
21
22
23
24
25
Cryptography:
Ed448 (revocation)
25
Storage Provider User Web services Sieve user client Sieve storage daemon Sieve data import
BerkeleyDB
Cryptography:
Ed448 (revocation)
26
27
28
29
Seconds 1.5 3 4.5 6 Open mHealth Piwigo Write Read
30
Seconds 1.5 3 4.5 6 Open mHealth Ed448 Open mHealth AES Write Read
31
– Storage write: 50 MB/s – Web service import: 70 users/min (Ed448)
– Storage write: 200 MB/s – Web service import: 14 photos/min (Ed448)
32
33
34
35
36
36
Solve different problems than Sieve
36
Solve different problems than Sieve No complete revocation and/or ability to recover from device loss
36
Solve different problems than Sieve No complete revocation and/or ability to recover from device loss Less secure and expressive than Sieve
37