Cassandra: Distributed Access Control Policies with Tunable Expressiveness

Similar documents
Cassandra: Distributed Access Control Policies with Tunable Expressiveness Moritz Y. Becker, and Peter Sewell, 5 th IEEE POLICY, 2004

Pointers & Arrays. CS2023 Winter 2004

Pointers. CS2023 Winter 2004

Lecture 5 C Programming Language

This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0.

Personal Conference Manager (PCM)

Cartons (PCCs) Management

APPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC

ConMan. A Web based Conference Manager for Asterisk. How I Managed to get Con'd into skipping my summer vacation by building this thing

Banner 8 Using International Characters

Modules. CS2023 Winter 2004

ERNST. Environment for Redaction of News Sub-Titles

State of Connecticut Workers Compensation Commission

ClaimSpotter: an Environment to Support Sensemaking with Knowledge Triples

) $ G}] }O H~U. G yhpgxl. Cong

ASCII Code - The extended ASCII table

Adorn. Serif. Smooth. v22622x

Communication and processing of text in the Kildin Sámi, Komi, and Nenets, and Russian languages.

BUCKLEY. User s Guide

CMPT 470 Based on lecture notes by Woshun Luk

To provide state and district level PARCC assessment data for the administration of Grades 3-8 Math and English Language Arts.

124 DISTO pro 4 / pro 4 a-1.0.0zh

font faq HOW TO INSTALL YOUR FONT HOW TO INSERT SWASHES, ALTERNATES, AND ORNAMENTS

Adorn. Slab Serif Smooth R E G U LAR. v22622x

HoneyBee User s Guide

Appendix C. Numeric and Character Entity Reference

III. CLAIMS ADMINISTRATION

Version /10/2015. Type specimen. Bw STRETCH

Adorn. Serif. Smooth. v22622x. user s guide PART OF THE ADORN POMANDER SMOOTH COLLECTION

Communication and processing of text in the Chuvash, Erzya Mordvin, Komi, Hill Mari, Meadow Mari, Moksha Mordvin, Russian, and Udmurt languages.

1. Oracle Mobile Agents? 2. client-agent-server client-server

Contrast. user s guide

OOstaExcel.ir. J. Abbasi Syooki. HTML Number. Device Control 1 (oft. XON) Device Control 3 (oft. Negative Acknowledgement

O Type of array element

DENIC Domain Guidelines

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper December 2011

ESCAPE SEQUENCE G0: ESC 02/08 04/13 C0: C1: NAME Extended African Latin alphabet coded character set for bibliographic information interchange

Models, Notation, Goals

Probabilistic analysis of algorithms: What s it good for?

USB-ASC232. ASCII RS-232 Controlled USB Keyboard and Mouse Cable. User Manual

Sheila. Regular Bold. User s Guide

1 Swing 2006A 5 B? 18. Swing Sun Microsystems AWT. 3.1 JFrame JFrame GHI

Adorn. Slab Serif BOLD. v x. user s gu ide

Bold U S E R S G U I D E

A Flexible Agent-Based Framework for Process Management

font faq HOW TO INSTALL YOUR FONT HOW TO INSERT SWASHES, ALTERNATES, AND ORNAMENTS

Getting round your Mac with Shortcut Keys

font faq HOW TO INSTALL YOUR FONT HOW TO INSERT SWASHES, ALTERNATES, AND ORNAMENTS

MAT 22B-001: Differential Equations

A Mixed Fragmentation Algorithm for Distributed Object Oriented Databases 1

Description AX5805. Default values for the permissible motors. Version: Date:

Banks Tupas Certification Service for Service Providers

Banks' TUPAS certification service for service providers

ADORN. Roman. v x. user s gu ide

Adorn. Serif. v x. user s gu ide

Second Year March 2017

Infusion Pump CODAN ARGUS 717 / 718 V - Release Notes. Firmware V

For information on how to access the swashes and alternates, visit LauraWorthingtonType.com/faqs

IPv6 Servic es. LONG Net w ork

]a a. ] v. A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (3rd Edition), The McGraw Hill Company, 1997.

