Role-‑Based ¡Access ¡Control ¡ CS461/ECE422 ¡ Spring ¡2012 ¡
Reading ¡Material ¡ • Chapter ¡4, ¡sec?ons ¡4.5 ¡and ¡4.6 ¡ • [SFK00] ¡
DAC ¡vs ¡RBAC ¡ • DAC ¡ – Users, ¡Groups ¡ à ¡Permissions ¡ • RBAC ¡ – Roles ¡ à ¡Permissions ¡ – Users ¡ à ¡Roles ¡ – Many-‑to-‑many ¡rela?ons ¡ • Difference ¡between ¡groups ¡and ¡roles? ¡ – Groups: ¡collec?on ¡of ¡users ¡ – Roles: ¡ • collec?on ¡of ¡permissions ¡ and/or ¡users, ¡and ¡possibly ¡other ¡ roles ¡[S96] ¡ • job ¡func?on ¡within ¡an ¡organiza?on ¡[text] ¡
Basic ¡RBAC ¡Illustrated ¡ Permissions ¡ Users ¡ Roles ¡ (Objects) ¡ Rela8ons: ¡ Role ¡1 ¡ User ¡ Assignment ¡(UA) ¡ Role ¡2 ¡ Permission ¡ Assignment ¡(PA) ¡ Role ¡3 ¡
Access ¡Matrix ¡Representa?on ¡ (Users, ¡Roles) ¡ (Roles, ¡Objects) ¡ -‑ ¡Similar ¡to ¡DAC ¡ACM ¡ -‑ ¡Roles ¡can ¡be ¡ Objects ¡
RBAC ¡Reference ¡Models ¡[SCFY96] ¡ • RBAC 0 ¡ – Minimum ¡func?onality ¡ • RBAC 1 ¡ – RBAC 0 ¡+ ¡Role ¡hierarchies ¡ • RBAC 2 ¡ – RBAC 0 ¡+ ¡Constraints ¡ • RBAC 3 ¡ – RBAC 0 ¡+ ¡RBAC 1 ¡+ ¡RBAC 2 ¡
RBAC 0 ¡– ¡Base ¡ • Users: ¡individuals ¡with ¡access ¡to ¡the ¡system ¡ • Role: ¡named ¡job ¡func?on ¡within ¡the ¡org ¡ • Permission: ¡approval ¡of ¡a ¡par?cular ¡mode ¡of ¡access ¡to ¡objects ¡ • Session: ¡mapping ¡between ¡a ¡user ¡and ¡a ¡subset ¡of ¡roles ¡
RBAC 1 ¡– ¡Role ¡Hierarchies ¡ • Reflect ¡hierarchical ¡structure ¡of ¡roles ¡in ¡org ¡ • Mathema?cally, ¡par?al ¡order ¡(reflexive, ¡ transi?ve, ¡an?-‑symmetric) ¡ Example ¡of ¡Role ¡Hierarchy ¡ Limi?ng ¡the ¡scope ¡of ¡inheritance: ¡ Role ¡Hierarchy ¡with ¡ private ¡roles ¡
RBAC 2 ¡– ¡Constraints ¡ • Reflect ¡higher-‑level ¡organiza?onal ¡policy ¡ • Mutually ¡exclusive ¡roles ¡(U ¡ à ¡R ¡and ¡R ¡ à ¡P) ¡ • Cardinality ¡– ¡maximum ¡number ¡with ¡respect ¡ to ¡role ¡ • Prerequisite ¡– ¡can ¡assign ¡role ¡only ¡if ¡already ¡ assigned ¡prerequisite ¡role ¡ – Remember, ¡no ¡hierarchies ¡in ¡RBAC 2 ¡
RBAC 3 ¡– ¡Consolidated ¡Model ¡
NIST ¡RBAC ¡Model ¡[SFK00] ¡ • RBAC ¡System ¡and ¡Administra?ve ¡Func?onal ¡ Specifica?on ¡ • Three ¡categories ¡of ¡features/func?ons: ¡ – Administra8ve ¡func8ons: ¡create, ¡delete, ¡maintain ¡ RBAC ¡elements ¡and ¡rela?ons ¡ – Suppor8ng ¡system ¡func8ons: ¡session ¡management, ¡ access ¡control ¡decisions ¡ – Review ¡func8ons: ¡query ¡opera?ons ¡on ¡RBAC ¡ elements ¡and ¡rela?ons ¡ • Four ¡components: ¡Core ¡RBAC, ¡Hierarchical ¡RBAC, ¡ Sta?c ¡and ¡Dynamic ¡Separa?on ¡of ¡Duty ¡(SSD, ¡DSD) ¡
Core ¡RBAC ¡ • Same ¡as ¡RBAC 0 ¡(users, ¡roles, ¡ permissions , ¡sessions) ¡ – Object: ¡any ¡resource ¡ – Opera?on: ¡executable ¡image ¡of ¡a ¡program ¡ – Permission: ¡approval ¡to ¡perform ¡an ¡ opera/on ¡on ¡ object(s) ¡ ¡ Administra8ve ¡func8ons: ¡ add/delete ¡users ¡and ¡roles, ¡create/delete ¡user-‑ • to-‑role ¡and ¡permission-‑to-‑role ¡assignments ¡ Suppor8ng ¡system ¡func8ons: ¡ session ¡ ß ¡create, ¡add/delete ¡role, ¡check ¡ • permission ¡ Review ¡func8ons: ¡ enable ¡admin. ¡to ¡view ¡en?re ¡model ¡ •
Hierarchical ¡RBAC ¡ • Similar ¡to ¡RBAC 1 ¡ • r 1 ¡is ¡a ¡ descendant ¡of ¡ r 2 ¡if: ¡ – r 1 ¡includes ¡all ¡ permissions ¡from ¡ r 2 ¡ – All ¡ users ¡assigned ¡to ¡ r 1 ¡are ¡also ¡assigned ¡to ¡ r 2 ¡ • General ¡role ¡hierarchies ¡ – Arbitrary ¡par?al ¡order, ¡mul?ple ¡inheritance ¡ • Limited ¡role ¡hierarchies ¡ – Tree ¡structure, ¡single ¡descendant ¡allowed ¡ ¡ Administra8ve ¡func8ons: ¡ add/delete ¡immediate ¡inheritance ¡rela?onship, ¡ • create ¡new ¡role ¡and ¡add ¡it ¡as ¡ascendant ¡or ¡descendant ¡ Review ¡func8ons: ¡ enable ¡admin. ¡to ¡view ¡users/permissions ¡directly ¡or ¡by ¡ • inheritance. ¡
Sta?c ¡Separa?on ¡of ¡Duty ¡(SSD) ¡ • Prevents ¡conflict ¡of ¡interest ¡ • Cardinality ¡constraint ¡on ¡a ¡set ¡of ¡roles ¡ – SSD ¡:= ¡( role ¡set , ¡ n ) ¡where ¡no ¡user ¡is ¡assigned ¡to ¡ n ¡ or ¡more ¡roles ¡from ¡the ¡ role ¡set ¡ • Mutual ¡exclusive ¡roles ¡as ¡a ¡special ¡case: ¡ – SSD ¡:= ¡({ r 1 , ¡ r 2 }, ¡2) ¡ ¡ • Administra8ve ¡func8ons: ¡ create/delete ¡role ¡sets, ¡add/delete ¡role ¡ members ¡ • Review ¡func8ons: ¡ view ¡proper?es ¡of ¡SSD ¡sets ¡
Dynamic ¡Separa?on ¡of ¡Duty ¡(DSD) ¡ • Similar ¡to ¡SSD, ¡but ¡ac?vated ¡within ¡sessions ¡ • Typically ¡for ¡temporal ¡conflicts ¡of ¡interest ¡ • Defini?on ¡ – DSD ¡:= ¡( role ¡set , ¡ n ) ¡( n ≥2) ¡no ¡user ¡session ¡may ¡ ac?vate ¡≥ n ¡roles ¡from ¡ role ¡set ¡ • Example: ¡Author ¡and ¡PC ¡member ¡(conference) ¡ • Administra?ve ¡and ¡review ¡func?ons: ¡similar ¡to ¡SSD ¡
Unspecified ¡by ¡NIST ¡RBAC ¡ • Scalability ¡ • Authen?ca?on ¡ • Nega?ve ¡permissions ¡ • Nature ¡of ¡permissions ¡ • Discre?onary ¡role ¡ac?va?on ¡ • Role ¡engineering ¡ • Constraints ¡ • RBAC ¡administra?on ¡ • Role ¡revoca?on ¡
NIST ¡Model ¡Revisited ¡
Role ¡Engineering ¡(RE) ¡ • Defini?on ¡of ¡roles ¡can ¡be ¡difficult; ¡essen?ally ¡a ¡ requirements ¡engineering ¡process ¡ • RE ¡is ¡required ¡to ¡implement ¡an ¡abstract ¡model ¡ • Basic ¡process ¡[C96] ¡ collect ¡ group ¡into ¡ name ¡ remove ¡ describe ¡ ac?vi?es ¡ clusters ¡ clusters ¡ duplicates ¡ role ¡ simulate ¡ iden?fy ¡minimal ¡set ¡ candidates ¡ ac?vi?es ¡ of ¡permissions ¡ • Role ¡predic?on ¡[Z+11] ¡ – Use ¡sta?s?cal ¡models ¡to ¡analyze ¡audit ¡logs ¡ – Predict ¡roles, ¡detect ¡anomalies ¡ – Refine ¡roles ¡(generalize ¡or ¡split) ¡
Case ¡Study: ¡RBAC ¡for ¡a ¡Bank ¡[SMJ01] ¡ • Prior ¡to ¡1990 ¡used ¡local ¡access ¡control ¡files ¡ – manually ¡administered ¡for ¡each ¡user, ¡applica?on, ¡ and ¡host ¡ à ¡administra?ve ¡overhead, ¡error-‑prone ¡ • Implemented ¡RBAC ¡scheme ¡(Authoriza?on) ¡ • Applica?ons ¡no ¡longer ¡make ¡AC ¡decisions; ¡ query ¡Authoriza?on ¡for ¡a ¡security ¡profile ¡ instead ¡ • Role ¡:= ¡(official ¡posi?on, ¡job ¡func?on) ¡ – (different ¡from ¡NIST ¡RBAC) ¡
Architecture ¡ Authoriza8on ¡
Role ¡Administra?on ¡
Numbers ¡ • 65 ¡official ¡posi?ons, ¡368 ¡job ¡func?ons ¡ • 50,659 ¡employees ¡ • 1300 ¡roles ¡(poten?ally ¡23,920) ¡ – Agrees ¡with ¡es?mate ¡– ¡#roles ¡is ¡3-‑4% ¡of ¡#users ¡ • 42,000 ¡security ¡profiles ¡distributed ¡daily ¡
Key ¡Points ¡ • Roles ¡are ¡collec?ons ¡of ¡permissions, ¡users, ¡ and ¡possibly ¡other ¡roles ¡(many-‑to-‑many) ¡ • Role ¡hierarchies ¡simplify ¡RBAC ¡management ¡ and ¡can ¡be ¡derived ¡from ¡org ¡structure ¡ • Constraints ¡prevent ¡conflict ¡of ¡interest ¡ • RBAC ¡implementa?ons ¡simplify ¡access ¡control ¡ but ¡may ¡require ¡role ¡engineering ¡
Recommend
More recommend