Bundesamt für Sicherheit in der Informationstechnik

G 4.35 Unsichere kryptographische Algorithmen

Der Sicherheitszugewinn durch Einsatz kryptographischer Verfahren ist grundsätzlich von zwei Parametern abhängig: es müssen sichere kryptographische Algorithmen eingesetzt werden und die geheimen Schlüssel müssen vertraulich gehandhabt werden (zur Kompromittierung kryptographischer Schlüssel siehe G 5.83 Kompromittierung kryptographischer Schlüssel ).

Unsichere kryptographische Algorithmen sind dadurch gekennzeichnet, dass es einem potentiellen Angreifer mit vertretbaren Ressourcen gelingt, das eingesetzte kryptographische Verfahren zu brechen. Bei Verschlüsselungsalgorithmen bedeutet dies, dass es gelingt, aus dem verschlüsselten Text den ursprünglichen Klartext zu ermitteln, ohne dass zusätzliche Informationen bekannt sind. Dabei sind als relevante Ressourcen auf Angreiferseite z. B. die verfügbare Rechenleistung, Hilfsmittel wie Analysetools, vorhandene Kenntnisse, verfügbare Arbeitszeit, Kenntnisse über Schwachstellen etc. zu berücksichtigen. Werden also unsichere kryptographische Algorithmen eingesetzt, besteht für Angreifer die Möglichkeit, den kryptographischen Schutz zu unterlaufen.

Ob jedoch ein kryptographischer Algorithmus unsicher ist, muss jeweils im Einzelfall untersucht werden. Es gibt jedoch einige Kriterien, die auf Unsicherheiten schließen lassen:

  • Werden bei symmetrischen Verschlüsselungsverfahren geheime Schlüssel benutzt, deren effektive Länge geringer als 100 Bit ist, so können sie heute mit moderatem Rechnereinsatz durch Ausprobieren aller potentiell möglichen Schlüssel gebrochen werden. Mit steigender Rechnerleistung ist anzunehmen, dass diese Grenze in Zukunft über 100 Bit steigen wird.
  • Werden bei asymmetrischen Verschlüsselungs- und Signaturverfahren Algorithmen eingesetzt, deren Sicherheit auf dem Problem des Faktorisierens großer Zahlen basiert, so wird heute angenommen, dass Schlüssellängen von weniger als 2000 Bit als unsicher zu betrachten sind. Dies begründet sich in den Fortschritten bei der Entwicklung effizienter Faktorisierungsalgorithmen, die heute unter massivem Rechnereinsatz Faktorisierungen von Zahlen mit rund 800-900 Bit Länge erlauben.
  • Hashfunktionen, die eine beliebig lange Zeichenkette auf einen Hashwert mit konstanter Bitlänge abbilden, können als unsicher betrachtet werden, wenn die konstante Länge des Hashwertes geringer ist als 200 Bit, da sonst zwei Zeichenketten ermittelt werden können, die den gleichen Hashwert ergeben.
  • Kryptographische Algorithmen, die von unerfahrenen Entwicklern entworfen wurden und nicht in der wissenschaftlichen Szene untersucht wurden, sollten als potentiell unsicher betrachtet werden, da die Entwicklung sicherer kryptographischer Algorithmen langjährige Erfahrung voraussetzt.
  • Nicht veröffentlichte kryptographische Algorithmen, die auffällig schnell in Software ablaufen, sollten ebenfalls als potentiell unsicher betrachtet werden. Die Erfahrung zeigt, dass sichere Algorithmen meist auf komplexen mathematischen Funktionen beruhen müssen.
  • Bei der Anwendung kryptographischer Verfahren werden häufig Zufallszahlen benötigt. Schlechte Zufallszahlengeneratoren können dazu führen, dass die damit erzeugten Werte vorhersagbar sind. Dadurch können z. B. kryptographische Checksummen, die die Nachrichtenintegrität sicherstellen sollen, wertlos werden.

Von diesen Kriterien betroffen ist beispielsweise der weltweit sehr häufig eingesetzte DES -Algorithmus zur symmetrischen Verschlüsselung. Dieser benutzt eine effektive Schlüssellänge von 56 Bit. Der so genannte Triple-DES-Algorithmus als dreifache Hintereinanderausführung mit zwei Schlüsseln hat eine effektive Schlüssellänge von 112 Bit und kann zurzeit noch als ausreichend sicher betrachtet werden. Auch betroffen ist der RSA-Algorithmus, der als asymmetrisches Verfahren auf dem Faktorisierungsproblem basiert. Wird RSA mit einer Schlüssellänge unter 1024 Bit betrieben, muss davon ausgegangen werden, dass dies keine ausreichende Sicherheit bietet. Für die nächsten Jahre kann eine Schlüssellänge von mindestens 2000 Bit noch als ausreichend sicher angesehen werden.

Der Hash-Algorithmus MD5 ist veraltet und weist bekannte Schwächen auf, die auch bereits anhand praktischer Beispiele demonstriert werden konnten. Auch der Hash-Algorithmus SHA-1 ist nicht mehr für alle Einsatzzwecke geeignet.

Ein häufiges Beispiel unsicherer, aber sehr schneller Algorithmen ist die so genannte XOR-Funktion, bei der konstante Werte mit dem ursprünglichen Klartext auf einfache Weise verknüpft werden. Dies ist ein hochperformanter Algorithmus, der jedoch sehr schnell gebrochen werden kann. Die XOR-Funktion kann andererseits aber der sicherste Verschlüsselungsalgorithmus überhaupt sein, wenn die zu verschlüsselnden Daten mit nicht vorhersagbaren Zufallswerten XOR-iert werden (One-Time-Pad).

Für den Laien ist es praktisch unmöglich, festzustellen, ob ein kryptographischer Algorithmus ausreichend sicher ist. Daher sollten nur solche Algorithmen eingesetzt werden, die bekanntermaßen von Experten entwickelt wurden oder die einer langjährigen Untersuchung durch die wissenschaftliche Szene unterzogen wurden.

Stand: 15. EL Stand 2016

Hinweis zur Verwendung von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen hierzu erhalten Sie in unserer Datenschutzerklärung.

OK