Kerberos

Der Begriff Kerberos steht sowohl für ein Protokoll als auch dessen Implementierung und ermöglicht eine sichere Authentifizierung in einer unsicheren Umgebung. Der Name bezieht sich auf den Höllenhund, der in der griechischen Mythologie den Ein- bzw. den Ausgang der Unterwelt bewacht.

Das Protokoll basiert auf dem Needham-Schroeder-Protokoll von 1978 und beschreibt ein Verfahren zum Austausch von Schlüsseln zwischen gleichberechtigten Partnern (Client, Server) und einer dritten gesicherten Instanz, dem Kerberos Server (oder mehreren Servern). Das Protokoll unterscheidet bei der Authentifizierung zwischen Host, Dienst und Benutzer.

Ablauf Kerberos

Beim Domain Controller läuft ein KDC (AS und TGS)

  1. User meldet sich beim Client an.
  2. Sein Benutzername wird an den KDC übermittelt. Dort ist der User Principle Name in der Realm Datenbank hinterlegt. Für einen Service ist der Service Principle Name hinterlegt.
  3. Wenn es den User gibt wird vom KDC ein TGT (Ticket Granting Ticket) und ein Session Key ausgestellt. Das TGT kann man sich als Ausweis vorstellen. (Bei Microsoft eine Gültigkeit von 10 Stunden)
  4. Wenn ich auf eine Resource/Dienst bei einem Server zugreifen möchte, schickt der Client das TGT an den KDC. Beim KDC wird nachgeschaut ob der Dienst einen SPN hat. Er antwortet dem Client mit einem TGS (Service Ticket). Dieses ist mit dem Passwort des SPN verschlüsselt.
  5. Jetzt Zeige ich dem Server, wo ich zugreifen will das TGS. Dies kann er überprüfen, da er sein SPN beim KDC hinterlegt hat.

Das Ticket ist mit dem Master Key vom KDC verschlüsselt. Session Key ist mit Private Key vom Client verschlüsselt.

 

 

Dieser Eintrag wurde veröffentlicht in Linux von admin. Setze ein Lesezeichen zum Permalink.