Kryptologie/Kryptoanalyse

Aus Wikiversity


Einleitung

Die Kryptoanalyse ist die Wissenschaft der Entwicklung und Untersuchung von Methoden um verschlüsselte Information zu entschlüsseln, ohne Zugriff auf die zur Entschlüsselung nötigen Informationen. Kryptoanalyse beschränkt sich nicht auf Verschlüsselungsverfahren, sondern untersucht Kryptosysteme auch in Hinblick auf andere Einsatzmöglichkeiten, wie beispielsweise als digitale Signaturen. In der Regel ist das verwendete Kryptosystem bekannt und muss nicht von Kryptoanalytikern ermittelt werden[1]. Wir betrachten in diesem Kurs die zwei Anwendungsmöglichkeiten der Kryptoanalyse:

  • Untersuchung der Sicherheit eines Kryptosystems
  • Angriff auf einen Geheimtext[2]

Die Sicherheit eines Kryptosystems ist ein wichtige Voraussetzung um dieses beispielsweise zur Verschlüsselung von wichtigen Information einzusetzen[3]. Es ist jedoch häufig nicht möglich zu beweisen, dass ein Kryptosystem in jedem Fall sicher ist. Stattdessen genügt es in vielen Fällen logisch zu begründen, warum die Entschlüsselung ohne Kenntnis über den Schlüssel ausreichend schwer zu sein scheint[4]. So werden wir in der Lerneinheit Sicherheit des RSA-Verschlüsselungsverfahrens zeigen, dass dessen Sicherheit nicht bewiesen werden kann, aber dass der Rechenaufwand (vermutlich) zu hoch ist, um den Schlüssel der Entschlüsselungsfunktion auf unzulässige Weise (bei richtiger Verwendung des Verschlüsselungsverfahrens) zu erhalten.

Viele praktische Angriffe der Kryptoanalyse auf Kryptosysteme bauen auf Fehlern bei der Verwendung von Kryptosystem auf[5]. Ein solches Beispiel zum RSA-Verschlüsselungsverfahren behandeln wir in der Lerneinheit Angriff auf das RSA-Verschlüsselungsverfahren.

Sicherheit eines Kryptosystems

Wir wollen uns nun mit der Frage beschäftigen, wann wir ein Kryptosystem als sicher bezeichnen können. Wir gehen davon aus, dass die Sicherheit des Kryptosystems auf der Geheimhaltung des Schlüssels beruht anstatt auf der Geheimhaltung des Algorithmus. Diese Annahme wird Kerckhoffs’sche Prinzip genannt[6][7]. Folgende Argumente sprechen für das Kerckhoffs’sche Prinzip:

  • Es ist viel schwieriger, einen Algorithmus geheim zu halten als einen Schlüssel[6][8]
  • Es ist viel aufwendiger, einen enthüllten Algorithmus durch einen anderen zu ersetzen als einen enthüllten Schlüssel[6][8]
  • Geheime Algorithmen können durch den Nachbau ihrer Funktionsweise rekonstruiert werden[6][9]
  • Fehler in öffentlichen Algorithmen werden leichter entdeckt, wenn sich möglichst viele Experten damit befassen[6][10]
  • Es ist leichter, in geheimen Verschlüsselungsverfahren eine "Hintertür" zu verstecken, mit der die Sicherheitsmechanismen des Verschlüsselungsverfahrens umgangen werden können[6][10]

Wir unterscheiden zwei Arten von Sicherheit:

Perfekte Sicherheit

Wir sprechen von perfekter Sicherheit, wenn bewiesen ist, dass ein Angreifer aus dem Geheimtext keinerlei Informationen über den Klartext schließen kann. Eine Ausnahme kann, je nach Verfahren, die Länge des Klartext bilden. Das Verfahren oder der Geheimtext kann also auch nach Jahrzehnten nicht durch höhere Rechenleistung etc. gebrochen werden[11].

Rechnerische Sicherheit

