Wie erhöht die Vorauthentifizierung von Kerberos die Sicherheit?

12665
Sedate Alien

Dieser FAQ-Eintrag (und der RFC selbst) besagt, dass die Vorauthentifizierung eine Schwachstelle bei der ersten Implementierung von Kerberos behebt, durch die Kerberos für Angriffe im Offline-Wörterbuch anfällig ist.

Der FAQ-Status:

Die einfachste Form der Vorauthentifizierung ist als PA-ENC-TIMESTAMP bekannt. Dies ist einfach der aktuelle Zeitstempel, der mit dem Schlüssel des Benutzers verschlüsselt wird.

Wenn es einem Angreifer gelingt, ein Paket zu finden, das diese Vorauthentifizierungsdaten enthält, ist dies nicht auch anfällig für einen Wörterbuchangriff? Ich habe den Geheimtext, ich kenne den ursprünglichen Zeitstempel - wie unterscheidet sich dieses Szenario?

11
Ich bin ein bisschen zu spät zur Party :). Die Annahme, dass der Angreifer über den ursprünglichen Zeitstempel verfügt, ist in dieser Frage nicht zutreffend. Dies ist ein "bekannter Geheimtext" -Angriff, der nicht "bekannter Klartext" -Angriff ist, sonst wäre es lustig. Wir können nicht davon ausgehen, dass der Angreifer sowohl Klartext als auch Geheimtext hat, weil er auch den Algorithmus kennt. Was ist also die Herausforderung hier? Oder vielleicht fehlt mir hier etwas ... Ashkan vor 8 Jahren 0
Nach Abschluss meines vorherigen Kommentars, nachdem ich die Angelegenheit noch einmal überlegt hatte, kam ich auf die Idee, dass, wenn wir den Angriff als "bekannten Klartext" -Angriff annehmen (dh der Angreifer kennt den genauen Zeitstempel), Sie Recht haben, der Vorauthentifizierungsschritt bieten keine zusätzliche Sicherheit, da er möglicherweise unsicher gewählte Kennwörter ausprobieren und den Schlüssel finden kann, andernfalls ist dies möglich. Ich frage mich also, welche Art von Angriff das wäre? Ashkan vor 8 Jahren 0

2 Antworten auf die Frage

15
anonymous

Wenn Sie die Vorauthentifizierung nicht erzwingen, kann der Angreifer direkt eine Dummy-Anforderung zur Authentifizierung senden. Das KDC sendet ein verschlüsseltes TGT zurück, und der Angreifer kann ihn brutal erzwingen. In Ihren KDC-Protokollen wird nur eine einzige Anforderung für ein TGT angezeigt.

Wenn Sie eine Zeitstempel-Vorauthentifizierung erzwingen, kann der Angreifer die KDCs nicht direkt nach dem rohen Zwang des verschlüsselten Materials fragen. Der Angreifer muss einen Zeitstempel mit einem Kennwort verschlüsseln und dem KDC anbieten. Ja, er kann dies immer und immer wieder tun, aber Sie werden jedes Mal einen KDC-Protokolleintrag sehen, wenn er nicht erfolgreich ist.

Die Zeitauthentifizierung vor der Authentifizierung verhindert also einen aktiven Angreifer. Dies hindert einen passiven Angreifer nicht daran, die verschlüsselte Zeitstempelnachricht des Clients an das KDC auszuliefern. Wenn der Angreifer dieses vollständige Paket ausspähen kann, kann er es offline brutal erzwingen.

Zu den Abhilfemaßnahmen für dieses Problem gehören die Verwendung langer Kennwörter und eine gute Kennwortrotationsrichtlinie, um das Offline-Brute-Forcing unmöglich zu machen, oder die Verwendung von PKINIT ( http://www.ietf.org/rfc/rfc4556.txt ).

+1 Danke, dass Sie den Unterschied zwischen aktivem Angreifer und passivem Angreifer hervorgehoben haben. Harvey Kwok vor 13 Jahren 0
Ein vollständiger Artikel mit diesem Detail erscheint 2014 hier: https://social.technet.microsoft.com/wiki/contents/articles/23559.kerberos-pre-authentication-why-it-should-not-be-behindert .aspx Martin Serrano vor 6 Jahren 0
5
Sedate Alien

Ich habe auf IEEE Xplore ein Dokument ( Extrahieren von Kerberos-Passwörtern durch RC4-HMAC-Verschlüsselungstypanalyse ) gefunden, das diesbezüglich etwas relevant ist. Sie scheinen zu implizieren, dass es nicht anders ist, wenn ein Paket vor der Authentifizierung erfasst wird.

Wenn ein Angreifer in der Lage ist, die Vorauthentifizierungspakete zu erfassen, und die Identität eines gültigen Benutzers übernehmen möchte, muss der Angreifer die vom KDC ausgeführten Prozeduren ausführen. Der Angreifer muss das Entschlüsselungsverfahren im vereinbarten Verschlüsselungstyp verwenden und versuchen, verschiedene Passwörter für die erfassten Daten auszuführen. Wenn dies erfolgreich ist, hat der Angreifer das Kennwort des Benutzers.