Unternehmen und datenverarbeitende Stellen müssen sich stets Gedanken machen, wie sie die drei Ziele der IT-Sicherheit (Verfügbarkeit, Vertraulichkeit und Integrität) gewährleisten. Insbesondere zur Gewährleistung des Schutzziels der Vertraulichkeit kommt schnell das Thema Verschlüsselung ins Spiel. Doch Verschlüsselung ist nicht gleich Verschlüsselung und oftmals stellt sich die Frage: Welche Verschlüsselungsmethode entspricht eigentlich dem Stand der Technik?

An dieser Stelle ist es wichtig, vertrauenswürdige Anlaufstellen zu kennen, die auf dem aktuellen Stand über entsprechende Verschlüsselungsmethoden informieren und auch passende Schlüssellängen empfehlen. Der Blick sollte dabei insbesondere auf staatliche Institutionen gelenkt werden, deren Empfehlungen bei der Bestimmung des Stands der Technik eine wichtige Rolle spielen.

Welche Anlaufstellen gibt es?

Neben dem BSI (DE, Bundesamt für Sicherheit in der Informationstechnik) existieren z. B. noch das NIST (US, National Institute of Standards and Technology), die ANSSI (FR, Nationale Agentur für Sicherheit der Informationssysteme) und die Veröffentlichungen einiger Forschungsgruppen, welche zum einen die gegenwärtige Lage analysiert haben und zum anderen entsprechende Empfehlungen aussprechen.

Wie schaffe ich mir schnell einen Überblick?

Einen Überblick über die Empfehlungen der oben genannten Institutionen schafft die Seite https://www.keylength.com. Hier werden auf sehr nachvollziehbare Weise die jeweiligen Empfehlungen übersichtlich dargestellt. Als Grundlage werden Informationen aus Dokumenten ausgewertet, in denen die Institutionen Empfehlungen abgeben – am Beispiel des BSI etwa die Technische Richtlinie BSI TR-02102-1, die im Hinblick auf kryptographische Verfahren Empfehlungen abgibt und welcher bei der Ermittlung des Stands der Technik eine erhebliche Bedeutung zukommt.

Wie nutze ich die Seite?

Der erste Besuch von https://www.keylength.com rückt eine Tabelle in den Vordergrund. In dieser werden zum Teil wissenschaftliche Veröffentlichungen (z.B. die des Forschungsprojektes ECRYPT II oder den Arbeiten von Lenstra und Verheul) wie auch Veröffentlichungen der oben genannten Institute präsentiert. Der Vorteil: Der interessierte Leser muss nicht lange suchen und kann die Vorschläge direkt vergleichen.

Bei einem Klick auf einen Eintrag wird die nächste Ebene ausgefahren. Beispielsweise lassen sich die Empfehlungen des BSI betrachten. Hier stehen in der Tabellenüberschrift Begriffe, wie „Symmetric, Factoring Modulus, Discrete Logarithm (Key, Group), Elliptic Curve“ und „Hash“. Es fällt schnell auf, dass es nicht ganz einfach ist, die passende Schlüssellänge für seine gegenwärtige Suche in Erfahrung zu bringen.

Tipps zur Nutzung der Empfehlungen

Die auf https://www.keylength.com gegebenen Empfehlungen beziehen sich auf relativ abstrakte mathematische Probleme. Mithilfe der folgenden Tabelle können die einzelnen Empfehlungen bekannteren Verschlüsselungsmethoden zugeordnet werden:

 

Spalte Präsentierte Zahl (in Bit)
Symmetric Schlüssellänge für AES
Factoring Modulus Größe des Modulus
Discrete Logarithm Key: Größe des Keys

Group: Größe des Modulus

Elliptic Curve Größe der Koordinaten der Punkte auf der Kurve

 

Zu den vom BSI empfohlenen und auf https://www.keylength.com aufgeführten Angaben ist weiterführend anzumerken, dass diese Schlüsselgrößen bereits jetzt schon wieder auf dem Prüfstand stehen. Am Anfang von 2016 ist ein Paper zur Evaluierung erschienen, welches am 26. Februar 2017 bei Springer [1] veröffentlich wurde. Dieses beschreibt eine Verbesserung eines bereits bestehenden Angriffs auf den Factoring Modulus und reduziert die Sicherheit. Im August 2017 ist ein weiteres Paper [2] zur Evaluierung veröffentlich worden, dessen Auswirkung noch nicht ganz absehbar sind. Dies zeigt, wie schnelllebig im Moment die Kryptographie ist.  Anhand dieser Ausführungen ist zu sehen, dass eine zukunftssichere Aussage nicht oder nur bedingt getroffen werden kann. Die zusammengetragenen Empfehlungen auf https://www.keylength.com bieten jedoch eine aktuelle Übersicht über die relevantesten Vorschläge an einem zentralen Ort.

Bonus: Crashkurs in die Grundbegriffe der Kryptographie

Achtung: Der Blogbeitrag ist hier eigentlich zu Ende. Wir wollten die Gelegenheit aber dennoch nutzen, um einmal etwas näher zu erläutern, was es mit den auf https://www.keylength.com und in der Tabelle dargestellten Begriffen auf sich hat.

