Parameterizing Access Control for Heterogeneous Peer-to-Peer Applications Ashish Gehani Surendar Chandra SRI University of Notre Dame 1
INTRODUCTION : Heterogeneous Applications • Name resolution - CoDNS • Scientific citations - OverCite • Multiplayer game object location - Chord • Email filtering - SpamWatch 2
INTRODUCTION : What’s the problem? • Discretionary access control • Traditional concerns: – Authorization service is central point of failure – Revocation enforcement • Peer-to-peer environment concerns: – Reliability ( ρ ) – Performance (operation execution time) 3
MOTIVATION : Heterogeneous Applications Table 1: Operation timeframe Grant Revoke Request Name resolution Minute Minute Second Spam filtering Minute Hour Second Digital library Minute Day Minute Content sales Second Never Second Multiplayer game Second Minute Second 4
ASSUMPTIONS : System Model • Peers have equivalent functionality • Unauthorized reads preventable • Unauthorized writes not preventable – Must be detectable • Fraction of peers are malicious ( µ ) • Security should degrade gracefully 5
GOALS : Solution Constraints • Flexible trust establishment • Authorize users, not nodes • Flexible operation order 6
DESIGN : Object Sealing Object Name Owner α β Verfication Key Signed Hash Encrypted Object Data 7
DESIGN : Permission Processing Read Capability Write Capability Identity Based Encryption Verifiable Secret Shares Overlay Insertions 8
DESIGN : Leveraging Peers’ Storage User α Request Retrieves β Grant Object Shares Owner Peer Nodes 9
IMPLEMENTATION : DAAL’s Java API static void grant(Globals globals, Delegation delegation, User owner, String user, String filename, boolean grantRead, boolean grantWrite, int alpha, int beta); static void revoke(Globals globals, Delegation delegation, User owner, String user, String filename, int alpha, int beta); static Capabilities request(Globals globals, User user, String filename, int alpha, int beta); 10
EVALUATION : If µ = α β , ρ is independent of α Request with Β � 20, Μ�Α � Β Ρ 1 0.8 0.6 0.4 0.2 Α 2 4 6 8 10 12 14 11
EVALUATION : If µ = α β , ρ is independent of β Request with Α � 5, Μ�Α � Β Ρ 1 0.8 0.6 0.4 0.2 20 Β 8 10 12 14 16 18 12
α EVALUATION : ρ grows with α β > µ → Β� 20 , Α Β � k Μ , k � 1.2,1.5,1.8 ������ Ρ 1 0.8 0.6 0.4 0.2 12 Α 2 4 6 8 10 13
( α β ) EVALUATION : For large β , ρ depends on µ Α� 5 , Α Β � k Μ , k � 1.2,1.5,1.8 ������ Ρ 1 0.8 0.6 0.4 0.2 20 Β 10 12 14 16 18 14
( α β ) EVALUATION : Revocation depends on µ Revoke with Β � 20, Α Β � k Μ , k � 1, 2 ������ Ρ 1 0.8 0.6 0.4 0.2 14 Α 2 4 6 8 10 12 15
EVALUATION : Large β and α β = 2 µ → Reliable operations Revoke with Α � 5, Α Β � k Μ , k � 1, 2 ������ Ρ 1 0.8 0.6 0.4 0.2 20 Β 8 10 12 14 16 18 16
APPROACH : Parameter Selection α ← 1 , β ← 2 while Time ( request ( α, β )) < request threshold do α ++ , β ++ while Time ( revoke ( α, β )) < revoke threshold do β ++ while α β < = k.µ do β - - 17
Recommend
More recommend