Wir sprechen von rechnerischer Sicherheit, wenn ein Angriff auf das Kryptosystem zwar theoretisch möglich ist, aber aufgrund von anfallenden Kosten und Rechenzeit nicht praktikabel ist. Nehmen Rechenleistung etc. zu oder es wird ein effizienterer Angriff gefunden, so kann das Kryptosystem jedoch eines Tages unsicher sein[4].

Bemerkung: Ein Beispiel für ein (aktuell) rechnerisch sicheres Kryptosystem finden Sie in der Lerneinheit Sicherheit des RSA-Verschlüsselungsverfahrens.

Angriffsszenarien auf ein Kryptosystem

Ausgehend von dem Kerckhoffs’schen Prinzip, gibt es unterschiedliche Angriffsszenarien.

Die Angriffsszenarien unterscheiden sich nun in den zusätzlichen Informationen, die der Angreifer besitzt[2]. Übliche Szenarien sind[12]:

  1. Ciphertext-only
    • Der Angreifer kennt einen oder mehrere Geheimtexte und versucht mit deren Hilfe, auf den Klartext beziehungsweise den Schlüssel zu schließen[13][14].
  2. Known plaintext
    • Der Angreifer besitzt Geheimtext(e) und die/den zugehörigen Klartext(e). Beide werden benutzt, um den Schlüssel zu ermitteln[13][14].
  3. Chosen plaintext
    • Hierbei kann der Angreifer die zu verschlüsselnden Klartexte frei wählen und hat (temporären) Zugang zu den entsprechenden Geheimtexten[13][14].
    • Gegenüber dem Angriff mit bekanntem Klartext hat diese Variante den Vorteil, dass der Angreifer gezielt den Klartext variieren und die dadurch entstehenden Veränderungen im Geheimtext analysieren kann. Typischerweise schiebt der Angreifer dem Opfer die zu verschlüsselnden Nachrichten so unter, dass dem Opfer die Selektion durch eine andere Person nicht bewusst wird.  Eine besonders mächtiges Angriffsszenario ist die adaptive chosen plaintext attack. Bei dieser kann der Angreifer jeweils die bisher erhaltenen Kryptotexte analysieren und je nach Ergebnis einen neuen Klartext zum Verschlüsseln wählen (daher „adaptive“). Das ist das minimale Szenario bei asymmetrischer Verschlüsselung. Da der Verschlüsselungsschlüssel öffentlich ist, kann der Angreifer nach Belieben Nachrichten verschlüsseln[13].
  4. Chosen ciphertext
    • Der Angreifer hat temporär die Möglichkeit, Geheimtexte seiner Wahl zu entschlüsseln[13][14].
    • Dies kann durch Zugriff auf ein Hardwaresystem durch einen Einbruch geschehen; es fallen jedoch auch der Zugriff auf unvorhergesehene Nebeneffekte, wie verschiedene Fehlermeldungen nach erfolgreicher bzw- erfolgloser Entschlüsselung darunter. Ein Beispiel dafür ist Bleichenbachers Angriff auf PKCS#1.  Bei einigen Kryptosystemen, etwa bei Rabin, ist er dann in der Lage, aus den gewonnenen Datenpaaren den geheimen Schlüssel zu ermitteln, mit dem die Geheimtexte verschlüsselt waren[13].

Bemerkung: Wir gehen dabei zusätzlich davon aus, dass der Angreifer die Nachrichten abhört und nicht weiter modifiziert[3].

Lernaufgabe

Aufgabe 1

Erläutern Sie, ob das Caesar-Verschlüsselungsverfahren als perfekt oder rechnerisch sicher bezeichnet werden kann und ob das Kerckhoffs’sche Prinzip beachtet wird.

Lösung
Da es nur 25 Schlüssel zum Caesar-Verschlüsselungsverfahren gibt, ist das Entschlüsseln eines Geheimtextes durch Kryptoanalyse rechnerisch (und auch ohne Computereinsatz) nicht sicher.

Die Sicherheit des Caesar-Verschlüsselungsverfahren beruht also zu großen Teilen auf der Geheimhaltung des Kryptosystems und missachtet somit das Kerckhoffs’sche Prinzip.