Unter „Symmetric“ ist die symmetrische Kryptographie und mit ihr, ihr allseits bekannter Vertreter „AES“ zu verstehen. Unter dem AES (Advanced Encryption Standard), bzw. Rijndael, Algorithmus verbirgt sich eine (mathematisch einfach zu beschreibende) Blockchiffre. Blockchiffren erhalten einen Block des Klartextes (daher Block-chiffre) und einen Schlüssel, führen eine „Blackbox“-Operation darauf aus, und erzeugen einen verschlüsselten Text (einen Chiffre-text) gleicher Länge. Da die Operationen für diesen Artikel nicht von Interesse sind, verbleibt es bei der „Blackbox“ Beschreibung. Die Länge des Blocks ist für jeden Algorithmus vordefiniert, beim AES beträgt dieser immer 128-Bit, also 16 Byte, was wiederrum (bei einer ASCII-Codierung) einer Wortlänge von 16 Buchstaben entspricht. Keylength bietet nun eine Zahl unter dem Eintrag „Symmetric“ an. Diese Zahl beschreibt die vorgeschlagene Schlüssellänge des AES. Der AES kann mit 128, 192 oder 256 Bit Schlüssellänge betrieben werden. Darüber hinaus ist diese Zahl weiterhin als Empfehlung für andere symmetrische Verschlüsselungen zu sehen, die eine äquivalente Sicherheit bzgl. des AES bieten.

Der Begriff „Factoring Modulus“ basiert auf einer Modulusoperation deren Modulus Produkt zweier Primzahlen ist. Unter einer Modulusoperation lässt sich grob das Teilen mit Rest verstehen. Beispielsweise ließe sich die Division von 13 und 7 anführen. Beim Teilen mit Rest wird abgebrochen, sobald der Rest kleiner als der „Modulus“ ist. So lässt sich z.B. schreiben. Der Modulus ist 7, der Quotient ist 1 und der Rest 6. Die Modulusoperation selbst hat nur den Rest als Ziel. So ist 13 mod 7 = 6. Beim RSA ist der Modulus ein Produkt zweier Primzahlen. Den Modulus wieder in seine Primzahlen zu zerlegen, ist ein mathematisch schweres Problem. Die angegebene Zahl auf Keylength gibt nun die Länge dieses Modulus in Bits an, um eine äquivalente Sicherheit (bzgl. des AES) von 128 Bit zu gewährleisten. Da beide Faktoren des Modulus in einer äquivalenten Größe gewählt werden müssen, bedeutet die angegebene Zahl, dass beide gewählte Primzahlen eine Länge von ca. der Hälfte dieser Zahl aufweisen müssen. Ist also die Angabe „Der Modulus beträgt 2048 Bit“ oder „Es handelt sich bei der Verschlüsselung um den RSA-2048“, so beträgt die Länge des Modulus 2048 Bit. Um einen Eindruck von der Größenordnung zu verschaffen, ein Modulus der Länge 2048 entspricht ungefähr der einer Zahl, die mindestens so groß ist, wie , d.h. eine Zahl mit 617 Nullen am Ende. Als Vergleich, der Abstand von der Erde zur Sonne beträgt ca. 149.600.000 = km.

Ein ebenfalls mathematisch schweres Problem ist das Discrete Logarithm Problem (DLP). Auch hier lässt sich der RSA anführen. Beim RSA wird ein öffentlicher (e) und ein privater Schlüssel (d) erzeugt. In der Verschlüsselung einer Nachricht „m“ wird beispielsweise der Wert  berechnet. Dabei ist „n“ der oben beschriebene Modulus. Das DLP besagt nun, dass es schwer ist bei gegebenen Zahlen m, n und a den jeweiligen Exponenten e zu berechnen. Zur Veranschaulichung: Mit  und berechnet sich = 1024 mod 35 = 9. Sind nun die Zahlen a=9, m=2 und n=35 gegeben, so lässt sich e = 10 nicht eindeutig bestimmen, da beispielsweise auch die Zahlen 22 und 34 den gleichen Wert annehmen. Ein ähnliches Problem gibt es bei den elliptischen Kurven. Hier werden Punkte auf der Kurve mit einander nach einer strengen Vorschrift addiert. Eine mehrfache Addition eines Punktes zu sich selbst, wird als Skalarmultiplikation bezeichnet. Diese Skalarmultiplikation erzeugt ein äquivalentes Problem, wie das DLP beim RSA. Ist Beispielsweise P ein Punkt auf der Kurve, so ist  ein öffentlicher Schlüssel und d der private Schlüssel. Nun unterteilt der BSI die Angabe in Key und Group. Die Modulusrechnung erzeugt eine Gruppe (im mathematischen Sinn, was das genau ist, spielt für die Interpretation keine Rolle). Die Angabe zum Key bezieht sich stets auf den privaten Schlüssel. Die aktuelle Empfehlung besagt folglich, dass ein privater Schlüssel der Länge 250 Bit und ein Modulus der Länge 2000 Bit genutzt werden muss. Im Falle der elliptischen Kurven genügt jedoch die Angabe im Feld „Key“, wie nachfolgend zu beschrieben.

Der vorletzte Eintrag in der Tabelle bezieht sich auf die elliptischen Kurven.  Diese werden in der Kryptographie über endlichen Körpern (Teilmengen der ganzen Zahlen mit einem großen Modulus) betrachtet. Eine elliptische Kurve hat beispielsweise die Darstellung . Ist eine solche Elliptische Kurve über einem endlichen Körper mit einem Modulus „q“ definiert, so werden die Werte für A und B des Modulus reduziert. Auch der Punkt P=(x,y) auf der Kurve wird in seinen Koordinaten bzgl. dieses Modulus reduziert. Die angegebene Zahl gibt nun eine Empfehlung über die Größe des Modulus.

 

[1] https://link.springer.com/chapter/10.1007/978-3-662-54365-8_16

[2] https://eprint.iacr.org/2017/758