Sean Deuby

Im Jahr 1999 schrieb ich ein Buch über Windows 2000 Server im Allgemeinen und Active Directory im Besonderen. Ich versuche, das, was ich damals über AD geschrieben habe, nicht mit dem zu vergleichen, was ich heute weiß, aber eine Passage, in der die Funktionsweise des Kerberos-Sicherheitsprotokolls anhand einer Firmenfeier in einem Ballsaal eines Hotels erklärt wird, gefällt mir immer noch gut. Auch wenn OAuth2 und OpenID Connect die aktuellen Lieblinge der Sicherheitswelt sind, ist der größte Teil der lokalen Unternehmenswelt immer noch jede Sekunde des Tages auf Kerberos angewiesen.

Ich denke, dass eine Analogie, die eine Party beinhaltet, dem Erlernen eines trockenen Themas wie Kerberos eher zuträglich ist. Also habe ich mein Beispiel ein wenig modernisiert und aufpoliert, um es hier mit Ihnen zu teilen. Kerberos verwaltet sowohl die Authentifizierung als auch die Autorisierung in Active Directory. Technisch gesehen ist Kerberos ein Authentifizierungsprotokoll, aber Microsoft fügt Autorisierungsdaten (SIDs) in das PAC-Feld des Kerberos-Tickets ein, die von Diensten (AD-integrierte Ressourcen wie Dateifreigaben oder Anwendungen wie Exchange oder SharePoint) genutzt werden können.

Kerberos auf der Firmenfeier

Stellen Sie sich vor, Sie gehen zu einer großen Firmenfeier, auf der Alkohol ausgeschenkt wird, und es gibt eine offene Bar1. Die Party wurde als Science-Fiction-Party angekündigt (hey, es handelt sich um ein Technologieunternehmen) und jeder Barbereich im Ballsaal, in dem die Party stattfindet, ist mit einem bestimmten Sci-Fi-Thema dekoriert (z. B. Verbotener Planet, Der Tag, an dem die Erde stillstand, Star Wars usw.) und mit Barkeepern in Kostümierung besetzt.

Abbildung 1: Das Party-Layout

Sie gehen zum Eingang des Ballsaals und dort steht einer dieser Tische mit Samtröckchen und einem großen Banner mit der Aufschrift "Key Drink Center". Um auf die Party zu gelangen, müssen Sie den Mitarbeitern am Tisch (dem Key Distribution Center, kurz KDC) Ihren Führerschein zeigen (die Authentifizierungsdienstanfrage mit Ihrem Passwort).

Sie übergeben Ihren Führerschein(aktuelle Uhrzeit, verschlüsselt mit dem Hash des von Ihnen eingegebenen Kennworts) einer Person, die eine Einladungsliste in der Hand hält; er sieht Sie an, sieht sich Ihren Führerschein an und sieht sich die Einladungsliste der Party an. Wenn Ihr Name mit einem Namen auf der Einladungsliste übereinstimmt(Benutzer existiert im Verzeichnis) und Sie wie die Person auf dem Führerscheinfoto aussehen(Ihr eingegebener Passwort-Hash stimmt mit dem Passwort-Hash für den Benutzernamen auf dem DC überein), können Sie die Party betreten(Sie sind authentifiziert).

Jetzt, wo Sie auf die Party dürfen, stempelt die Person, die neben dem Listenprüfer sitzt, Ihre Hand ab (das Ticket Granting Ticket, oder TGT). Es ist zehn Stunden lang gültig - das wird eine tolle Party! Weiter...

Die nächste Person am Tisch fragt Sie, ob Sie einen bestimmten Barbereich(einen Service) besuchen möchten. Sie haben gehört, dass es in der Bar "Per Anhalter durch die Galaxis" einen Pan Galactic Gargle Blaster gibt, also fragen Sie nach dieser Bar(Name des Servicechefs, oder SPN). Man kann Ihren Handstempel sehen und gibt Ihnen ein Ticket(das Serviceticket), das Sie dem Barkeeper der HHGG-Bar geben. Dieses Ticket ist ebenfalls zehn Stunden lang gültig. Wenn Ihr Führerschein angibt, dass Sie über 21 Jahre alt sind, wird dies ebenfalls auf der Rückseite des Tickets vermerkt.

Mit Ihrer Barkarte bewaffnet, machen Sie sich auf den Weg zur Party.

Sie gehen direkt zur HHGG-Bar, um sich bedienen zu lassen, und legen dem dreiköpfigen Barkeeper das Ticket vor. Er sieht, dass es für seine Bar ist(Authentifizierung für den Service), dreht es um und sieht, dass es einen Stempel hat, der besagt, dass Sie über 21 sind(das PAC-Feld im Serviceticket enthält eine SID, die mit einem ACE für den Service übereinstimmt) und somit berechtigt sind, ein alkoholisches Getränk zu erhalten. Er nickt mit dem Kopf und gibt Ihnen die Karte zurück (denken Sie daran, dass sie für die nächsten zehn Stunden für unbegrenzten Zugang gilt). Er zaubert einen Pan-Galactic Gargle Blaster und serviert ihn Ihnen.

Wenn Sie von da an ein weiteres Getränk benötigen (und Vorsicht ist geboten, wenn Sie ein PGGB bestellen), zeigen Sie dem HHGG-Barkeeper einfach Ihr Serviceticket, und er wird Ihnen ein weiteres Getränk zubereiten. Beachten Sie, dass Sie mit diesem Ticket nur an der HHGG-Bar trinken können. Wenn Sie möchten, dass Gort Ihnen ein Getränk zubereitet (er ist ziemlich ungeschickt und zerbricht ständig Gläser), müssen Sie zurück zum vorderen Tisch gehen und sich ein Day The Earth Stood Still-Service-Ticket holen.

Dieses Partygetränkesystem ist zwar etwas aufwändig, aber es sorgt dafür:

  • Nur Personen auf der Gästeliste können teilnehmen
  • Kein Partycrasher kann sich einschleichen, da die Identität überprüft werden muss.
  • Partygänger wählen eine bestimmte Bar
  • Nur über 21-jährige Partygäste dürfen ein alkoholisches Getränk erhalten
  • Die Party ist nach 10 Stunden definitiv zu Ende

Natürlich können Sie diese Analogie nur so weit ausdehnen, also schauen Sie nicht zu genau hin. In Brian Desmonds ausführlichem Artikel über den Active Directory Kerberos-Authentifizierungs-/Autorisierungsprozess finden Sie die blutigen Details. Aber ich denke, dass er die AD-Authentifizierung mit Kerberos-Ticket-Austausch, Autorisierung und Time-to-Live-Werten gut erklärt. Und ich weiß, dass jeder IT-Fachmann, der schon einmal an einer Konferenz teilgenommen hat, mit der Teilnahme an einer Party im Ballsaal einer Konferenz bestens vertraut ist!

1Meine Art von Party.