Kryptographie in Theorie und Praxis - Universität Kassel
Kryptographie in Theorie und Praxis - Universität Kassel
Kryptographie in Theorie und Praxis - Universität Kassel
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Kryptographie</strong> <strong>in</strong> <strong>Theorie</strong> <strong>und</strong> <strong>Praxis</strong><br />
Heiko Stamer<br />
<strong>Universität</strong> <strong>Kassel</strong><br />
Fachbereich Elektrotechnik/Informatik<br />
Wilhelmshöher Allee 71-73, 34109 <strong>Kassel</strong><br />
stamer@theory.<strong>in</strong>formatik.uni-kassel.de<br />
76F7 3011 329D 27DB 8D7C 3F97 4F58 4EB8 FB2B E14F<br />
Weiterbildungssem<strong>in</strong>ar 2007<br />
B<strong>und</strong> Internationaler Detektive e. V.<br />
Grandhotel Moderne LaStrada, <strong>Kassel</strong>, 1. Dezember 2007
Inhalt<br />
E<strong>in</strong>leitung<br />
Begriffsdef<strong>in</strong>ition <strong>und</strong> Abgrenzung<br />
Ziele der <strong>Kryptographie</strong><br />
Geschichte der <strong>Kryptographie</strong><br />
Aufbau <strong>und</strong> Entwicklung kryptographischer Systeme<br />
Secret-Key <strong>und</strong> Public-Key <strong>Kryptographie</strong><br />
Fortgeschrittene kryptographische Techniken<br />
Analyse von Kryptosystemen<br />
Methoden der Kryptoanalyse<br />
Seitenkanalangriffe, Angriffe auf kryptographische Protokolle<br />
Aktuelle Entwicklungen <strong>in</strong> der <strong>Kryptographie</strong><br />
Rechtliche Situation (Kryptodebatte, Schlüsselherausgabe)<br />
” Trusted Comput<strong>in</strong>g“ Initiative, Empfehlungen <strong>und</strong> Literatur<br />
Fragen <strong>und</strong> Diskussion
Begriffsdef<strong>in</strong>ition<br />
(griech. kryptós = verborgen, logos = Lehre, gráphe<strong>in</strong> = schreiben)<br />
Kryptologie<br />
<strong>Kryptographie</strong><br />
Kryptoanalyse<br />
Wissenschaft der Verschlüsselung<br />
von Informationen (Geheimschriften)<br />
Moderne <strong>Kryptographie</strong>: weitere<br />
Schutzziele, z. B. Daten<strong>in</strong>tegrität<br />
Methoden <strong>und</strong> Techniken, um<br />
Informationen aus verschlüsselten<br />
Texten zu gew<strong>in</strong>nen<br />
Beurteilung der Stärken/Schwächen<br />
kryptographischer Verfahren
Abgrenzung/Verb<strong>in</strong>dung zu anderen Gebieten<br />
Verb<strong>in</strong>dungen zu anderen Wissenschaftsgebieten:<br />
Mathematik: Algebra, Komb<strong>in</strong>atorik, Statistik, Zahlentheorie<br />
Informatik: Informationstheorie, Kodierungstheorie, Logik,<br />
Komplexitätstheorie, Verifikation, Verteilte Systeme<br />
Elektrotechnik: Nachrichtentechnik, Rechnerarchitektur<br />
Abgrenzung zur IT-Sicherheit: Teilgebiet, IT-Sec. umfasst mehr<br />
Abgrenzung zur Steganographie:<br />
� Verschleierung e<strong>in</strong>er Kommunikation,<br />
d. h. Verwendung e<strong>in</strong>es verdeckten Kanals<br />
� Verstecken von Informationen <strong>in</strong> Daten<br />
(z. B. Bildern, Musik � Wasserzeichen)<br />
� Schutz beruht im Wesentlichen auf der<br />
Geheimhaltung des Verfahrens<br />
� Kommunikation über e<strong>in</strong>en<br />
offenen <strong>und</strong> unsicheren Kanal<br />
� Verschlüsselung der<br />
Informationen<br />
� Schutz beruht auf Geheimhaltung<br />
des Schlüssels <strong>und</strong> der<br />
Komplexität des Verfahrens<br />
Aber: Komb<strong>in</strong>ation von Steganographie <strong>und</strong> <strong>Kryptographie</strong> möglich
Ziele der <strong>Kryptographie</strong> (Schutzziele)<br />
Vertraulichkeit (Zugriffsschutz): Nur berechtigte Personen<br />
können die Daten/Nachricht lesen oder Informationen über den<br />
geschützten Inhalt erlangen.<br />
Integrität (Änderungsschutz): Der Empfänger kann feststellen,<br />
ob die Daten/Nachricht nach ihrer Erzeugung verändert worden.<br />
Authentizität (Fälschungsschutz): Der Urheber/Absender der<br />
Daten/Nachricht ist e<strong>in</strong>deutig identifizierbar <strong>und</strong> se<strong>in</strong>e<br />
Urheberschaft ist für den Empfänger nachprüfbar.<br />
Verb<strong>in</strong>dlichkeit (Nichtabstreitbarkeit): Der Urheber/Absender<br />
der Daten/Nachricht soll nicht <strong>in</strong> der Lage se<strong>in</strong> se<strong>in</strong>e<br />
Urheberschaft zu bestreiten, d.h. die Urheberschaft sollte sich<br />
auch gegenüber Dritten nachweisen lassen.<br />
Weitere Schutzziele: Verfügbarkeit, Fairness, Anonymität etc.
E<strong>in</strong>ige Angriffsszenarien <strong>in</strong> der <strong>Kryptographie</strong><br />
� Passives Abhören (Vertraulichkeit)<br />
B<br />
L<br />
Alice Eve Bob<br />
� Aktive Manipulation (Vertraulichkeit <strong>und</strong> Integrität)<br />
Alice<br />
B<br />
Mallory<br />
k<br />
Bob<br />
� Maskerade (Authentizität)<br />
� Abstreiten der Beteiligung (Verb<strong>in</strong>dlichkeit)<br />
� Sabotage/Denial of Service (Verfügbarkeit)<br />
� Ungerechte Ressourcenverteilung (Fairness)<br />
� Identifizierung (Anonymität)
Geschichte der <strong>Kryptographie</strong> (Antike)<br />
um 1900 v. Chr.: Unübliche Hieroglyphen werden als<br />
Geheimschrift bei den Ägyptern verwendet<br />
ca. 400 v. Chr.: Skytale wird zur Verschlüsselung militärischer<br />
Nachrichten während des Peloponnesischen Krieges e<strong>in</strong>gesetzt<br />
Bildquelle bei WikipediA<br />
Abbildung e<strong>in</strong>er Skytale<br />
(aus WikipediA, der freien Enzyklopädie)<br />
Geheimer Schlüssel:<br />
Durchmesser des Stabes<br />
ca. 50 v. Chr.: E<strong>in</strong>fache Verschiebechiffre (monoalphabetische<br />
Substitution) wird vom römischen Feldherrn Gaius Julius Caesar<br />
zur Verschlüsselung von Nachrichten verwendet
Geschichte der <strong>Kryptographie</strong> (Renaissance)<br />
ca. 1585: Vigenère-Verschlüsselung (polyalphabetische Subst.)<br />
um 1845: Charles Babbage bricht Vigenère-Verschlüsselung<br />
1863: Friedrich Wilhelm Kasiski (preußischer Infanteriemajor)<br />
veröffentlicht Buch ” Die Geheimschriften <strong>und</strong> die Dechiffrierkunst“<br />
1917–1960: Rotor-Chiffriermasch<strong>in</strong>en (z. B. Enigma, TypeX)<br />
werden erf<strong>und</strong>en <strong>und</strong> im Zweiten Weltkrieg verstärkt e<strong>in</strong>gesetzt<br />
Bildquelle 1 Bildquelle 2<br />
Abbildung e<strong>in</strong>er Enigma<br />
Rotor-Chiffriermasch<strong>in</strong>e<br />
(aus WikipediA, der freien<br />
Enzyklopädie)<br />
Geheimer Schlüssel:<br />
Stellung der Rotoren <strong>und</strong><br />
<strong>in</strong>terne Verdrahtung<br />
zwischen den Kontakten
Geschichte der <strong>Kryptographie</strong> (Moderne)<br />
1883: Kerckhoffs’ Maxime (Gr<strong>und</strong>satz der modernen <strong>Kryptographie</strong>)<br />
” Die Sicherheit e<strong>in</strong>es Kryptosystems darf nicht von der<br />
Geheimhaltung des Algorithmus abhängen. Die Sicherheit<br />
gründet sich nur auf die Geheimhaltung des Schlüssels.“<br />
um 1949: Arbeiten zur Informationstheorie von Shannon<br />
ab ca. 1965: Vermehrt öffentliche Forschung an <strong>Universität</strong>en<br />
1976: Diffie <strong>und</strong> Hellman führen die Public-Key <strong>Kryptographie</strong> e<strong>in</strong><br />
1977: Veröffentlichung des Data Encryption Standards (DES)<br />
1979: Rivest, Shamir <strong>und</strong> Adleman entwickeln RSA-Kryptosystem<br />
ab ca. 1985: Elliptische Kurven <strong>in</strong> der <strong>Kryptographie</strong><br />
1991: Zimmermann veröffentlicht PGP Quelltext im Internet<br />
2000: Veröffentlichung des Advanced Encryption Standards (AES)
Secret-Key <strong>Kryptographie</strong> (1)<br />
Primäres Schutzziel: Vertraulichkeit von Daten bzw. Nachrichten<br />
B<br />
L<br />
Alice Eve Bob<br />
Allgeme<strong>in</strong>e Funktionsweise: symmetrische Verfahren<br />
Schlüssel<br />
Klartext f<br />
Vor- <strong>und</strong> Nachteile:<br />
Schlüssel<br />
Geheimtext f ¡1<br />
Klartext<br />
� Hohe Effizienz, d. h. schnelle Berechnung von f bzw. f ¡1<br />
� Problem: Schlüsselverteilung <strong>und</strong> Schlüsselverwaltung<br />
Voraussetzung: ” Sicherer Kanal“ zum Austausch des Schlüssels<br />
Weitere Schutzziele: Integrität <strong>und</strong> Authentizität (MAC)
Secret-Key <strong>Kryptographie</strong> (2)<br />
Unterschiedliche Verfahren:<br />
1 Blockchiffren: Algorithmen, die e<strong>in</strong>zelne Datenblöcke fester<br />
Größe (z. B. 64, 128 oder 256 Bit) ver- bzw. entschlüsseln<br />
Klartext m1 m2 ¤ ¤ ¤ mk<br />
Schlüssel f f ¤ ¤ ¤ f<br />
Geheimtext c1 c2 ¤ ¤ ¤ ck<br />
Betriebsmodus hier ECB, besser jedoch CBC, CTR, . . .<br />
Beispiele: AES, DES, Triple-DES, Blowfish, IDEA<br />
2 Stromchiffren: Algorithmen, die e<strong>in</strong>en Schlüsselstrom<br />
erzeugen, welcher mit dem Klartext verknüpft wird<br />
Beispiele: RC4, A5/1, A5/2, E0, Rabbit, Trivium
Public-Key <strong>Kryptographie</strong> (1)<br />
Allgeme<strong>in</strong>e Funktionsweise: asymmetrische Verfahren<br />
öffentlicher Schlüssel<br />
Klartext<br />
Vor- <strong>und</strong> Nachteile:<br />
e<br />
privater Schlüssel<br />
Geheimtext d<br />
� Teillösung für das Schlüsselverteilungsproblem<br />
Klartext<br />
Voraussetzung: ” Authentifizierter Kanal“ zum Prüfen des<br />
öffentlichen Schlüssels bzw. vertrauenswürdiger Verzeichnisdienst<br />
� Berechnung von e, d ist aufwändig � hybride Verfahren<br />
Beispiele: RSA (Faktorisierung), ElGamal (diskreter Logarithmus),<br />
DH (diskreter Logarithmus), Rab<strong>in</strong> (Faktorisierung), DSA, EC<br />
Schutzziele: Vertraulichkeit, Integrität <strong>und</strong> Authentizität<br />
(Digitale Signatur), Verb<strong>in</strong>dlichkeit, Anonymität (Mix-Netze)<br />
Anwendungen: OpenPGP, S/MIME, SSH, SSL/TLS, ePass, eGK
Public-Key <strong>Kryptographie</strong> (2)<br />
Digitale Signatur: Schutzziele s<strong>in</strong>d Integrität <strong>und</strong> Authentizität<br />
B k<br />
Alice Mallory Bob<br />
Funktionsweise: Alice signiert die Nachricht <strong>und</strong> Bob verifiziert<br />
Nachricht<br />
h<br />
Hashwert 0¤ ¤ ¤ 01<br />
d<br />
Signatur<br />
privater Schlüssel<br />
öffentlicher Schlüssel<br />
Nachricht<br />
h<br />
� oder � ?<br />
e<br />
Signatur<br />
Hashfunktionen: MD5, SHA-1, RIPEMD-160, SHA-256, . . .
Public-Key <strong>Kryptographie</strong> (3)<br />
Problem: Wer bestätigt die Identität des Schlüssel<strong>in</strong>habers?<br />
Public-Key Infrastruktur (PKI): Zertifikate (Beglaubigungen)<br />
von vertrauenswürdigen Instanzen sichern die Authentizität<br />
1 Hierarchische Zertifizierungsstruktur (Wurzel: z. B. RegTP)<br />
2 Kooperatives Modell ( ” Web of Trust“, OpenPGP)<br />
Wurzel CA<br />
CA 1 CA 2<br />
Alice Carol CA 3 CA 4 CA 5<br />
Ellen Bob Dave Frank
Public-Key <strong>Kryptographie</strong> (3)<br />
Problem: Wer bestätigt die Identität des Schlüssel<strong>in</strong>habers?<br />
Public-Key Infrastruktur (PKI): Zertifikate (Beglaubigungen)<br />
von vertrauenswürdigen Instanzen sichern die Authentizität<br />
1 Hierarchische Zertifizierungsstruktur (Wurzel: z. B. RegTP)<br />
2 Kooperatives Modell ( ” Web of Trust“, OpenPGP)<br />
volles<br />
Vertrauen<br />
Alice<br />
Carol Dave Ellen Frank Gerald<br />
He<strong>in</strong>z Ivan Bob Lutz<br />
marg<strong>in</strong>ales<br />
Vertrauen<br />
ke<strong>in</strong><br />
Vertrauen unbekannt valid <strong>in</strong>valid
Fortgeschrittene kryptographische Techniken<br />
Geheimnisteilung (Secret Shar<strong>in</strong>g):<br />
1 Geheimnis s wird zwischen n Parteien aufgeteilt: s1, . . . , sn<br />
2 M<strong>in</strong>destens m � n müssen ” zusammenarbeiten“, um das<br />
Geheimnis s zu rekonstruieren<br />
Anwendung: Vier-Augen-Pr<strong>in</strong>zip für wichtige Vorgänge (Banken/Militär)<br />
Gruppensignaturen: Folgende Operationen: Beitreten, Verlassen,<br />
Signieren, Verifizieren, Anonymität aufheben (nur Gruppenmanager)<br />
Anw.: Zugriff auf geme<strong>in</strong>schaftlich genutzte Ressourcen (z. B. Drucker)<br />
Geme<strong>in</strong>same Berechnung von Funktionen: y � f �x1, x2, . . . , xn�<br />
Anwendungen: Millionärs-Problem, fairer Münzwurf, Mental Poker<br />
Weitere Techniken: Zero-Knowledge Beweise, PIR
Analyse von Kryptosystemen<br />
Ziele e<strong>in</strong>er Kryptoanalyse<br />
� Entschlüsselung des Geheimtextes (ohne Kenntnis des Schlüssels)<br />
� Moderne Kryptoanalyse: Beurteilung der Stärken/Schwächen<br />
kryptographischer Verfahren, Bestimmung der Angriffskomplexität<br />
Klassische Methoden: Statistik (Häufigkeitsverteilung)<br />
” Brute-Force“-Angriff: alle möglichen Schlüssel durchprobieren<br />
” Wörterbuch“-Angriff: schwache Passwörter, schwache Schlüssel<br />
Spezielle Methoden: differentielle, l<strong>in</strong>eare <strong>und</strong> algebraische<br />
Allgeme<strong>in</strong>e Methoden: gewaltfreie Informationsbeschaffung<br />
(Social Eng<strong>in</strong>eer<strong>in</strong>g), Erpressung/Folter (Rubber-Hose Kryptoanalyse)
Seitenkanal- <strong>und</strong> Fehlerangriffe<br />
Seitenkanalangriff<br />
� Ke<strong>in</strong> direkter Angriff auf das verwendete Kryptosystem, sondern auf<br />
dessen konkrete Implementierung (Software bzw. Hardware)<br />
� Idee: Rückschlüsse auf Gestalt des Schlüssels ziehen, durch<br />
Beobachtung externer Ereignisse/Parameter (Seitenkanäle)<br />
� Physischer/Remote Zugriff, besondere Ausrüstung <strong>und</strong> detaillierte<br />
Kenntnis der Implementierung s<strong>in</strong>d oft notwendig (z. B. Chipkarten)<br />
Mögliche Seitenkanäle:<br />
� Verbrauchte Rechenzeit (tim<strong>in</strong>g attacks)<br />
� Stromaufnahme (power monitor<strong>in</strong>g attacks)<br />
� Elektromagnetische Abstrahlung (TEMPEST, auch zur Spionage)<br />
� Sprung-Vorhersage moderner CPUs (branch prediction attacks)<br />
� Cache-Speicher moderner CPUs, akustische Kryptoanalyse
Seitenkanal- <strong>und</strong> Fehlerangriffe<br />
Seitenkanalangriff<br />
� Ke<strong>in</strong> direkter Angriff auf das verwendete Kryptosystem, sondern auf<br />
dessen konkrete Implementierung (Software bzw. Hardware)<br />
� Idee: Rückschlüsse auf Gestalt des Schlüssels ziehen, durch<br />
Beobachtung externer Ereignisse/Parameter (Seitenkanäle)<br />
� Physischer/Remote Zugriff, besondere Ausrüstung <strong>und</strong> detaillierte<br />
Kenntnis der Implementierung s<strong>in</strong>d oft notwendig (z. B. Chipkarten)<br />
Fehlerangriff<br />
� Aktiver Angriff, oft <strong>in</strong> Komb<strong>in</strong>ation mit Seitenkanalangriff<br />
� Gezieltes oder zufälliges E<strong>in</strong>br<strong>in</strong>gen von Fehlern (<strong>in</strong>jection)<br />
� Differenzielle Fehleranalyse zur Bestimmung des Schlüssels
Kryptographische Protokolle<br />
Gesamtsystem<br />
Kryptografische Protokolle<br />
Kryptografische Bauste<strong>in</strong>e<br />
Kryptografische Algorithmen<br />
Verteilte Systeme<br />
Informationsaustausch<br />
Hard- bzw. Softwaretechnische Umsetzung<br />
Mathematische Gr<strong>und</strong>lagen
Angriff auf e<strong>in</strong> Authentifizierungsprotokoll<br />
Needham-Schroeder Public-Key Protocol, 1978:<br />
Ziel: Teilnehmer A soll sich gegenüber B authentifizieren<br />
1. A � B : �nA, A�PKB<br />
2. B � A : �nA, nB�PKA<br />
3. A � B : �nB�PKB<br />
Angriff<br />
Der Angreifer I führt zwei Sitzungen (α <strong>und</strong> β) parallel aus:<br />
1.α A � I : �nA, A�PKI<br />
2.α I � A : �nA, nB�PKA<br />
3.α A � I : �nB�PKI<br />
1.β I �A� � B : �nA, A�PKB<br />
2.β B � I �A� : �nA, nB�PKA<br />
3.β I �A� � B : �nB�PKB<br />
Dieser Angriff wurde erst 1995 durch Gav<strong>in</strong> Lowe entdeckt!
Rechtliche Situation<br />
Dual-Use Technologie: militärische <strong>und</strong> zivile Anwendungen,<br />
Zielkonflikt: Vertraulichkeit vs. Strafverfolgung<br />
� Restriktive Exportbeschränkungen (z. B. ehemals USA), Verbote<br />
bzw. staatliche Kontrolle <strong>in</strong> wenigen Staaten (z. B. Russland)<br />
� Deutsche Krypto-Debatte (1994–1998): BMI Manfred Kanther<br />
1 BMW: Schlüsselh<strong>in</strong>terlegung, unverschlüsselte Ausleitung<br />
2 BMJ: Genehmigungsvorbehalt für Inverkehrbr<strong>in</strong>gen<br />
3 BMI: Strenges Nutzungsverbot nichtgenehmigter Verfahren<br />
Heftiger Widerstand aus der Wirtschaft � 1999 Absichtserklärung<br />
der B<strong>und</strong>esregierung ” Eckpunkte der deutschen Kryptopolitik“<br />
� 2001: Deutsches Signaturgesetz (qualifizierte elektronische Sig.)<br />
� Oktober 2007: Gesetz zur Schlüsselherausgabe <strong>in</strong> GB<br />
Argumente gegen E<strong>in</strong>schränkungen <strong>und</strong> Verbote:<br />
� Wirtschaftsspionage, Recht auf Privatsphäre, Schweigepflicht<br />
� Technisch s<strong>in</strong>d Kryptoverbote kaum durchsetzbar (Steganographie)<br />
” If cryptography is outlawed, only outlaws will have cryptography.“
Trusted Comput<strong>in</strong>g Initiative<br />
Trusted Comput<strong>in</strong>g Group: Großes Industriekonsortium<br />
� AMD, HP, IBM, Inf<strong>in</strong>eon, Intel, Lenovo, Microsoft, Sun, . . .<br />
� Entwicklung von Industriestandards für e<strong>in</strong>e ” vertrauenswürdige“<br />
IT-Infrastruktur (Hardware, Software, Peripherie)<br />
� Arbeitsgruppen: Trusted Platform Module (TPM), Software Stack,<br />
PC Client, Server, Mobile Phone, Storage, TNC, Infrastructure<br />
Trusted Platform Module: Millionenfach verbaut <strong>in</strong> PCs,<br />
Notebooks <strong>und</strong> vorgesehen für PDAs, Mobiltelefone etc.<br />
Möglichkeiten TPM-geschützter Systeme:<br />
1 Bereitstellung geschützter Funktionen (u. a. <strong>Kryptographie</strong>,<br />
Zufallszahlen, Anwesenheit) <strong>und</strong> Speichers (für Schlüssel)<br />
2 Vermessung, Speicherung <strong>und</strong> Auswertung des Zustands von<br />
Systemkomponenten (Secure Boot: Vergleich mit Referenzwerten)<br />
3 Bestätigung e<strong>in</strong>es Systemzustands an Dritte (Remote Attestation)
Empfehlungen <strong>und</strong> Literatur<br />
� Empfehlungen des BSI zu geeigneten Algorithmen <strong>und</strong><br />
Schlüssellängen gem. §17 SigG vom 13. 9. 2007:<br />
bis Ende 2007 bis Ende 2009 bis Ende 2014<br />
h SHA-1 RIPEMD-160 SHA-224, SHA-256, . . .<br />
RSA 1024–2048 1536–2048 1976–2048<br />
DSA 1024–2048, 160 1536–2048, 160 2048, 224<br />
� ” Security by Obscurity“ <strong>und</strong> ” Snake Oil“ vermeiden<br />
� Freie Software für Verschlüsselung <strong>und</strong> Digitale Signatur:<br />
GNU Privacy Guard<br />
http://www.gnupg.org/<br />
� Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone:<br />
Handbook of Applied Cryptography, CRC Press, 1996,<br />
http://www.cacr.math.uwaterloo.ca/hac/<br />
� Klaus Schmeh: Kryptografie, Dpunkt Verlag, 3. Aufl, 2007
Vielen Dank! Fragen?