Beitrag von Dr. Berndt Gammel und Dr. Wieland Fischer, Infineon Technologies AG
Kryptologie ist einer bestens vernetzten Gesellschaft für die Sicherheit von Daten unerlässlich. In dem Beitrag wird vorgestellt, wie die Kryptologie ihren Aufschwung erfahren hat, wie sich die Thematik auch auf andere Bereiche auswirkt und welche Verschlüsselungs-Verfahren zum Einsatz kommen. Außerdem werden die Gefahren durch potenzielle Angriffe mit Beispielen veranschaulicht und gezeigt, wie Kryptologie zukünftig in Zeiten der Post-Quanten-Ära aussehen sollte.
Die Kryptologie, die Lehre von den Geheimschriften, begann Ende der sechziger Jahre aus ihrem Dasein als Geheimwissenschaft der militärischen und diplomatischen Dienste herauszutreten. Die heutige vernetzte Gesellschaft kann ohne Datensicherheit nicht mehr auskommen.
Ein entscheidender Einfluss war die rasche Entwicklung der Mikroelektronik und der damit verbundenen aufkommenden kommerziellen Informationsverarbeitung. In der heutigen vernetzten Gesellschaft stellen Informationen und die mit Informationsverarbeitung und -übermittelung verbundenen Dienstleistungen erhebliche kommerzielle Werte dar.
In zunehmendem Maße stützen sich auch wichtige Funktionen des Staates mehr und mehr auf die elektronische Informationsverarbeitung. Der Schutz der Informationen und Informationsflüsse ist deshalb mit der Stabilität von Staat, Wirtschaft und Gesellschaft eng verbunden.
Die Kryptologie, als ein modernes Teilgebiet der angewandten Mathematik, liefert die Grundlagen für den Schutz von Informationen, zum Beispiel in Form von kryptographischen Basisalgorithmen, Kommunikationsprotokollen, Modellen von Angreifern, sowie Metriken für die Bewertung der Sicherheit der angewendeten Schemata.
Allerdings ist die Anwendung von Kryptographie auch ein brisantes politisches und gesellschaftliches Thema (z.B. Datenschutz und Privatsphäre versus Überwachung, Datensammeln und Vorratsspeicherung).
Auch ist die korrekte und verantwortungsvolle Umsetzung ein Thema für die Industrie (z.B. Gefahr der fehlerhaften Umsetzungen mit Einfallstoren für Viren und Trojaner oder absichtlich eingebrachte Hintertüren).
1977 wurde der erste Verschlüsselungsalgorithmus für nicht klassifizierte, aber vertrauliche Informationen von der US-Bundesregierung als FIPS PUB 46 veröffentlicht. Dieser sogenannte „Data Encryption Standard“ DES basierte auf einem von Horst Feistel (IBM) entwickelten Algorithmus namens Lucifer mit 128 Bit Schlüssellänge.
Unter Beteiligung des Auslandsgeheimdienstes der Vereinigten Staaten NSA wurde daraus der DES mit einer reduzierten Schlüssellänge von 56 Bit abgeleitet. Die Veröffentlichung aller Details des Algorithmus führte zu einer enormen Weiterentwicklung der Kryptoanalyse im öffentlichen, d.h. akademischen und kommerziellen, Bereich.
Der DES stellt den Prototyp einer Blockchiffre dar: Ein solcher Algorithmus wandelt in deterministischer Weise mit Hilfe eines Schlüssels Zeichenfolgen fester Länge (Nachricht) in andere Zeichenfolgen fester Länge (Chiffrat) um. Im Idealfall ist ein Dritter, der den Schlüssel nicht kennt, nicht in der Lage, die ursprüngliche Nachricht aus dem Chiffrat wiederherzustellen.
Aber mit Hilfe des richtigen Schlüssels kann man den Algorithmus in umgekehrter Richtung laufen lassen und die Nachricht wiedergewinnen. August Kerckhoffs Maxime (1883) folgend, soll die Sicherheit dieses Algorithmus nicht von der Geheimhaltung des Verfahrens an sich abhängen, sondern nur von der Geheimhaltung des verwendeten Schlüssels.
Mit der kommerziellen Verbreitung der Kryptographie entstanden viele neue Anforderungen, z.B. der Wunsch nach dem digitalen Unterschreiben von Verträgen (in diese Kategorie gehören auch Banküberweisungen und autorisierte Software-Updates), der verschlüsselten Kommunikation zwischen zwei Kommunikationspartnern ohne einen vorangegangenen persönlichen Schlüsseltausch, sowie dem Manipulationsschutz von großen Datenmengen.
Revolutionäre Schlüsselsysteme
Ein wegweisender Meilenstein war die Entwicklung der sogenannten „asymmetrischen Schlüsselsysteme“ (Public Key Kryptographie). Der Durchbruch gelang mit der Diffie-Hellman-Schlüsselvereinbarung (DH, 1976), einem Algorithmus, der es zwei Kommunikationspartnern ermöglicht, ausschließlich mit öffentlicher Kommunikation ein gemeinsames Geheimnis (Schlüssel) zu erzeugen.
Die davon inspirierten Algorithmen von R. Rivest, A. Shamir und L. Adleman (RSA, 1977) und T. Elgamal (1985) versetzten die Wissenschaftler in die Lage, digitale Signaturen und die Public Key Verschlüsselung zu erzeugen. Dies ist eine Verschlüsselungsmethode mit einem geheimen und einem dazugehörigen öffentlichen Schlüssel. Dabei wird eine Nachricht mit dem öffentlichen Schlüssel verschlüsselt. Das Chiffrat kann dann ausschließlich mit dem geheimen Schlüssel entschlüsselt werden. Die Sicherheit des Verfahrens beruht darauf, dass der geheime Schlüssel aus dem öffentlichen praktisch nicht berechnet werden kann.
Schnelle Fortschritte in der öffentlichen Kryptoanalyse (z.B. differentielle und lineare Kryptoanalyse, LLL-Algorithmus) und ein enormer Zuwachs der verfügbaren Rechenkapazitäten führten sehr bald zur Erfordernis längerer Schlüssel und effizienterer Algorithmen.
So ersetzte die im Jahr 2000 standardisierte Blockchiffre AES (Advanced Encryption Standard, FIPS PUB 197) mit Schlüssellängen von 128, 192 und 256 Bit den DES, da dessen kleiner Schlüsselraum von 256 ≈ 7x1016 heute auf Spezialrechnern aus FPGAs oder Graphikkarten in wenigen Stunden vollständig nach dem richtigen Schlüssel durchsucht werden kann (Brute-Force Angriff).
Die Mitte der 80 Jahre von V. Miller und N. Koblitz entwickelte Elliptische-Kurven-Kryptographie (ECC) ermöglicht Schlüsselvereinbarung (ECDH), Signatur (ECDSA) und Public Key Verschlüsselung mit wesentlich kürzeren Schlüsseln als bei den entsprechenden RSA/DH Algorithmen. So entspricht die Sicherheit eines RSA/DH Algorithmus mit 3072 Bit Schlüssel in etwa dem eines ECDH Algorithmus mit 256 Bit Schlüssel (was wiederum der Sicherheit einer Blockchiffre mit 128 Bit Schlüssel entspricht).
Inzwischen werden diese Basisalgorithmen in unzähligen Anwendungen eingesetzt, beispielsweise für
Sogenannte „kryptographische Protokolle“ regeln dabei das Zusammenspiel der oben erwähnten Basis-Algorithmen. Aufgrund der großen Zahl an funktionalen Anforderungen in den Anwendungen tendieren die Protokolle dazu, sehr komplex zu sein.
Außerdem ist heute aufgrund der vielen verschiedenen Einsatzgebiete die Zahl der unterschiedlichen Protokolle schier unüberschaubar geworden. Die damit einhergehende mangelnde kryptoanalytische Evaluierungstiefe führte leider in der Vergangenheit immer wieder zu eklatanten konzeptionellen Fehlern, die gut funktionierende logische Angriffe erlaubten.
Beispiele dafür sind
Eine weitere sehr große Klasse von logischen Angriffen zielt auf Fehler in der Implementierung von Protokollen. Dabei versucht der Angreifer typischerweise die Zustandsmaschine, die das Protokoll abarbeitet, gezielt mit außerhalb der Spezifikation liegenden Daten zu füttern. Das Ziel des Angreifers ist es, den Protokollablauf zu ändern, um z.B. mittels Pufferüberläufen nicht autorisierte Veränderungen am System vorzunehmen.
Die Implementierung von Krypto-Protokollen in unzähligen Geräten, welche für einen potentiellen Angreifer auch physikalisch direkt zugängig sein können (z.B. Kreditkarten, Ausweise, Smartphones, Automobile) ermöglicht noch weit potentere Angriffe.
Im Jahr 1996 veröffentlichte P. Kocher einen Timing-Angriff (TA) auf die Implementierung von Diffie-Hellman, RSA, DSS und anderen Systemen. Er zeigte, wie kryptographisch sichere und auch korrekt implementierte Protokolle vollständig gebrochen werden können, wenn z.B. eine Abhängigkeit der Laufzeit des Algorithmus von den Bits des Schlüssels besteht – was typischerweise der Fall ist, wenn keine dedizierten Gegenmaßnahmen in die Software eingebaut werden.
Kurze Zeit später veröffentlichten P. Kocher, J. Jaffe, B. Jun (1999) die einfache und differenzielle Stromanalyse (SPA bzw. DPA), die auch Implementierungen von Algorithmen, welche gegen TA gehärtet sind, brechen kann. Dabei wird, z.B. mit einem Oszilloskop, die zeitliche Stromaufnahme während der Berechnung aufgezeichnet. Die winzige Korrelation zwischen den verarbeiteten Schlüsselbits und der Stromaufnahme kann mit einer recht einfachen statistischen Analyse ausgenutzt werden, um den Schlüssel zu rekonstruieren.
Über diesen passiven Angriff hinausgehend, kann ein aktiver Angreifer das elektronische Gerät auch während der Ausführung des Krypto-Algorithmus stören (z.B. Spannungspuls, Lichtblitz, Laser). Der Bellcore-Angriff auf RSA (1997) und der differentielle Fehlerangriff (DFA) von G. Piret und J-J. Quisquater (2003) zeigten, dass auch die Beobachtung des Resultats eines eingebrachten Fehlers während der Berechnung sofort zur Rekonstruktion des vollständigen Schlüssels ausgenutzt werden kann.
Die Mächtigkeit dieser sogenannten Seitenkanal-Angriffe hat in den letzten beiden Jahrzehnten zur Entwicklung von besonders gehärteten Sicherheitsprozessoren geführt, die heute ubiquitär eingesetzt werden – in elektronischen Personalausweisen und Pässen, in Chipkarten für den Zahlungsverkehr, in Secure Elements (SE) in Mobiltelefonen und im Automobil, in Trusted Platform Modules (TPM) im Personal Computer und vielen anderen Geräten.
Mit Meltdown und Spectre haben die Seitenkanal-Angriffe nun im Jahr 2017 auch fast alle modernen Mikroprozessoren getroffen, die z.B. in Desktops, Laptops, Cloud-Servern und Mobiltelefonen eingesetzt werden und üblicherweise keine Gegenmaßnahmen gegen Seitenkanal-Angriffe enthalten. Hierbei wird ein Timing-Angriff im Zusammenspiel mit gemeinsam genutzten Prozessor-Ressourcen (z.B. Caches) ausgenutzt, um die strikte Separation von Prozessen zu umgehen.
Ein weiteres praktisches Problem in der Realisierung von sicheren kryptographischen Protokollen auf realer Hardware besteht in der Erzeugung und gesicherten Speicherung eines geheimen und individuellen Schlüssels. Das ist z.B. der Fall, wenn ein Mikrocontroller in einer Logiktechnologie gefertigt werden soll, die keinen eingebetteten beschreibbaren, nichtflüchtigen und gesicherten Speicher zur Verfügung stellt.
Sogenannte „Physical Unclonable Functions“ (PUF) erlauben die Extraktion von einzigartigen Merkmalen aus Fertigungsschwankungen in den Transistoren oder der Verdrahtung, sofern diese statistisch hinreichend unabhängig über den Wafer verteilt sind. Aus diesen Schwankungen können dann mit Fehlerkorrekturverfahren und Entropie-Extraktoren chip-individuelle Schlüssel mit genügend hoher Variabilität erzeugt werden.
Eine völlig neue Herausforderung ergibt sich für die Kryptologie durch die Möglichkeit, dass in Zukunft leistungsfähigere Quantencomputer gebaut werden könnten. Schon 1994 zeigte Peter Shor, dass die zugrunde liegenden mathematischen harten Probleme (Primfaktorisierung, diskreter Logarithmus), welche die zuvor genannten Public Key Verfahren auf einem klassischen Computer praktisch nicht brechbar machen, auf einem Quantencomputer effizient lösbar sind.
Dies führt dazu, dass man sich auf heute erstellte digitale Zertifikate und Signaturen zukünftig nicht mehr verlassen kann und, dass DH-Schlüsselvereinbarung und Publik Key Verschlüsselung nicht mehr ausreichend sicher sein werden (unabhängig von der gewählten Schlüssellänge).
Aus diesem Grund hat das amerikanische National Institute of Standards and Technology (NIST) 2016 einen offenen Wettbewerb für Post-Quanten Kryptographie (PQC) ausgeschrieben, der bis ca. 2024 zu einer Auswahl von Standards für PQC-Algorithmen führen soll. Als erster PQC Internet-Standard (RFC 8391) wurde 2018 das auf Hash-Funktionen basierende XMSS-Signaturverfahren (eXtended Merkle Signature Scheme) veröffentlicht, welches als Quantencomputer-resistent gilt.
So stehen wir heute, wie vor einem halben Jahrhundert, wieder am Anfang einer neuen Ära in der Kryptologie, auch dieses Mal getrieben durch Fortschritte in Physik und Technik.
Erstmals erschienen in: TiB Ausgabe 2018 November/Dezember