Aufgabe 2

Erläutern Sie, welchem Angriffsszenario der Angriff auf das Caesar-Verschlüsselungsverfahren mittels Häufigkeitsanalyse aus der zugehörigen Lernaufgabe zugeordnet werden kann.

Lösung
Es ist nur das Kryptosystem und der zu entschlüsselnde Geheimtext bekannt. Es handelt sich daher um ein Ciphertext-only-Angriffsszenario.

Lernempfehlung

Kursübersicht
Übergeordnete Lerneinheit
1: Grundlagen der Kryptologie
Vorherige Lerneinheit Aktuelle Lerneinheit Empfohlene Lerneinheit
10: Hybride Verschlüsselungsverfahren 11: Kryptoanalyse 12: Sicherheit des RSA-Kryptosystems

Literatur

  1. Chalurkar, S. N., Khochare, N., & Meshram, B. B. (2011). Survey on Modular Attack on RSA Algorithm. International Journal of Computational Engineering & Management, 14 (S. 106–110). S. 106.
  2. 2,0 2,1 Beutelspacher, A., Neumann, H. B., & Schwarzpaul, T. (2010). Kryptografie in Theorie und Praxis: Mathematische Grundlagen für Internetsicherheit, Mobilfunk und elektronisches Geld (2., überarb. Aufl). Vieweg + Teubner. S. 25.
  3. 3,0 3,1 Beutelspacher, A., Neumann, H. B., & Schwarzpaul, T. (2010). Kryptografie in Theorie und Praxis: Mathematische Grundlagen für Internetsicherheit, Mobilfunk und elektronisches Geld (2., überarb. Aufl). Vieweg + Teubner. S. 24.
  4. 4,0 4,1 Diffie, W., & Hellman, M. (1976). New directions in cryptography. IEEE Transactions on Information Theory, 22(6) (S. 644–654). S. 646.
  5. Chalurkar, S. N., Khochare, N., & Meshram, B. B. (2011). Survey on Modular Attack on RSA Algorithm. International Journal of Computational Engineering & Management, 14 (S. 106–110). S. 109.
  6. 6,0 6,1 6,2 6,3 6,4 6,5 Seite „Kerckhoffs’ Prinzip“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 12. September 2019, 15:50 UTC. URL: https://de.wikipedia.org/w/index.php?title=Kerckhoffs%E2%80%99_Prinzip&oldid=192200907 (Abgerufen: 20. Januar 2020, 12:45 UTC; Formulierung verändert)
  7. Kerckhoffs, A. (1883). La cryptographie militaire. Journal des sciences militaires, 9, 5–38. S. 12.
  8. 8,0 8,1 Beutelspacher, A., Schwenk, J., & Wolfenstetter, K.-D. (2015). Moderne Verfahren der Kryptographie: Von RSA zu Zero-Knowledge (8., überarbeitete Auflage). Springer Spektrum. S. 4.
  9. Nohl, K., Evans, D., Starbug, S., & Plötz, H. (2008, July). Reverse-Engineering a Cryptographic RFID Tag. In USENIX security symposium (Vol. 28).
  10. 10,0 10,1 Payne, C. (2002). On the security of open source software. Information systems journal, 12(1), 61-78. S. 64.
  11. Shannon, C. E. (1949). Communication Theory of Secrecy Systems. Bell System Technical Journal, 28(4) (S. 656–715). S. 659.
  12. Douglas R. Stinson. (1995). Cryptography. Theory and Practice. CRC Press LLC. S. 24.
  13. 13,0 13,1 13,2 13,3 13,4 13,5 Seite „Kryptoanalyse“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 24. Oktober 2019, 22:17 UTC. URL: https://de.wikipedia.org/w/index.php?title=Kryptoanalyse&oldid=193430931 (Abgerufen: 20. Januar 2020, 13:19 UTC; Formulierung verändert)
  14. 14,0 14,1 14,2 14,3 Douglas R. Stinson. (1995). Cryptography. Theory and Practice. CRC Press LLC. S. 25.