Ein ernstes Sicherheitsproblem bei Challenge-Response
2026-05-28T00:47:56+08:00
Ein Challenge-Response-Verfahren funktioniert, indem einer Person, deren Identität überprüft werden soll, eine zufällige Zeichenkette (Nonce) gesendet wird und sie aufgefordert wird, diese Zeichenkette mit ihrem privaten Schlüssel zu signieren. Das stellt jedoch ein sehr ernstes Sicherheitsproblem dar.
Alice möchte beispielsweise Bob überprüfen. Allerdings kommt Mallory zwischen sie. Dann geschieht Folgendes:
- Alice sendet die Challenge an 'Bob', der von Mallory impersoniert wird.
- Mallory gibt sich als Alice aus, um diese Challenge an Bob weiterzuleiten und eine Antwort anzufordern.
- Bob sendet die Antwort zurück, und Mallory leitet die Antwort weiter.
In diesem Szenario hat Mallory Bob gegenüber Alice erfolgreich impersoniert und kann nun MITM-Angriffe durchführen.
Die Lösung besteht darin, nicht lediglich eine zufällige Zeichenkette als Challenge zu verwenden. Eine gute Challenge sollte mindestens die folgenden Elemente enthalten:
- die Identifikationsinformationen über den Trust-Anker des Verifizierenden und des Verifizierten (zum Beispiel einen OpenPGP-Fingerabdruck);
- die Identifikationsinformationen über den Kanal (zum Beispiel den Ort bei einer Verifizierung von Angesicht zu Angesicht, die JID zusammen mit den OMEMO-Fingerabdrücken bei einer Verifizierung über XMPP, die Matrix-ID beider Parteien und den Raum bei einer Verifizierung über Matrix);
- einen Zeitstempel;
- die Nonce, also die zufällige Zeichenkette.
Mit anderen Worten sollte die Challenge die Identitäten des Verifizierenden und des Verifizierten, den authentifizierten Kanal- oder Sitzungskontext, einen Zeitstempel für Frische und eine Nonce miteinander verknüpfen. Der Verifizierende muss die signierten Identitätsbehauptungen mit den authentifizierten Transportmetadaten vergleichen.
In diesem Fall müsste Mallory den Kanal-Kontext verändern, um Bob zu täuschen (andernfalls würde Bob die problematische Challenge sofort erkennen und die Antwort verweigern), wodurch die Antwort für Alice ungültig würde, da die Challenge verändert worden ist.
Für noch stärkere Sicherheit solltet ihr euch gegenseitig verifizieren.
















































