cassandra distributed access control policies with
play

Cassandra: Distributed Access Control Policies with Tunable - PowerPoint PPT Presentation

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.


  1. 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. 1/12

  2. � � � � 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

  3. ✁ ✂ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✄ 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. 2/12

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

  5. ☎ ☎ 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

  6. ✡ ✆ ✆ ✝ ✞ ✆ ✟ ✌ ✠ ✞ 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

  7. ✎ ✕ ✒ ✕ ✖ ✔ ✓ ✖ ✒ ✕ ✑ ✑ ✖ ✍ ✎ ✍ ✏ ✓ ✑ ✍ ✍ ✎ ✏ ✒ ✓ 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 ✎☞✔ can activate role on ’s service? deduce canActivate ✎☞✔ add hasActivated to ’s policy Cassandra: Distributed Access Control Policies with Tunable Expressiveness – p. 4/12

  8. ✣ ✣ ✢ ✥ ✤ ✤ ✚ ✗ ✙ ✢ ✛ ✜ ✤ ✚ ✙ ✣ ✜ ✢ ✢ ✜ ✥ ✛ ✣ ✚ ✥ ✙ ✤ ✘ ✛ ✥ Access Control Semantics (2/2) can deactivate ’s role on ’s service? deduce canDeactivate ✘☞✣ under the assumption isDeactivated , deduce all isDeactivated on remove all corresponding hasActivated from ’s policy Cassandra: Distributed Access Control Policies with Tunable Expressiveness – p. 5/12

  9. ✧ ✳ ✫ ✬ ✯ ✭ ✯ ✮ ✼ ✪ ✻ ✦ ✮ ✦ ✻ ✺ ✵ ✪ ✶ ✬ ✮ ✮ ✺ ✻ ✬ ✪ ✶ ✫ ✵ ✬ ✳ ✰ ✫ ✰ ✳ ✭ ✼ ✧ ✻ ★ ✺ ✩ ✮ ✪ ✬ ✫ ✶ ✬ ✵ ★ ✩ ✮ ✮ ✫ ✳ ✬ ★ ✭ ✩ ✮ ✳ ✱ ✬ ✯ ✭ ✯ ✱ Access Control Semantics (2/2) can deactivate ’s role on ’s service? deduce canDeactivate ✧☞✭ under the assumption isDeactivated , deduce all isDeactivated on remove all corresponding hasActivated from ’s policy can request credential from ? ✰✲✱✴✳ ✷✹✸ deduce canReqCred to get ✧☞✭ ✷✹✸ deduce ✷✹✸ Cassandra: Distributed Access Control Policies with Tunable Expressiveness – p. 5/12

  10. ❑ ❖ ✿ ❋ ❂ ❃ ❄ ❋ ❑ ■ ✽ ▼ ✿ ❖ ● ❑ ❂ ❖ ❖ P ❊ ✽ P ✾ ✽ ■ ❂ ● ❑ ❀ ❅ ❆ ❊ ❋ ■ 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 ❅◆▼ ❅◆▼ ❃✹❄ ❇❉❈❊ ❇❉❈❊ ❃✹❄ ❍❏■ ❍❏■ ✿❁❀ ❋▲❑ (where , are entities and is a constraint from the ❇❉❈❊ ❍❏■ constraint domain) Cassandra: Distributed Access Control Policies with Tunable Expressiveness – p. 6/12

  11. ❭ ❫ ❲ ❪ ❛ ❛ ❜ ◗ ❝ ❵ ❛ ❵ ❝ ❛ ❙ ❝ ❯ ❞ ❝ ❱ ❯ ❪ ❳ ◗ ❘ ◗ ◗ ❯ ❙ ❚ ❨ ❪ ❫ ❭ ❵ ❞ 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 ❳◆❜ ❳◆❜ ❱✹❲ ❩❉❬❭ ❩❉❬❭ ❱✹❲ ❴❏❵ ❴❏❵ ❙❁❚ ❪▲❛ (where , are entities and is a constraint from the ❩❉❬❭ ❴❏❵ constraint domain) predicates with special access control meaning: permits , hasActivated , canActivate , canDeactivate , isDeactivated , canReqCred Cassandra: Distributed Access Control Policies with Tunable Expressiveness – p. 6/12

  12. ① ✉ r ✐ t ✇ ✉ ❣ ✇ ✐ ✉ ✇ r ♣ ② ② ♠ ❡ ❧ ❧ t ① ♣ ♣ ❣ t ❡ ✐ ✇ ✈ ❡ ❣ ② ❡ ✈ ❢ ❡ ❧ ❧ ✐ ♣ ❤ ❧ ♠ q ✉ r t t ✐ ❣ q ✐ ❥ ❦ q ✈ ✉ ✈ 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 ❧◆✈ ❧◆✈ ❥✹❦ ♥❉♦♣ ♥❉♦♣ ❥✹❦ s❏t s❏t ❣❁❤ q▲✉ (where , are entities and is a constraint from the ♥❉♦♣ s❏t constraint domain) predicates with special access control meaning: permits , hasActivated , canActivate , canDeactivate , isDeactivated , canReqCred Example: suppose a hospital’s policy contains ✐③② ④⑥⑤ canActivate Doctor ⑦⑨⑧ NHS canActivate CertifiedDoctor ④⑥⑤ Alice Cassandra: Distributed Access Control Policies with Tunable Expressiveness – p. 6/12

  13. ❽ ❻➆ ➇ ❿ ➋ ➇ ❽ ➊ ❿➈ ❿ ❿ ➇ ⑩ ❼ ❼ ➇ ➅ ➌ ❽ ➊ ➇ ➍ ❻ ❼ ❼ ❾ ➄ ❿ ➀ ➁ ➉ ➄ ➅ ➉ Constraint Domains for Tuning Expressiveness , The simplest constraint domain: ❶❸❷ ❹✴❺ ➀➃➂ true false ❻❁➉ ❻❁➊ Cassandra: Distributed Access Control Policies with Tunable Expressiveness – p. 7/12

  14. ↔ ➲ ➫ ➩ ➩ ➫ ➔ ➠ ➳ ↔ ➤ ➓ ➠ ➎ ➒ ➤ ➓ ➠ ➑ ➔ ➤ ➒ ➓ ➫ ➩ ➩ ➓ ➤ ↔➠ ➺ ➽ ↔ ↔ ➼ ➒ ➓ ➫ ➩ ➩ ➚ ↔➻ ↔ ↔ ➸ ↔ ➤ ➒ ➓ ➫ ➩ ➩ ➟ ➠ ➵ → ➟ ↔ ➜ ➶ ↔ → → ➔ ➔ ➟ ➓➞ ➝ ➜ ➝ ↔ ↔ ➙ ↕ ↔ ➣ → ➔ ➔ ➓ ➹ ↔ ➘ ↔➠ → ↔ ➎ ➛ ↔ ➩ ➩ ➩ → ➔ ➔ ➓ ➩ ➩ ➢ ➩ ➟ ➦ ➡ ➟ ↔ ➢ ➟ ➥ ➡ ➟ ↔ ➤ ➾ Constraint Domains for Tuning Expressiveness , The simplest constraint domain: ➏❸➐ ➑✴➒ ↕➃➛ true false ➓❁➡ ➓❁➢ ➏➨➧ , a useful one for complex policies: ↔➯➭ ➓❁➡▲➫ ➓❁➡ ➓❁➡▲➫ ➓❁➡▲➫ ➓❁➡ ➓❁➢ ➓❁➡ ➓❁➢ ➓❁➡ ➓❁➢ ➓➪➡ ➓➪➢ ➓➪➡ ➓➪➢ ➓➪➡ ➓➪➢ Cassandra: Distributed Access Control Policies with Tunable Expressiveness – p. 7/12

  15. á Ù Ù ➱ ✃ Þ Ý Ý Þ Ý Ö ➴ ❰ ✃ â Ö à ❰ Ù ✃ Ö ➮ ❰ Ù ➱ ✃ Þ ❰ Ö Ý Ý Õ è ❐ ❰ ❐ ç ❒ ❰ æ ➱ ✃ Þ Ý Ý Ý ❰å ä ❰ ã ❰ Ù ➱ ✃ Þ Ý Ý Ý ê é Ó ❰Ö ì ❰ ➴ ❒ ❐ ❐ Õ ✃Ô Ó Ò Ò ❒ í Ð Ï ❰ ❮ ❒ ❐ ❐ ✃ í í ➴ ❰ ë ❰Ö ❰ Õ ❰ Ñ ❰ Ý Ý Ý ❒ ❐ ❐ ✃ ❒ ➴ Ù Ø Õ Û × Õ ❰ Ø Õ Ú × Õ ❰ ❰ Constraint Domains for Tuning Expressiveness , The simplest constraint domain: ➷❸➬ ➮✴➱ Ï➃Ñ true false ✃❁× ✃❁Ø ➷➨Ü , a useful one for complex policies: ❰➯ß ✃❁×▲Þ ✃❁× ✃❁×▲Þ ✃❁×▲Þ ✃❁× ✃❁Ø ✃❁× ✃❁Ø ✃❁× ✃❁Ø ✃➪× ✃➪Ø ✃➪× ✃➪Ø ✃➪× ✃➪Ø 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

  16. ý ï ÷ ø ù ï ù ö ö ú û ü î õ ï ø õ ò ð öú ö ý õ ó ö ò ð ÷ ÷ î ÷ ÷ ö ÷ õ ü ò ÷ ÷ ö ð õ ï ð ö ÷ ÷ ø õ ý ñ ó ý ö ö öú ö ö ú ó ð ü õ ï û ÷ ÷ ï û Policy Idioms in Cassandra (1/2) appointment ï③ð ï③õ canActivate AppointEmployee ñòôó ï③ð hasActivated Manager ï③ù û❏ü canActivate Employee hasActivated AppointEmployee òôó appointment revocation ï③õ ï③ù isDeactivated Employee isDeactivated AppointEmployee òôó Cassandra: Distributed Access Control Policies with Tunable Expressiveness – p. 8/12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend