© Sergey Tarasov/Shutterstock.com
Welche Kryptoverfahren sollte man verwenden bzw. meiden?

Ein schmaler Grat


Die Auswahl an Kryptoverfahren ist, sofern man sich auf bekannte Algorithmen beschränkt, recht übersichtlich. Einige dieser Algorithmen sollte man allerdings mittlerweile nicht mehr verwenden, da sie inzwischen gebrochen wurden. Und dann gibt es da noch einige weitere Punkte zu beachten ...

Aber fangen wir mit der Frage nach den aktuell als sicher geltenden Verfahren an. Vereinfacht könnte man sagen, dass alles, was nicht gebrochen wurde, sicher ist. Aber das wäre etwas zu einfach, denn auch wenn eine Schlüssellänge für ein Verfahren aktuell noch nicht gebrochen werden kann, könnte der Abstand zu einer bereits gebrochenen Schlüssellänge so gering sein, dass in absehbarer Zeit mit einem erfolgreichen Angriff zu rechnen ist.

Nehmen wir als Beispiel RSA [1]. Dessen Sicherheit hängt davon ab, dass es nicht effektiv möglich ist, Zahlen in ihre Primfaktoren zu zerlegen. Das ist sehr wahrscheinlich so, es gibt aber keinen mathematischen Beweis dafür. Vielleicht hat ja auch bloß noch niemand einen effektiven Algorithmus gefunden. Um 1997 galten 768 Bit lange RSA-Schlüssel als sicher. 2009 wurde die 768 Bit lange Zahl RSA-768 der RSA Factoring Challenge faktorisiert [2], [3]. Damit sind seitdem 768 Bit lange Schlüssel nicht mehr sicher. Inzwischen sind durch die gesteigerte Rechenleistung die ebenfalls lange Zeit üblichen 1 024 Bit langen Schlüssel nicht mehr sicher. Man muss also immer langfristig denken: Wie lange soll eine jetzt verschlüsselte Datei sicher sein? Oder eine Signatur? Oder was auch immer. Verfahren und Parameter müssen so gewählt werden, dass die Sicherheit für den gesamten geplanten Zeitraum gegeben ist.

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) hält aktuell mindestens 2 000 Bit lange RSA-Schlüssel für sicher, aber nur bis Ende 2022. Danach sollen mindestens 3 000 Bit lange Schlüssel verwendet werden. Wenn Sie also heute einen Text mit einem 2 048 Bit langen Schlüssel verschlüsseln, was ja durchaus ein üblicher Wert ist, könnte der in fünf oder sechs Jahren möglicherweise entschlüsselt werden. Soll der Inhalt länger geheim bleiben, müssen Sie einen längeren Schlüssel verwenden.

Welche Verfahren und welche Schlüssellängen sind sicher?

Es gibt verschiedene Institutionen und Organisationen, die die ihrer Ansicht nach sicheren Verfahren und Schlüssellängen veröffentlichen. In Deutschland sind das BSI und die Bundesnetzagentur (vollständig: „Bundesnetzagentur für Elektrizität, Gas, Telekommunikation, Post und Eisenbahnen“) die offiziellen Ansprechpartner.

TR-02102 des BSI

Das BSI veröffentlicht in Teil 1 der technischen Richtlinie TR-02102 „Kryptographische Verfahren: Empfehlungen und Schlüssellängen“ seine Bewertung der Sicherheit ausgewählter kryptografischer Verfahren. Es werden die empfohlenen Verfahren und Schlüssellängen aufgeführt und es wird auch auf mögliche Angriffe und Schwachpunkte hingewiesen.

Die Richtlinie soll einen längerfristigen Überblick über die Sicherheit der Verfahren geben und richtet sich in erster Linie an Entwickler, die die Einführung neuer kryptografischer Infrastrukturen planen. Das BSI erhebt aber keinen Anspruch auf Vollständigkeit, nicht aufgeführte Verfahren werden vom BSI nicht zwingend als unsicher beurteilt, sondern eben gar nicht – was sich noch als Problem erweisen wird, wie wir im Folgenden sehen werden.

Die laut BSI sicheren Verfahren und Schlüssellängen

