Sto imparando a conoscere il modello Take-Grant e la Matrice di controllo degli accessi, e ho un paio di domande sulla perdita e sulla domanda di sicurezza.
Definizioni
Queste sono le definizioni che sto usando (vedi per esempio qui [pdf] :)
- Perdita: aggiunta di un diritto generico r dove non ce n'era uno
- Sicuro: se un sistema S non può perdere correttamente r, è sicuro rispetto a destra r
- Domanda di sicurezza: esiste un algoritmo per determinare se un sistema di protezione S è sicuro rispetto al diritto generico r?
Matrice di controllo di accesso
Diciamo che abbiamo una matrice di controllo degli accessi:
S1 S2 O1
S1 o r
S2 r,w,x o
- Potresti dire che in questa matrice, la destra r di S1 su O1 è trapelata a S2 (perché S2 può usare S1 per accedere a O1)?
- o avresti bisogno di una sorta di copia giusta, che permetta la copia effettiva di un diritto da un campo a un altro? E se così fosse, la maggior parte dei sistemi che hanno una copia automaticamente non sono sicuri (vedi anche la mia domanda riguardo al modello di concessione di sovvenzioni)?
Modello Take-Grant
- Nel modello take-grant, un sistema può essere sempre sicuro solo se per ogni soggetto S1 che ha ragione su un altro soggetto S2 ha anche tutti i diritti che S2 ha su qualsiasi oggetto e soggetto?
- e se no, perché no? Sto fraintendendo cosa significa fuoriuscita?
Quindi ad esempio questo:
nonsarebbesicuro,perchéS1potrebbeottenerersuO1daS2,equindicisarebbeunrgiustodoveprimanoncen'erauno?
Inquestocaso,unsistemasicurodovrebbeessereprogettatoinquestomodo?:
Questo sembrerebbe un po 'strano per me, perché se fosse così, il take right (o il diritto di concessione) non avrebbe molto senso (almeno se si vuole creare un sistema sicuro).