[Seminarthemen WS08/09] [ < ] [ > ] [Übersicht]


4 Kerberos mit Smartcards

Die Benutzung von asymmetrischer Kryptographie in Form von X.509 Zerti&64257;katen ist dort wo Sicherheit besonders wichtig ist verbreitet. (vgl. [RFC4556, S. 4]) Dafür werden in vielen Unternehmen Smartcards einsetzt. Auf den Smartcards sind die privaten Schlüssel für eine asymmetrische Verschlüsselung gespeichert.


PKINIT

Da Kerberos aber in vielen Netzwerken eingesetzt wird, bestand der Wunsch Smartcards in die Kerberos Authenti&64257;zierung einzubinden. Kerberos arbeitet aber mit symmetrischer Kryptographie. Daher musste eine Erweiterung für Kerberos konzipiert werden.

Hierfür werden die ersten beiden Pakete verändert. Dannach ist A wieder im Besitzt eines TGT.

  1. KRB_AS_REQ: A AS : A, TGS, CertA, {time, NA}kA1
  2. KRB_AS_REP: AS A : {CertAS, {time, NA, Ks2}kAS1}kA, A, {Ks1, A, time}KTGS, {Ks1, TGS, time}Ks2

Im ersten Paket wird die Zeit und ein Nouce mit dem privaten Schlüssel von A signiert. Damit kann ASüberprüfen, ob die Nachricht wirklich von A kommt.

Der erste Teil der Antwort des AS wird mit dem ö&64256;entlichen Schlüssel von A verschlüsselt. Dies stellt sicher das nur A an den dort enthaltenen Schlüssel Ks2 kommt. Der Teil ist zustätlich von dem AS signiert worden um sicherzustellen das die Antwort wirklich von AS kommt. Der zweite Teil ist der TGT. Im letzten Teil der Nachricht ist der Sitzungsschlüssel des TGT mit dem Schlüssel Ks2 verschlüsselt enthalten.


Schwachstelle

Im Jahre 2005 hat eine Gruppe Wissenschaftler um Iliano Cervesato eine Schwachstelle in PKINIT entdeckt. (vgl. [CJT+06]) Sie beschreiben ein Möglichkeit einen Man-in-the-Middle-Angri&64256; durchzuführen. Als Vorbedingung muss der Angreifer sich selbst an dem Server anmelden dürfen.

  1. KRB_AS_REQ: A X : A, B, CertA, {time, NA}kA1
  2. KRB_AS_REQ: XA AS : X, B, CertX, {time, NA}kX1
  3. KRB_AS_REP: AS X : {CertAS, {time, NA, Ks2}kAS1}kX, X, {Ks1, X, time}KTGS, {Ks1, TGS, time}Ks2
  4. KRB_AS_REP: XAS A : {CertAS, {time, NA, Ks2}kAS1}kA, A, {Ks1, X, time}KTGS, {Ks1, TGS, time}Ks2

Der Angreifer leitet die Anfrage von A an den AS als seine eigne weiter. Das die Antwort in Wirklichkeit für X bestimmt ist steht nur in Teilen, welche X ersetzen kann, oder im Ticket. Da das Ticket mit KTGS verschlüsselt ist kann A dies nicht überprüfen. X kann nun alle Verbindungen entschlüsseln und an den Server weiterleiten und dabei alle Pakete entschlüsseln. (siehe Abbildung 8)


PIC

Abbildung 8: Abhören der Kerberospakete
Die Bilder des Servers und des Clients stammen von http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-extras/0.9/gnome-themes-extras-0.9.0.tar.gz und stehen unter der LGPL 2.1 or later. Die Gra&64257;k steht als abgeleitetes Werk auch unter LGPL 2.1 or later.

Eine weitere Möglichkeit ist es gegenüber A die Identität des Servers anzunehmen und so geheime Informationen zu gewinnen. Dies ist in der Abbildung 9 dargestellt. (vgl. [CJT+06, S. 8])


PIC

Abbildung 9: Vortäuschen einer Serveridentität
Die Bilder des Servers und des Clients stammen von http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-extras/0.9/gnome-themes-extras-0.9.0.tar.gz und stehen unter der LGPL 2.1 or later. Die Gra&64257;k steht als abgeleitetes Werk auch unter LGPL 2.1 or later.

Als Gegenmaßnahme muss der signierte Teil der KRB_AS_REP-Nachricht auch den Empfänger enthalten. Wenn AS{CertAS, {time, NA, Ks2, X}kAS1}kX senden würde, kann X das Paket nicht mehr weiterleiten. A würde merken, dass das Paket eigentlich für X bestimmt ist.


[Seminarthemen WS08/09] [ < ] [ > ] [Übersicht]