ACCESS CONTROL MATRIX - PowerPoint PPT Presentation

About This Presentation
Title:

ACCESS CONTROL MATRIX

Description:

ACCESS CONTROL MATRIX STUDENTE: COCUZZI NICOLETTA MATR.:3037571 ARGOMENTI TRATTATI Protection state Access Control Matrix Modello ACM Meccanismi di rappresentazione ... – PowerPoint PPT presentation

Number of Views:114
Avg rating:3.0/5.0
Slides: 48
Provided by: nicole347
Category:
Tags: access | control | matrix

less

Transcript and Presenter's Notes

Title: ACCESS CONTROL MATRIX


1
ACCESS CONTROL MATRIX
  • STUDENTE COCUZZI NICOLETTA
  • MATR.3037571

2
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
  • Comandi condizionali
  • Diritti speciali
  • Attenuation of privilege

3
PROTECTION STATE
  • PROTECTION SYSTEM descrive le condizioni in base
    alle quali un sistema può definirsi sicuro.
  • E caratterizzato da due elementi fondamentali
  • un insieme generico di diritti
  • un insieme di comandi

4
PROTECTION STATE (2)
  • PROTECTION STATE
  • Lo STATO (state) di un sistema è una collezione
    di valori correnti riferiti a
  • Tutte le locazioni di memoria, dei registri,
    della memoria secondaria etc
  • Tutte le altre componenti del sistema
  • La PROTEZIONE è linsieme dei meccanismi usati da
    un sistema informatico per il controllo
    dellaccesso alle risorse
  • Goal dimostrare che tutte le operazioni nel
    sistema conservano la sicurezza nello stato di
    protezione

5
PROTECTION STATE (3)
  • P stato di protezione
  • Q stato in cui il sistema è sicuro
  • Q ? P
  • P - Q tutti gli elementi di P che non sono in Q
  • Allora
  • Ogni volta che il sistema è in Q, il sistema è
    sicuro
  • Quando lo stato corrente è in P-Q il sistema
    non è sicuro.

6
PROTECTION STATE (4)
  • Un cambiamento del sistema può risolversi in un
    cambiamento dello stato di protezione.
  • Tali cambiamenti sono, spesso, forzati.
  • Linsieme degli stati e delle operazioni
    consentite ad ogni elemento dellinsieme sono
    definiti.
  • Le operazioni consentite ad uno stato autorizzato
    generano un altro stato autorizzato.
  • In pratica unoperazione può generare uno stato
    di transizione multiplo.

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

8
NASCITA ACM
  • Sviluppato da Lampson nel 1971
  • Perfezionato da Graham e Denning tra il 1971 e il
    1972.

9
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

10
IL MODELLO (2)
  • Nella matrice sono catturate tutte le relazioni
    tra le entità
  • R ? as,o dove s ? S, o ? O
  • A s,o ? R
  • A s,o ? insieme di privilegi/diritti/azioni di
    s su o.

11
IL MODELLO (3)
  • Quando viene creato un oggetto
  • si aggiunge una colonna nella matrice di
    accesso
  • il contenuto della nuova colonna è deciso al
    momento della creazione delloggetto
  • E un modello astratto il significato dei
    diritti può cambiare in base agli oggetti
    coinvolti
  • Non è molto appropriata per limplementazione
    diretta

12
IL MODELLO (3)
  • 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
13
IL MODELLO (4)
  1. La gestione della matrice può rivelarsi
    difficoltosa se ci sono 101000 file e parecchi
    utenti ? milioni di matrici

14
DESCRIZIONE
15
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

16
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
  • ltsoggetto, oggetto, insieme dei dirittigt
  • VANT è semplice da realizzare
  • SVANT se la tabella diventa molto grande, è
    difficoltoso laggiornamento dei permessi
    daccesso.

esempio
17
MECANISMI DI RAPPRESENTAZIONE (2)
  • Access Control Matrix può essere implementata in
    due modi
  • ACCESS CONTROL LIST (colonne)
  • CAPABILITY LIST (righe).

18
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 lesecuzione.
  • 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.

19
ACCESS CONTROL LIST (2)
  • La tabella viene memorizzata per colonne
  • Ad ogni elemento viene associata una lista di
    elementi
  • ltsoggetto, diritti di accessogt
  • Ottimizzazioni
  • lampiezza della lista può essere ridotta
    associando i diritti a insieme di domini o usando
    diritti standard (default)

20
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
21
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 ltsoggetto, azionegt
  • È largamente usato con i gruppi
  • Usato in UNIX/Windows NT

22
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 lamministrazione del sistema
  • Un gruppo dovrebbe essere definito elencando le
    identità dei membri inclusi nel gruppo

23
GROUPS (2)
  • Sono il livello intermedio tra user e oggetti

