Kryptografie (17) : Kerberos

in #de-stem5 years ago

In diesem Artikel geht es darum, wie sich ein Rechner versichern kann, dass ein Benutzer tatsächlich derjenige ist, der er vorgibt zu sein. Etwas konkreter gesagt ist der Rechner eigentlich ein Dienst- oder ein Anwendungsprogramm auf dem Rechner, das die Überprüfung wünscht. Überprüft wird nicht nur die Person, die vor dem Rechner sitzt, sondern auch die Anwendungen, die im Namen der Person ausgeführt werden.

In der antiken Mythologie ist Kerberos der riesige Hund, der den Eingang zur Unterwelt hütet. Häufig wird er dreiköpfig dargestellt. Jeder, der die Unterwelt betritt, wird von Kerberos freundlich angewedelt. Will jemand aber wieder heraus, so wird er von Kerberos verschlungen. Erst Herakles bezwang Kerberos und befreite dabei Theseus aus der Unterwelt. Nach diesem Hund wurde dieser Authentifizierungsdienst benannt, Kerberos. Kerberos ist ein Authentisierungsverfahren für verteilte Systeme [1].

Damit Kerberos funktioniert, gibt es zwei Instanzen. Eine wird Key-Distribution-Center (KDC) oder einfach nur Authentication Server genannt. Die andere Instanz nennt sich Ticket-Granting-Server (TGS) und stellt dem Client ein Ticket für die eigentliche Kommunikation zu einem Server aus.
So ein Ticket enthält den Sitzungsschlüssel, den Namen des Clients, den Beginn der Gültigkeit und das Ablaufdatum dieses Tickets.

Mit solch einem Ticket kann sich ein Benutzer gegenüber einem anderen Benutzer ausweisen. Da zur Verschlüsselung der Nachrichten ein symmetrisches Verfahren eingesetzt wird, müssen der Authentication-Server und die anderen Teilnehmer ein gemeinsames Geheimnis, einen Schlüssel, kennen. Diese Schlüssel müssen zunächst auf einem sicheren Kanal ausgetauscht werden. Jeder Teilnehmer hat so einen Schlüssel.

Im folgenden wird der Ablauf von Kerberos mit TGS beschrieben [2]

  1. Der Client beantragt beim Authentication-Server ein Ticket für den Ticket-Granting-Server. Dieses Ticket wird auch Ticket-Granting-Ticket (TGT) genannt. Der Client schickt also seine Client-ID (C-ID), die ID des Ticket-Granting-Servers (TGS-ID) und den Zeitstempel t1 an den Authentication-Server.

  2. Der Authentication-Server schickt das Ticket-Granting-Ticket (TGT) an den Client. Der Client entschlüsselt den Sitzungsschlüssel SK aus der Nachricht und speichert das TGT.

  3. Nun beantragt der Client beim Ticket-Granting-Server ein Ticket für den Server, mit den er sich eigentlich verbinden möchte. Dazu authentifiziert er sich mit dem Ticket-Granting-Ticket TGT beim Ticket-Granting-Server.

  4. Der Ticket-Granting-Server erstellt das Ticket ticket’ für den Server und die zusätzliche Nachricht, mit dem neuen Sitzungsschlüssel SK’ und dem Zeitstempel t2. Die Nachricht wird mit dem Sitzungsschlüssel SK verschlüsselt und zusammen mit dem Ticket an den Client geschickt.

  5. Mit dem erhaltenen Ticket ticket’ authentifiziert sich der Client dann beim Server.

Grafik: Kerberos mit TGS, (Vgl. p.37, [2])

kerberos.png

Es gibt auch eine vereinfachte Form von Kerberos ohne ein TGS. Wenn kein TGS eingesetzt wird, so entfallen die Schritte 3 und 4.

Sort:  

👍
~Smartsteem Curation Team



This post has been voted on by the SteemSTEM curation team and voting trail. It is elligible for support from @curie.

If you appreciate the work we are doing, then consider supporting our witness stem.witness. Additional witness support to the curie witness would be appreciated as well.

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Please consider setting @steemstem as a beneficiary to your post to get a stronger support.

Please consider using the steemstem.io app to get a stronger support.

Congratulations @ozelot47! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 100 comments. Your next target is to reach 200 comments.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

You can upvote this notification to help all Steem users. Learn how here!

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 62904.22
ETH 2571.38
USDT 1.00
SBD 2.76