Die aktuelle Version 2017-01 vom 8. Februar 2017 der TR-02102-1 [4] führt u. a. folgende Verfahren und Schlüssellängen als sicher auf:

  • Symmetrische Verschlüsselung

    • Als Blockchiffre wird AES [5] mit 128, 192 oder 256 Bit langen Schlüsseln empfohlen, als Betriebsarten [6] der Galois/Counter Mode (GCM), das Cipher Block Chaining (CBC) und der Counter Mode (CTR), für die es jeweils noch empfohlene Betriebsbedingungen gibt.

    • Für symmetrische Stromchiffren gibt es zurzeit keine Empfehlung, AES im Counter Mode kann jedoch als Stromchiffre aufgefasst werden.

  • Asymmetrische Verschlüsselung

    • Empfohlen werden das auf dem Diffie-Hellman-Problem auf elliptischen Kurven basierende Elliptic Curve Integrated Encryption Scheme (ECIES) mit 250 Bit langen Schlüsseln, das auf dem normalen DH-Problem basierende Discrete Logarithm Integrated Encryption Scheme (DLIES) und RSA mit 2 000 Bit langen Schlüsseln bzw. beim Einsatz über das Jahr 2022 hinaus 3 000 Bit langen Schlüsseln. Dabei wird davon ausgegangen, dass es für die Gültigkeitsdauer der Werte weder einen Durchbruch bei der Entwicklung effektiver Algorithmen zur Lösung der zugrunde liegenden Probleme gibt noch es zum Einsatz von Quantencomputern für Angriffe kommt (dazu im Folgenden noch mehr).

  • Hashfunktionen

    • Das BSI empfiehlt die Hashfunktionen [7] SHA-256, SHA-512/256, SHA-384 und SHA-512 der SHA-2-Familie [8] sowie SHA3-256, SHA3-384, SHA3-512 der SHA-3-Familie [9].

    • Vom Einsatz von SHA-1-Funktionen wird explizit abgeraten, da „die Erzeugung von Kollisionen gegen SHA-1 heute prinzipiell praktisch möglich“ erscheint ([4], S. 41). „In Anwendungen, die eine kollisionsresistente Hashfunktion benötigen, sollte daher SHA-1 definitiv nicht mehr eingesetzt werden.“ (ebd.)

  • Message Authentication Code (MAC)

    • Für die Bildung von MACs empfiehlt das BSI die Verfahren CMAC und GMAC mit einer der aufgeführten Blockchiffren und HMAC mit einer aufgeführten Hashfunktion, immer mit einer Schlüssellänge von mindestens 128 Bit. Die Taglänge sollte mindestens 96 Bit betragen, minimal zulässig (aber nicht empfohlen) sind 64 Bit.

  • Signaturverfahren

    • Als Signaturverfahren werden vom BSI die Verfahren RSA, der Digital Signature Algorithm DSA und Merkle-Signaturen sowie die DSA-Varianten auf elliptischen Kurven ECDSA und ECKDSA bzw. ECGDSA empfohlen.

Des Weiteren gibt es Vorgaben für die Authentisierung, den Schlüsselaustausch (Diffie-Hellman sowohl normal als auch über elliptische Kurven), Schlüsselaushandlung und -übertragung, Key-Updates, Secret Sharing und Zufallszahlengeneratoren.

Weitere Protokolle

Für einige Protokolle gibt es separate Teile der technischen Richtlinie TR-02102 als eigenständige Dokumente. TR-02102-2 enthält Empfehlungen für den Einsatz von TLS. In TR-02102-3 gibt es Empfehlungen zum Einsatz von IPsec und IKEv2 (IKEv1 sollte nicht mehr verwendet werden, da IKEv2 Vorteile gegenüber v1 besitzt). Und in TR-02102-4 werden Empfehlungen für den Einsatz von SSH (sowohl zur zu verwendenden Version als auch zu den zu verwendenden kryptografischen Algorithmen) gemacht.

Sonderfall Signaturen

In Deutschland werden an eine qualifizierte elektronische Signatur nach dem Signaturgesetz (SigG) und der Signaturverordnung (SigV, beide inzwischen vom Vertrauensdienstegesetz (VDG) abgelöst) besondere Anforderungen gestellt. Dem zufolge ist die Bundesnetzagentur für den Aufbau und die Überwachung einer sicheren und zuverlässigen Infrastruktur für qualifizierte elektronische Signaturen zuständig. Sie veröffentlicht jährlich eine Übersicht über die Algorithmen und ihre zugehörigen Parameter, die zur Erzeugung von Signaturschlüsseln, zum Hashen zu signi...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang