
In informatica e telecomunicazioni Kerberos è un protocollo di rete per l'autenticazione forte che permette a diversi terminali di comunicare su una rete informatica insicura provando la propria identità mediante l'utilizzo di tecniche di crittografia simmetrica. Kerberos previene attacchi quali l'intercettazione e i replay attack ed assicura l'integrità dei dati. I suoi progettisti mirarono soprattutto ad un modello client-server, e fornisce una mutua autenticazione cioè sia l'utente sia il fornitore del servizio possono verificare l'identità dell'altro.
Il Massachusetts Institute of Technology (MIT) sviluppò Kerberos per proteggere i servizi di rete forniti dal Project Athena. Il protocollo fu battezzato come il personaggio mitologico Cerbero, che nella mitologia greca era il cane a tre teste posto a guardia dell'Ade. Ci sono diverse versioni del protocollo; le versioni dalla 1 alla 3 furono utilizzate solo all'interno del MIT.
Steve Miller e Clifford Neuman, i principali sviluppatori di Kerberos versione 4, pubblicarono questa versione alla fine degli anni Ottanta, anche se era stata sviluppata principalmente per il Project Athena.
La versione 5, progettata da John Kohl e Clifford Neuman, venne formalizzata nella RFC 1510 nel 1993 (resa obsoleta dalla RFC 4120 nel 2005), con l'intenzione di risolvere i limiti e i problemi di sicurezza della versione 4.
Il MIT mette a disposizione una implementazione di Kerberos libera, sotto una licenza simile alla BSD.
Le autorità degli USA classificarono Kerberos come arma [senza fonte] e ne vietarono l'esportazione poiché utilizzava l'algoritmo di crittazione DES (con chiavi da 56 bit). Una implementazione di Kerberos non statunitense, KTH-KRB sviluppata in Svezia, rese il sistema disponibile anche al di fuori degli Stati Uniti, prima che questi cambiassero la propria legge sull'esportazione degli algoritmi crittografici (attorno al 2000). L'implementazione svedese del protocollo era basata su una versione di Kerberos detta eBones. eBones era basata sulla versione MIT Bones (in pratica una versione di Kerberos priva delle funzioni crittografiche e delle loro chiamate) ricavata da Kerberos 4 patchlevel 9. L'australiano Eric Young, autore di diverse librerie crittografiche, reinserì le chiamate alle funzioni crittografiche utilizzando la propria libreria libdes. Questa versione limitata di Kerberos fu chiamata eBones. Una implementazione della versione 5 di Kerberos, Heimdal, fu rilasciata essenzialmente dallo stesso gruppo che creò KTH-KRB.
Windows 2000, Windows XP e Windows Server 2003 usano una variante di Kerberos come sistema predefinito di autenticazione. Alcune aggiunte di Microsoft a Kerberos sono documentate nella RFC 3244 "Microsoft Windows 2000 Kerberos Change Password and Set Password Protocols" (trad.: "Protocolli Kerberos di impostazione password e cambio password in Microsoft Windows 2000"). Anche macOS di Apple utilizza Kerberos sia nella versione client sia in quella server.
Nel 2005 il gruppo di lavoro su Kerberos dello IETF ha aggiornato le specifiche . Recenti aggiornamenti includono:
Kerberos si basa sul protocollo di Needham-Schroeder. Utilizza una terza parte affidabile per centralizzare la distribuzione delle chiavi detta Key Distribution Center (KDC), che consiste di due parti separate logicamente: l'Authentication Server (AS) e il Ticket Granting Server (TGS). Kerberos funziona utilizzando dei "biglietti" (detti ticket) che servono per provare l'identità degli utenti.
L'AS mantiene un database delle chiavi segrete; ogni entità sulla rete — che sia un client o un server — condivide la chiave segreta solo con l'AS. La conoscenza di questa chiave serve per provare l'identità di un'entità. Per comunicazioni tra due entità, Kerberos genera una chiave di sessione, che può essere utilizzata dai due terminali per comunicare.
Il protocollo può essere definito come segue utilizzando la notazione per protocolli di sicurezza, dove Alice (A) si autentica presso Bob (B) usando il server S:
La sicurezza del protocollo si basa fortemente sui timestamp T e sui tempi di vita L come indicatori affidabili della creazione recente della comunicazione per evitare replay attack (vedi logica BAN).
È importante notare come il server S stia sia come Authentication Service (AS) sia come Ticket Granting Service (TGS).
Quella che segue è una descrizione semplificata del protocollo. Saranno utilizzate le seguenti abbreviazioni: AS = Authentication Server, TGS = Ticket Granting Server, SS = Service Server.
In breve: il client si autentica presso AS che gli fornisce un ticket di sessione per accedere a TGS, si autentica presso TGS e riceve il ticket per aprire una sessione di comunicazione con SS.
In dettaglio:
I seguenti software sono in grado di usare Kerberos per l'autenticazione:
| Controllo di autorità | GND (DE) 4648184-9 |
|---|