Un sistema di controllo accessi dovrebbe prevedere i seguenti requisiti:
- Sicurezza: deve assicurare che solo persone autorizzate possano accedere alla risorsa. Il sistema deve garantire che gli utenti non possano comprometterlo.
- Affidabilità: il sistema deve funzionare regolarmente e sempre. Un blocco del sistema di controllo accessi compromettere l’accesso alla risorsa.
- Trasparenza: il sistema di controllo accessi deve minimizzare l’impatto nei processi e non gravare sui tempi complessivi di accesso alla risorsa
- Scalabilità: il sistema deve essere in grado di gestire carichi di lavoro diversi e adattarsi alle esigenze delle utenze
- Manutenzione: la manutenzione deve essere semplice e vanno minimizzati i tempi di disattivazione del sistema
- Monitorabile: il sistema deve essere in grado di fornire statistiche sugli accessi e comunicare in modo automatico avvisi o allarmi agli amministratori
- Integrità: il sistema deve essere progettato focalizzando l’attenzione sulla sicurezza, inoltre deve essere in grado di fornire informazioni sugli accessi alle risorse da parte dei singoli utenti
- Autenticità: il sistema deve garantire che le credenziali fornite dagli utenti siano autentiche
Termini importanti:
- Separazione dei compiti (Separation od Duties): è necessaria per evitare frodi o attacchi al sistema. Un’operazione o un processo, se gestito da un singolo utente, è più suscettibile di frodi o attacchi. Assegnare un’operazione a diversi individui, limita questo problema, in quanto per portare a termine l’attacco, tutte gli utenti devono essere d’accordo. Se almeno un utente compie il proprio lavoro correttamente, l’attacco non può essere completato.
- Privilegi minimi: per garantire la sicurezza di un sistema si dovrebbero garantire il minimo dei privilegi possibile ad ogni utente.
- Necessità di conoscere (Need-to-know): le informazioni dovrebbero essere diffuso solo se necessario. maggiore è la diffusione delle informazioni , maggiore è la possibilità che queste informazioni possano andare in mani sbagliate.
- Compartimentazione delle informazioni: se le informazioni sono “suddivise” tra più utenti, si evita che la perdita della sicurezza delle informazioni gestite da un utente possa compromettere il resto delle informazioni
- Domini di sicurezza: Ogni singola risorsa dovrebbe appartenere ad un dominio all’interno del quale ci sono degli utenti. Ogni singolo dominio dovrebbe avere delle regole di tutela delle informazioni specifiche. All’interno del dominio dovrebbero essere stabilite delle regole di fiducia che garantiscono l’accesso alle informazioni in lettura/ scrittura.
Ci sono tre tecniche fondamentali di controllo accessi:
- Discrezionale (DAC – Discretionary Access Control). Questa tipologia di controllo accessi permette l’accesso ad un insieme limitato di informazioni o di funzioni del sistema senza superare alcuna procedura di autenticazione. Per accedere ad informazioni con un livello di riservatezza superiore è necessario superare la procedura di controllo accessi.
- Obbligatorio (MAC – Mandatory Access Control). Questa tipologia di controllo accessi permette l’accesso solo dopo aver superato la procedura di autenticazione. E’ utilizzato per scopi militari o di intelligence ed è basato sui due concetti di “Separazione dei compiti” e “Necessità di conoscere”. I punti chiave di questa tipologia di sistema sono:
- Proprietario
- Policy
- Autorizzazione
- Sistemi intelligenti per applicare le policy
- Non discrezionale. In questa tipologia di sistema le regole di accesso sono gestite dagli amministratori di sistema oppure dal sistema stesso. I sistemi operativi desktop hanno questa tipologia di controllo accessi, anche se ultimamente, i sistemi operativi più moderni tendono a forzare la creazione di un utente con relativa password per accedere al sistema. Un’azienda può configurare il computer di un dipendente in modo tale da forzare una procedura di autenticazione per accedere alle risorse aziendali, ma lasciare l’uso del computer libero al dipendente per scopi personali.