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