Kerberos
Bei Kerberos handelt es sich um ein Netzwerkprotokoll, welches hauptsächlich in offenen und unsicheren Netzen verwendet wird.
Dieses Protokoll wird für die Authentifizierung von Benutzern oder Systemen verwendet. So kann überprüft werden, ob es sich bei dem Benutzer oder dem System, tatsächlich um diese Instanzen handelt, oder, ob jemand nur vorgibt, eine dieser Instanzen zu sein.Die hauptsächliche Komponente von Kerberos ist das Key Distribution Center (KDC). Das KDC arbeitet mit einer symmetrischen Verschlüsselung und kann einen Benutzer für mehrere Dienste authentifizieren.
Kerberos - Aufbau und Komponenten
Kerberos besteht aus unterschiedlichen Komponenten. Zuerst ist an dieser Stelle der Client zu nennen. Der Client ist der Nutzer, der eine bestimmte Ressource erreichen möchte.
Der Server ist das System, welches diese Ressource bereitstellt und auf die der Client zugreifen möchte. Damit dieser Zugriff erfolgen kann, benötigt der Client an dieser Stelle ein Kerberos-Ticket.
Dieses Kerberos-Ticket wird vom Key Distribution Center ausgestellt. Der entsprechende Dienst dafür läuft auf jedem einzelnen Domaincontroller. Zusätzlich gibt es das Ticket Granting Ticket (TGT). Dieses Ticket arbeitet wie ein Ausweis. Der Client kann immer wieder Tickets beim KDC anfordern, damit er sich nicht neu beim KDC anmelden muss.
Das Ticket an sich wird vom Key Distribution Center ausgestellt. Dieses Ticket gilt für eine bestimmte Ressource, die der Client beim Server anfordert. Diese Tickets werden nur ausgegeben, wenn der Client ein TGT hat.
Kerberos - Funktionweise und Möglichkeiten
Die drei großen Parteien (Client, Server und Kerberos-Server) müssen sich untereinander authentifizieren. Das bedeutet, dass sich der Client gegenüber dem Server und der Server gegenüber dem Client authentifizieren muss und der Kerberos-Server gegenüber dem Client und dem Server und umgekehrt. So können Man-in-the-middle-Angriffe unterbunden werden.
Zu Beginn meldet sich der Client beim Kerberos-Server an. An dieser Stelle kann der Client ein TGT anfordern. Dieses Ticket bekommt der Nutzer des Clients entweder gegen ein Passwort oder bei der Benutzeranmeldung. Durch dieses TGT kann der Client weitere Tickets anfordern, ohne sich erneut authentifizieren zu müssen.
Mithilfe eines Session-Keys kann die Kommunikation zwischen dem Kerberos-Server und dem Client noch zusätzlich verschlüsselt werden. Besitzt der Client nun ein entsprechendes Ticket, kann er auf die gewünschte Ressource zugreifen.
Kerberos - Beispiel und Anwendungsfall "Server-Hopping"
Mit diesem TGT kann der Client ein Ticket anfordern, um sich mit dem Server zu verbinden.Besitzt der Client dieses Ticket, kann er sich beim Server anmelden und übergibt dem Server beide Tickets.
Der Server kann nun das TGT des Clients nutzen, um ein Ticket anzufordern, um sich anschließend beispielsweise mit einem Datenbankserver zu verbinden. So kann sich der Server mithilfe des TGT des Clients mit einem anderen Server verbinden .