2. CUPRINS
Introducere
Cerinţe pentru controlul accesului
Abordarea folosită
Framework-ul multi-utilizator Suite
Modelul de acces al framework-ului Suite
Dimensiunea obictelor
Dimensiunea de acces
Dimensiunea subiecților
Moștenirea multidimensională și listele de acces
extinse
Concluzii
3. INTRODUCERE
Nou model de control al accesului pentru medii
colaborative
Modelul generic de pentru mediile non-colaborative nu
respectă cerinţele
Bazat pe un model generalizat de editare colaborativă
Userii interacţionează cu aplicaţia prin editarea concurentă a
structurilor de date
Datele asociate cu un set de drepturi
Specificaţii de acces multidimensionale, bazată pe moştenire
(subiect, obiect, drepturi)
4. CERINŢE PENTRU CONTROLUL ACCESULUI ÎN
MEDII COLABORATIVE
Roluri multiple şi dinamice pentru utilizatori
Drepturile de acces inferă din rol
Drepturi colaborative
Operaţiile ce afectează userii trebuie protejate
Flexibilitate
Granularitate mică a subiecţilor, obiectelor şi
drepturilor
Uşor de specificat
Stocare şi evaluare eficientă
Automatizare
5. ABORDAREA FOLOSITĂ
Foloseşte o matrice clasică de acces
A[s,o] – drepturi de acces
În plus:
Drepturi de colaborare (nou set de drepturi)
Drepturi negative
Specificaţii bazate pe moştenire
Matrice extinsă ce suportă atât subiecţi, obiecte şi drepturi
individuale cât şi grupuri
Automatizare
Mecanisme de implementare a detaliilor de acces
6. FRAMEWORK-UL MULTI-UTILIZATOR SUITE
Modelul bazat pe framefork-ul multiuser Suite
Interacțiunea cu sistemul:
Editare a datelor - variabile active: programe, funcții,
linii de cod
Variabilele au atribute – proprietățile interactive
Exemplu – Ctool
7. MODELUL DE ACCES ”SUITE”
Drepturi pozitive și negative
Acordarea sau negarea explicită a drepturilor
Starea de protecție: (S,O,A,F)
A[s,o] – matrice de drepturi
F(s,o,r,A) –> [true, false, undecided] –funcție de
inferență
Regula de acces: Pentru a avea s dreptul r asupra
obiectului o se verifica prima data matricea de
drepturi(drept pozitiv sau negativ). Altfel doar
dacă funcția F întoarce true aceesul este permis.
8. MODELUL DE ACCES ”SUITE”
DIMENSIUNEA OBIECTELOR
”Suite” suporta protecția granulată a variabilelor active
Dezavantaje: specificații de acces obositoare și uneori ineficiente
Soluție:
Specificații pentru un grup de variabile active – valoarea grupurilor
Asocierea unei directive de moștenire pentru fiecare variabilă activă
Regula de moștenire a obiectelor și rezolvareconflictelor:
Un drept r a unui subiect s asupra unui obiect o este moștenit
de la valoarea grupurilor ce conțin o alese de directiva de
moștenire F(s,V(o,r),r,A) -> F(s,o,r,A)
V(o,r) – valoarea grupurileors pecificate de directiva de
moștenire
Confict: valoare primului grup
9. MODELUL DE ACCES ”SUITE”
DIMENSIUNEA DE ACCES
”Suite” oferă suport pentru 50 de drepturi
Relația ”include” - gruparea logică a
drepturilor
Regula 1 de moștenire a drepturilor:
F(s,o,R,A) -> F(s,o,r,A)
F(s,o,-R,A) -> F(s,o,-r,A) , R include r
10. MODELUL DE ACCES ”SUITE”
DIMENSIUNEA DE ACCES
Relația ”implică” – un drept mai puternic
implică un drept mai slab (insert implică read)
Doar drepturile pozitive sunt moștenite(write implică
read dar -write nu implica -read)
Ajută la descoperirea conflictelor
Regula 2 de moștenire a drepturilor:
F(s,o,rx,A) -> F(s,o,r,A), rx implică r
11. MODELUL DE ACCES ”SUITE”
DIMENSIUNEA DE ACCES
Relațiile ”implică” și ”include” au multiple surse de
moștenire
Pot apărea conflicte
Regula de rezolvare a conflictelor drepturilor:
Relația ”implică” este folosită în favoarea relației ”include” în
cazul unui conflict.
Definită asupra drepturilor individuale
Există chiar dacă grupurile de drepturi nu sunt definite
Introdusă pentru consistența drepturilor
12. MODELUL DE ACCES ”SUITE”
DIMENSIUNEA SUBIECțILOR
Subiect
Utilizator specific /Rol
Relația ”take” asociază un rol unui subiect
Regula 1 de moștenire a subiecților:
F(S,o,r,A) ->F(s,o,r,A)
F(S,o,-r,A) ->F(s,o,-r,A), s ia rolul S
13. MODELUL DE ACCES ”SUITE”
DIMENSIUNEA SUBIECțILOR
Relația ”have” – moștenirea unor drepturi pozitive
selectate
SxRxS –{true,false}
Regula 2 de moștenire a subiecților:
Dacă have(s1,r,s2)=true => F(s2,o,r,A) –>F(s1,o,r,A)
14. MODELUL DE ACCES ”SUITE”
DIMENSIUNEA SUBIECțILOR
Regula 1 de rezolvare a conflictelor subiecților:
Cel mai specific rol definit de relația ”take” trebuie
folosit prima dată.
Regula 2 de rezolvare a conflictelor subiecților:
În cazul unui conflict, definiția de acces care apare
prima în lista de acces este aleasă.
Regula 3 de rezolvare a conflictelor subiecților:
Relația ”take” este folosită în favoarea relației ”have” în
caz de conflict.
are atât drepturi pozitive cât și negative
preia drepturile moștenite direct de la rolul pe care îl are
15. MOșTENIREA MULTIDIMENSIONALĂ șI
LISTELE DE ACCES EXTINSE
Reprezentarea matricei de acces:
Lista de capabilități: subiect-(obiect,drepturi)
Listă de acces: obiect-(subiect,drepturi)
Mai eficientă:
Lista de acces extinsă
Obiect – (r, u-list); u-list string de forma 1122
U-list sortată topologic în funcție de relația ”take”
1. Moștenirea dimensiunii subiecților
2. Moștenirea dimensiunii drepturilor
3. Moștenirea dimensiunii obiectelor
4. Drepturi negative
16. CONCLUZII
Indentificate cerințele modelului
Principalele componente sunt:
Un set generic de drepturi colaborative
Specificații granulate a drepturilor de acces
Roluri multiple și dinamice
Un set de reguli de moștenire pentru subiecți, obiecte și
drepturi
Un set de reguli pentru rezolvare conflictelor
Limitare
Obiectele protejate – variabile active
Îmbunătățiri
Alte obicte ce au nevoie de protecție:
ferestre, sesiuni, subiecți
Editor's Notes
Although generic access control models have been studiedextensively in non-collaborative domains,
-Modelulbazatpeframefork-ul multiuser Suiteframework-ulpermiteinteraciune cu sistemul ca editareconcurenta a structurimici de date numitevariabile active (programs, functions, and lines)Fiecarevariabilaactiva are un set de atribute -> determinnaproprietati interactiveExemplu de Suite framework ->Ctool – editaresitestarefunctii C
Ca si sitemelel convetionale, Suite suporta drepturi pozitive – acordare explicita a drepturilorIn plus, suporta si drepturi negative – negarea unui dreptExemplu1: dacă dorim sa impliedicam un utilizator citirea unei linii dintr-un program de 1000 de lini, in loc sa permitem citirea a 999 de linii e mai simplu sa-i permitem citirea asupra programului si ii setam o permisune negativa de citire asupra liniei respectiveExemplu2: un user vrea sa permita citirea unui comentariu privat tuturor userilor cu rolul ”Suite” mai putin unui anumit userDaca ar exista doar roluri pozitive ar fi necesara permitere explicita a acestui drept fiecarui user cu rolul ”Suite” mai putin a userului caruia nu dorim sa-i acordam acest dreptDezavantaje: - neplacut de specificat definitiile accesului data sunt multi membrii - daca userii pot prelua rolul dinamic, specificatia poate devenii invalida pe viitorSolutia: - acces pozitiv pentru rolul ”suite”(S,O,A,F)S- set de subiecții consistând din useri individuali si grupuriO – set de obicte individuale sau grupuriA –matrice extinsa reprezentand drepturile specificate explicitF(s,o,r,A) –>[true, false, undecided]– funtie de inferenta permitand inferenta drepturilor ce nu au fost explicit specif
Exemplu:Pp ca nu dorim ca un user sa poata sa stearga nici o linie din programNe-ar tebui specificatii de acces pentru fiecare liniePlictisitorSistemul ar trebui sa stocheze toate specificatiileVariabilele active structurate după proprietatile:Parinti structuraliTip-Asocierea unei directive de moștenire - specifica de la care grupuri ar trebui sa provina specificatiile de acces - ordinea in care ar trebui aleseExemplu: - doresti sa impiedi un utilizator sa stearga orice functie - drept degativ asupra grupului ”function” – nici o linie din functii nu va putea fi stearsa
Grupul nu defineste o operatie specificaRegula1:Un drept pozitiv sau negativ al unui subiect s asupra unui obiect o este mostenit de la grupul de care apartineExemplu: presupunem ca dapu un timp, userul a doreste sa permita userului b dreptul de stergere, inserare, modificare dar totusi vrea inca sa impiedice cuplareaDrepturile granulate impreuna cu grupurile de drepturi permit un control fin si elibereaza userul de taskul obositor de specificare a drepturilor
Dar, relatia de includere a drepturilor nu este suficienta pt a specifica usor si consistent drepturile:Relatia ”implica” : un drept mai puternic implica un drept mai slab (insert implica read)Regula 2: daca un drept r al unui subiect s asupra unui obiect o este nedecis, este mostenit de la drepturile ce implica r
Relatiileimply si include permit multiple surse de mostenireExemplu: a are drept negativ DataR si un drep pozitiv de insertR. Din prima negativ ReadR din a 2-a pozitiv ReadR -> conflict
Un subiect ia un rol daca este definita o mapare intre subiect si rol care poate fi schimbata dinamicRegula1: subiectii mostenesc drepturile pozitive si negative prin maparea unui s la un rol SWe define a relationship have, which treatspositive access rights as privileges and supports inheritanceof selected privileges
Regula2>dacas1 are drepturilepozitive r ale luis2,
Conflict2: dacarolulserc are drepturipozitiveiar student are drepturi negative, cum decide pentruuserulrxc?Se poate ca 2 roluri serc si student sa nu aiba relatia de take.. In acest se interpreteaza pozitia in lista de acces ce correspunde euristicii de a pune rolurile mai importante primeleConflict3: cand un drept negativ provine din relatia take si un drep pozitiv provine din relatia haveEste preferata relatia take pt ca: -are atat drepturi pozitive cat si negative - proia drepturi mostenite direct de la rolul care il are
In ce ordine sunt folosite mostenirile acestor 3 dimensiuni?Raspunsul afecteaza semantica si eficientaNu se stie care rezolvare a conflictului este mai importanta, de aceea folosim metoda mai eficienta care se refera da structurile de date folosite pentru a reprezenta matricea de acces.(1.liste de capabilitati sau 2.liste de acces)1. subiect –(obiect,drepturi)=capabilitati – cautarea incepe de la dimensiune subiect – mai eficient2.Fiecare obiect asociat (subiect,drepturi)=acces list – cautarea incepe de la dimensiunea obiect