Myriad Pro Light. Lining proportional. Latin capitals. Alphabetic. Oldstyle tabular. Oldstyle proportional. Superscript ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹,.

KbdKaz 500 layout tables

{c,} c 00E7 ç &ccedil LATIN SMALL LETTER C WITH CEDILLA {'e} e 00E8 è &egrave LATIN SMALL LETTER E WITH GRAVE {e'} e 00E9 é &eacute LATIN SMALL

Chemistry Hour Exam 2

User Guide for Greek GGT-Fonts Revision date: 23 May, 2011

UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS1614. DATE: 5 March 2015 MARKS: 100 SECTION A (36)

7DONSODQ. ƒ We called our platform 9 D-II TG: Distributed Internet Traffic Generator

Editors: prof. Ing. Iveta Ubrežiová, CSc., Ing. Drahoslav Lančarič, PhD., Ing. Ingrida Košičiarová, PhD. ISBN

font faq HOW TO INSTALL YOUR FONT HOW TO INSERT SWASHES, ALTERNATES, AND ORNAMENTS

A Survey of Current CLOS MOP Implementations

Pe h-ōe-jī Unicode Correspondence Table

Using SmartXplorer to achieve timing closure

A COMPARISON BETWEEN OBJECT-ORIENTED DATABASE SYSTEMS AND INFORMATION SYSTEM SHELLS

The linear transformation X À Ä given by XÐBÑ œ EB is invertible À that is, there

suas das maior do o simples soma é que todo a partes

UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS1614

You 2 Software

Using non-latin alphabets in Blaise

Introduction to operation

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

options (alternatives)

Chap. 3. Chap. 3. Recall and Precision Alternative Measures. TREC Collection CACM and ISI Collections CFC (Cystic Fibrosis Collection)

How to Implement DOTGO Engines. CMRL Version 1.0

mdput for mathematical typesetting with Adobe Utopia Paul Pichaureau January 29, 2006

Alfred Aho Brian Kernighan Peter Weinberger gawk awk GUN. GNU linux. gawk

KBD-SFTCFG. Instruction Manual Software for the IntuiKey Series Digital Keyboard Software Version 1.80

Quantum. Name: Quantum. Classification: Display Sans Serif. Designer: Hitesh Malaviya (Rocky) Designed in: Styles: 5.

Crystal Structure and Superhydrophilic Property of TiO 2 Thin Film Coated on Si(100) Wafer

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

V Y. Fragment Pro. Fragment Pro. 1 Copyright 2013 Vít Šmejkal All rights reserved

The course that gives CMU its Zip! Web Services Nov 26, Topics HTTP Serving static content Serving dynamic content

From Tableaux to Automata for Description Logics

This proposal is limited to the addition and rearrangement of some of the Korean character part of ISO/IEC (UCS2).

Calligraphic Packing. Craig S. Kaplan. Computer Graphics Lab David R. Cheriton School of Computer Science University of Waterloo. GI'07 May 28, 2007

Effective Sequential Pattern Mining Algorithms for Dense Database

Meta-Policies for Distributed Role-Based Access Control Systems

FUNERAL HOMES SYSTEM ADMINISTRATOR MAINTENANCE TOOLS

Information Retrieval. Lecture 3: Evaluation methodology

SMS API TECHNICAL SPECIFICATION

Sklonar. Number of fonts in a family: 3 (Light, Medium, Bold) Number of glyphs per font: 411 Release date: 2016

