Blinding

Was ist Blinding?

In der Kryptografie bezeichnet Blinding ein Verfahren, das einem Client die Nutzung eines Dienstes in codierter Form ermöglicht. Eingesetzt wird dieses unter anderem bei der identitätsbasierten Verschlüsselung und zum Verhindern von Seitenkanalattacken. Dafür verändert Blinding die Eingaben für den Algorithmus in einen unvorhersehbaren Zustand. Dadurch lässt sich das Ausspionieren von nützlichen Informationen verhindern, die im Rahmen einer Seitenkanalattacke ausgenutzt werden könnten. Meist wird das RSA-Kryptosystem als Verschlüsselungsfunktion eingesetzt, andere asymmetrische Verschlüsselungsfunktionen sind möglich.

Was ermöglicht Blinding?

Das Blinding kann helfen, einen geheimen Schlüssel während einer Verschlüsselungsoperation zu verschleiern, sodass keine Informationen über den Schlüssel abgefangen werden können. Dafür wird in den meisten Fällen eine zufällige Zahl auf den geheimen Wert hinzuaddiert. Dieser Wert beeinflusst die Verschlüsselungsoperation nicht, schützt aber den echten Schlüssel. Ein häufiger Anwendungsfall sind „blind-signatures“. Dabei unterzeichnet ein Anwender eine Nachricht digital, ohne den Inhalt der Nachricht herausfinden zu können.

Worauf ist beim Blinding zu achten?

Nicht alle Funktionen eignen sich für das Blinding, teilweise ist Vorsicht geboten. Rabin-Williams Unterschriften ist ein Beispiel, bei dem der Anwender aufmerksam sein muss. Wenn Blinding auf die formatierte Nachricht angewandt wird, aber der zufällige Wert berücksichtigt nicht die Jacobi-Anforderungen für p und q, dann kann der private Schlüssel unter Umständen erbeutet werden.