Eine der typischen Eigenschaften des Internets ist die Geschwindigkeit mit der es sich weiterentwickelt. Die freundliche AOL-Stimme, die uns früher mit „Sie haben Post“ begrüßte, wirkt heute wie ein Relikt aus längst vergangenen Zeiten. Warum aber verlässt das Internet sich immer noch auf ein Kryptosystem, das annähernd 45 Jahre alt ist?
Mitte der 1970er Jahre suchen Informatiker und Mathematiker nach einem brauchbaren Kryptosystem mit öffentlichem Schlüssel. Zwei unterschiedliche Systeme erblicken daraufhin das Licht der Welt: Diffie-Hellman und RSA. Quasi die Internetäquivalente zu den Beatles und den Stones. Diffie-Hellman zieht sich wie die Beatles zurück und inspiriert stattdessen eine neue Generation von Ansätzen wie die der Elliptischen-Kurven-
RSA ist noch nicht tot, aber definitiv angreifbar. In der Tat wurde in den letzten Jahren einiges dazu veröffentlicht, wie es möglich ist, RSA anzugreifen. Doch während wir über Konzepte wie Krypto-Agilität diskutieren und uns mit Vollgas auf Post-Quantum-Kryptosysteme zu bewegen, nutzen Unternehmen und Organisationen weltweit und in vergleichsweise großem Umfang weiterhin RSA in ihren Netzwerken.
Es ist Zeit sich zu verabschieden.
RSA erfüllt derzeit zwei wichtige Funktionen im modernen Internet. Über 90 % der Internetverbindungen nutzen RSA als Teil des initialen SSL-Handshake. Eine überaus kritische Schnittstelle. Ein Angriff kann beispielsweise die komplette Session kompromittieren und potenziell die gesamte Kommunikation zwischen Website und Nutzer lesbar und ausnutzbar machen – einschließlich von persönlichen Daten, finanziellen Informationen, Krankenakten, geistigem Eigentum, usw.
Die zweite, ähnlich wichtige Funktion liegt im Erstellen kryptografischer digitaler Signaturen wie sie von der Authentifizierung von E-Mails und Dokumenten bis hin zum Signieren von Software- und Firmware-Updates verwendet werden. Computer und mobile Endgeräte sind darauf ausgelegt, einer digital signierten Datei oder einem digital signierten Programm zu vertrauen. Ganz offensichtlich auch das eine potenziell katastrophale Schnittstelle, an der das Kryptosystem uns im Stich lassen würde.
Was genau ist das Problem mit RSA? Ein zweischneidiges.
Beginnen wir beim Schlüssel selbst. Wir verwenden längere, sicherere Schlüssel für digitale Signaturen und Handshakes, weil sie schwerer zu knacken sind. Ein kryptografischer Schlüssel in seiner einfachsten Form ist nur eine Folge von Einsen und Nullen. Der durchschnittliche RSA-Schlüssel besteht aus 2048 Bits, also 2.048 Einsen und Nullen in Folge. Einen Schlüssel zu knacken bedeutet, seinen Wert zu erraten. Dies wird exponentiell schwieriger, je länger der Schlüssel ist.
Moderne Computer und Methoden kryptographische Schlüssel zu knacken, werden aber immer besser. Die Schlüssel müssen zwangsläufig länger werden, wenn sie weiterhin sicher sein sollen. Eine Arbeit aus dem Jahr 2012, die eine bewusst verdeckte Technik, das sogenannte “Triple Logarithmic Factoring”, einsetzte, erfasste zirka 6 Millionen öffentliche Schlüssel und knackte rund 13.000 von ihnen in 13 Stunden Rechenzeit. Das bedeutete weniger als 99,8 % Sicherheit. Das klingt erstmal nicht schlecht – akzeptabel ist die Zahl aber nicht.
Das Problem mit RSA ist, dass die zunehmende Schlüssellänge (wie sie für mehr Sicherheit nötig ist), in keinem Verhältnis zur notwendigen Rechenleistung steht, die man braucht, wenn man diese Schlüssel verwenden will. Das ist schlicht untragbar. Das CAB-Forum hat gerade angeordnet, dass die zum Signieren von Software verwendeten Schlüssel jetzt mindestens 3072 Bit lang sein müssen, wenn man RSA verwendet. Das wird für den Moment vielleicht reichen. Spätestens bei 4.096 werden wir aber an die Grenze stoßen.
Das zweite Problem mit RSA, abgesehen von der Skalierung, ist die träge Implementierung. Um Schlüssel zu generieren, verwendet RSA einen sogenannten Cryptographic Secure Pseudorandom Number Generator (CSPRNG), um die Seeds zu erstellen. Diese Seeds sollen zufällig sein. Sind sie aber nicht. Denn sie verwenden fehleranfällige Algorithmen. Außerdem verwenden viele Organisationen und Unternehmen dieselben CSPRNGs, und die sind auf ein und dieselbe Weise konfiguriert. RSA-Schlüssel sind also sehr viel weniger zufällig als wir glauben mögen.
Tatsächlich ist RSA-Seeding eine der Stellen, die sich besonders einfach ausnutzen lassen, um eine Backdoor einzubauen. Das gilt gleichermaßen für Strafverfolgungsbehörden wie böswillige Dritte. Wenn man die Seeds aufdecken kann, wird es sehr viel leichter, die Schlüssel zu knacken. Führt man sich dann noch die Tatsache vor Augen, dass multinationale Unternehmen dieselben CSPRNGs verwenden, auf dieselbe Weise konfiguriert, mit denselben Algorithmen und Startbereichen – dann hört man die Zeitbombe förmlich ticken.
RSA war ein unglaubliches Kryptosystem. Elemente davon werden in Generationen zukünftiger Kryptosysteme weiterleben. Aber es ist auch ein Dinosaurier und älter als die aktuelle Version des World Wide Web selbst. Die führenden Unternehmen im Sicherheitsbereich sollten eine konzertierte Aktion starten, um RSA aus dem Verkehr zu ziehen und zumindest seine Nutzung einschränken, wenn sich das Internet dem Quantencomputing nähert.
Diese Diskussion hätten wir schon vor Jahren führen sollen, selbst als Quantencomputing noch nicht unmittelbar vor der Tür stand. Elliptische Kurvensysteme und einige andere, momentan in der Entwicklung befindliche Kryptosysteme, bieten mehr Sicherheit und sind gleichzeitig leichter und beweglicher, was sich zusätzlich positiv auf die Leistung auswirkt.
Wer sich jetzt schon in diese Richtung bewegt, der wird, wenn Quanten-Computing Realität ist, der Konkurrenz schon ein paar Schritte voraus sein. RSA ist schon tot. Wir weigern uns nur, es zu akzeptieren.
Lila Kee, General Manager North and South American Operations bei GlobalSign und Chief Product Officer des Unternehmens, https://www.globalsign.com/de-de