Gute Zahlen, schlechte Zahlen

Seite 2: Asymmetrische und symmetrische Schlüssel

Inhaltsverzeichnis

OpenSSL verwendet zur Erzeugung der asymmetrischen RSA-, DSA- oder ECC-Schlüssel die eigene Funktion zur Erzeugung von Zufallszahlen. Somit sind zunächst einmal alle von einer defekten OpenSSL-Version erzeugten Schlüsselpaare schwach und leicht zu brechen – ein Angreifer kann mit wenig Aufwand komplette Listen aller möglichen Schlüsselpaare erzeugen und gegen ihm bekannte öffentliche Schlüssel abgleichen. Die vom Debian-Projekt und Metasploit veröffentlichten OpenSSH- und OpenSSL-Blacklists wurden auf diese Weise erzeugt. Sie enthalten die Hashes aller so berechneten Public Keys, die relativ einfach gegen einen zu testenden Public Key geprüft werden können.

Für jeden Satz von Schlüsselerzeugungsparametern (also bei RSA die Schlüssellänge und der öffentliche Exponent) muss jedoch eine eigene Liste erstellt werden. OpenSSH verwendet zwar ebenfalls die OpenSSL-Bibliothek, benutzt jedoch einen anderen öffentlichen Exponenten (35) als OpenSSL in der Standardeinstellung für RSA-Schlüssel (65537) verwendet. Daher taugen die OpenSSH-Blacklists nicht für die Prüfung von mit OpenSSL erzeugten RSA-Schlüsseln.

RSA-Schlüssel setzen standardmäßig auf einen bestimmten Exponenten. Das macht das Raten leichter, wenn sie mit schwachen Zufallszahlen erzeugt wurden.

Hybridverfahren kombinieren die besten EIgenschaften von asymmetrischen und symmetrischen Verschlüsselungsalgorithmen.

Symmetrische Verfahren werden in der Regel nicht alleinstehend eingesetzt, weil das Schlüsselmanagement bei diesen Algorithmen schwer in den Griff zu bekommen ist. Stattdessen werden symmetrische Algorithmen zumeist als Baustein zusammen mit anderen kryptographischen Verfahren eingesetzt und spielen zum Beispiel in Hybridverfahren eine große Rolle zur Verschlüsselung der eigentlichen Sitzungsdaten.

Auch bei der Erzeugung von symmetrischen Schlüsseln spielen Zufallszahlen eine Rolle. In Hybridverfahren erzeugt ein Kommunikationspartner einen zufälligen symmetrischen Schlüssel, den er mit dem öffentlichen Schlüssel des Partners verschlüsselt und zusammen mit den zu schützenden Daten verschickt. Der Empfänger kann mit seinem privaten Schlüssel den symmetrischen Schlüssel entschlüsseln. So funktionieren beispielsweise S/MIME und PGP. Eine weitere Möglichkeit zur Festlegung eines symmetrischen Schlüssels ist ein Schlüsselaustauschverfahren wie Diffie-Hellman (DH), das insbesondere bei Online-Protokollen Verwendung findet.