Transcription:

Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 1/12 Cassandra: Distributed Access Control Policies with Tunable Expressiveness Moritz Y. Becker and Peter Sewell Computer Laboratory, University of Cambridge, U.K.

Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 2/12 Cassandra: Yet Another PSL? Cassandra distributed Trust Management rule-based policy specification language (PSL) role-based: activation, deactivation, actions distributed: credential management

Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 2/12 Cassandra: Yet Another PSL? Cassandra distributed Trust Management rule-based policy specification language (PSL) role-based: activation, deactivation, actions distributed: credential management Why YAPSL? wide range of applications need tunable expressiveness formal semantics: language and dynamics distributed query evaluation with guaranteed termination practical foundation: real-life case study

Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 3/12 Cassandra Overview perform action activate role deactivate role request credential Interface Cassandra Entity Access Control Engine invoke modify grant access C remote query Policy Evaluator Policy (rules & credentials) Resources (Actions) query

Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 4/12 Access Control Semantics (1/2) What: specifies dynamic meaning of 4 requests Why: makes subtle design decisions explicit

Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 4/12 Access Control Semantics (1/2) What: specifies dynamic meaning of 4 requests Why: makes subtle design decisions explicit can perform action on s service? deduce permits

Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 4/12 Access Control Semantics (1/2) What: specifies dynamic meaning of 4 requests Why: makes subtle design decisions explicit can perform action deduce permits on s service? can activate role deduce canactivate add hasactivated on to s service? s policy

Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 5/12 Access Control Semantics (2/2) can deactivate s role deduce candeactivate on under the assumption isdeactivated deduce all isdeactivated on s service? remove all corresponding hasactivated, from s policy

!! & & & & & " " # ' ' 56 7 $ ) * '* ( % % ' 56 56 ) ) * '* ( 6 % 7 % Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 5/12 Access Control Semantics (2/2) can deactivate s role deduce candeactivate on ) $ # ( "( under the assumption isdeactivated deduce all isdeactivated on s service? remove all corresponding hasactivated, ) $ # ( from s policy can request credential deduce canreqcred deduce +,..0 ) '243 1 +-,/..0 +,..0 "( ) '243 1 ) '243 1 from to get?

8 8 8 A F : F E F O 9 : O O Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 6/12 Policy Specification entities control access to their resources with a Cassandra policy a policy is a set of rules based on Datalog rules are of the form K @NM E =>4? GHJI BDCE M KK @NM =>? I OK GHJI I FLK BDCE @ ; =>4? :<; (where, are entities and constraint domain) BDCE P HJI I P is a constraint from the

