Samstag, 4. Februar 2012 |
Wie man den in About Security #77 vorgestellten Angriff auf RSA als Konzelationssystem verhindern kann und wie hybride Verfahren funktionieren, erfahren Sie in dieser Folge von About Security.
Um den Angriff auf RSA als Konzelationssystem zu verhindern, wird es zuerst zu einem indeterministischen Konzelationssystem gemacht, indem bei der Verschlüsselung mit jedem Klartextblock eine neue Zufallszahl verschlüsselt wird. Dadurch ergeben gleiche Klartextblöcke unterschiedliche Schlüsseltextblöcke.
Um aktive Angriffe zu verhindern, wird jedem Klartextblock vor der Verschlüsselung Redundanz hinzugefügt, die beim Entschlüsseln geprüft wird. Dabei darf die modulare Multiplikation zweier Klartextblöcke mit Redundanz keinen dritten Klartextblock mit passender Redundanz ergeben.
Die Redundanz kann z.B. erzeugt werden, indem auf den Klartextblock eine kollisionsfreie Hashfunktion (dazu demnächst mehr) angewendet und das Ergebnis an den Klartextblock angehängt wird. Um die multiplikative Struktur von RSA aufzuheben, muss die multiplikative Struktur der Hashfunktion (sofern vorhanden) eine andere als die von RSA sein.
Der Einsatz von RSA als Konzelationssystem erfolgt dann folgendermaßen:


N E U ! Security
aktuell
Täglich aktuelle Security-Infos!
Um beim Einsatz von RSA als digitales Signatursystem ein Rückwärtsrechnen zu verhindern und die multiplikative Struktur von RSA aufzuheben, wird vor der Berechnung der Signatur eine kollisionsfreie Hashfunktion auf den zu signierenden Textblock angewandt. Arbeitet die Hashfunktion mit Argumenten beliebiger Länge, hat dies zusätzlich den Vorteil, dass dadurch unbeschränkt lange Texte ohne vorherige Aufteilung in passende Blöcke signiert werden können. Ist die Hashfunktion außerdem noch schneller zu berechnen als RSA, beschleunigt dies auch das Gesamtsystem gegenüber einem alleinigen Einsatz von RSA.
Der Einsatz von RSA als digitales Signatursystem erfolgt dann folgendermaßen:

Dass bei einem hybriden Verschlüsselungsverfahren ein symmetrisches und ein asymmetrisches Verfahren kombiniert werden, wurde bereits in About Security #75 kurz erwähnt. Im Folgenden soll das Vorgehen eines hybriden Verschlüsselungsverfahrens beschrieben werden.
Als Algorithmen sollen AES als symmetrisches und RSA als asymmetrisches System verwendet werden. Die folgenden Aussagen gelten natürlich auch für alle anderen Systeme.
Die verschiedenen Funktionen werden folgendermaßen bezeichnet:
Das hybride Verfahren (Gesamtbild) läuft dann folgendermaßen ab:


Soll zusätzlich die Integrität des Klartexts sichergestellt werden, muss der Sender ihn vor dem Verschlüsseln mit seinem geheimem Schlüssel signieren. Danach werden Klartext und Signatur gemeinsam verschlüsselt. Der Empfänger prüft nach dem Entschlüsseln die Signatur mit dem öffentlichen Schlüssel des Senders. Zum Ablauf siehe hier.
Nach der Beschreibung asymmetrischer Verfahren stellt sich die Frage, wie Sender und Empfänger an die benötigten öffentlichen Schlüssel ihrer jeweiligen Kommunikationspartner gelangen und dabei sicherstellen, ob wirklich die richtigen Schlüssel verwendet werden. Dies ist das Thema der nächsten Folge.
Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!
About Security – Übersicht zum aktuellen Thema "Kryptographie – RSA"