BurnBox
Nirvan Tyagi
Self-Revocable Encryption in a World of Compelled Access
Usenix Security 2018 Muhammad Haris Mughees Thomas Ristenpart Ian Miers
1
BurnBox Self-Revocable Encryption in a World of Compelled Access - - PowerPoint PPT Presentation
BurnBox Self-Revocable Encryption in a World of Compelled Access Nirvan Tyagi Muhammad Haris Thomas Ristenpart Ian Miers Mughees Usenix Security 2018 1 Compelled Access Setting file 1 file 2 file 3 2 Compelled Access Setting file 1
Nirvan Tyagi
Self-Revocable Encryption in a World of Compelled Access
Usenix Security 2018 Muhammad Haris Mughees Thomas Ristenpart Ian Miers
1
file 1 file 2 file 3
2
file 1 file 2 file 3
3
file 1 file 2 file 3
e.g., border crossing, airport security, police checkpoints
4
file 1 file 2 file 3
e.g., border crossing, airport security, police checkpoints e.g., journalists, dissidents, activists
5
file 1 file 2 file 3
e.g., border crossing, airport security, police checkpoints e.g., journalists, dissidents, activists
6
> 50% increase
○ Allow users to honestly comply with authorities while preserving confidentiality ○ Secure deletion: permanently delete files ○ Temporary revocation: self-revoke access to files temporarily
7
Deniable/Steganographic file systems hide files by deceiving authority
file 1 file 2 file 3
8
Real Duress [CDNO96, ANS98, ADW97, Truecrypt]
file 1 file 2 file 3
9
Deniable/Steganographic file systems hide files by deceiving authority
[CDNO96, ANS98, ADW97, Truecrypt]
fake 1 fake 2 fake 3 file 1 file 2 file 3
10
Deniable/Steganographic file systems hide files by deceiving authority
[CDNO96, ANS98, ADW97, Truecrypt]
file 1 file 2 file 3
Limitation: High usability burden where deception is inherent to security
11
Deniable/Steganographic file systems hide files by deceiving authority
fake 1 fake 2 fake 3
[CDNO96, ANS98, ADW97, Truecrypt]
file 1 file 2 file 3
12
Deniable/Steganographic file systems hide files by deceiving authority
fake 1 fake 2 fake 3
Limitation: High usability burden where deception is inherent to security
Is this really your key?
[CDNO96, ANS98, ADW97, Truecrypt]
file 1 file 2 file 3
13
Deniable/Steganographic file systems hide files by deceiving authority
fake 1 fake 2 fake 3
Limitation: High usability burden where deception is inherent to security
Is this really your key?
[CDNO96, ANS98, ADW97, Truecrypt]
checkpoints
14
checkpoints
15
Strawman: burner device or full wipe of device
checkpoints
16
Strawman: burner device or full wipe of device BurnBox: selective temporary self-revocation of sensitive files
checkpoints
17
Strawman: burner device or full wipe of device BurnBox: selective temporary self-revocation of sensitive files
BurnBox: secure against passive cloud adversaries
Untrusted Cloud Storage
18
file 1 file 2 file 3
Untrusted Cloud Storage
19
file 1 file 2 file 3
Untrusted Cloud Storage
20
file 1 file 2 file 3
Untrusted Cloud Storage
Compelling Agent
21
file 1 file 2 file 3
Untrusted Cloud Storage
Compelling Agent
Offline Restoration Cache
compelling agent
during checkpoint
22
file 1 file 2 file 3
23
file 1 file 2 file 3
Offline Restoration Cache Local Device
24
file 1 file 2 file 3
file 1 file 2 file 3
Untrusted Cloud Storage
f0c531 39731a 0dea2d
25
file 1 file 2 file 3
Before Compelled Access User selectively deletes and revokes sensitive files
f0c531 39731a 0dea2d
26
file 1 revoke delete
Before Compelled Access User selectively deletes and revokes sensitive files
f0c531 39731a 0dea2d
27
file 1
During Compelled Access Deleted files and revoked files are inaccessible and are cryptographically indistinguishable Before Compelled Access User selectively deletes and revokes sensitive files
file 1 revoke delete f0c531 39731a 0dea2d
28
file 1 revoke delete
After Compelled Access User restores access to revoked files with access to restoration key During Compelled Access Deleted files and revoked files are inaccessible and are cryptographically indistinguishable Before Compelled Access User selectively deletes and revokes sensitive files
f0c531 39731a 0dea2d
29
file 1 file 2
During Compelled Access Deleted files and revoked files are inaccessible and are cryptographically indistinguishable Before Compelled Access User selectively deletes and revokes sensitive files After Compelled Access User restores access to revoked files with access to restoration key
f0c531 39731a 0dea2d
30
cc64c3 5707dd 1be052
f0c531 39731a 0dea2d
f1.txt f2.txt f3.txt
31
f0c531 39731a 0dea2d file 1 file 2 file 3
filename encryption key encrypted file
Device State
cc64c3 5707dd 1be052
f0c531 39731a 0dea2d
f1.txt f2.txt f3.txt
32
f0c531 39731a 0dea2d file 1 file 2 file 3
filename encryption key encrypted file
Device State
cc64c3 1be052
f0c531 39731a 0dea2d
f1.txt f3.txt
33
f0c531 0dea2d file 1 file 2 file 3
filename encryption key encrypted file
Device State
5707dd
f2.txt
39731a
cc64c3 1be052
f0c531 39731a 0dea2d
f1.txt f3.txt
34
f0c531 0dea2d file 1 file 2 file 3
filename encryption key encrypted file
Device State
5707dd
f2.txt
39731a
Problem 1: How to support revocation? Problem 2: Secure deletion of persistent state is hard.
Forensic analysis
cc64c3 1be052 f0c531 39731a 0dea2d
f1.txt f3.txt
35
f0c531 0dea2d file 1 file 2 file 3
filename encryption key encrypted file
Device State
5707dd
f2.txt
39731a
restoration ciphertext
E(pk,cc64c3) E(pk,39731a) E(pk,1be052)
cc64c3 1be052 f0c531 39731a 0dea2d
f1.txt f3.txt
36
f0c531 0dea2d file 1 file 2 file 3
filename encryption key encrypted file
Device State
5707dd
f2.txt
39731a
restoration ciphertext
E(pk,39731a)
Revoke
E(pk,cc64c3) E(pk,1be052)
cc64c3 1be052 f0c531 39731a 0dea2d
f1.txt f3.txt
37
f0c531 0dea2d file 1 file 2 file 3
filename encryption key encrypted file
Device State
5707dd
f2.txt
39731a
restoration ciphertext Revoke Delete
E(pk,39731a) E(pk,cc64c3) E(pk,000000)
cc64c3 1be052 f0c531 39731a 0dea2d
f1.txt f3.txt
38
f0c531 0dea2d file 1 file 2 file 3
filename encryption key encrypted file
Device State
5707dd
f2.txt
39731a
restoration ciphertext Revoke Delete
Problem 1: How to support revocation? Problem 2: Secure deletion of persistent state is hard.
E(pk,39731a) E(pk,cc64c3) E(pk,000000)
cc64c3... f1.txt f2.txt 5707dd... f3.txt 1be052... f4.txt ca46b6...
39
cc64c3... f1.txt f2.txt 5707dd... f3.txt 1be052... f4.txt ca46b6...
○ Trusted hardware assumed to manage small “effaceable” storage ○ E.g., TPM, iOS/Android keystore APIs
effaceable storage key tree
40
cc64c3... f1.txt f2.txt 5707dd... f3.txt 1be052... f4.txt ca46b6...
○ Trusted hardware assumed to manage small “effaceable” storage ○ E.g., TPM, iOS/Android keystore APIs
effaceable storage key tree
41
cc64c3... f1.txt f2.txt 5707dd... f3.txt 1be052... f4.txt ca46b6...
○ Trusted hardware assumed to manage small “effaceable” storage ○ E.g., TPM, iOS/Android keystore APIs
effaceable storage key tree
42
cc64c3... f1.txt f2.txt 5707dd... f3.txt 1be052... f4.txt ca46b6...
○ Trusted hardware assumed to manage small “effaceable” storage ○ E.g., TPM, iOS/Android keystore APIs
effaceable storage key tree
43
cc64c3... f1.txt f2.txt 5707dd... f3.txt 1be052... f4.txt ca46b6...
○ Trusted hardware assumed to manage small “effaceable” storage ○ E.g., TPM, iOS/Android keystore APIs
effaceable storage key tree
44
cc64c3... f1.txt f2.txt 5707dd... f3.txt 1be052... f4.txt ca46b6...
○ Trusted hardware assumed to manage small “effaceable” storage ○ E.g., TPM, iOS/Android keystore APIs
effaceable storage key tree
45
Related asymptotically better approaches not secure against threat model
46
Erasable index uses:
In practice, this is actually fine
47
○ Pseudonymous operation history Adversary observing: Cloud communication history Encrypted cloud contents Erasable index on local device Pseudonymous operation history
E.g., Add file A at 1:00 Access file A at 4:30
Open question: Inference attacks on file accesses?
[CGPR15,NKW15]
○ Available at github.com/mhmughees/burnbox ○ About as efficient as standard client-side encryption
Untrusted App Container
OS Kernel Persistent Storage File System BurnBox (FUSE)
Trusted App
Userspace
(e.g. HDD, SSD) 48
○ Available at github.com/mhmughees/burnbox ○ About as efficient as standard client-side encryption
Untrusted App Container
OS Kernel Persistent Storage File System
Trusted App
Userspace
(e.g. HDD, SSD) 49
BurnBox (FUSE)
○ Available at github.com/mhmughees/burnbox ○ About as efficient as standard client-side encryption
Untrusted App Container
OS Kernel Persistent Storage File System BurnBox (FUSE)
Trusted App
Userspace
(e.g. HDD, SSD) 50
○ Available at github.com/mhmughees/burnbox ○ About as efficient as standard client-side encryption
51
Untrusted App Container
OS Kernel Persistent Storage File System BurnBox (FUSE)
Trusted App
Userspace
(e.g. HDD, SSD)
[CHKGKS08,DLJKSXSW12]
○
Memory-locked pages
○
Containers for untrusted applications ○ Guidelines for off-the-shelf OS configurations
○ Allow users to honestly comply with authorities while preserving confidentiality ○ Secure deletion: permanently delete files ○ Temporary revocation: self-revoke access to files temporarily
○ github.com/mhmughees/burnbox
52