FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Praktische Informatik (HS)

Kerberos-Prinzip

Kerberos-Prinzip 2011-03-14 21:54
Anonymer User
Hallo,

könnt ihr mir bitte sagen, ob ich das Prinzip richtig verstanden habe. Könnt Ihr bitte ggf. ergänzen oder korrigieren. Vielen lieben Dank. Schönen Abend.

1. Alice meldet sich beim Kerberos-Server an. Dazu sendet sie eine Initialisierungsnachricht. Diese besteht aus ihrem Namen, der Uhrzeit und die Anfrage welchen Dienst (TGS) sie benutzen möchte. Diese Nachricht verschlüsselt sie mit ihrem Paßwort und sendet es an den Kerberos-Server.

2. Der Kerberos-Server überprüft alles. Wenn alle Angaben stimmen erzeugt er einen DES-Schlüssel (K1). Dann erstellt er zusätzlich noch TGT (Ticket-Granting-Ticket). Diese TGT besteht aus Alice Namen, dem DES-Schlüssel K1 und einigen anderen Angaben. Dieses Ticket verschlüsselt Kerberos mit dem Geheimen-Schlüssel des TGS. Dann sendet er sowohl das TGT, als auch den DES-Schlüssel K1 verschlüsselt mit Alice Paßwort an Alice.

3. Alice hat jetzt den Schlüssel K1. Nun sendet Sie das TGT unverändert an den TGS und einer Nachricht, bestehend aus ihrem Namen und der Anfrage das sie mit Bob kommunizieren möchte und verschlüsselt diese mit dem DES Schlüssel vom Kerberos-Server (K1).

4. Der TGS entschlüsselt das TGT mit seinem geheimen Schlüssel. Daraufhin hat er den DES-Schlüssel (K1) vom Kerberos-Server. Dann entschlüsselt Er mit Hilfe diese Schlüssels Alice Nachricht und überprüft die Angaben. Wenn alles Stimmt erzeugt er einen zweiten DES-Schlüssel (K2). Dann erzeugt er ein Ticket für Bob, welches aus dem gerade erzeugtem Schlüssel K2, Alice Namen und einigen anderen Angaben besteht. Daraufhin verschlüsselt er dieses Ticket mit Bobs-Paßwort. Außerdem verschlüsselt er den Schlüssel K2 mit K1. Beides sendet er an Alice zurück.

5. Alice bekommt nun mit hilfe des K1 den TGS Schlüssel K2. Dann sendet sie das Ticket unverändert an Bob.

6. Bob entschlüsselt nun das Ticket mit seinem Paßwort. Daraufhin hat er den Schlüssel K2 und weiß wer mit ihm kommunizieren will.

RE: Kerberos-Prinzip 2011-03-15 14:57
KPK
Also ich werde jetzt nicht das Protokoll und alle Felder hier noch einmal erklären, aber einige Hinweise zum geschriebenen sind sicherlich hilfreich. Wenn ich Textblöcke aus den Zitaten entfernt habe, steht da dann "[…]":

1. Alice meldet sich beim Kerberos-Server an. Dazu sendet sie eine Initialisierungsnachricht. […] Diese Nachricht verschlüsselt sie mit ihrem Paßwort und sendet es an den Kerberos-Server.

Wo steht was von Verschlüsselung der ersten Anfrage? Die ist unverschlüsselt und enthält unter anderem eine Nonce.

2. Der Kerberos-Server überprüft alles. Wenn alle Angaben stimmen erzeugt er einen DES-Schlüssel (K1). Dann erstellt er zusätzlich noch TGT (Ticket-Granting-Ticket). Diese TGT besteht aus Alice Namen, dem DES-Schlüssel K1 und einigen anderen Angaben. Dieses Ticket verschlüsselt Kerberos mit dem Geheimen-Schlüssel des TGS. Dann sendet er sowohl das TGT, als auch den DES-Schlüssel K1 verschlüsselt mit Alice Paßwort an Alice.

Nun ja, welcher Algorithmus genau eingesetzt wird, ist abhängig von der Implementierung. Gegen DES spricht heutzutage, dass dieser zu schwach ist, aber historisch ist das richtig.

Mich interessieren in einer Prüfung auch regelmäßig die "einigen anderen Angaben", weil die eine große Bedeutung haben.

Statt das Paßwort von Alice direkt zu benutzen, wird regelmäßig ein aus dem Paßwort abgeleitete Bit-Folge genutzt. Warum? Schlüssel sind üblicherweise möglichst zufällige Bit-Folgen und keine Zeichenfolgen, die hohe Redundanzen aufweisen. Wird z.B. über Hashes realisiert. In jedem Fall gibt es eine für beide Seiten - AS-Server und Client - nachvollziehbare und nutzbare Beziehung zwischen: User -> Passwort -> Long-term shared secret für AS-Client-Vertraulichkeit.

3. […] einer Nachricht, bestehend aus ihrem Namen und der Anfrage, das sie mit Bob kommunizieren möchte […]

Auch hier wäre mir die Angabe der Felder des Authenticators nicht genau genug.

4. […] und einigen anderen Angaben besteht. Daraufhin verschlüsselt er dieses Ticket mit Bobs-Paßwort. Außerdem verschlüsselt er den Schlüssel K2 mit K1. […]

Dito, wichtige Details hinsichtlich transportierter Daten fehlen.

5. Alice bekommt nun mit hilfe des K1 den TGS Schlüssel K2. Dann sendet sie das Ticket unverändert an Bob.

… und wo ist der Authenticator?

6. Bob entschlüsselt nun das Ticket mit seinem Paßwort. Daraufhin hat er den Schlüssel K2 und weiß wer mit ihm kommunizieren will.

Ja, aber nicht nur. Und es gibt noch mal ein Paket zurück zum Client, das eine bestimmte Funktion hat.