24
GROUPS (3)
  • Caso di autorizzazione negativa

A
B
C
D
USER
GRUPPI
Accesso negato
OGGETTI
25
GERARCHIA DI GRUPPI
  • Limitato ordine di gruppi
  • Ogni gruppo ottiene i permessi del gruppo sotto
  • Permessi ltdiritti, risorsegt
  • Gerarchia per diritti o risorse
  • se lutente ha diritti r, e rgts, allora lutente
    ha diritti s
  • Se lutente ha accesso alla directory, lutente
    ha accesso a ogni file della directory.

26
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

27
ANY PERMISSION IN LIST
  • Ricerca lunga la ricerca viene effettuata finché
    il permesso non è stato trovato o finché la lista
    non è terminata
  • Lefficienza dipende dallordine in ACL lutente
    più frequente dovrebbe essere il primo nella
    lista
  • La rimozione di un permesso potrebbe essere senza
    effetti.

28
ANY PERMISSION IN LIST (2)
  • ESEMPIO
  • GRUPPO1 Alice, Mara, Giovanna, Nicola, Gianni
  • GRUPPO2 Alice, Mara, Giovanna, Nicola, Paolo
  • FILE1 GRUPPO1, R GRUPPO2, RGianni, RW
  • Effetti
  • REMOVE GROUP2, R ?tutti eccetto Paolo possono
    tranquillamente leggere il file1

29
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, RGianni, 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.

30
CAPABILITY
  • In questo caso consideriamo la partizione di M
    per soggetti.
  • Infatti la tabella viene memorizzata per righe
  • La riga viene immagazzinata con il soggetto
  • Ad ogni soggetto viene associata la lista di
    elementi
  • ltoggetti, dirittigt
  • Queste coppie vengono chiamate CAPABILITY

31
CAPABILITY (2)
Data 1 Data 2 Prog. 1 Prog. 2
Alice R, W E
Bob R R, W R, W, E
  • Capability
  • Alice (Data 1, RW )(Prog. 1, E)
  • Bob (Data 1, R) (Data 2, RW) (Prog. 1, RWE)

32
PROTEZIONE E AUTENTICAZIONE
  • Se usato in un sistema singolo
  • Contiamo sullintegrità del sistema operativo e
    sui meccanismi impiegati in esso
  • Se usato sulla rete
  • Autenticazione e protezione è prevalentemente
    crittografica

33
CARATTERISTICHE
  • Chi mantiene la capability?
  • I processi che le presentano quali credenziali
    per accedere alloggetto
  • Sono una sorta di chiave daccesso alla
    serratura che protegge loggetto
  • Perché funzioni occorre che
  • I processi non possono coniare ad arte
    capability false
  • Loggetto 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

34
CARATTERISTICHE (2)
  • Possono essere implementate tramite tecniche di
    crittografia
  • Al processo viene fornita come capability la
    tripla
  • ltoggetto, diritti di accesso, codice di
    controllogt
  • 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 alloggetto insieme con la
    capability relativa
  • Loggetto
  • 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

35
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
CAPABILITY S1 (f2, orw) (f3, orw) (f5, w) S2 (f1, orw) (f3, r) (f5, orw) S3 (f2, r) (f3, r) (f4, orw) (f5, r) (f6, orw)
ACLs F1 (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)
36
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

37
REVOCHE DEI DIRITTI DI ACCESSO (2)
  • Revoca in sistemi basati su capability
  • Linformazione 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

38
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
  • Linsieme dello stato di transizione è
    rappresentato da un insieme di operazioni ?1,
    ?2.
  • xi -? xi1 comando ? muove il sistema dallo
    stato xi allo stato xi1
  • Xi - xi1 una sequenza di comandi muove il
    sistema dallo stato xi allo stato xi1
  • I comandi sono chiamati PROCEDURE DI
    TRASFORMAZIONE

39
COMANDI DI TRANSIZIONI
  • Linsieme di comandi primitivi modificano
    laccess 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 as, o
  • aggiunge il diritto r per soggetti s su
    oggetti o
  • delete r from as, o
  • rimuove il diritto r dal soggetto s
    sulloggetto o

40
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 grantreadfile1(p,f,q)
  • IF own IN ap,f
  • THEN
  • ENTER r INTO aq,f
  • END
  • Questo è il caso con una condizione.

41
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 grantreadfile2(p,f,q)
  • IF r IN ap,f AND
    c IN ap,f
  • THEN
  • ENTER r INTO
    aq,f
  • END

42
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.

43
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.

44
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 grantr(p,f,q)
  • IF r IN ap,f AND c IN ap,f
  • THEN
  • ENTER r INTO aq,f
  • END

45
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

46
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

47
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
Write a Comment
User Comments (0)
About PowerShow.com