CrypTool Eine Kryptologie-Software (auch) für den Unterricht Teil 1: Kryptologie Workshop HRPI 2009, Universität Koblenz www.cryptool.com www.cryptool.org www.cryptool.pl Prof. Bernhard Esslinger
Bedeutung der Kryptographie Typischer Einsatz von Kryptographie im Alltag Einsatzbeispiele für Kryptographie Telefonkarten, Handys, Fernbedienungen Geldautomaten, Geldverkehr zwischen Banken Electronic cash, Online-Banking, Sichere E-Mail Satellitenfernsehen, PayTV Wegfahrsperre im Auto Digital Rights Management (DRM) Kryptographie ist schon lange nicht mehr nur auf Agenten, Diplomaten und Militärs begrenzt. Kryptographie ist eine moderne, mathematisch geprägte Wissenschaft. Der Durchbruch für den breiten Einsatz kam mit dem Internet. Für Firmen und Staaten ist es wichtig, dass sowohl die Anwendungen sicher sind, als auch, dass die Nutzer (Kunden, Mitarbeiter) ein Mindestverständnis und Bewusstsein (Awareness) für IT-Sicherheit besitzen! Seite 2
Paradigmenwechsel (1) Klassische Verfahren Operieren auf Buchstaben, Buchstabengruppen oder auf Worten Verschlüsselungsprinzipien: Transposition, Substitution, und Kombinationen daraus. Geheimhaltung der Verfahren Verwendung fast nur im Bereich der Diplomaten, Militärs und Agenten Seite 3
Paradigmenwechsel (2) Moderne Verfahren Prinzip von Kerckhoffs Forschungen zu Statistik, Komplexität, Falltürfunktionen Im Kriegsfall war die Menge an verschlüsselten Informationen VIEL größer als in Zeiten nicht-mechanischer / nicht-elektronischer Kommunikation Verteilung der Information, Wirtschaftsspionage, Echelon Nutzerkreis im Internet viel größer Jedermann Schutzziele: Vertraulichkeit/Geheimhaltung, Es ist zu verhindern, dass Unbefugte den Inhalt einer Nachricht erfahren (mitlesen) Authentizität Die Identität des Absenders einer Nachricht muss für den Empfänger nachprüfbar sein (Fälschungssicherheit). Integrität Für den Empfänger muss es nachprüfbar sein, dass die erhaltene Nachricht bei der Übermittlung nicht manipuliert wurde (Übertragungssicherheit). Seite 4
Nutzen der Kryptologie Gefahren und Gegenmaßnahmen bei der Nutzung von Computern Gegenmaßnahmen erfordern Wissen: Kenntnis der Möglichkeiten der Angreifer Empfinden Sie, dass Ihre Privatsphäre bedroht ist? Sensibilisierung der Schüler. Kenntnis der eigenen Gegenmaßnahmen Maßnahmen sind z.b. Updates, Firewalls, Virenschutz, Kryptographie (siehe: http://www.bsi-fuer-buerger.de) Um die oben genannten Schutzziele mit Mitteln der Kryptographie zu erreichen, gibt es viele moderne Konzepte, Algorithmen und Protokolle. Z.B. Erstellen einer eigenen kryptographischen Identität, - mit der man beweisen kann, wer man ist, - mit der man verschlüsseln und entschlüsseln kann, - mit der man signieren und validieren kann. Erfordert Infrastruktur, Vertrauensanker, Zusammenarbeit. Seite 5
CrypTool Eine Kryptologie-Software (auch) für den Unterricht Teil 2: CrypTool: Aktuelle und zukünftige Versionen Workshop HRPI 2009 www.cryptool.com www.cryptool.org www.cryptool.pl Prof. Bernhard Esslinger
Das CrypTool-Projekt Ursprung im Awareness-Programm einer Großbank (betriebliche Ausbildung) Sensibilisierung der Mitarbeiter Entwickelt in Kooperation mit Hochschulen (Verbesserung der Lehre) Mediendidaktischer Anspruch 1998 Projektstart Aufwand bisher mehr als 30 Mannjahre 2000 CrypTool als Freeware verfügbar für Windows 2002 CrypTool auf der Bürger-CD des BSI Ins Internet mit Sicherheit 2003 CrypTool wird Open-Source Hosting durch die Uni Darmstadt (Fr. Prof. Eckert) 2007 CrypTool in deutsch, englisch, polnisch und spanisch 2008.NET-Version und Java-Version Hosting durch die Uni Duisburg (Hr. Prof. Weis) Auszeichnungen 2004 TeleTrusT (TTT Förderpreis) 2004 NRW (IT-Sicherheitspreis NRW) 2004 RSA Europe (Finalist beim European Information Security Award) 2008 "Ausgewählter Ort" bei der Standortinitiative "Deutschland Land der Ideen" Entwickler Entwickelt von Mitarbeitern verschiedener Firmen und Universitäten, Schülern + Studenten Weitere Projekt-Mitarbeiter oder verwertbare vorhandene Sourcen sind immer herzlich willkommen (z.zt. arbeiten ca. 45 Leute weltweit mit). Seite 7
Einführung in CrypTool Nutzung für den Unterricht Konzeption / Ziel / Motivation durch den Lehrer - Einstieg über einen schülerbezogenen Alltags-Kontext (z.b. Handy-Kommunikation oder Öffnen des Autos per Funkschlüssel) - Tool kann im Informatik-, Mathematik- oder Gesellschaftsunterricht verwendet werden (auch fachübergreifend oder in Projekten) Unterrichtsbeispiele - Siehe www.cryptoportal.de Seite 8
CrypTool Version 1 und seine beiden Nachfolgeversionen Stand September 2009 CrypTool 1 (CT1) (stabil, ausgereift) Es wird empfohlen, CT1 weiterhin im Unterricht einzusetzen, da die Nachfolge- Versionen z.zt. noch deutlich weniger Funktionen und Online-Hilfen enthalten. Seite 9 CrypTool 2 (CT2) (stabil, aber Betastadium) JCrypTool (JCT) (stabil, aber Betastadium)
Einführung in CrypTool Gegenüberstellung von Funktion und zugehöriger Analyse in CrypTool v1 (1/3) Kryptographie Verschlüsselungsklassiker Caesar Vigenère Hill Homophone Substitution Playfair ADFGVX Addition XOR Vernam Permutation Solitaire Zum besseren Nachvollziehen von Literaturbeispielen ist Alphabet wählbar Behandlung von Leerzeichen etc. einstellbar Kryptoanalyse Angriffe auf klassische Verfahren Ciphertext-only Caesar Vigenère Addition XOR Substitution Playfair Known-plaintext Hill Manuell (unterstützt) Monoalphabetische Substitution Playfair ADFGVX Solitaire Unterstützende Analyseverfahren Entropie, gleitende Häufigkeit Histogramm, n-gramm-analyse Autokorrelation Perioden Zufallszahlenanalyse Base64 / UU-Encode Seite 10
Einführung in CrypTool Gegenüberstellung von Funktion und zugehöriger Analyse in CrypTool v1 (2/3) Kryptographie Moderne symmetrische Verschlüsselung IDEA, RC2, RC4, RC6, DES, 3DES, DESX, DESL AES-Kandidaten der letzten Auswahlrunde (Serpent, Twofish, ) AES (=Rijndael) DESL, DESXL Asymmetrische Verschlüsselung RSA mit X.509-Zertifikaten RSA-Demonstration zum Nachvollziehen von Literaturbeispielen Alphabet und Blocklänge einstellbar Hybridverschlüsselung (RSA + AES) visualisiert als interaktives Datenflussdiagramm Kryptoanalyse Brute-force-Angriff auf symmetrische Algorithmen für alle Algorithmen Annahme: Entropie des Klartextes klein oder teilweise Kenntnis der Schlüssels oder Kenntnis des Klartextalphabets. Angriff auf RSA-Verschlüsselung Faktorisierung des RSA-Moduls Gitterreduktions-basierte Angriffe Angriff auf Hybridverschlüsselung Angriff auf RSA oder Angriff auf AES (Seitenkanalangriff) Seite 11
Einführung in CrypTool Gegenüberstellung von Funktion und zugehöriger Analyse in CrypTool v1 (3/3) Kryptographie Digitale Signatur RSA mit X.509-Zertifikaten Signatur zusätzlich visualisiert als interaktives Datenflussdiagramm DSA mit X.509-Zertifikaten Elliptic Curve DSA, Nyberg-Rueppel Hashfunktionen MD2, MD4, MD5 SHA, SHA-1, RIPEMD-160 Zufallsgeneratoren Secude x 2 mod n Linearer Kongruenzgenerator (LCG) Inverser Kongruenzgenerator (ICG) Kryptoanalyse Angriff auf RSA-Signatur Faktorisierung des RSA-Moduls praktikabel bis ca. 250 bits bzw. 75 Dezimalstellen (auf Einzelplatz-PC) Angriff auf Hashfunktion / digitale Signatur Generieren von Hash-Kollisionen für ASCII-Texte (Geburtstagsparadox) (bis 40 bit in etwa 5 min) Analyse von Zufallsdaten FIPS-PUB-140-1 Test-Batterie Periode, Vitany, Entropie* Gleitende Häufigkeit, Histogramm n-gramm-analyse, Autokorrelation ZIP-Kompressionstest Seite 12 * Wie alle Begriffe, ist auch Entropie in der Online-Hilfe zu CT erklärt: Siehe Hilfe zum Menüeintrag: Analyse \ Werkzeuge zur Analyse \ Entropie des Dokuments berechnen
Einführung in CrypTool Übersicht über die Funktionen (Menübaum) in CrypTool v1 Auszug aus dem CrypTool-Skript zu CT 1.4.20, Anhang A1, S. 203 Seite 13
CrypTool CrypTool 1 ist eine Desktop-Anwendung für Windows Menü Dokument Seite 14 Statusleiste mit Hinweisen
CrypTool CrypTool Online-Hilfe Online-Hilfe Readme Skript zu CrypTool Seite 15
Einführung in CrypTool Strukturierte Hilfe zu den Verfahren: F1 bei Menüeintrag F1 Allgemeine Informationen zum Menüeintrag Verweis auf Dialog- Informationen Seite 16
Einführung in CrypTool Strukturierte Hilfe zu den Verfahren: F1 bei geöffnetem Dialog F1 Informationen zur Dialogbedienung Verweis zu Allgemeinen Informationen Seite 17
Einführung in CrypTool Szenarien: Hilfe zum Einstieg Seite 18
Einführung in CrypTool Dokumentansicht: Textansicht / HexDump-Ansicht Text-Editor (auch für Binär- Dateien geeignet, da kein Dokumentende bei Hex 0) Seite 19
Einführung in CrypTool Zusatzprogramme Interaktives Skript für Zahlentheorie Interaktive Übungen. Beispiel: Paare komplementärer Teiler von n = 16 Seite 20
Einführung in CrypTool Zusatzprogramme Visualisierung Elliptischer Kurven mit Punktaddition Seite 21
Einführung in CrypTool Zusatzprogramme Zahlenhai-Spiel Seite 22
Einführung in CrypTool Zusatzprogramme Enigma-Simulation Seite 23
Einführung in CrypTool Zusatzprogramme AES-Verschlüsselung Seite 24
Anforderungen an einen Nachfolger von CrypTool 1 Architektur, Bedienung, Entwickler-Erwartung Architektur - Nicht monolithisch, Plugin-basiert, Standard-konform (.NET oder Eclipse) - Nicht nur für die Windows-Plattformen - Nutzen modernerer Sprachen als C++ Bedienung - Oberfläche flexibel, keine starre Führung - Vorschläge, Ideen von den Lehrstühlen für Computervisualistik (Koblenz) und Medieninformatik (Aachen) - Sofortiges Reagieren auf Änderungen - Workflow komplett sichtbar machen Erwartung zukünftiger Entwickler - Nutzen der modernsten Programmier-Tools und Paradigma, damit durch die Mitarbeit an dem OS-Projekt sowohl Studienleistungen möglich sind als auch die Berufsqualifikation verbessert werden kann. Seite 25
CrypTool Neue Versionen, Weiterentwicklung Pure-Plugin-Architekturen mit Java / Eclipse und mit C# / VS2008 JCT: Portierung und Neudesign von CrypTool in Java / SWT / Eclipse 3.4 / RCP Siehe: http://jcryptool.sourceforge.net Meilenstein 5 für Benutzer und Entwickler verfügbar seit 20.9.2009 CT2: Portierung und Neudesign von CrypTool mit C# / WPF / VS2008 /.NET 3.5 SP1 Erlaubt visuelle Programmierung, Betas für Benutzer und Entwickler verfügbar seit Juli 2008; aktuell CrypTool 2.0.3517b Seite 26 CrypTool 2 (CT2) JCrypTool (JCT)
Beispiel CrypTool 2 Beta (1/2) Vergleich einer Caesar-Verschlüsselung in CrypTool 1 und in CrypTool 2 Seite 27
Beispiel CrypTool 2 Beta (2/2) Vergleich einer Caesar-Verschlüsselung in CrypTool 1 und in CrypTool 2 Seite 28 Message ändern -> sofortige Chiffrat-Änderung; Erklärungen in den Settings dynamisch, je nachdem welche Komponente per Maus gerade markiert ist;
Beispiel JavaCrypTool Beta M5 (1/3) Standard-Ansicht Dokument-zentriert Seite 29
Beispiel JavaCrypTool Beta M5 (2/3) Eine Visualisierung Seite 30
Beispiel JavaCrypTool Beta M5 (3/3) FlexiProvider-Ansicht Fokussiert auf die Krypto-Funktion Seite 31
Weitere Infos esslinger@fb5.uni-siegen.de // www.cryptoportal.de CrypTool-Präsentation http://www.cryptool.com/download/cryptoolpresentation-de.pdf Kryptofibel Kryptologie für Jedermann Pocketseminar im Zuge der Initiative Deutschland Sicher im Netz https://www.sicher-imnetz.de/content/sicherheit/hilfreiches/downloads/kryptologie-fuer-jedermann.pdf https://www.sicher-imnetz.de/default.aspx?sicherheit/hilfreiches/downloads/poketseminare http://www.hydrargyrum.de/kryptographie/ Unterrichtsprojekt "Zahlentheorie in der Schule": Von Primzahlen zur Verschlüsselung mit RSA von Carsten Münchenbach http://bscw.schule.de/pub/bscw.cgi/159132 Helmut Witten, Ralph-Hardo Schulz: RSA & Co. in der Schule (Moderne Kryptologie, alte Mathematik, raffinierte Protokolle), in LOG IN Seite 32
www.cryptool.com www.cryptool.org www.cryptool.pl Backup
Beispiele aus der klassischen Kryptographie Älteste bekannte Verschlüsselungsverfahren Kahlgeschorener Sklave Atbash (um 600 v. Chr.) - Hebräische Geheimschrift, umgedrehtes Alphabet Skytale von Sparta (etwa 500 v. Chr.) - Beschrieben vom griechischen Historiker/Schriftsteller Plutarch (45-125 n. Chr.) - Zwei Zylinder (Holzstäbe) mit gleichem Durchmesser - Transposition (Zeichen des Klartextes werden umsortiert) Verschlüsselter Text (Chiffrat) Klartext Send more troops to southern flank and Seite 34
CrypTool Unterschiedliche Chiffretexte Histogramm / Digramm / Trigramm-Analyse Seite 35
CrypTool Caesar Histogramm-Analyse Seite 36
CrypTool Permutation Klartext-Analyse und durch Ausprobieren Seite 37
CrypTool Vigenère Automatische Analyse Seite 38
CrypTool Hill Known-Plaintext Hill-Analyse mit linearer Algebra Seite 39
CrypTool Substitution Halbautomatische Analyse monoalphabetischer Substitution Seite 40
CrypTool Elektronische Identität erzeugen Zufall erforderlich Seite 41
CrypTool Schutz der Integrität und Urheber-Nachweis durch elektronische Signatur (1) Seite 42
CrypTool Schutz der Integrität und Urheber-Nachweis durch elektronische Signatur (2) Signatur-Demo: Signaturerzeugung Schritt-für-Schritt Seite 43
CrypTool Signatur extrahieren und Signatur-Prüfung (1) Seite 44
CrypTool Signatur extrahieren und Signatur-Prüfung (2) Signatur-Prüfung: Schritt-für-Schritt Seite 45
CrypTool Signatur extrahieren und Signatur-Prüfung (3) Seite 46
CrypTool Hash-Demo Kleine Änderungen im Dokument führen zu großen Änderungen im Hashwert. Seite 47
CrypTool RSA-Schlüssel (128-Bit) generieren Seite 48
CrypTool RSA-Verschlüsselung mit dem öffentlichen Schlüssel Seite 49
CrypTool RSA-Entschlüsselung mit dem privaten Schlüssel Seite 50
CrypTool RSA knacken durch die Faktorisierung von N (1/2) Seite 51
CrypTool RSA knacken durch die Faktorisierung von N (2/2) Durch Faktorisierung gefundene Primzahlen Seite 52