Kangoo - ETH Z
Download
Report
Transcript Kangoo - ETH Z
Cryptree
A Folder Tree Structure for
Cryptographic File Systems
Dominik Grolimund, Luzius Meisser, Stefan Schmid, Roger Wattenhofer
Computer Engineering and Networks Laboratory (TIK), ETH Zurich
SRDS 06
October 3, Leeds, UK
Distributed
Computing
Group
Cryptree
- A key management scheme developed for Kangoo,
our distributed file system
- Manages encryption keys of files and folders
- Leverages the file systems folder hierarchy to achieve
intuitive semantics and efficiency
2 / 25
Outline
Motivation
Basics
Cryptree
Performance
Discussion
3 / 25
Motivation
Kangoo: a large-scale distributed file system
(comparable to OceanStore, Celeste, CFS…)
Problem: Enforcement & management of access rights
on untrusted (but reliable) storage
We cannot trust the storage device to keep our data
secret
Everything needs to be encrypted
We need a clever key management scheme
4 / 25
Motivation
Existing ideas:
- Server enforces access rights not feasible here
- Classic Access Control List (CACL) Approach,
found in systems like Plutus, SiRiUs, OceanStore (?)
- Many papers about hierarchical key management in
general,
focus on crypographic aspects
5 / 25
Talk Outline
Motivation
Basics
Cryptree
Performance
Discussion
6 / 25
Basics: Access Control with Keys
- Read Access Control: Items are encrypted such that
only legitimate accessors can decrypt them
- Write Access Control: A sign/verify key pair is used to
prove the legitimacy of write operations
7 / 25
Basics: Lazy Revocation
When someone loses access to an item, that item
needs to be encrypted with a new key in order to
prevent the former accessor to access the item in
future.
Lazy revocation allows to postpone this (expensive)
reencryption until the next update of the item.
Better performance at the price of slightly lower
security. An adversary and former accessor of an
item could continue to access it if he has kept a copy
of the encryption key. Without lazy revocation, he
would have had to keep a copy of the item itself to do
8 / 25
so.
Basics: CACL-Approach
The classic, access-control-list based approach:
Bob
projects
alice
audio
sunset.jpg
jeep.jpg
cancun
trip
images
egypt
maya.jpg
Access control is managed for each item individually.
To grant Bob access to an item, the access key is encrypted with Bobs public key
and attached to that item.
9 / 25
Basics: CACL-Approach
Problems with CACL:
- When granting u users access to f files, n*f access
control list entries need to be created
- On structural changes, access rights need to be
adjusted or they will get scattered
- No confidentiality of access rights
10 / 25
Outline
Motivation
Basics
Cryptree
Performance
Discussion
11 / 25
Cryptree: Semantics
Dynamic Inheritance of Access Rights
Bob
projects
alice
audio
sunset.jpg
trip
images
Inheritance
jeep.jpg
cancun
egypt
maya.jpg
Downwards: full, recursive
Upwards: limited, ancestor names
12 / 25
Cryptree: Cryptographic Links
Knowing K1 and the link allows to derive K2
K1
K2
Symmetric Link: symmetric cryptography, requires knowledge of K1 to update
K1
K2
Asymmetric Link: asymmetric cryptography, K2 can be replaced without knowing K1
More flexible than symmetric link, but expensive
13 / 25
Cryptree: Read Access
Bob
CK
CK
CK
Clearance Key, revealed to grant access
SK
SK
SK
Subfolder Key Subfolders
FK
FK
FK
Files Key Files in folder
BK
BK
BK
Backlink Key
DK
DK
DK
Data Key Folder name
Folder
/images
Folder
/cancun
Folder
/trip
14 / 25
Cryptree: Read Access
Bob
CK
CK
CK
SK
SK
SK
•Grant recursive access by only revealing
one key
FK
FK
FK
•Anonymous access, even writers do not
need to know other accessors
BK
BK
BK
DK
DK
DK
Folder
/images
Folder
/cancun
Folder
/trip
Benefits:
•Access rights are implicitely updated
when structure changes
15 / 25
Cryptree: Read Access
Whole read access structure
CK
CK
SK
SK
SK
SK
GK
GK
GK
FK
FK
FK
CK
RK
BK
BK
BK
BK
PK
DK
DK
DK
DK
Root
User
Folder
Folder
File
/kangoo
/alice
/images
/taipei
/metro.jpg
16 / 25
Write Access Cryptree
Similar to read access tree
WCK
WCK
WCK
WSK
WSK
WSK
Ksign
Ksign
Ksign
Kverify
Kverify
Kverify
Folder
Folder
Folder
/images
/holiday
/lima
17 / 25
Cryptree: Operations
Bob
Bob
Alice
Alice
d
b
a
b
c
a
e
Claire
d
c
e
Claire
When someone loses read access as a result of an
operation, the involved items need to be reencrypted. We do
this lazily on their next change (lazy revocation).
18 / 25
Outline
Motivation
Basics
Cryptree
Evaluation
Discussion
19 / 25
Performance
Besides its semantical advantages, the Cryptree should
also perform better than the CACL-Approach.
We wrote sandbox implementations of different
approaches and let them perform a given set of
operations.
Test set: 30‘000 files (avg. size 2.5 MB), 2‘500 folders,
1‘000‘000 operations (ordered by likelihood: read,
create, delete, move, modify, grant access, revoke
access, grant write access, revoke write access)
20 / 25
Performance
Time spent for key management per operation
ms / operation
30
20
10
0
CACL
Lazy CACL
Cryptree
21 / 25
Performance
Total processing time spent for cryptography per
operation
ms / operation
200
Overhead
Inevitable
100
0
CACL
Lazy CACL
Cryptree
22 / 25
Outline
Motivation
Basics
Cryptree
Performance
Discussion
23 / 25
Discussion: Conclusions
We have leveraged the file systems folder hierarchy
for key management and achieved
- Intuitive Access Control Semantics
- Efficiency
- Simplicity, no elaborate cryptographic knowledge
required
24 / 25
Discussion: Questions
?
25 / 25