Esistono sistemi di controllo accessi centralizzati e distribuiti. Quelli centralizzati, utilizzati dai sistemi più semplici, hanno un archivio delle credenziali memorizzato su un dispositivo. Esistono due tipologie:

  • SSO (Single Sign-On): Permettono l’accesso a più sistemi o applicazioni superando un’unica procedura di autenticazione. Questa tipologia di sistemi sono molto “comodi” ma essendo basati su un unico punto di accesso, le credenziali diventano critiche e dovrebbero essere stabilite delle regole di complessità molto rigide.
  • Sistemi tradizionali: Per ogni singolo sistema l’utente deve superare un sistema di controllo accessi. In questa tipologia di sistemi, l’utente deve ricordare più di un insieme di credenziali. Spesso è ritenuto “scomodo” e anche se evita di avere un unico punto di accesso, obbliga gli utenti a conservare le credenziali scrivendole o memorizzando su altri dispositivi, abbassando il livello di sicurezza del sistema.

Uno dei sistemi distribuiti più utilizzati è basato sul protocollo Kerberos. Questo protocollo oltre ad essere utilizzato per l’autenticazione degli utenti è utilizzato anche per crittografare le informazioni trasmesse sulla rete di telecomunicazione utilizzata.

Kerberos

Il protocollo Kerberos è di tipo Client/ Server e deriva dal protocollo di Needham-Schroeder. E’ basato sullo scambio di chiavi e utilizza una “terza parte” affidabile per centralizzarne la distribuzione (Key Distribution Center – KDC). Kerberos funziona utilizzando dei “biglietti” (detti ticket) che servono per provare l’identità degli utenti. Il KBC mantiene un database delle chiavi segrete, sia per i client che per i server. La conoscenza di questa chiave serve per provare l’identità di un’entità. Nella fase di autenticazione:

  • Il client invia una richiesta al KDC cifrata, utilizzando la sua chiave segreta.
  • Il KDC, che ha la chiave per decifrare il messaggio, riesce a capire in modo certo l’identità di chi ha inviato la richiesta.
  • Il KDC genera un’ulteriore chiave, detta di sessione, che viene utilizzata dai due terminali per comunicare tra loro.
  • Il client invia un messaggio, cifrato con la chiave di sessione, con la richiesta di comunicare con un server o un altro dispositivo.
  • Il KDC invia un certificato al client, cifrato con la chiave del server, che gli permette di avviare la comunicazione con il server

Un altro sistema di controllo accessi distribuito è rappresentato dai servizi di directory. Ad esempio LDAP oppure NIS. Questi sistemi hanno un’organizzazione gerarchica per la gestione delle informazioni che riguardano sia gli utenti che le risorse. Presentano una serie di protocolli che permettono di interrogare e aggiornare le informazioni. Possono essere distribuiti su una rete in modo tale da garantire affidabilità e disponibilità.

Negli ultimi anni si stanno diffondendo i portali web di accesso. Questi portali permettono l’identificazione e l’autenticazione degli utenti che in seguito possono accedere a dati e sistemi residenti su diversi server. Sono basati su “Federation Service” che permettono scalabilità e possibilità di distribuire le risorse sulla rete. Un esempio è il sistema di autenticazione Google Account. Dopo aver superato la procedura di autenticazione l’utente può accedere a diversi servizi: Gmail, Gdrive, Calendar, Hangout senza dover ripetere la procedura di autenticazione.

Author