Q Q Q Q Y ] \ c R ca S c c Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 6/12 Policy Specification entities control access to their resources with a Cassandra policy a policy is a set of rules based on Datalog rules are of the form a XNb \ UV4W ^_J` ` ZD[\ b aa XNb ] UV W S ] ]La ^_J` ` ZD[\ X T UV4W S<T (where, are entities and constraint domain) ZD[\ d _J` ` d is a constraint from the predicates with special access control meaning: permits, hasactivated, canactivate, candeactivate, isdeactivated, canreqcred

e e e e e y r m q i g p t g q p m q w f i g p t g w w Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 6/12 Policy Specification entities control access to their resources with a Cassandra policy a policy is a set of rules based on Datalog rules are of the form u lnv p ij4k rsjt ndop v uu lnv ij k t wu rsjt t qlu ndop l h ij4k g<h (where, are entities and constraint domain) ndop x sjt t x is a constraint from the predicates with special access control meaning: permits, hasactivated, canactivate, candeactivate, isdeactivated, canreqcred Example: suppose a hospital s policy contains canactivate vdoctor NHS vcertifieddoctor izy u canactivate i y l l {} y l l v {} Alice ~

ˆˆ ˆˆ Š Œ Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 7/12 Constraint Domains for Tuning Expressiveness ƒ /, The simplest constraint domain: Œ Ž true false < <

Ÿ Ÿ «ª «Ÿ «Ÿ ª Ÿ ³³³ À ¼ ¾ Â Ä ª ³³³ Constraint Domains for Tuning Expressiveness, The simplest constraint domain: /ž œ š ª ª ª ª Ÿ< false true, a useful one for complex policies: ²± š ««µ Ÿ ž ³³ Ÿ< Ÿ ž ³³ Ÿ< L ½» º ¹ «Ÿ< Ÿ< Ÿ< Ÿ ž ³³ Ÿ< L Ÿ ž ³³ Ÿ< L ŸÁ à ŸÁ ŸÁ ŸÁ Ÿ< Ÿ< Ÿ< Ÿ< ŸÁ ŸÁ Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 7/12

ÔÊ Ó Ó Ò Ò Í Ê Ö Û Ú Õ Ö Ù Ê Ö È Ù Ê Õ Ñ Ê ÝÝÝ é å è ç ê ì Õ Ì ÝÝÝ Å í í í Å Constraint Domains for Tuning Expressiveness, The simplest constraint domain: È/É Æ Ç Å Ï Ñ Ð Ï ËËÌ Ù Õ Ø Õ Õ Ø Õ Ê<Ø Ì Ê< false true ËËÌ, a useful one for complex policies: Æ²Ü Å Ù Ö á Ö à Ù ß Ê É ÞÝÝ Ê< Þ Ê É ÞÝÝ Ê< LÞ ËËÌ æ ä ã Ù â Ö Ê<Ø Ê< Ê<Ø Ê< Ê<Ø Ê< Ê É ÞÝÝ Ê< LÞ Ê É ÞÝÝ Ê< LÞ ÊÁØ ÊÁ ÊÁØ ë ÊÁ ÊÁØ ÊÁ ËËÌ Constraint domains must support satisfiability checking projection subsumption checking For guaranteed termination, constraint domains have to be constraint compact Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 7/12

î î ö ö ï ö ø ø ø ö ö Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 8/12 Policy Idioms in Cassandra (1/2) appointment canactivate ïzð hasactivated canactivate ï õ ð hasactivated ñòôó ïzð AppointEmployee Manager ñòó óemployee ý õ òôó û ü úö ö ï ù appointment revocation isdeactivated óemployee isdeactivated ïzõ ð ý õ òôó û ü úö ö ï ù ïzõ ð ý õ ò ûjü úö ö ïzù AppointEmployee ý õ ò û ü úö ö ïzù AppointEmployee ï õ ð ï õ ð

þ þ þ ÿ ÿ ÿ ÿ Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 9/12 Policy Idioms in Cassandra (2/2) grant-dependent vs grant-independent appointment revocation candeactivate ÿ AppointEmployee ÿ candeactivate hasactivated ÿ Manager AppointEmployee cascading appointment revocation isdeactivated isdeactivated AppointEmployee ÿ ÿ AppointManager others: role hierarchy, role delegation, separation of duties, role validity dates, cardinality/manifold constraints, trust negotiation,... ÿ

Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 10/12 National EHR in UK NHS planning ICRS with online EHR for clinicians and patients Difficulties: huge: 100m records, 400m episodes/yr, 1bn accesses/yr changing requirements distributed policies patient confidentiality requirements access control can be configured by patients/clinicians Our three layer approach: Master Patient Index (1), EHR servers (100s), health orgs (1000s) Cassandra policies for all layers: 310 rules, 58 roles, 10 actions patient consent, third-party consent, personal AC configuration, legal agents, staff appointment, clinician certification

!! -. " - $ /, +*! "! %! " ' ", +* Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 11/12 An Example from the EHR Policy Prerequisite for Treating-clinician canactivate & canactivate ( Treating-clinician Group-treating-clinician NHS-health-org-cred & hasactivated ) NHS-registration-authorities Current-time $ $ $ # $$ $$ #

0 0 0 0 0 0 Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 12/12 Conclusion Cassandra s expressiveness is tunable; very expressive with high-level enough for concise and readable policies low-level enough to express wide range of policies formal foundation substantial case study prototype implementation 132