Single sign-on (SSO) wordt geïmplementeerd via het Kerberos-authenticatieprotocol. Binnen een computernetwerk dat gebruikmaakt van Kerberos, fungeert een centrale server als de uitgever van toegangstickets voor gebruikers tijdens het aanmeldingsproces. Deze toegangstickets stellen een computergebruiker in staat om zich vervolgens te authenticeren op elke server of service die compatibel is met het Kerberos-protocol. De geldigheid van dit ticket blijft behouden zolang de gebruiker actief is ingelogd.
Een passende analogie voor het Kerberosticket is die van een reispas. Net als een treinkaartje biedt het ticket de gebruiker de mogelijkheid om vrijelijk door het gehele netwerk te navigeren. Echter, op het moment dat de gebruiker uitlogt, vervalt de geldigheid van het ticket, en daarmee de verleende toegangsrechten.
Kerberos, ontwikkeld door het Massachusetts Institute of Technology (MIT), is een veelzijdig authenticatieprotocol dat compatibel is met de meeste computerplatforms, waaronder Windows, Unix, Linux en OS X. Het wordt vaak beschouwd als de standaardmethode voor authenticatie.
De werking van Kerberos is drievoudig: er is een client die toegang wenst, er is een service die een dienst aanbiedt, en er is een vertrouwde derde partij die bekend staat als het Key Distribution Center (KDC). Het KDC verstrekt een toegangsticket aan de client. De client kan zijn identiteit bewijzen aan de service aan de hand van dit ticket. Het KDC bestaat uit twee componenten: de Authentication Server en de Ticket Granting Server. In een typisch Microsoft Windows-netwerk fungeren de Domain Controllers als het KDC.
Net zoals we eerder hebben besproken, volgt het toegangscontroleproces in Kerberos drie stappen: identificatie, authenticatie en autorisatie. We zullen kort de stappen van het toegangscontroleproces in Kerberos bekijken.
wist-je-dat·je: Cerberus
De keuze voor de naam ‘Kerberos’ voor dit authenticatieprotocol is niet willekeurig gemaakt. De naam ‘Kerberos’ vindt zijn oorsprong in de Griekse mythologie, waar het verwijst naar ‘Cerberus’. Cerberus was een driekoppige hond met een slangenstaart, belast met de bewaking van de onderwereld. Zijn taak was om ervoor te zorgen dat de doden niet terugkeerden naar de wereld van de levenden en dat levende wezens niet in de rijk van de doden konden binnendringen.
Het Kerberos-protocol weerspiegelt symbolisch de drie betrokken partijen: de computerclient, het Key Distribution Center en de service, als een analogie naar de drie koppen van Cerberus uit de Griekse mythologie. Deze mythologische hond bewaakte eveneens de grens tussen twee werelden, wat een relevante parallel vormde met het beveiligingsprincipe van het protocol. Het is dan ook omwille van deze symbolische overeenkomsten dat de ontwikkelaars bij het MIT hebben gekozen voor de naam ‘Kerberos’ voor hun authenticatieprotocol.
In ons eerdere overzicht van het Kerberos-protocol werd beloofd dat we een beknopte behandeling zouden geven, hoewel het protocol zelf behoorlijk complex is. Toch is het van cruciaal belang dat elke ICT Security-professional bekend is met deze basisprincipes.
Een opvallend kenmerk van het Kerberos-protocol, met name in een Windows Server-netwerk, is dat het wachtwoord nooit over het netwerk wordt verzonden, en zelfs de hashwaarde van het wachtwoord blijft veilig. Deze rigoureuze procedures zijn een van de redenen waarom het Kerberos-protocol als zeer veilig wordt beschouwd en waarom het door alle belangrijke besturingssystemen wordt omarmd.
De huidige iteratie van Kerberos is versie 5, die symmetrische cryptografie gebruikt, specifiek AES. In voorgaande versies werd DES gebruikt.