Document 11129516

advertisement
Collaborative Access Control in WebdamLog
Serge Abiteboul - INRIA Saclay & ENS Cachan
Gerome Miklau - UMASS Amherst
IMPLEMENTATION
Data access Users control who can read and modify their
information.
Application control Users control which applications can
run on their behalf, and what they can access.
Data dissemination Users control how pieces of
information are transferred and combined.
We extended WebdamLog, built using Bud, with
access control using rule rewriting.
We introduced 2 optimization techniques.
{alice,'bob}'
READ'
photo'
{alice,'bob,'pete}'
READ'
tag'
{alice,'bob,'pete}'
READ'
friendPhoto'
acl@alice(rel,+pset,+priv)+
friend+
{alice,+bob}+
READ+
friend+
{alice}+ ++bob+ GRANT+
photo+
{alice,+bob,+pete}+
READ+
photo+
{alice}+ ++bob+ GRANT+
tag+
{alice,+bob,+pete}+
READ+
tag+
{alice}+ ++bob+ GRANT+
friendPhoto+
{alice}+
WRITE+
friendPhoto+
{alice,+bob}+
READ+
allPhotos+
{alice,+bob}+
WRITE+
acl@bob(rel,+pset,+priv)+
allPhotos@alice+
{bob,+alice}+
friendPhoto+
{bob,+alice}+
READ+
friendPhoto+
{bob,+alice}+
WRITE+
{bob}+
GRANT+
[at bob] allPhotos@alice($f) :- ! allPhotos+
friend+
{bob}+
GRANT+
!
!
! friendPhoto@bob($f)+
{alice,'bob}'
WRITE'
writeable@alice(rel,*q)*
friendPhoto'
bob'
allPhotos'
charlie'
master"
Each peer is running under its own access control
policy with 3 different conditions.
12
14
Public
Known
Public Optim 2
10
12
Known Optim 2
Public Optim 1
Known Optim 1
Public Optim (1&2)
8
No Access Control
6
4
10
4
0
0
2K
3K
4K
5K
6K
7K
Number of facts per follower
8K
9K
No Access Control
6
2
1K
Known Optim (1&2)
8
2
10K
1K
2K
3K
4K
5K
6K
7K
Number of facts per follower
8K
9K
10K
Total time, averaged across agg peers in MAF-JoU (10/2/1), as a function of database size.
Formulas
aclf@alice(rel, sym, priv) birds A READ art B READ fave C READ formula@alice(sym, expr, pset) A {bob, cathy, don} B {cathy, ezra} C {bob, ezra} D A ∩ C {bob} E B ∩ C {ezra} F D ∪ E {bob, ezra} album+@alice(ph, sym, priv) a101.jpg D READ a102.jpg F READ a104.jpg E READ Public
Known Optim (1&2)
Public Optim 1
No Access Control
Known
0.45
0.8
0.4
0.7
Fixpoint time, seconds
Associate a symbol with each unique p-set
that occurs among annotations of tuples.
Known
0.35
0.3
0.25
0.2
0.15
0.1
Public
Known Optim (1&2)
Public Optim 1
No Access Control
0.6
0.5
0.4
0.3
0.2
0.05
0.1
0
0
10/2/1
20/4/1
30/6/1
40/8/1
50/10/1
Network size, #followers / #aggregators / #aggregators per follower
10/2/1
20/4/1
30/6/1
40/8/1
50/10/1
Network size, #followers / #aggregators / #aggregators per follower
Fixpoint time in MAF-UoJ as a function of network size.
Known
Public
Known Optim (1&2)
Public Optim 1
Known
No Access Control
5
160
4.5
140
Total time, seconds
friendPhoto@bob+
tag+
friend'
aggregators"
sue$
acl@alice(rel,*pset,*priv)*
allPhotos'
[at alice] friendPhoto@bob($ph) :- friend@alice($p),
!
!
!
!
!
!
!photo@alice($ph), tag@alice($ph, $p)!
photo+
tag'
followers"
…$
Total time, seconds
photo'
friends$of$bob$
…$
Store a tuple for each remote relation for which peer
has the Write privilege.
friend'
MAF$n/m/k$$
…"
Writeable
SEMANTICS BY EXAMPLE
friend+
friends$of$alice$
Total time, seconds
•  Users declaratively specify access rules
(Grant, Read, Write) for base relations –
coarse-grained access – in the acl relation.
•  System computes tuple-level, fine-grained
annotations on derived relations based on
provenance.
•  Semantics overwritten with Hide and
Preserve annotations to make access less or
more restrictive.
PA#
Fixpoint time, seconds
APPROACH
Cyber Security Lab
EXPERIMENTAL EVALUATION
MOTIVATION
Fixpoint time, seconds
Vera Zaychik Moffitt – Drexel CCI
Julia Stoyanovich – Drexel CCI
Cyber Security Lab
4
3.5
3
2.5
2
1.5
Public
Known Optim (1&2)
Public Optim 1
No Access Control
120
100
80
60
40
1
20
0.5
0
0
0
50
100
150
200
Network Size
250
0
50
100
150
200
250
Network Size
Running time of peer sue in PA, as a function of network size.
CONCLUSION
Novel semantics allows peers to declaratively specify
policies with a modest performance overhead in
realistic scenarios.
SIGMOD’2015 – https://github.com/vzaychik/webdamlog-engine.git – Supported by ERC Webdam & NSF CNS-1012748
Download