38) Come
viene realizzato il controllo di accesso nei sistemi di naming?
Capabilities connesse con il naming: introducono il controllo
nel riferimento all'oggetto stesso.
a livello di naming una capability
è:
- identificatore affidabile per un solo oggetto (unicità)
- identificatore con ridondanza per ottenere protezione
a livello di sistema, una capability:
- rappresenta l'autorizzazione all'accesso (alle operazioni)
- può essere distribuita tra clienti
- può rappresentare autorizzazioni diverse, ma, se
uguale, autorizza allo stesso modo
- deve essere non falsificabile e controllabile da un sistema
di PROTEZIONE
Categorie di capability
- sparse, cioè stringhe di bit usate per il riferimento:
sono usate nei sistemi distribuiti, quindi
- con diversi tipi di kernel
- con necessità di una verifica di protezione, anche
con encrittazione delle capability {Object_ID, Diritti_Accesso, Check}.
In Amoeba, ad esempio {Server_port, Object_ID, Diritti_Accesso, Check},
ove gli ultimi due campi sono encrittati e check rende sparsa la capability.
Sono sparsi anche i nomi delle porte.
- tagged, bit addizionali aggiunti (poco user-oriented)
- partizionate, memorizzate in spazio non utente (kernel)
- con password
- condizionali (cioè con una chiave di lock)
Ogni gestore appartiene ad un gruppo di gestori
(con un unico nome) .