Kerberos è un protocollo di autenticazione di rete che utilizza ticket crittografati per passare informazioni su reti non sicure. L'autenticazione Kerberos presenta diversi vantaggi rispetto ad altri metodi di autenticazione di rete, in modo che i nodi che comunicano tra loro possano fidarsi che le informazioni che stanno ricevendo siano autentiche e affidabili e che le sessioni future avranno la stessa autenticità.
Autenticazione reciproca
Quando due nodi, come un client e un server o un server e un server, iniziano le comunicazioni, passano i ticket crittografati attraverso un sistema di terze parti affidabile chiamato Key Distribution Center. Il KDC passa un ticket segreto con una chiave di decrittografia a entrambi i nodi. I nodi si scambiano quindi timestamp crittografati e utilizzano la chiave per decrittografarli. Se lo fanno con successo, autenticano le loro controparti e possono fidarsi l'uno dell'altro finché la sessione rimane aperta.
Le password
Quando un server tenta di autenticare un computer client utilizzando il protocollo Kerberos, il client non deve inviare una password: grazie all'autenticazione reciproca, sia il client che il server dispongono delle informazioni necessarie per decrittare i ticket. Ciò significa che qualsiasi sniffer di pacchetti che intercetta la comunicazione non avrà accesso alle password del client o del server, per non parlare di qualsiasi altra informazione passata durante la sessione.
Sessioni integrate
Quando un nodo client viene autenticato su una rete supportata da Kerberos, riceve un ticket client con un timestamp di scadenza. Finché il ticket non è scaduto, il client può utilizzarlo per accedere a qualsiasi altro servizio di rete che supporti l'autenticazione Kerberos senza doversi autenticare nuovamente. Se la sessione del client in rete è ancora attiva ma il ticket scade, il client può richiedere un nuovo ticket.
Sessioni Rinnovabili
Una volta che client e server si sono autenticati l'uno con l'altro, non devono più farlo. Come parte dell'autenticazione reciproca, il client riceve le credenziali dal server. Quando il client avvia una sessione futura, invia le proprie credenziali al server, che le riconosce e autentica immediatamente il client. Ciò elimina la necessità di un KDC, quindi i due nodi possono stabilire una connessione sicura ancora più velocemente di quanto non abbiano fatto durante la loro prima sessione.