16.12.2012 Aufrufe

Kryptographie in Theorie und Praxis - Universität Kassel

Kryptographie in Theorie und Praxis - Universität Kassel

Kryptographie in Theorie und Praxis - Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

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?

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!