access control matrix
DESCRIPTION
ACCESS CONTROL MATRIX. STUDENTE: COCUZZI NICOLETTA MATR.:3037571. ARGOMENTI TRATTATI. Protection state Access Control Matrix Modello ACM Meccanismi di rappresentazione di ACM Access Control List Capability Revoca dei diritti Protection state transition Comandi di transizione - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/1.jpg)
ACCESS CONTROL MATRIX
STUDENTE: COCUZZI NICOLETTAMATR.:3037571
![Page 2: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/2.jpg)
ARGOMENTI TRATTATI
Protection state Access Control Matrix Modello ACM Meccanismi di rappresentazione di ACM
o Access Control Listo Capabilityo Revoca dei diritti
Protection state transitiono Comandi di transizioneo Comandi condizionali
Diritti speciali Attenuation of privilege
![Page 3: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/3.jpg)
PROTECTION STATE
PROTECTION SYSTEM: descrive le condizioni in base alle quali un sistema può definirsi sicuro.
E’ caratterizzato da due elementi fondamentali:1. un insieme generico di diritti;2. un insieme di comandi;
![Page 4: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/4.jpg)
PROTECTION STATE (2)
PROTECTION STATEPROTECTION STATE:: Lo STATO (state) di un sistema è una collezione di valori
correnti riferiti a:1. Tutte le locazioni di memoria, dei registri, della
memoria secondaria etc… 2. Tutte le altre componenti del sistema
La PROTEZIONE è l’insieme dei meccanismi usati da un sistema informatico per il controllo dell’accesso alle risorse
Goal: dimostrare che tutte le operazioni nel sistema conservano la sicurezza nello stato di protezione
![Page 5: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/5.jpg)
PROTECTION STATE (3)
P = stato di protezione;Q = stato in cui il sistema è sicuro;
Q ⊆ PP - Q = tutti gli elementi di P che non sono in Q
Allora:1. Ogni volta che il sistema è in Q, il sistema è
sicuro;2. Quando lo stato corrente è in P-Q il sistema
non è sicuro.
![Page 6: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/6.jpg)
PROTECTION STATE (4)
1. Un cambiamento del sistema può risolversi in un cambiamento dello stato di protezione.
Tali cambiamenti sono, spesso, forzati.
2. L’insieme degli stati e delle operazioni consentite ad ogni elemento dell’insieme sono definiti.
Le operazioni consentite ad uno stato autorizzato generano un altro stato autorizzato.
In pratica un’operazione può generare uno stato di transizione multiplo.
![Page 7: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/7.jpg)
ACCESS CONTROL MATRIX
E’ una formulazione classica di un sistema di protezione.
Inoltre è uno degli strumenti più precisi usato per descrivere il corrente stato di protezione.
![Page 8: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/8.jpg)
NASCITA ACM
1. Sviluppato da Lampson nel 1971;
2. Perfezionato da Graham e Denning tra il 1971 e il 1972.
![Page 9: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/9.jpg)
IL MODELLO
Lo stato di protezione del sistema è rappresentato da una tripla:
M = (S, O, A)Dove:S = insieme di soggetti (entità attive); es. user,
processi, dispositivi etc…;O = insieme di oggetti (entità passive); es. file,
memoria etc…;A = insieme di regole che specificano i modi in
cui i soggetti possono avere accesso agli oggetti
Nota: ogni soggetto può anche essere un oggetto
![Page 10: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/10.jpg)
IL MODELLO (2)
Nella matrice sono catturate tutte le relazioni tra le entità:
R ➠ a[s,o] dove s ∈ S, o ∈ O
A [s,o] ⊆ R; A [s,o] ➠ insieme di privilegi/diritti/azioni di s su
o.
![Page 11: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/11.jpg)
IL MODELLO (3)
1. Quando viene creato un oggetto: si aggiunge una colonna nella matrice di accesso; il contenuto della nuova colonna è deciso al
momento della creazione dell’oggetto;
2. E’ un modello astratto: il significato dei diritti può cambiare in base agli oggetti coinvolti
3. Non è molto appropriata per l’implementazione diretta:
![Page 12: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/12.jpg)
IL MODELLO (3)
A. La matrice è sparsa e gli elementi possono essere vuoti; in questo caso può essere inefficiente
Data 1 Data 2 Prog. 1 Prog. 2
Alice R, W E
Bob R R, W R, W, E
Carol R E
David R, W R E R, W, E
Eve R R, E
![Page 13: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/13.jpg)
IL MODELLO (4)
B. La gestione della matrice può rivelarsi difficoltosa se ci sono 10…1000 file e parecchi utenti ➠ milioni di matrici
![Page 14: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/14.jpg)
DESCRIZIONE
![Page 15: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/15.jpg)
SEMPLICE ESEMPIO
FILE 1 FILE 2 PROCESS 1 PROCESS 2
PROCESS 1 Read, write, own
read Read, write, execute,own
write
PROCESS 2 append Read, own read Read, write, execute,own
S = {process 1, process 2 } O = {file 1, file 2, process 1, process 2} R = {read, write, execute, append, own} Own ➠ il creatore di ogni oggetto, in molti sistemi, può
anche aggiungere o togliere diritti agli altri soggetti
![Page 16: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/16.jpg)
MECANISMI DI RAPPRESENTAZIONE
Tabella globale: lista non nulla di triple (s, o, a) questo metodo consiste nella memorizzazione in una
tabella di triple del tipo: <soggetto, oggetto, insieme dei diritti>
VANT: è semplice da realizzare;
SVANT: se la tabella diventa molto grande, è difficoltoso l’aggiornamento dei permessi d’accesso.
esempio
![Page 17: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/17.jpg)
MECANISMI DI RAPPRESENTAZIONE (2)
Access Control Matrix può essere implementata in due modi:
ACCESS CONTROL LIST (colonne);
CAPABILITY LIST (righe).
![Page 18: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/18.jpg)
ACCESS CONTROL LIST
Usato per ridurre il tempo di calcolo richiesto per rivedere il modello a matrice, dobbiamo ridurre il numero di ingressi in M considerati durante l’esecuzione.
Per fare questo dividiamo M in piccole porzioni separate, queste si basano su oggetti o soggetti.
In questo caso consideriamo la partizione di M per oggetti.
Quindi ACLs visita la matrice di accesso per colonne.
![Page 19: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/19.jpg)
ACCESS CONTROL LIST (2)
La tabella viene memorizzata per colonne Ad ogni elemento viene associata una lista di
elementi: <soggetto, diritti di accesso>
Ottimizzazioni: l’ampiezza della lista può essere ridotta
associando i diritti a insieme di domini o usando diritti standard (default)
![Page 20: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/20.jpg)
ACCESS CONTROL LIST (ESEMPIO)
Access control list:
Data 1:{(Alice, rw),(Bob, r), (David, rw)}...
Data 1
Alice R, W
Bob R
Carol
David R, W
Eve
![Page 21: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/21.jpg)
ACLs: LE CARATTERISTICHE
Facile da capire; È facile da rispondere alla domanda: “chi ha quel tipo
di accesso a questo oggetto”; I diritti sono immagazzinati insieme agli oggetti; Può essere inefficiente: trovare i diritti potrebbe
richiedere una ricerca in una lista lunga; È indicizzato per oggetto: per ogni oggetto c’è una
lista di coppie <soggetto, azione> È largamente usato con i gruppi Usato in UNIX/Windows NT
![Page 22: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/22.jpg)
GROUPS (gruppi)
Sono collezioni di utenti (es. amministratori, poweruser, user, guest);
Assegnare permessi ai gruppi ➠ ogni utente del gruppo riceve permessi;
Gli utenti possono stare in più gruppi (solo in UNIX);
Sono definiti da utenti con privilegi speciali, come l’amministrazione del sistema;
Un gruppo dovrebbe essere definito elencando le identità dei membri inclusi nel gruppo;
![Page 23: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/23.jpg)
GROUPS (2)
Sono il livello intermedio tra user e oggetti:
A B C D USER
OGGETTI
GRUPPI
![Page 24: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/24.jpg)
GROUPS (3)
Caso di autorizzazione negativa
A B C D USER
OGGETTI
GRUPPIAccess
o negato
![Page 25: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/25.jpg)
GERARCHIA DI GRUPPI
Limitato ordine di gruppi;
Ogni gruppo ottiene i permessi del gruppo sotto;
Permessi = <diritti, risorse>
Gerarchia per diritti o risorse: se l’utente ha diritti r,
e r>s, allora l’utente ha diritti s;
Se l’utente ha accesso alla directory, l’utente ha accesso a ogni file della directory.
AMMINISTRATORE
POWERUSER
USER
GEST(ospite)
![Page 26: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/26.jpg)
I GRUPPI IN ACLs(esempi)
→ GRUPPO 1: Alice, Mara, Giovanna, Nicola, Gianni
→ GRUPPO 2: Alice, Mara, Giovanna, Nicola, Paolo→ GRUPPO 3: Mara, Giovanna, Nicola, Paolo→ FILE 1: [GRUPPO 1, R]; [GRUPPO 3, RW] Paolo vuole scrivere il FILE 1
• FIRST RELEVANT ENTRY: accesso negato;• ANY PERMISSION IN LIST: accesso consentito;
![Page 27: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/27.jpg)
“ANY PERMISSION” IN LIST
→ Ricerca lunga: la ricerca viene effettuata finché il permesso non è stato trovato o finché la lista non è terminata;
→ L’efficienza dipende dall’ordine in ACL: l’utente più frequente dovrebbe essere il primo nella lista;
→ La rimozione di un permesso potrebbe essere senza effetti.
![Page 28: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/28.jpg)
“ANY PERMISSION” IN LIST (2)
ESEMPIO GRUPPO1: Alice, Mara, Giovanna, Nicola, Gianni; GRUPPO2: Alice, Mara, Giovanna, Nicola, Paolo; FILE1: [GRUPPO1, R]; [GRUPPO2, R];……;[Gianni,
RW]Effetti:
REMOVE [GROUP2, R] ➠tutti eccetto Paolo possono tranquillamente leggere il file1
![Page 29: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/29.jpg)
“FIRST RELEVANT ENTRY” RULE IN ACL
→ efficiente: ricerche più corte in media rispetto a “any permission”;
→ Ordine in ACL decisivo.ESEMPIO: GRUPPO1: Alice, Mara, Giovanna, Nicola, Gianni; GRUPPO2: Alice, Mara, Giovanna, Nicola, Paolo; FILE1: [GRUPPO1, R]; [GRUPPO2, R];……;[Gianni, RW]Effetti: REMOVE [GROUP2, R] ➠tutti eccetto Paolo possono
tranquillamente leggere il file1; Gianni non ha effetti. REMOVE [GROUP1, R] ➠ Gianni ottiene il permesso di
scrivere; mettendo Gianni per primo rallentiamo la ricerca nella lista.
![Page 30: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/30.jpg)
CAPABILITY
In questo caso consideriamo la partizione di M per soggetti.
o Infatti la tabella viene memorizzata per righe;o La riga viene immagazzinata con il soggetto;o Ad ogni soggetto viene associata la lista di
elementi: <oggetti, diritti>
o Queste coppie vengono chiamate CAPABILITY
![Page 31: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/31.jpg)
CAPABILITY (2)
Capability:Alice: {(Data 1, RW );(Prog. 1, E)}Bob: {(Data 1, R); (Data 2, RW); (Prog. 1, RWE)}
Data 1 Data 2 Prog. 1 Prog. 2
Alice R, W E
Bob R R, W R, W, E
![Page 32: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/32.jpg)
PROTEZIONE E AUTENTICAZIONE
o Se usato in un sistema singolo Contiamo sull’integrità del sistema operativo e sui
meccanismi impiegati in esso;
o Se usato sulla rete Autenticazione e protezione è prevalentemente
crittografica
![Page 33: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/33.jpg)
CARATTERISTICHE
Chi mantiene la capability? I processi che le presentano quali “credenziali” per
accedere all’oggetto; Sono una sorta di “chiave” d’accesso alla “serratura” che
protegge l’oggettoPerché funzioni occorre che: I processi non possono “coniare” ad arte capability false L’oggetto possa riconoscere capability autentiche Sia possibile negare a un processo il diritto di copia o
cessione della propria capability ad un altro processo Problemi: Come controllare chi ha accesso a uno specifico oggetto Come annullare la capability Difficile sapere chi può leggere un certo oggetto O
![Page 34: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/34.jpg)
CARATTERISTICHE (2)
Possono essere implementate tramite tecniche di crittografia;
Al processo viene fornita come capability la tripla:<oggetto, diritti di accesso, codice di controllo>
Il processo può memorizzarla ma non può modificarla (ad esso appare una stringa di bit indecifrabile)
Quando un processo vuole accedere a una risorsa Presenta la richiesta all’oggetto insieme con la capability
relativa L’oggetto:
Decodifica la capability Verifica che il codice di controllo sia corretto e che la
richiesta sia autorizzata dalla capability ricevuta La capability può essere trasferita ad un altro oggetto
![Page 35: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/35.jpg)
CONFRONTO TRA ACLs E CAPABILITY (esempio)
F1 F2 F3 F4 F5 F6
S1 O, R, W
O, R, W
W
S2 O, R, W
R O, R, W
S3 R R O, R, W
R O, R, W
CAPABILITYS1 = {(f2, orw); (f3, orw); (f5, w)}S2 = {(f1, orw); (f3, r); (f5, orw)}S3 = {(f2, r); (f3, r); (f4, orw); (f5, r); (f6, orw)}
ACLsF1 = {(s2, orw)}F2 = {(s1, orw); (s2, r); (s3, r)}F3 = {(s1, orw); (s3, r)}F4 = {(s3, orw)}F5 = {(s1, w); (s2, orw); (s3, r)}F6 = {(s3, orw)}
![Page 36: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/36.jpg)
REVOCHE DEI DIRITTI DI ACCESSO
In generale la revoca può essere: immediata o ritardata selettiva o generale parziale o totale temporanea o permanente
Revoca in sistemi basati su ACL sufficiente aggiornare in modo corrispondente
le strutture dati dei diritti di accesso
![Page 37: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/37.jpg)
REVOCHE DEI DIRITTI DI ACCESSO (2)
Revoca in sistemi basati su capabilityL’informazione relativa ai permessi è memorizzata presso i
processi. Come si possono allora revocare i diritti di accesso?
Capability a validità temporale limitata: una capability scade dopo un prefissato periodo di
tempo è così permesso revocare diritti (ma in modo
ritardato) Capability indirette:
vengono concessi diritti non agli oggetti ma a elementi di una tabella globale che puntano agli oggetti
è possibile revocare diritti cancellando elementi della tabella intermedia
![Page 38: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/38.jpg)
PROTECTION STATE TRANSITION
Lo stato di protezione del sistema cambia quando i processi eseguono le operazioni.
Stato iniziale del sistema è X0=(S0, O0, A0) |- rappresenta la transizione I successivi stati sono X1, X2
L’insieme dello stato di transizione è rappresentato da un insieme di operazioni Т1, Т2….→ xi |-Т xi+1: comando Т muove il sistema dallo stato xi allo
stato xi+1;→ Xi |- * xi+1: una sequenza di comandi muove il sistema
dallo stato xi allo stato xi+1
I comandi sono chiamati PROCEDURE DI TRASFORMAZIONE
![Page 39: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/39.jpg)
COMANDI DI TRANSIZIONI
L’insieme di comandi primitivi modificano l’access control matrix:
Questi comandi sono: create subject s; create object o; creare una nuova riga in ACM; creare una nuova
colonna in ACM destroy subject s; destroy object o; cancellare riga in ACM; cancellare una colonna da
ACM enter r in a[s, o]; aggiunge il diritto r per soggetti s su oggetti o delete r from a[s, o]; rimuove il diritto r dal soggetto s sull’oggetto o
![Page 40: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/40.jpg)
COMANDI CONDIZIONALI
I privilegi attribuiti hai soggetti possono essere cambiati con dei comandi.
A volte, tali comandi, richiedono che siano soddisfatte alcune condizioni, facciamo alcuni esempi:
Supponiamo che un processo p desideri dare ad un altro processo q il diritto di leggere il file f, il comando sarebbe:
COMMAND grant·read·file·1(p,f,q) IF own IN a[p,f]
THEN ENTER r INTO a[q,f]
ENDQuesto è il caso con una condizione.
![Page 41: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/41.jpg)
COMANDI CONDIZIONALI (2)
In un comando possono essere poste insieme due condizioni, vediamo un esempio:
Supponiamo che un soggetto abbia anche un diritto c su un oggetto, esso può dare ed un altro soggetto il diritto r su tale oggetto. Quindi:
COMMAND grant·read·file·2(p,f,q) IF r IN a[p,f] AND c IN a[p,f] THEN ENTER r INTO a[q,f] END
![Page 42: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/42.jpg)
COMANDI CONDIZIONALI (3)
I comandi con una condizione, come nel primo caso, sono detti MONOCONDITIONAL, quelli con due condizioni sono chiamati BICONDITIONAL.
Entrambi hanno un comando primitivo e quindi detti MONO-OPERATIONAL.
Nota: tutte le operazioni sono unite con un END e mai con un OR, questo perché OR è equivalente a due comandi, ognuno con una condizione.
![Page 43: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/43.jpg)
SPECIAL RIGHT
Sono due i diritti per cui vale la pena discutere:
copy flag own right
Entrambi questi diritti sono relativi al principio di attenuazione dei privilegi di cui parleremo dopo.
![Page 44: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/44.jpg)
COPY FLAG
Spesso chiamato grant right, permette ai possesori di concedere diritti agli altri
Per il principio di attenuazione, solo quei diritti che il concessore possiede possono essere copiati.
ESEMPIO c = copy right supponiamo che un soggeto p abbia diritti
r su un oggetto f. Il seguente comando permette a p di copiare r su f ad un altro soggetto solo se p ha copy right su f.
COMMAND grant·r(p,f,q) IF r IN a[p,f] AND c IN a[p,f] THEN ENTER r INTO a[q,f] END
![Page 45: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/45.jpg)
OWN RIGHT
E’ il diritto speciale che consente ai possessori di aggiungere o cancellare diritti a se stessi.
Permette ai possessori di concedere diritti agli altri
Chi ha tale diritto su un oggetto è solitamente il soggetto che ha creato tale oggetto o un soggetto a cui il creatore gli ha dato il possesso
![Page 46: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/46.jpg)
ATTENUATION OF PRIVILEGE
Se un soggetto non possiede diritti su un oggetto, esso non può dare quei diritti ad un altro soggetto.
ESEMPIO
Matt non può leggere il file xyxxy, non puo concedere a Holly il diritto di leggere quel file
Questa è una conseguenza del cosiddetto “ATTENUATION OF PRIVILEGE”
![Page 47: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/47.jpg)
PUNTI CHIAVE
ACM è il primo meccanismo astratto in materia di sicurezza informatica.
Non è usato direttamente a causa dello spazio richiesto; molti sistemi hanno centinaia di oggetti e potrebbero avere centinaia di utenti. Immagazzinare tutto e apportarvi eventuali modifiche non sarebbe semplice.
Transizioni cambiano lo stato del sistema. Sono espresse in termini di comandi che possono anche includere condizioni
![Page 48: ACCESS CONTROL MATRIX](https://reader035.vdocumenti.com/reader035/viewer/2022062222/5681572c550346895dc4c8f1/html5/thumbnails/48.jpg)
TABELLA GLOBALE (Esempio)
Alice Data 1 R, W
Alice Prog 1 E
Bob Data 1 R
Bob Data 2 R, W
Bob Prog 1 R, W, E
Carol Data 2 R
Carol Prog 2 E
David Data 1 R, Wcontinua