Quantencomputer – eine akute Gefahr für Verschlüsselung?
Welchen Einfluss haben Quantencomputer und der Einsatz von Quanteninformatik auf aktuelle Verschlüsselungsverfahren? Welchen Nutzen hat die Entwicklung von solchen Rechnern? Und wie werden sich die heutzutage angewandten Methoden weiterentwickeln? Fabian Hauser, der seit März 2021 unser Tech-Team verstärkt, hat sich in seiner Bachelorarbeit unter anderem mit diesen Fragen beschäftigt. Im Folgenden stellen wir einen Auszug aus seiner Arbeit vor.
Quantencomputer und ihre potenziellen Auswirkungen auf aktuelle Verschlüsselungsverfahren
In der heutigen Zeit gibt es die verschiedensten Verschlüsselungsverfahren für die unterschiedlichsten Einsatzgebiete. Diese Verfahren nutzen oftmals eigene Methoden, um die Nachricht zu verschleiern. Zum Beispiel beruht beim Public-Key-Verschlüsselungsverfahren die Findung eines Schlüsselpaares auf mathematischen Problemen (1), welche selbst von den leistungsfähigsten Supercomputern praktisch nicht gelöst werden können. Was passiert allerdings, wenn die Probleme, auf denen diese Verfahren beruhen, durch eine andere Art von Computern plötzlich gelöst werden können?
Schon im Jahr 1997 zeigte Peter Shor, dass es in der Theorie möglich ist, mit dem Einsatz der Quantenmechanik zwei dieser Probleme, die Primfaktorzerlegung und das Finden von diskreten Logarithmen, zu lösen (2).
Es gibt heutzutage noch immer einige verschiedene mathematischen Probleme, welche auf universellen Rechnern nicht effizient berechnet werden können, dazu zählt unter anderem die Faktorisierung ganzer Zahlen und das Finden von diskreten Logarithmen. Aufgrund dieses Fehlens einer effizienten Berechnung haben sich aus diesen beiden Problemen mehrere Verschlüsselungsverfahren ergeben, z. B. das Elliptic-Curve-Verfahren (ECC)(3) und RSA (4). Sollte ein durchschnittlicher Computer beispielsweise versuchen, einen RSA mit der vom National Institute of Standards and Technology (NIST) empfohlenen Schlüssellänge 2048-Bit zu knacken und somit dessen Primfaktorzerlegung zu lösen, würde er eine Zeit von über 14 Milliarden Jahren benötigen (6).
Im Jahr 1997 veröffentlichte Peter Shor allerdings ein Paper, in dem er Methoden vorstellte, die theoretisch auf einem Quantencomputer diese Probleme lösen können (2). Seit diesem Zeitpunkt stand fest, dass aktuelle Verschlüsselungsverfahren durch die Fertigstellung von leistungsfähigen Quantencomputern in akuter Gefahr sind.
Verschlüsselung von Dateien am Beispiel von Boxcryptor
Schauen wir uns aber zunächst einmal derzeit in der Praxis eingesetzte Verschlüsselungsverfahren am Beispiel der Verschlüsselungssoftware Boxcryptor an. Die Verschlüsselung von Dateien läuft bei Boxcryptor folgendermaßen ab: Zuerst einmal wird für jede Datei ein zufälliger und sicherer Dateischlüssel generiert. Dieser Schlüssel ist ein AES-Schlüssel und ist im nächsten Schritt auch für die Ver- und Entschlüsselung des Klartexts der Datei zuständig. Zusätzlich zu diesen Dateischlüsseln hat jeder Nutzer noch ein eigenes RSA-Schlüsselpaar (Nutzerschlüssel) mit einem öffentlichen und einem privaten Schlüssel, welcher im nächsten Schritt in Aktion tritt. Hiermit wird anschließend der vorher generierte Dateischlüssel mit dem öffentlichen Schlüssel des RSA verschlüsselt. Abschließend wird dieser verschlüsselte Dateischlüssel mit den vorher chiffrierten Daten zusammen in der verschlüsselten Datei gespeichert.
Bei der Entschlüsselung der Datei zu einem späteren Zeitpunkt wird dieses Vorgehen umzukehren und die Datei wieder zu entschlüsseln, wird das Vorgehen umgekehrt. Anfangs wird der Dateischlüssel mithilfe des privaten Nutzerschlüssels entschlüsselt und anschließend wird der verschlüsselte Inhalt dieser Datei mit diesem wieder entschlüsselt. Hierbei wird für den Dateischlüssel ein AES-Algorithmus „mit einer Schlüssellänge von 256 Bit, CBC (Cipher Block Chaining) und PKCS7 Padding“, für den Nutzerschlüssel hingegen ein RSA-Algorithmus „mit einer Schlüssellänge von 4096 Bit und OAEP Padding angewandt“.
Bei der Betrachtung der vorher beschriebenen Dateiverschlüsselungskette fällt allerdings auf, dass diese Abfolge von der Geheimhaltung des privaten RSA-Schlüssels abhängig ist. Sollten Angreifer an diesen gelangen, lässt sich hiermit der Dateischlüssel entschlüsseln, und somit auch der Inhalt der Datei.
Genau aus diesem Grund interessiert sich die Secomba GmbH als Betreiber von Boxcryptor auch für den Fortschritt in der Verschlüsselungstechnologie. Sollten in einigen Jahren Quantencomputer leistungsfähig genug sein, eine RSA-Verschlüsselung mit 4096-Bit zu knacken, wäre die Sicherheit aller Daten der Kunden nicht weiter gewährleistet. Um die sensiblen Dokumente der Nutzer und Nutzerinnen gezielt gegen Angriffe wie z. B. Wirtschaftsspionage abzusichern, muss die Verschlüsselungslösung Boxcryptor auch in einer Post-Quantum-Zeit die Sicherheit der Daten gewährleisten können.
Status quo und aktuelle Herausforderungen beim Einsatz der Quantencomputer
23 Jahre nachdem Peter Shor in der Theorie aufzeigen konnte, dass es mit dem Einsatz der Quantenmechanik möglich ist, die Primfaktorzerlegung und das Finden von diskreten Logarithmen zu lösen, ist die Forschung auf einem sehr fortgeschrittenen Stand. Die ersten Quantenrechner schaffen nun eine schnellere Berechnung solcher mathematischen Probleme als die besten Supercomputer der Welt (7). Allerdings benötigen aktuelle Quantencomputer eine hohe Berechnungszeit für kleinere kombinatorische Probleme. Dies liegt besonders an der hohen Fehleranfälligkeit, die durch äußere Einflüsse wie Erschütterung, Temperaturschwankungen oder elektromagnetische Wellen verstärkt wird (8).
Deshalb müssen Algorithmen auf dieser Art von Computern eine gewisse Anzahl an Wiederholungen durchlaufen, um ein realistisches Ergebnis zu bekommen. Nachteilig ist, dass durch diese wiederholte Ausführung in den meisten Fällen die zuvor gewonnene Rechenzeit wieder eingebüßt wird, da andernfalls die Fehlerquote zu hoch wäre.
Experten gehen davon aus, dass für die Entwicklung von universellen Quantencomputer noch eine Zeit von ungefähr 20 Jahren benötigt wird (9 & 10), aber nichtsdestotrotz muss die Entwicklung der letzten 20 Jahren betrachtet werden. Nur wenige Wissenschaftler hätten sich wahrscheinlich vorstellen können, dass heutzutage bereits erste Quantencomputer mit 54-Qubit (Googles Sycamore) zur Verfügung stehen und die damals in der Theorie entworfenen Algorithmen wie z. B. Shor bereits auf einige Fälle praktisch angewandt werden können. Dementsprechend lässt sich schwer voraussagen, inwieweit sich dieses Forschungsgebiet weiterentwickelt, da bereits einzelne Durchbrüche große Fortschritte bedeuten können.
Doch es gibt auch noch einige Probleme, die gelöst werden müssen, z. B. eine effektive Kühlung des Systems, damit die Qubits vor äußeren Temperaturweinwirkungen geschützt sind. Sollte sich eines davon als besonders komplex darstellen und für die Lösung mehrere Jahre gebraucht werden, kann der Fortschritt auch schnell stagnieren. Nach aktuellem Stand der Forschung existieren allerdings noch keine so leistungsstarken Quantenrechner, welche die derzeit benutzten Verfahren, und wahrscheinlich auch die des nächsten Jahrzehntes, in Gefahr bringen.
Exkurs: Quantencomputer und Simulationsplattformen: IBM Quantum Composer und Microsoft Q#
Bisher haben es ein paar Unternehmen geschafft, Quantenrechner mit einigen wenigen Qubits zu bauen. Beispielsweise Paris 53-Qubit von IBM (11) oder Sycamore 54-Qubit von Google (12). Allerdings sind diese hauptsächlich für die Forschung gedacht. Privatpersonen haben keine Möglichkeit, damit zu experimentieren. Durch das steigende Interesse der Allgemeinheit ist es nur logisch, dass immer mehr Leute sich diesem Thema zuwenden, um erste Erfahrungen auf diesem Gebiet zu sammeln. Um diese Nachfrage zu erfüllen, haben bereits mehrere Unternehmen Versuche gestartet, sogenannte Simulationsplattformen von Quantencomputern zu entwickeln, welche frei zugänglich sind und den Umgang mit Quantenbits ermöglichen.
Da Simulationsplattformen auf klassischen Computern ausgeführt werden, haben diese durch die physikalischen Gegebenheiten offensichtlich keinen Zugriff auf Qubits. Für die Simulation von n Qubits benötigt die Maschine allerdings eine Speicherkapazität und Berechnungszeit von 22N (13, S. 1073). Falls nun mit Zahlen gerechnet werden sollte, für deren Darstellung einige Bit benötigt werden, steigt somit der Rechenaufwand für die Plattformen gewaltig, was sich schließlich in einer sehr langen Berechnungszeit niederschlägt.
Zwei bekannte Plattformen, durch die Privatpersonen, die sich für die Entwicklung von Quantenalgorithmen interessieren, schon heutzutage kleinere Experimente durchführen und so einen Fuß in die Welt des Quantencomputings setzen können, sind der IBM Quantum Composer und Microsoft Q#.
IBM Quantum Composer
Der Quantum Composer bietet einen sehr leichten Einstieg in das Quantencomputing, da es sich um eine grafische Oberfläche handelt, mit der sich per simplem Drag-and-Drop ganze Quantenschaltungen zusammenklicken lassen. Der Vorteil hierbei ist, dass keine Programmiersprache erlernt werden muss und ganz einfach einzelne Algorithmen nachgebaut werden können, um so die Funktionsweise von Quantenalgorithmen und Qubits zu verstehen. Außerdem besteht hierbei die Möglichkeit, ohne große Umwege, die gebauten Schaltungen entweder auf Simulationen oder echten Quantenrechner auszuführen.
Besuchen Sie hier die Webseite des IBM Quantum Composer.
Microsoft Q#
Microsoft kündigte im Jahr 2017 auf der jährlich abgehaltenen Konferenz Ignite eine eigene Programmiersprache speziell für Quantencomputer an. Diese open-source Programmiersprache ist Teil des Quantum Development Kit (QDK) von Microsoft, welches Q#-Bibliotheken, einen Simulator und Erweiterungen für andere Programmierumgebungen beinhaltet. Die Syntax von Q# hat starke Einflüsse aus Python, C# und F# und beinhaltet neben neuen quantentechnischen Operationen und Datenstrukturen auch übliche Programmierbestandteile wie z. B. Schleifen oder If-Else-Verzweigungen. Hierbei sind alle gängigen Quantengatter implementiert und syntaktisch ziemlich ähnlich ausführbar.
Besuchen Sie hier die Webseite von Microsoft Q#.
Fazit
Quantencomputing ist ein sehr spannendes Thema und im Vergleich zu den Vorjahren mittlerweile kein komplett theoretisches mehr. Mithilfe von Simulationsplattformen können heutzutage interessierte Privatpersonen mit Qubits arbeiten und so erste Quantenalgorithmen nachbauen. Dies ist ein wichtiger Schritt, da so das allgemeine Interesse an dem Thema gesteigert wird und mehr und mehr die Wichtigkeit dieses Forschungsgebietes anerkannt wird. Selbst wenn in geraumer Zukunft ein universeller Quantencomputer entwickelt werden würde, wird er nie den uns bekannten Digitalrechner ablösen, aber als eine gewisse Ergänzung für einzelne Probleme eingesetzt werden.
Gerade im Hinblick auf Verschlüsselungsverfahren ist ein interessanter Aspekt, dass mit der Entwicklung eines solchen Rechners zwar bisherige Verfahren als unsicher betrachtet werden können, aber damit auch gleichzeitig ein Umdenken stattfindet, da auch neue Wege für andere Methoden geöffnet werden. Mit diesen neuen möglichen Methoden beschäftigt sich die „Quantenkryptografie“. Nichtsdestotrotz sind weder die Quantencomputer noch die post-quantum Verfahren auf einem Stand, der in der heutigen Zeit praktisch angewandt werden kann.
Wir werden jedoch das Themengebiet des Quantencomputings im Auge behalten. Sollten die Fortschritte der Wissenschaft auf diesem Gebiet schneller voranschreiten als bisher angenommen, werden wir, das Team der Secomba GmbH, reagieren, und uns mit unserem neuen Kollegen Fabian Hauser der Umsetzung eines post-quantum Verschlüsselungsverfahrens annehmen. Bis dahin können Sie sich jedoch sicher sein, dass Ihre schützenswerten Daten ihr Geheimnis bleiben.
Quellen: