52
CrypTool Eine Kryptologie-Software (auch) für den Unterricht Teil 1: Kryptologie Workshop HRPI 2009, Universität Koblenz Prof. Bernhard Esslinger www.cryptool.com www.cryptool.de www.cryptool.org www.cryptool.pl

Vermittlung von Kryptologie durch die E-Learning-Software CrypTool

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

CrypTool – Eine Kryptologie-Software(auch) für den Unterricht

Teil 1: Kryptologie

Workshop

HRPI 2009, Universität Koblenz

Prof. Bernhard Esslinger

www.cryptool.com

www.cryptool.de

www.cryptool.org

www.cryptool.pl

www.cryptool.deSeite 2

Bedeutung der KryptographieTypischer 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 !

www.cryptool.deSeite 3

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

Paradigmenwechsel (1)

www.cryptool.deSeite 4

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).

www.cryptool.deSeite 5

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.

CrypTool – Eine Kryptologie-Software(auch) für den Unterricht

Teil 2: CrypTool: Aktuelle und zukünftige Versionen

Workshop

HRPI 2009

Prof. Bernhard Esslinger

www.cryptool.com

www.cryptool.de

www.cryptool.org

www.cryptool.pl

www.cryptool.deSeite 7

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).

www.cryptool.deSeite 8

Einführung in CrypToolNutzung 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

www.cryptool.deSeite 9

CrypTool – Version 1 und seine beiden Nachfolgeversionen

CrypTool 2 (CT2)(stabil, aber Betastadium)

JCrypTool (JCT)(stabil, aber Betastadium)

CrypTool 1 (CT1)(stabil, ausgereift)Es wird empfohlen, CT1 weiterhin imUnterricht einzusetzen, da die Nachfolge-Versionen z.Zt. noch deutlich wenigerFunktionen und Online-Hilfen enthalten.

StandSeptember 2009

www.cryptool.deSeite 10

Einführung in CrypToolGegenüberstellung von Funktion und zugehöriger Analyse in CrypTool v1 (1/3)

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

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

Kryptographie Kryptoanalyse

www.cryptool.deSeite 11

Einführung in CrypToolGegenüberstellung von Funktion und zugehöriger Analyse in CrypTool v1 (2/3)

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

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)

Kryptographie Kryptoanalyse

www.cryptool.deSeite 12

Einführung in CrypToolGegenüberstellung von Funktion und zugehöriger Analyse in CrypTool v1 (3/3)

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 x2 mod n Linearer Kongruenzgenerator (LCG) Inverser Kongruenzgenerator (ICG)

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

Kryptographie Kryptoanalyse

* 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“

www.cryptool.deSeite 13

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

www.cryptool.deSeite 14

CrypToolCrypTool 1 ist eine Desktop-Anwendung für Windows

Dokument

Statusleiste mit Hinweisen

Menü

www.cryptool.deSeite 15

CrypToolCrypTool Online-Hilfe Online-Hilfe

Skript zu CrypTool

Readme

www.cryptool.deSeite 16

Einführung in CrypToolStrukturierte Hilfe zu den Verfahren: F1 bei Menüeintrag

F1

Allgemeine Informationen

zum Menüeintrag

Verweis auf Dialog-

Informationen

www.cryptool.deSeite 17

Einführung in CrypToolStrukturierte Hilfe zu den Verfahren: F1 bei geöffnetem Dialog

F1

Informationen zur

Dialogbedienung

Verweis zu

Allgemeinen

Informationen

www.cryptool.deSeite 18

Einführung in CrypToolSzenarien: Hilfe zum Einstieg

www.cryptool.deSeite 19

Einführung in CrypToolDokumentansicht: Textansicht / HexDump-Ansicht

Text-Editor

(auch für Binär-

Dateien geeig-

net, da kein

Dokumentende

bei Hex 0)

www.cryptool.deSeite 20

Einführung in CrypToolZusatzprogramme – Interaktives Skript für Zahlentheorie

Interaktive

Übungen.

Beispiel: Paare

komplementärer

Teiler von n = 16

www.cryptool.deSeite 21

Einführung in CrypToolZusatzprogramme – Visualisierung Elliptischer Kurven mit Punktaddition

www.cryptool.deSeite 22

Einführung in CrypToolZusatzprogramme – Zahlenhai-Spiel

www.cryptool.deSeite 23

Einführung in CrypToolZusatzprogramme – Enigma-Simulation

www.cryptool.deSeite 24

Einführung in CrypToolZusatzprogramme – AES-Verschlüsselung

www.cryptool.deSeite 25

Anforderungen an einen Nachfolger von CrypTool 1Architektur, 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.

www.cryptool.deSeite 26

CrypTool – Neue Versionen, WeiterentwicklungPure-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

CrypTool 2 (CT2) JCrypTool (JCT)

www.cryptool.deSeite 27

Beispiel CrypTool 2 Beta (1/2)Vergleich einer Caesar-Verschlüsselung in CrypTool 1 und in CrypTool 2

www.cryptool.deSeite 28

Beispiel CrypTool 2 Beta (2/2)Vergleich einer Caesar-Verschlüsselung in CrypTool 1 und in CrypTool 2

Message ändern -> sofortige Chiffrat-Änderung; Erklärungen in den Settings dynamisch, je nachdem welche

Komponente per Maus gerade markiert ist; …

www.cryptool.deSeite 29

Beispiel JavaCrypTool Beta M5 (1/3)Standard-Ansicht – Dokument-zentriert

www.cryptool.deSeite 30

Beispiel JavaCrypTool Beta M5 (2/3)Eine Visualisierung

www.cryptool.deSeite 31

Beispiel JavaCrypTool Beta M5 (3/3)FlexiProvider-Ansicht – Fokussiert auf die Krypto-Funktion

www.cryptool.deSeite 32

Weitere Infos

[email protected]

www.cryptool.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-im-netz.de/content/sicherheit/hilfreiches/downloads/Kryptologie-fuer-Jedermann.pdf

• https://www.sicher-im-netz.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

www.cryptool.com

www.cryptool.de

www.cryptool.org

www.cryptool.pl

Backup

www.cryptool.deSeite 34

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)

Klartext

„Send more troops to

southern flank and …“

Verschlüsselter Text (Chiffrat)

www.cryptool.deSeite 35

CrypToolUnterschiedliche Chiffretexte – Histogramm / Digramm / Trigramm-Analyse

www.cryptool.deSeite 36

CrypToolCaesar – Histogramm-Analyse

www.cryptool.deSeite 37

CrypToolPermutation – Klartext-Analyse und durch Ausprobieren

www.cryptool.deSeite 38

CrypToolVigenère – Automatische Analyse

www.cryptool.deSeite 39

CrypToolHill – Known-Plaintext Hill-Analyse mit linearer Algebra

www.cryptool.deSeite 40

CrypToolSubstitution – Halbautomatische Analyse monoalphabetischer Substitution

www.cryptool.deSeite 41

CrypToolElektronische Identität erzeugen

„Zufall“

erforderlich

www.cryptool.deSeite 42

CrypToolSchutz der Integrität und Urheber-Nachweis durch elektronische Signatur (1)

www.cryptool.deSeite 43

CrypToolSchutz der Integrität und Urheber-Nachweis durch elektronische Signatur (2)

Signatur-Demo:

Signaturerzeugung

Schritt-für-Schritt

www.cryptool.deSeite 44

CrypToolSignatur extrahieren und Signatur-Prüfung (1)

www.cryptool.deSeite 45

CrypToolSignatur extrahieren und Signatur-Prüfung (2)

Signatur-Prüfung:

Schritt-für-Schritt

www.cryptool.deSeite 46

CrypToolSignatur extrahieren und Signatur-Prüfung (3)

www.cryptool.deSeite 47

CrypToolHash-Demo

Kleine Änderungen im

Dokument führen zu

großen Änderungen

im Hashwert.

www.cryptool.deSeite 48

CrypToolRSA-Schlüssel (128-Bit) generieren

www.cryptool.deSeite 49

CrypToolRSA-Verschlüsselung mit dem öffentlichen Schlüssel

www.cryptool.deSeite 50

CrypToolRSA-Entschlüsselung mit dem privaten Schlüssel

www.cryptool.deSeite 51

CrypToolRSA „knacken“ durch die Faktorisierung von N (1/2)

www.cryptool.deSeite 52

CrypToolRSA „knacken“ durch die Faktorisierung von N (2/2)

Durch Faktorisierung

gefundene Primzahlen