IT-Sicherheit Wenn der Geheimdienst ein Hintertürchen hat
Kryptografen untersuchen, wie sicher Verschlüsselungsmethoden sind, wenn man auch den Machern misstrauen muss.
Wenn sensible Daten übers Internet übertragen werden, sollten sie verschlüsselt sein, damit nur Befugte auf sie zugreifen können. Dazu gibt es verschiedene Standards. Deren Sicherheit versuchen Kryptografen zu beweisen.
Standard wird inzwischen nicht mehr genutzt
„Bei solchen Beweisen gehen wir natürlich immer von bestimmten Annahmen aus“, erklärt Benedikt Auerbach, Doktorand am Lehrstuhl für Kryptographie von Prof. Dr. Eike Kiltz. Dazu gehörte bis vor einiger Zeit auch die Annahme, dass diejenigen, die solche Standards entwickeln und vorantreiben, keine unlauteren Absichten verfolgen. Nach den Enthüllungen durch Edward Snowden sind an dieser Annahme aber große Zweifel aufgekommen, sodass neu gedacht werden muss. Denn es ist sehr wahrscheinlich, dass sich die National Security Agency (NSA) der USA in einen standardisierten Zufallszahlengenerator von vornherein ein Hintertürchen eingebaut hat.
Dieser Standard wird inzwischen nicht mehr genutzt. Benedikt Auerbach versucht, Verfahren zu entwickeln, in welche sich nachweislich keine Hintertüren einbauen lassen.
Echter Zufall ist schwierig zu erzeugen.
Benedikt Auerbach
Im oben erwähnten Fall befand sich das NSA-Schlupfloch in einem Zufallszahlengenerator, einem kryptografischen Verfahren, das beispielsweise innerhalb von Verschlüsselungsverfahren Anwendung findet. Ausgabe ist eine scheinbar zufällige Abfolge von Nullen und Einsen. „Echter Zufall ist schwierig zu erzeugen, deswegen kommt er nur ganz am Anfang eines solchen Prozesses ins Spiel. Danach läuft eine Reihe festgelegter Rechenschritte ab, die zu einem für Außenstehende nicht vorhersagbaren Ergebnis führen soll“, erklärt Benedikt Auerbach. Die Sicherheit des Verfahrens beruht auf einem nach aktuellem Stand der Forschung schwer zu lösenden mathematischen Problem.
Die Lösung des Problems gleich mitliefern
Solche Probleme sind aber nicht für alle Arten von Zahlen gleich schwierig, daher muss man die Auswahl dieser Zahlen auf bestimmte Gruppen beschränken, zum Beispiel Punkte auf einer speziellen Kurve. Für alle Punkte auf dieser Kurve wäre das Problem gleich schwierig zu lösen.
Im Fall des Hintertürchens wurden zwei Punkte auf einer sogenannten elliptischen Kurve ausgewählt. Das schwierige Problem bestand darin, wie oft man den einen Punkt mit sich selbst addieren muss, um den anderen Punkt zu erhalten. Wählt man aber nicht beide Punkte unabhängig voneinander zufällig, sondern den einen Punkt absichtlich als ein Vielfaches des anderen Punkts, wird die Lösung des Problems bereits miterzeugt.
Das ist verdächtig.
Benedikt Auerbach
„Der Standardisierungsvorschlag sah die Verwendung einer bestimmten Kurve sowie zweier Punkte vor, deren Herkunft nicht genauer erläutert wurde“, erklärt Benedikt Auerbach. „Das ist verdächtig, denn somit könnte einer der Punkte als ein Vielfaches des anderen gewählt worden sein.“ Trotzdem wurde das Verfahren standardisiert und implementiert, und zum Beispiel für den Aufbau vermeintlich sicherer Verbindungen zu Webseiten verwendet.
Später wurde gezeigt, dass es möglich ist, durch das Hintertürchen der gezielt gewählten Punkte auf der Kurve verschlüsselte Daten zu entschlüsseln, und vieles spricht dafür, dass das auch geschehen ist. Daher ist der entsprechende Standard namens Dual Elliptic Curve Deterministic Random Bit Generator inzwischen außer Betrieb.
Aber wie können Daten sicher verschlüsselt werden, wenn man niemandem vertrauen kann? Die Kryptografen schauen sich die einzelnen Schritte von Verschlüsselungsverfahren unter diesem Aspekt an. An der RUB widmeten sie sich gemeinsam mit Mihir Bellare von der University of California San Diego der asymmetrischen Verschlüsselung, bei der es einen öffentlichen Schlüssel zum Verschlüsseln von Daten und einen privaten Schlüssel zum Entschlüsseln gibt.
Auch der Erbauer soll kein Hintertürchen haben können
Auch diese Verfahren enthalten in der Regel festgelegte Parameter wie zum Beispiel eine elliptische Kurve, auf der die internen Berechnungen basieren. „Man würde gerne zeigen, dass auch der Erbauer eines solchen Algorithmus keine Möglichkeit hat, ein Hintertürchen einzubauen“, sagt Auerbach.
Asymmetrische Verschlüsselungsverfahren bestehen typischerweise aus zwei Komponenten: einem symmetrischen Verschlüsselungsverfahren sowie dem tatsächlich asymmetrischen Anteil, einem sogenannten Key Encapsulation Mechanism. Zunächst konnten die Forscher das Problem des Versteckens eines Hintertürchens auf den asymmetrischen Anteil des Verfahrens einschränken. Um die Sicherheit dieses Prozesses genauer zu betrachten, untersuchten sie ein weit verbreitetes Verfahren.
Die Frage ist: Wie sicher ist das?
Benedikt Auerbach
Auch hier kann der bei der Verschlüsselung ablaufende Algorithmus auf einer Gruppe, zum Beispiel einer elliptischen Kurve, aufgebaut sein. „In der Regel wird eine von wenigen standardisierten Kurven verwendet, für die optimierte Implementierungen existieren, was zu schnelleren Berechnungen führt“, erklärt Benedikt Auerbach. „Die Frage ist: Wie sicher ist das? Wie groß ist das Risiko, dass eine unverdächtig aussehende Kurve genau so gewählt ist, dass das schwierige Problem an ihr besonders einfach zu lösen ist?“
Eine Familie möglicher Kurven
Die Herangehensweise der Kryptografen: Der Verschlüsselungsalgorithmus sollte nicht auf einer einzigen festgelegten Kurve basieren. Stattdessen gibt es eine ganze Familie möglicher Kurven. Jeder Nutzer würde damit von seiner Verschlüsselungssoftware seine eigene Kurve auswählen lassen – auf Kosten der Effizienz der Berechnung, aber zugunsten größerer Sicherheit.
Nachteilig wirkt sich dieses Verfahren auf die Anonymität des Nutzers aus. Aus den verschlüsselten Daten ist ein Rückschluss auf die gewählte Kurve möglich und damit auch auf den Adressaten der verschlüsselten Daten. Bei dem alten Verfahren, bei dem alle dieselbe Kurve nutzen, geben die verschlüsselten Daten keinen Aufschluss über den Nutzer.
Punkte in einer Menge verstecken
Um das Problem zu lösen, erdachten die Forscher einen weiteren Verschlüsselungsschritt: Jeder Punkt auf der gewählten Kurve wird mit einem Synonym dargestellt, das aus einer definierten Menge von Zahlen stammt. Die Synonyme sind für jede mögliche ausgewählte Kurve in derselben Menge Zahlen versteckt. Wenn ein Angreifer nun diese Synonyme bekommt, lassen diese keine Rückschlüsse auf die korrespondierende elliptische Kurve zu und der Nutzer bleibt anonym.