Upload
lyanh
View
229
Download
0
Embed Size (px)
Citation preview
Kryptografie
Skript zur Vorlesung
Prof. Dr. Nils Martini
Hochschule fur Angewandte Wissenschaften Hamburg, 02.2011
INHALTSVERZEICHNIS 1
Inhaltsverzeichnis
1 Grundlagen 2
2 Symmetrische Verschlusselung 22.1 Einfache Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Kodeworter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.2 Substitutions-Chiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.3 Permutations-Chiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.4 homophone Substitutions-Chiffren . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Polyalphabetische Substitutionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.1 Vigenere-Chiffre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.2 Hill-Chiffre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.3 Vernam-Chiffre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.4 One-Time-Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.5 Rotor-Chiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Moderne symmetrische Verfahren 63.1 Data Encryption Standard DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2 Alternativen zu DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.3 Operationsmodi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Asymmetrische Verfahren 94.1 RSA-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.2 Diffie-Hellman-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3 ElGamal-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.4 Digital Signature Algorithm DSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.5 Primzahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.5.1 Finden großer Primzahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.5.2 Primzahl-Faktorisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5 Hash-Funktionen 125.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125.2 MD5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.3 Message Authentication Code MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6 Authentifizierung 13
7 Kryptografie in Anwendungen 147.1 Verschlusselung auf unteren OSI-Schichten . . . . . . . . . . . . . . . . . . . . . . . . . 147.2 IPSecure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157.3 SSL (Secure Socket Layer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.3.1 Verschlusselung in Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . 167.3.2 Secure Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.3.3 Sicherheit im WLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.4 Digital Rights Management DRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217.4.1 Anforderungen an DRM-Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . 227.4.2 Authentizitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237.4.3 Integritat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1 GRUNDLAGEN 2
1 Grundlagen
– Das Geheimhalten von Informationen ist ein entscheidendes Element bei der Kommunikationz.B. in der Diplomatie, Politik, Wirtschaft oder beim Militar
– mit der Verbreitung elektronischer Medien wird die Vertraulichkeit der Kommunikation (Artikeldes Grundgesetzes) auch im privaten Bereich immer wichtiger
– grundsatzlich sind zwei Verfahren zu unterscheiden: das Verbergen der Information und dieVerschlusselung der Information
– Steganografie (”verdeckt schreiben“): eine Nachricht wird nicht verschlusselt sondern verborgen
– Spielarten der Steganografie z.B.: Holztafeln mit Wachs verdecken, Botschaften auf feine Seideschreiben und anschließend mit Wachs zu kleinen Kugelchen formen,
”Eiertrick“’, alle Arten
unsichtbarer Tinte, Mikropunkt, Information innerhalb von Bildpixeln
– Nachteil: Wenn die Nachricht entdeckt wird, liegt ihr Inhalt frei
– Vorteil: Niemand erkennt, dass uberhaupt eine Nachricht verschickt wurde
– im Gegensatz dazu macht die Kryptografie (”geheim schreiben“) eine Nachricht unleserlich,
verbirgt aber das Vorhandensein der Nachricht nicht
– Kryptografie: Lehre vom Verschlusseln von Nachrichten
– bis vor wenigen Jahren waren kryptografische Verfahren zur Geheimhaltung einer Kommunika-tion nur im militarischen und diplomatischen Bereich von Bedeutung
– durch die zunehmende Verbreitung elektronischer Kommunikationssysteme sind sie heute zu-nehmend auch im okonomischen und privaten Bereich immer wichtiger
– ohne einfach anzuwendende sichere Verschlusselung und Authentifizierung wird sich der kom-merzielle Bereich des Internets kaum weiterentwickeln
– außer der reinen Geheimhaltung von Informationen, ist auch die Authentifizierung eines Benut-zers (Verbindlichkeit von Bestellungen) ein weiteres wichtiges Anwendungsgebiet
– wozu Verschlusselung?◦ die Datenubertragung im Internet ist ASCII-basiert (d.h. Postkarte statt Brief)
◦ es gibt viele Zwischenstationen beim Datentransfer
◦ Authentizitat bei EMail ist nicht gewahrleistet
◦ Verfalschung/Diebstahl von Nachrichten
◦ Wirtschaftsspionage
◦ auf privater Ebene: Kauferprofil
◦ und: Schutz der Privatsphare ist ein Grundrecht
– Anwendungen im Internet◦ EMails
◦ World Wide Web (Datenbankzugriffe, Systemadministration, kommerzielle Anwendungen,Intranet usw.)
◦ Client-Server-Programme
◦ VPN
◦ Online-Banking
◦ Remote Access
2 Symmetrische Verschlusselung
– Zur Verschlusselung wird ein mathematisches Verfahren (Chiffre, Cipher) angewendet, um eineNachricht (Klartext, Plaintext) in ein zufalliges Muster (Chiffretext, Ciphertext) umzuwandeln
2 SYMMETRISCHE VERSCHLUSSELUNG 3
– zusatzlich: Verwendung von Schlusseln
– gute Verschlusselungsalgorithmen sind offentlich bekannt und beziehen ihre Sicherheit aus-schließlich aus dem geheimen Schlussel
– Kryptoanalyse (”Knacken“ von Chiffretexten):
◦ Ciphertext-Only (nur der Chiffretext ist bekannt)
◦ Known-Plaintext (Klar- und Chiffretext sind bekannt, daraus Ableitung des Schlussels)
◦ Chosen-Plaintext (Chiffretext ist bekannt, Chiffrier-Versuche mit wahrscheinlichem Klar-text)
2.1 Einfache Verfahren
2.1.1 Kodeworter
– jede Nachricht entspricht einem Kodewort
– Vorteil: sehr einfach und bis zum ersten Einsatz absolut sicher
– Nachteil: nur wenige Nachrichten konnen kodiert werden, leichtes Erraten beim wiederholtenEinsatz
2.1.2 Substitutions-Chiffren
– Caesar-Chiffre◦ einfachste Form einer Substitutions-Chiffre
◦ Ersetzen der Klartext-Buchstaben durch andere
◦ mathematisch ausgedruckt: diese Operation ist die Addition modulo der Machtigkeit desAlphabets (n=26)a + s mod nmit a: Klartextzeichen, s: Schlussel
◦ die Dechiffrierung erfolgt mitc− s mod nmit c: Chiffretext-Zeichen
◦ Analyse: Brute-Force (ausprobieren) oder Haufigkeitsanalyse
– weitere Form der Substitutionschiffre: Freimaurer-Chiffre
– allgemeine Substitutionen◦ beliebiges (nicht arithmetisch beschreibbares) Vertauschen der Buchstaben
◦ Vorteil: Schlusselraum gleich n!
◦ die Haufigkeitsanalyse muss fur jeden Buchstaben des Chiffretextes erfolgen
– Kryptoanalyse einfacher Substitutionen◦ Brute-Force nur bei arithmetischen Verfahren
◦ Ausnutzung der Redundanz einer Sprache:∗ relative Buchstaben-Haufigkeit
∗ Bigramme und Trigramme
∗ bekannte Wortgrenzen bzw. haufige Wortendungen
∗ mogliche Nachbarzeichen von Vokalen und Konsonanten
– Multiplikative Chiffren◦ jedes Klartextzeichen m wird mit einer Zahl t multipliziert (n als Große des verwendeten
Alphabets; n und t teilerfremd):
c = (m · t) mod n
◦ Nachteil: das Verfahren hat nur sehr wenige Schlussel bei kleinem n
2 SYMMETRISCHE VERSCHLUSSELUNG 4
– Affine Chiffren (Tausch-Chiffren)◦ Caesar-Chiffre und Multiplikations-Chiffre werden kombiniert:
c = (m · t + k) mod n
◦ es muss fur die verwendeten Schlusselwerte eine Dechiffrierfunktion mittels des Modulo-Inversen berechnet werden
2.1.3 Permutations-Chiffren
– Buchstaben werden nicht ersetzt sondern nur vertauscht
– Permutations-Ciffren gehoren zu den altesten Verschlusselungsverfahren
– sie sind”mechanisch“ einfach umsetzbar, da sie oft mit geometrischen Figuren beschrieben
werden
– Beispiel: Skytala (Griechenland, 400 v.Chr.; Papyrusstreifen wird um einen Zylinder gewickeltund zeilenweise parallel zur Zylinderachse beschrieben)
– Prinzip: zeilenweises Eintragen des Klartextes in eine Matrix, spaltenweises Auslesen der Matrixergibt den Chiffretext (Spaltenpermutation)
– Analyse uber Haufigkeitsverteilungen ist hierbei nicht moglich, da die originalen Buchstabenerhalten bleiben: Versuch Bi- und Trigramme zu finden, ausprobieren
– Vergroßerung des Schlusselraumes durch zusatzliches Vertauschen der Spalten
– Permutationen lassen sich durch Schlussel beschreiben: Zeichen 1 auf Position 4, Zeichen 2 aufPosition 9 usw.
– wird auch als”Block-Transposition“ bezeichnet
– gute Verschlusselung, wenn Spaltenpermutation, Vertauschen der Spalten und Block-Transpositionder Zeilen zusammen verwendet werden
– Schlussel haben keine gute Wirkung, wenn Bi- und Trigramme nicht gut getrennt werden
– reine Permutation hat heute keine praktische Bedeutung mehr
2.1.4 homophone Substitutions-Chiffren
– Nachteil einfacher Substitutionen: statistische Eigenschaften des Klartextes sind im Chiffretextenthalten
– solche”charakteristischen“ Verteilungen eines Textes lassen sich vermeiden, wenn jedem Klar-
textzeichen unterschiedliche Chiffrezeichen zugeordnet werden
– Nachteil: Expansion des Chiffretextes
– historisches Beispiel: Beale-Chiffre, bei der bis heute nur einer der drei Teile des Chiffretextesmittels der amerikanischen Unabhangigkeitserklarung entschlusselt werden konnte
– homophone Substitutions-Chiffren sind zwar sehr sicher aber auch sehr unhandlich
2.2 Polyalphabetische Substitutionen
– Bei polyalphabetischen Substitutions-Chiffren werden mehrere einfache Substitutionen verwen-det
– die Reihenfolge und Auswahl der Substitutionen hangen vom Schlussel ab
– Nachteile einfacher oder homophoner Chiffren werden vermieden
2.2.1 Vigenere-Chiffre
– die Substitution erfolgt additiv mittels eines Schlusselwortes
– die Buchstabenposition (A=0, B=1, C=2, ... Z=25) des Schlusselwortes wird auf den Klartextaddiert
2 SYMMETRISCHE VERSCHLUSSELUNG 5
– praktische Handhabung bei Ver- und Entschlusselung mittels Vigenere-Quadrat
– prinzipiell setzt sich die Vigenere-Chiffre aus mehreren Caesar-Chiffren zusammen
– Analyse: finden der Schlussellange uber sich wiederholende Muster im Chiffretext (Kasiski-Test)und brechen der entsprechenden Anzahl von Caesar-Chiffren; sind Teile des Schlussels bekannt,lasst sich der Schlussel auch direkt ableiten
2.2.2 Hill-Chiffre
– wie bei der Vigenere-Chiffre handelt es sich um ein polyalphabetisches Verschlusselungsverfahren
– es werden jeweils in einem Berechnungsschritt d Klartextzeichen zu d Chiffretextzeichen gewan-delt
– die Verschlusselung erfolgt uber eine d × d-Matrix A zu der eine inverse Matrix A−1 existierenmuss
c = m ·Amit m als Klartextvektor der Lange d
– die Dechiffrierung erfolgt mit
c ·A−1 = m ·A ·A−1 = m
– die Ciphertext-only-Analyse ist relativ schwer, sind aber Klartextblocke und deren Chiffretextebekannt, kann leicht der Schlussel gefunden werden, mit
A = M−1 · Cmit M bzw. C als Klartext- bzw. Chiffretextmatrix mit d Klar-/Chiffretextvektoren
2.2.3 Vernam-Chiffre
– je langer der Schlussel einer Vigenere-Chiffre ist, desto schwieriger wird die Analyse
– bei der Vernam-Chiffre ist der Schlussel genauso lang wie der Klartext
– Analyse: sehr schwierig; besteht der Schlussel aus einem sinnvollen Wort kann eine Haufigkeits-analyse erfolgreich sein
2.2.4 One-Time-Pad
– ist der Schlussel einer Vernam-Chiffre vollkommen zufallig gewahlt, ist keine Analyse moglich
– wird der Schlussel nur einmal (one-time) verwendet, besteht absolute Sicherheit
– bei Binardaten: die Addition entspricht einer XOR-Verknupfung
– Nachteile: extrem langer Schlussel, problematischer Schlusselaustausch, Erzeugung wirklich zufalli-ger Schlussel
2.2.5 Rotor-Chiffren
– historisch wichtigste Anwendung: Enigma-Maschine
– Prinzip:◦ runde Scheibe mit 26 Metallkontakten auf jeder Seite
◦ je zwei Kontakte sind miteinander verdrahtet
◦ Verwendung von drei drehbaren Scheiben, die wie ein Tacho verbunden sind
◦ je nach Stellung der Rotoren leuchtet nach Drucken einer Taste eine Lampe
– zusatzlich wird nach jedem Tastendruck Rotor 1 um einen Schritt weitergedreht
– dadurch entsteht ein polyalphabetisches Substitutionsverfahren mit 263 Schlusseln
– bei der Enigma-Maschine wird eine vierte Scheibe (der Reflektor) verwendet, bei der die Kon-takte nur auf einer Seite liegen; jeder Rotor wird somit zweimal durchlaufen
3 MODERNE SYMMETRISCHE VERFAHREN 6
– die militarische Version enthielt zusatzlich ein Steckerbrett zwischen Tastatur und Rotoren bzw.zwischen Rotoren und Anzeige (weitere Substitutionen)
– Parameter fur den Schlussel der Enigma:◦ Typ der Rotoren
◦ Anordnung der Rotoren
◦ Anfangsstellung der Rotoren
◦ Verdrahtung des Steckerbretts
– Kryptoanalyse der Enigma◦ die Verdrahtung war durch Spionage und Known-Plaintext-Attacken bereits in den 30er-
Jahren prinzipiell bekannt
◦ ursprunglich wurde die Anfangsposition der Rotoren am Beginn einer Nachricht gesendet
◦ durch zu kurze (militarische stereotype) Nachrichten drehte sich oft nur der erste Rotor
◦ Known-Plaintext-Attacken
◦ durch den Reflektor wird kein Buchstabe auf sich selbst abgebildet
3 Moderne symmetrische Verfahren
3.1 Data Encryption Standard DES
– DES wurde Anfang der 70er-Jahre von IBM entwickelt, 1977 standardisiert und war fur langeZeit das verbreitetste Verschlusselungsverfahren
– Verschlusselung von Klartext-Blocken der Lange 64 Bit
– jeder Klartextblock wird in einen gleichgroßen Chiffretext-Block umgewandelt
– Schlussellange 64 Bit (praktisch nur 56 Bit)
– DES verwendet nur einfache Grundfunktionen:◦ XOR-Verknupfung
◦ Permutation
◦ Substitution
– die 16-fache Kombination dieser Bestandteile ergibt ein sehr sicheres Verfahren
– Funktionsweise von DES◦ Eingangspermutation des 64-Bit-Blocks
◦ Zerlegung des Ergebnisses in zwei 32-Bit-Blocke (L und R)
◦ Block L wird mit einer Funktion F bearbeitet und anschließend mit R XOR-verknupft
◦ das alte L wird zum neuen R und der Vorgang 16mal wiederholt
◦ nach diesen 16 Runden wird der resultierende 64-Bit-Block mit der inversen Eingangsper-mutation bearbeitet
◦ der wichtigste Vorgang ist die Funktion F , in die in jeder Runde ein Teil des Schlusselseingeht
– die Funktion F◦ diese Funktion verknupft einen 32-Bit-Block mit einem Teilschlussel
◦ zunachst Permutation des 32-Bit-Blocks und – durch doppelte Verwendung einiger Bits –Expansion auf 48 Bit
◦ dieser Block wird mit 48 Bits des Schlussels XOR-verknupft
◦ Zerlegung des resultierenden 48-Bit-Blocks in acht 6er-Blocke
3 MODERNE SYMMETRISCHE VERFAHREN 7
◦ die Bits jedes 6er-Blocks werden zur Auswahl eines 4-Bit-Wertes aus einer festen Tabelle(sog. S-Box) verwendet
◦ die acht 4-Bit-Zahlen ergeben wieder einen 32-Bit-Block, der einer weiteren festen Permu-tation unterzogen wird
– die Schlusseltransformation von DES◦ jedes achte Bit des Schlussels wird entfernt (Paritatsbits zur Fehleruberprufung)
◦ die verbleibenden 56 Bit werden permutiert
◦ Teilung in zwei 28-Bit-Halften
◦ von den 56 Bits werden nach festem Schema 48 ausgewahlt
◦ Verschiebung der 28-Bit-Halften in jeder Runde um ein oder zwei Schritte, sodass insgesamt28 Verschiebungen in den 16 Runden durchgefuhrt werden
– De-Chiffrierung von DES erfolgt in der umgekehrten Reihenfolge der Verschlusselung, wobeiallerdings zu berucksichtigen ist, dass die Funktion F nicht ruckwarts durchlaufen werden kann
– Sicherheit von DES◦ trotz Offenlegung und prinzipieller Einfachheit des Verfahrens und der kurzen Schlussel:
sehr sicheres Verfahren
◦ seit 1997 waren einige Known-Plaintext-Attacken erfolgreich, heute wird DES bei wichtigenVerschlusselungsanwendungen nicht mehr eingesetzt
◦ es gibt”schwache“ Schlussel (z.B. nur Einsen)
3.2 Alternativen zu DES
– Double-DES: zweifache Anwendung von DES mit zwei verschiedenen Schlusseln (durch Meet-in-the-Middle-Attacken erhoht sich die Sicherheit nur um den (unbrauchbaren Faktor 2)
– Triple-DES: dreifache Anwendung mit zwei Schlusseln (Erhohung der Sicherheit wegen MITM-Attacke um den Faktor 2256)
– IDEA (Intern. Data Encryption Standard)◦ Designkriterien ahnlich wie bei DES: relativ einfache Grundfunktionen, die in 8 Run-
den auf 64-Bit-Klartextblocke angewendet werden (Addition (mod 216), Multiplikation(mod 216 + 1 =), XOR-Verknupfungen)
◦ Schlussellange: 128 Bit
◦ die Entschlusselung erfolgt in umgekehrter Reihenfolge wie beim Verschlusseln
◦ Sicherheit: sehr hoch, aber IDEA ist noch nicht so ausfuhrlich untersucht wie DES
– RC2 (Rivest Cipher)◦ variable Schlussellange (Schlusselraum bis 21024)
◦ Block-Chiffre, jedoch ohne S-Boxen
◦ Verfahren wurde bis vor kurzem geheim gehalten
◦ die internationale Version war aufgrund der US-Waffenexportbeschrankungen auf 40 Biteingeschrankt (wird z.B. in S/MIME verwendet)
◦ Varianten RC4, RC5, RC6
– Skipjack◦ von der NSA Ende der 80er-Jahre entwickelt
◦ Verschlusselungsverfahren fur den Clipper-Chip
◦ erst nach dem Scheitern des Clipper-Projekts 1998 veroffentlicht
◦ Block-Chiffre mit 80-Bit-Schlussel und 32 Runden
– AES (Advanced Encryption Standard)
3 MODERNE SYMMETRISCHE VERFAHREN 8
◦ ab 1997 wurde ein Wettbewerb zur Entwicklung eines Nachfolgers von DES begonnen
◦ die Anforderungen waren: symmetrische Blockchiffre, sicher bzgl. heutiger Analyse-Verfahren,einfaches Design, Unterstutzung verschiedener Block- und Schlussellangen, hohe Effizienz,einfache Implementierung in Hard- und Software
◦ Gewinner war der Rijndael-Algorithmus
◦ andere gute AES-Kandidaten sind heute gebrauchlich z.B. Twofish, RC6, Serpent
◦ Ablauf∗ Schlusselexpansion
∗ Vorrunde mit KeyAddition
∗ Verschlusselungsrunden (10 bis 14 Runden je nach Schlussellange; Blocklange 128 Bit,Schlussellange 128, 192 oder 256 Bit) bestehend aus Substitution (ByteSub), ShiftRow,MixColumn und KeyAddition
∗ Schlussrunde
– Stromchiffre RC4◦ eine Stromchiffre ist prinzipiell ein Pseudo-Zufallsgenerator, der mit einem Startwert (Seed)
initialisiert wird
◦ der Seed wird aus dem Schlussel erzeugt
◦ die erzeugte Zufallsfolge wird mit dem Klartext XOR-verknupft, d.h der”Schlussel“ ist
genauso lang wie die Nachricht
◦ der Empfanger entschlusselt den Chiffretext, indem er dieselbe Zufallsfolge mithilfe desSeeds erzeugt und mit dem Chiffretext XOR-verknupft
◦ RC4 ist ein sehr einfaches Verfahren ohne bekannte Schwachen (geringe Probleme am An-fang des Verfahrens bzw. bei sehr kurzen Nachrichten durch die Einfachheit der Schlusselgenerierung)
3.3 Operationsmodi
– die Grundchiffrierung bei einer Blockchiffre bearbeitet immer Einheiten fester Lange
– ein Betriebs- oder Operations-Modus erganzt die Grundchiffrierung mit einer Ruckkopplung aufBasis einfacher Verknupfungen
– ein Operationsmodus soll die Handhanbung einer Chiffre in Bezug auf die Anwendung verbes-sern, wobei weder die Effizienz noch die Sicherheit des Verfahrens beeintrachtigt werden darf
– Electronic Code Book ECB◦ einfachster Modus (entspricht der Grundfunktion von DES): ein Klartextblock wird in einen
Chiffretextblock gewandelt
◦”Codebook“ weist darauf hin, dass es (theoretisch) moglich ist, fur jeden Schlussel ein
Codebuch anzulegen, in dem jeder mogliche Klartextblock mit seinem Chiffretextblockverknupft ist
◦ Vorteil: eine lineare Bearbeitung des Klartextes ist nicht zwingend erforderlich
◦ Nachteil: gleiche Klartextblocke mj ergeben denselben Chiffretext cj
◦ Bitfehler bei der Ubertragung des Chiffretextes cj betreffen lediglich den einen 64-Bit-Block,nachfolgende Blocke bleiben davon unbeeinflusst
◦ fehlende oder erganzte Bits zerstoren jedoch die komplette nachfolgende Chiffre
◦ großtes Problem bei ECB: das Hinzufugen oder Entfernen kompletter Chiffretextblockewird nicht erkannt, wobei ein Angreifer noch nicht einmal Algorithmus oder Schlussel zukennen braucht
– Cipher Block Chaining CBC◦ die Probleme von ECB lassen sich durch die Verkettung von Chiffretextblocken vermeiden
4 ASYMMETRISCHE VERFAHREN 9
◦ bei CBC fließt das Verschlusselungsergebnis eines Blockes in die Verschlusselung des nach-folgenden Klartextblockes mit ein (Ruckkopplung)
◦ Chiffretestblock A wird mit dem nachfolgenden Klartextblock B XOR-verknupft und erstdieses Ergebnis zu Chiffretextblock B gewandelt
◦ gleiche Klartextblocke werden damit zu verschiedenen Chiffretextblocken
◦ um zu vermeiden, dass Nachrichten mit demselben Anfang auch mit CBC gleich ver-schlusselt werden, wird der erste Block mit zufalligen Werten gefullt (InitialisierungsvektorIV)
◦ weiterer Vorteil des IV: der erste Klartextblock benotigt bei CBC einen Vorganger
◦ Bitfehler bei der Ubertragung von cj beeinflussen nur das zugehorige mj und das nachfol-gende mj+1 (Fehlerexpansion)
◦ fehlende oder erganzte Bits zerstoren jedoch die komplette nachfolgende Chiffre
– Cipher Feedback Mode CFB◦ beim ECB- und CBC-Modus konnen Daten erst dann verschlusselt werden, wenn ein kom-
pletter Klartextblock vorhanden ist
◦ der CFB-Modus verschlusselt dagegen auch kleinere Einheiten
◦ Prinzip: es wird ein Schieberegister in Blockgroße verwendet, aber immer nur soviele Bitsin das Register geschoben wie verschlusselt werden sollen
◦ erhebliche Ressourcenverschwendung, da immer die komplette Blockgroße verschlusselt wer-den muss (zum Empfanger wird jedoch nur die tatsachliche Datenmenge ubertragen)
◦ Vorteil: die Blockchiffre kann damit wie eine Stromchiffre verwendet werden
4 Asymmetrische Verfahren
– prinzipieller Nachteil symmetrischer Verfahren: das Problem der gesicherten Schlusselubertra-gung
– asymmetrische Verfahren vermeiden dies, indem die Nachricht mit einem Schlussel chiffriert undmit einem zweiten dechiffriert wird
– Prinzip von Public-Key-Verfahren:◦ die Nachricht wird mit einem offentlich bekannten Schlussel verschlusselt
◦ sie kann nur noch mit dem zugehorigen geheimen (privaten) Schlussel dechiffriert werden
– weiterer Vorteil: diese Verfahren eignen sich fur eine digitale Signatur (Authentifizierung)
– Problem: die Authentizitat des offentlichen Schlussels
– in Verschlusselungs-Software wird meistens kein rein asymmetrisches Verfahren benutzt, da dieseVerfahren sehr langsam sind
– asymmetrische Verfahren basieren auf mathematischen Algorithmen, bei denen die Hin-Rechnungschnell ist, die Ruck-Rechnung aber extrem aufwandig
– sie werden daher auch als Falltur- bzw. Einweg-Verfahren bezeichnet
4.1 RSA-Algorithmus
– RSA (benannt nach den Anfangsbuchstaben der Entwickler) ist ein asymmetrisches Verfahren,das auch fur digitale Signaturen verwendet wird
– es basiert auf einigen zahlentheoretischen Grundlagen (Satz von Euler) und Gesetzmaßigkeitender Modulo-Rechnung
Satz von Euler: aϕ(n) mod n = 1
mit a und n als naturliche teilerfremde Zahlen (ggT (a, n) = 1)
4 ASYMMETRISCHE VERFAHREN 10
und ϕ(n) als Anzahl der zu n teilerfremden Zahlen kleiner als n
ist n eine Primzahl, gilt ϕ(n) = n− 1
ist n das Produkt zweier Primzahlen p und q (n = p · q) gilt:ϕ(n) = (p− 1)(q − 1)
– Berechnung der Schlussele · d = 1 mod ϕ(n) mit n = p · q (Primzahlen) und ggT (e, ϕ(n)) = 1
◦ die Zahl e wird entsprechend der Vorgabe gewahlt und d lasst sich daraus mit dem Eukli-dischen Algorithmus berechnen
◦ der offentliche Schlussel besteht aus e und n
◦ d ist der private Schlussel
◦ die Sicherheit des Verfahrens beruht darauf, dass zwar e und n bekannt sind, aber damitallein d nicht berechnet werden kann
◦ dies gelingt nur mit p und q, die aber mit keinem mathematischen Verfahren nur aus nbestimmbar sind
◦ da Brute-Force-Attacken bei zu kleinem n erfolgreich sein konnen, mussen die Schlussel beiasymmetrischen Verfahren erheblich langer sein als bei symmetrischen (heute mindenstens1024 Bit)
– Chiffrierung mit RSA◦ mit den Zahlen e, n und d erfolgt direkt die Ver- und Entschlusselung
◦ sei m der Klartext (m < n) so wird daraus die chiffrierte Nachricht c:
c = me mod n
◦ die Entschlusselung erfolgt mit:
m = cd mod n
– Kryptoanalyse von RSA◦ vollstandige Schlusselsuche schon bei 256 Bit praktisch unmoglich
◦ Public-Key-Only-Attacke: Versuch der Faktorisierung von n
◦ Low-Exponent-Attacke: viele RSA-Implementierungen verwenden standardmaßig nur e = 3oder e = 17 wodurch RSA unsicherer wird
◦ spezielle Angriffe gegen RSA-Software
– Nachteil von RSA: die Ver- bzw. Entschlusselung ist ca. um den Faktor 1000 langsamer als beiDES
– in der Praxis werden daher”hybride“ Verfahren eingesetzt, die nur einen Sitzungsschlussel asym-
metrisch verschlusseln und die Daten selbst mit einem symmetrischen Verfahren ubertragen
4.2 Diffie-Hellman-Verfahren
– das Diffie-Hellman-Verfahren ist eine Alternative zu RSA fur hybride Verfahren
– es handelt sich hierbei nur um ein Verfahren fur den Schlusselaustausch
– es erfolgt keine Verschlusselung der Daten
– das Verfahren basiert nicht auf dem Faktorisierungsproblem von RSA sondern auf dem Diskrete-Logarithmus-Problem (Modulo-Logarithmus)
– der diskrete Logarithmus bezeichnet die Umkehrfunktion zur Modulo-Exponentiation
ax mod n
aus a, x und n lasst sich leicht b bestimmen, aber aus a,b und n ist es bei großen Zahlen fastunmoglich x zu berechnen
– es gibt keine schnellen Algorithmen zuur Losung der Aufgabe
4 ASYMMETRISCHE VERFAHREN 11
x = loga b mod n
4.3 ElGamal-Verfahren
– Verallgemeinerung von Diffie-Hellman
– eignet sich auch zum Verschlusseln
– Parameter: geheime Schlussel x und y, Primzahl p, Zahl g < p, Zufallszahl z, mit ggT (z, p−1) =1, offentliche Schlussel a = gx mod p bzw. b = gy mod p
– Verschlusselung (Sender verschlusselt mit seinem privaten Schlussel y und dem offentlichenSchlussel a des Empfangers)
c = ay ·m mod p
– Entschlusselung (mit b und x)
m = b(p−1−x) · c mod p
– ElGamal zum Signieren von Nachricht m (r = gz mod p und s sind die Signatur)
m = y · r + z · s mod (p− 1)
– die Verifikation ist erfolgreich wenn beide Seiten der folgenden Gleichung gleich sind (beachte:gy ist der offentliche Schlussel b des Senders)
gm = gyr · rs mod p
4.4 Digital Signature Algorithm DSA
– basiert auf dem diskreten Logarithmus und ist im Prinzip eine Variante von ElGamal
– Signatur (mit z < q mit q als Primzahl, die ein Teiler von p− 1 ist und r = (gz mod p) mod q
m = z · s− x · r mod q
– Verifikation mit
gm = rs
gx·r mod q
– DSA ist im Vergleich zu ElGamal schneller, da statt mit p mit der (kleineren) Zahl q gerechnetwird
4.5 Primzahlen
4.5.1 Finden großer Primzahlen
– Probedivision◦ wenn n eine zusammengesetzte Zahl ist, dann hat n mindestens einen Primfaktor p <
√n,
denn jede Zahl lasst sich als Produkt von Primzaheln darstellen
◦ teilt kein p <√n die Zahl n, ist n selbst eine Primzahl
◦ Nachteil: sehr hoher Aufwand bei sehr großen Zahlen; bei Primzahlen, die bei RSA verwen-det werden, ist die Probedivision praktisch undurchfuhrbar
– Sieb des Erathostenes◦ ist kein Primzahltest im eigentlichen Sinne
◦ dient der Bestimmung aller Primzahlen unterhalb einer gegebenen Schranke N
– Fermat-Test◦ Kleiner Satz von Fermat: Ist n eine Primzahl, so gilt
an−1 = 1 mod n mit a ∈ Z und ggT (a, n) = 1
◦ man berechnet hierzu y = an−1 mod n fur verschiedene Basen a
◦ ist das Ergebnis y 6= 1 ist n keine Primzahl, bei y = 1 kann n eine Primzahl sein oder auchnicht
5 HASH-FUNKTIONEN 12
◦ der kleine Fermatsche Satz findet Primzahlen daher nicht mit Sicherheit heraus
– Miller-Rabin-Test◦ eine Art
”Verscharfung“ des Kleinen Fermatschen Satzes (andere Verfahren vom gleichen
Typ: Solovay-Strassen, Elliptic Curve Primality Proving)
◦ mit wenigen Test-Durchlaufen kann mit hoher Wahrscheinlichkeit gesagt werden, ob eineZahl Primzahl ist oder nicht
– Deterministische Primzahltests◦ Miller-Rabin oder Fermat sind sog. probabilistische Primzahltests, die nur mit einer gewis-
sen wahrscheinlichkeit das richtige Ergebnis liefern
◦ deterministische Verfahren bestimmen dagegen mit Sicherheit, ob eine Zahl prim ist odernicht
◦ die Probe-Division ist ein solches Verfahren, allerdings mit dem Nachteil, dass sie nicht in
”Polynomial-Zeit“ losbar ist
◦ der AKS-Primzahltest ist ein deterministisches Verfahren, das nachweisbar in polynomiellerZeit losbar ist
4.5.2 Primzahl-Faktorisierung
– Ziel ist es herauszufinden, wie die Primfaktoren p und q der Zahl n = p · q lauten
– Probedivision (wie beim Finden einer Primzahl, nur dass hier alle Primfaktoren gefundenwerden mussen)
– Fermat-Methode
– (p− 1)-Methode
5 Hash-Funktionen
5.1 Grundlagen
– Hash-Funktionen werden benotigt, um digitale Signaturen fur ein Dokument zu erzeugen
– auch asymmetrische Verfahren sind hierfur geeignet, wobei ein Dokument mit dem privatenSchlussel chiffriert und mit dem offentlichen dechiffriert wird
– Nachteil: sehr langsam
– mit Hash-Funktionen wird eine eindeutige Prufsumme aus dem Dokument berechnet (und nurdie wird asymmetrisch verschlusselt)
– bei einfachen Hash-Funktionen wird es immer Nachrichten oder Dokumente geben, die denselbenHash-Wert besitzen (
”Kollisionen“), obwohl die Nachrichten vollig verschieden sind
– Anforderung an kryptografische Hash-Werte: es darf mit realistischem Aufwand nicht moglichsein, eine Nachricht so zu verandern, dass sie den gleichen Hash-Wert wie das Original hat
– Hash-Funktionen lassen sich einteilen in◦ schwach kollisionssichere Verfahren
◦ stark kollisionssichere Verfahren
– Prinzip: ahnlich wie symmetrische Verfahren, aber meist ohne Schlussel
– Angriffe:◦ finde eine zweite (sinnvolle) Nachricht mit demselben gegebenen Hash-Wert wie die erste
◦ finde zwei Nachrichten mit demselben (beliebigen) Hash-Wert
– Lange von Hash-Werten: mindestens 128, besser 160 Bit
– wichtige Algorithmen:◦ SHA-1 (Secure Hash Algorithm)
6 AUTHENTIFIZIERUNG 13
◦ MD5 (Message Digest)
◦ Snefru
5.2 MD5
– Hashfunktion, die einen 128 Bit-Wert erzeugt
– der Eingabetext wird in Blocke von 512 Bit zerlegt, die wiederum in 16 Teilblocken zu 32 Bitweiterverarbeitet werden
– die Ausgabe besteht aus vier 32 Bit-Blocken (zusammengesetzt 128 Bit, SHA-1 funktioniertahnlich, funf Blocke ergeben hier 160 Bit)
– zunachst wird die Eingabe auf ein Vielfaches von 512 aufgefullt
– zu Beginn des Algorithmus werden vier 32 Bit Variablen mit fest vorgegebenen Werten initiali-siert
– diese Variablen werden mit dem ersten der 512 Bit-Bocke in einer Hauptschleife mit 4 Rundenverarbeitet
– danach werden die nun modifizierten Variablen mit dem nachsten Block verarbeitet
5.3 Message Authentication Code MAC
– Kombination von Hash-Funktionen und Verschlusselungsverfahren bzw. Schlusseln
– dadurch wird nicht nur die Integritat einer Nachricht sichergestellt sondern auch die Authenti-zitat, da zusatzlich zum Hashwert ein Schlussel verwendet wird
– verschiedene Varianten:◦ Hashwert bilden und das Ergebnis verschlusseln
◦ HMAC (keyed-hash MAC): Verknupfung des Schlussels mit der Nachricht und anschließendVerarbeitung im Hash-Verfahren
6 Authentifizierung
– im”wahren Leben“ Authentifizierung durch:◦ etwas was man ist (Aussehen, Fingerabdruck)
◦ etwas was man weiß (Passwort, PIN, Code)
◦ etwas was man hat (Ausweis, Schlussel)
–”Online“-Authentifizierung: biometrische Verfahren, Passworter, TokenCards
– Probleme bei”Offline“-Authentifizierung:
◦ Authentizitat des offentlichen Schlussels
◦ Authentizitat des privaten Schlussels
◦ Verbindlichkeit
– Losung: Vertrauensmodelle
– Vertrauensmodelle◦ Direct Trust
◦ Web of Trust∗ Vertrauen
∗ Validitat
∗ dem zertifizierten Schlussel wird die eigene Unterschrift angehangt
◦ Hierarchical Trust∗ Verwaltung der Schlussel bei einer Zertifizierungs-Instanz
7 KRYPTOGRAFIE IN ANWENDUNGEN 14
∗ Trust-Center, Certification Authority CA
∗ Infrastruktur erforderlich (PKI)
∗ Vertrauenswurdigkeit der CA ???
∗ CAs konnen hierarchisch organisiert sein
∗ es gibt PKI-Standards: X.509, PKIX, Identrus, OpenPGP
7 Kryptografie in Anwendungen
– die zuvor vorgestellten Verfahren gehoren zur”starken Kryptografie“
– viele Programme enthalten nur Verfahren der”schwachen Kryptografie“
– was Kryptografie nicht kann:◦ loschen der unverschlusselten Daten
◦ Schutz vor gestohlenen/verlorenen Schlusseln
◦ Verhinderung von Modifikationen am Kodierprogramm
◦ Schutz vor Willkur Dritter
◦ Schutz vor dem Abhoren der Nachrichten
– Kryptografie und die rechtliche Lage:◦ die bekannten Algorithmen sind im Besitz weniger Firmen (Lizensierung der Software)
◦ in vielen Landern ist der Einsatz von Kryptografie verboten oder beschrankt
◦ bis Ende 2000 unterlagen Kryptografie-Produkte den Waffenexportbeschrankungen derUSA
◦ Pro Verschlusselung: Privatsphare, Wirtschaftsspionage, Grundrechte auf Selbstbestim-mung und Vertraulichkeit der Kommunikation
◦ Contra Verschlusselung: Verbrechensbekampfung, Verlust legaler Abhormaßnahmen
7.1 Verschlusselung auf unteren OSI-Schichten
– TCP/IP-Protokolle verschlusseln nichts
– in IPv6 sind automatische Verschlusselungen auch auf unteren Ebenen vorgesehen
– heute verbreitet: Verschlusselung auf Schicht 7
– Verschlusselung auf Schicht 1 und 2◦ ISDN (keine Standards)
◦ GSM
◦ PPP
– Virtual Private Networks (VPN)◦ Kopplung zweier LANs uber das Internet
◦ Varianten: Tunneling uber PPP oder IPSec
◦ Protokolle:∗ L2F (Layer 2 Forwarding Protocol)
∗ PPTP (Point-to-Point Tunneling Protocol)
∗ L2TP (Layer 2 Tunneling Protocol)
7 KRYPTOGRAFIE IN ANWENDUNGEN 15
7.2 IPSecure
– Security Architecture for IP
– IPSec kann fur VPN-Tunnel oder fur direkt verschlusselnde Verbindungen zwischen zwei Rech-nern eingesetzt werden
– IPSec bietet folgende Sicherheitsdienste◦ Zugangskontrolle
◦ Authentifizierung
◦ Datenintegritat
◦ Schutz vor Wiederholungen (Anti-Replay)
◦ Vertraulichkeit durch Verschlusselung
◦ Kompression
– IPSec verwendet zwei Erweiterungsheader◦ Authentication Header (AH) fur Integritat, Authentifizierung, Anti-Replay
◦ Encapsulating Security Payload (ESP) fur Verschlusselung
– fur die Schlusselverwaltung und -ubertragung wird ein zusatzliches Protokoll verwendet: InternetSecurity Association Key Management Protocol ISAKMP
– der Authentication Header ist optional und wird an den IP-Header angehangt; er hat folgendeElemente◦ Next Header: Typ der Payload-Daten, z.B. Transportprotokoll, IPv6-Erweiterungsheader
◦ Payload Length: Lange des Authentication Data-Feldes
◦ Security Parameter Index: 32-Bit-Wert, der die sog. Security Association (SA) fur diesesDatagramm definiert
◦ Sequence No.: Anti-Replay-Wert, wird mit jedem Datagramm um 1 inkrementiert
◦ Authentication: Inhalt abhangig vom Algorithmus z.B. HMAC-MD5, HMAC-SHA
– der AH stellt die Authentizitat des Paket-Inhalts sicher (per HMAC); er bezieht außerdem diefeststehenden Teile des IP-Headers in den Hashwert mit ein
– Encapsulating Security Payload Header (ESP)◦ ESP sichert Authentizitat, Integritat und Vertraulichkeit des IP-Datagramms
◦ kann zusatzlich zum oder auch ohne AH verwendet werden
◦ es wird der Paketinhalt verschlusselt
– der ESP-Header hat folgende Elemente◦ SPI und Sequence wie bei AH
◦ Padding (optional): kann bei zu kleinen Datenmengen diese bis zur benotigten Blockgroßedes Verschlusselungsverfahrens auffullen oder auch die wahre Blockgroße verschleiern
◦ Next Header: Typ des Payloads, enthalt ggf. auch einen IV z.B. bei DES-CBC
◦ Authentication Data (optional): Inhalt abhangig vom Algorithmus
– ISAKMP◦ Protokollrahmen fur die Verwaltung sog. Security Associations (SA)
◦ die SA umfasst alle fur die Verschlusselung und Authentifizierung einer Verbindung er-forderlichen Daten (Verschlusselungsverfahren, Schlusselaustausch, Gultigkeitsdauer desSchlussels)
◦ ISAKMP (bzw. die Umsetzung IKE Internet Key Exchange) wird von IPSec benotigt, daIPSec die zur Verschlusselung erforderlichen Informationen von der lokalen SA erhalt undnicht selbst ubertragt
◦ Unterteilung in zwei Phasen:
7 KRYPTOGRAFIE IN ANWENDUNGEN 16
∗”Master Secret“ zum Schutz der ISAKMP-Kommunikation selbst (einmalig festgelegter
Schlussel oder Wechsel tage- oder wochenweise)
∗ Aushandlung des Schlussels zum Schutz der Nutzdaten (automatischer Wechsel minu-tenweise)
◦ Format des ISAKMP:∗ Initiator/Responder-Cookie: Hashwert uber IP-Ziel/Quelladresse, Ziel-/Quellport, Sy-
stemzeit; wird zur eindeutigen Identifizierung einer Verbindung verwendet
∗ Next Payload: Typ der Daten dieses Paketes (SA, Hash, Signatur ...)
∗ Major/Minor Version: Haupt- und Unterversion von ISAKMP
∗ Exchange Type: Art des Nachrichtenaustausches (Identity Protection, Aggressive Mo-de)
∗ Flags: gibt an, ob die nachfolgenden Daten verschlusselt oder nur authentifiziert sindoder ob die SA noch nicht vollstandig ausgehandelt ist
7.3 SSL (Secure Socket Layer)
– SSL ist ein Erweiterungsprotokoll zur Verschlusselung auf TCP-Ebene
– ursprunglich proprietare Entwicklung (Netscape), heute als Transport Layer Security TLS stan-dardisiert
– SSL greift nicht direkt in TCP ein, sondern arbeitet zwischen Anwendungen und TCP (es gibtjedoch keine UDP-Variante)
– Vorteil: die Anwendung greift wie ublich auf einen Socket zu
– SSL ist verbindungsorientiert und zustandsbehaftet
– verschiedene Krypto-Verfahren sind aushandelbar
– SSL gliedert sich in zwei Teilschichten◦ SSL-Record-Protocol
◦ weitere Schicht mit Handshake-Protocol, Change-CipherSpec-Protocol, Alert-Protocol, Application-Data-Protocol
– das Record-Protocol wendet die ausgehandelten Verfahren an (Hashwert und symmetrische Ver-schlusselung)
– das Handshake-Protocol:◦ Client Hello
◦ Server Hello
◦ Generierung eines Sitzungsschlussels vom Client
– Application-Data-Protocol
7.3.1 Verschlusselung in Anwendungen
– Verschlusselung im WWW◦ HTTP-1.0 enthalt keinerlei Sicherheits-Protokolle
◦ es gibt lediglich eine so genannte”Basic-Authentification“ mit einer Passwort-Abfrage
◦ Version 1.1 unterstutzt einen Authentifizierungs-Mechanismus
◦ diese”Digest Access Authentification“ erweitert die Passwort-Abfrage mit einem Challenge-
Response-Verfahren
◦ moderne Webserver unterstutzen SSL zur verschlusselten Ubertragung von Dokumenten
◦ das Signieren von Webinhalten ist nicht moglich
– praktische Anwendung von OpenSSL in einem Webserver
7 KRYPTOGRAFIE IN ANWENDUNGEN 17
◦ zu Beginn einer Datenubertragung signalisiert der Benutzer mit der Protokoll-Angabe”htt-
ps:“ im URL, dass er eine Verschlusselung wunscht
◦ im”Client-Hello“ teilt der Browser die ihm bekannten Verfahren mit:
∗ symmetrisches Verfahren (RC2, RC4, DES, TripleDES usw.)
∗ Hash-Funktion (MD5, SHA-1)
∗ Schlusselaustausch (RSA, DSA, DH)
◦ im”Server-Hello“ ubermittelt der Webserver die ausgewahlten Verfahren und sein Zertifikat
(das den Public Key enthalt)
◦ der Browser pruft die Echtheit des Zertifikats entweder mittels einer CA oder einer Ruck-frage beim Benutzer
◦ falls eine Zertifizierung des Server-Schlussels per CA nicht moglich oder nicht gewunschtist, muss eine Selbst-Zertifizierung durchgefuhrt werden
◦ der Browser berechnet einen symmetrischen Sitzungsschlussel und chiffriert diesen mit demPublic Key des Servers
◦ der Server kann diesen Sitzungsschlussel mit seinem Private Key dechiffrieren
◦ Beispiel (gilt fur Apache mit mod ssl):∗ erzeugen eines RSA-Schlussels mit 1024 Bit:openssl genrsa -rand /verz1/datei1:/verz2/datei2 -out xx.key 1024
∗ erstellen eines”Certificate Requests“ (PKCS#10)
openssl req -new -key xx.key -out xx.csr
∗ Selbst-Zertifizierungopenssl x509 -req -days 365 -in xx.csr -signkey xx.key -out xx.crt
∗ auf diese erzeugten Schlusseldateien wird in der Konfigurationsdatei”httpd.conf“ ver-
wiesen
◦ die Kommunikation erfolgt uber Port 443
– Verschlusselung von EMail mit”Pretty Good Privacy“ (PGP)
◦ Software zum Chiffrieren und Signieren von EMails und Dateien
◦ ursprunglich Public Domain Software, im Internet heute weit verbreitet
◦ PGP verwendet:∗ IDEA oder TripleDES u.a. als Verschlusselungsverfahren
∗ RSA oder DSA zum Signieren
∗ RSA oder Diffie-Hellman zum Schlusselaustausch
∗ MD5 oder SHA-1 fur Hash-Funktionen
◦ PGP ist ein Public-Key-Verfahren
◦ ist als OpenPGP standardisiert (zu PGP kompatible Gnu-Software: GPG)
◦ PGP im praktischen Einsatz∗ PGP ist ein eigenstandiges Programm
∗ es gibt Plugins fur einige Mailprogramme
∗ Installation· Angabe von Algorithmus und Schlussellange
· privater Schlussel ist mit Pass-Satz geschutzt
∗ Verschlusseln von Dateien· Kommandos: pgp -c datei (Verschlusseln), pgp datei (Entschlusseln)
· Achtung: die Original-Datei wird hierbei nicht geloscht
· Problem: Betriebssystem-Kommandos (del, rm) loschen eine Datei nicht physika-
7 KRYPTOGRAFIE IN ANWENDUNGEN 18
lisch
· Losung: pgp -cw datei
∗ Verwaltung der Schlussel· Dateien pubring.pgp und secring.pgp
· lesen mit pgp -kv
· Aufnahme neuer Schlussel: pgp -ka datei
· oder mittels Add-Symbol im Plugin oder uber die Zwischenablage
∗ Verschlusseln von EMails· entweder: Encrypt-Funktion im Plugin
· oder”Copy in Zwischenablage“ und Funktion
”encrypt clipboard“ im grafischen
PGP
· oder Kommando pgp -e datei skenn bzw. pgp -eat datei skenn
∗ Lesen verschlusselter EMails· Decrypt-Funktion im Plugin
· oder: Zwischenablage, Decrypt Clipboard
· oder Kommando pgp datei
· jeweils Pass-Phrase des privaten Schlussels erforderlich
∗ mit PGP ist das Signieren von EMails oder Dateien moglich
∗ nur Signieren: Text bleibt lesbar
∗ nur Chiffrieren: Authentizitat nicht gewahrleistet
∗ maximale Sicherheit: Chiffrieren und Signieren
∗ das Zertifizieren von Schlusseln erfolgt mittels Web-of-Trust
– Remote Login◦ die Standard-Protokolle telnet, rlogin, rsh unterstutzen keine Verschlusselung
◦ die Authentifizierung basiert auf dem in Klartext ubertragenen Passwort
◦ Problem: Abhoren des Passworts
◦ einfachste Moglichkeit: Einweg-Passworter (S/Key)
◦ Vorteil: keine Software auf dem Client
◦ Alternative: Chip-Karten, auf denen ein Secret-Key gespeichert ist
◦ Nachteile: Prozessoren und Speicher auf der Chipkarte sind sehr langsam, es ist zusatzlicheHard- und Software erforderlich
◦ Alternative: Smart Token (TokenCards)∗ kleines Gerat mit Chip, Display, z.T. Zahlentastatur
∗ Authentifizierung per Challenge-Response-Verfahren
∗ Vorteil: es ist keine zusatzliche Software notig
– Secure Shell SSH◦ ssh ist ein sicheres Login-Verfahren zum Ersatz von telnet, rlogin, rsh, rdist
◦ naheres im folgenden Kapitel
– weitere Verfahren:◦ Kerberos: reines symmetrisches Verfahren mit zwei Servern; Nachteil: Single Point of Failure
◦ RADIUS: Standard zur Authentifizierung in heterogenen Netzen auf Basis eines zentralenAuthentifikations-Servers
◦ TACACS+ : ahnlich wie RADIUS
7 KRYPTOGRAFIE IN ANWENDUNGEN 19
7.3.2 Secure Shell
– Die Secure Shell (SSH) dient als sicheres Login-Verfahren zum Ersatz von telnet, rlogin, rsh,rdist u.a., bei denen die Ubertragung der Daten und damit auch der Benutzerkennung und desPasswortes in Klarschrift erfolgt
– andere”Klartextprotokolle“ (z.B. POP3, IMAP, HTTP) lassen sich mit SSH tunneln
– ursprunglich als freie Software entwickelt, ist SSH heute ein kommerzielles Produkt (freie Alter-native: OpenSSH)
– Funktionsprinzip:◦ Authentifizierung zwischen Server und Client mittels RSA (ab SSH-Version 2.0 zusatzlich
auch DSA)
◦ Verschlusselung der Sitzung mit TripleDES, DES, Blowfish, IDEA (nur kommerzielle Ver-sion)
◦ Verwendung von zwei Schlusselpaaren: einer fur die Rechner-Authentifizierung und einzweiter fur die Ubermittlung des Sitzungsschlussels
◦ benutzer-bezogene Authentifizierung wird unterstutzt (d.h. Login nur auf Basis des offent-lichen/privaten Schlusselpaares
– Ablauf der Authentifizierung (nach SSH-1.x):◦ Verbindungsaufbau zum TCP-Port 22 des Servers
◦ Austausch der auf Server und Client verfugbaren Protokollversionen
◦ Umschalten auf ein bestimmtes Paketformat (abhangig von der SSH-Version)
◦ der Server schickt seine beiden offentlichen Schlussel an den Client und die von ihm un-terstutzten symmetrischen Verschlusselungsverfahren
◦ der Client pruft, ob er den Rechner-Schlussel (Host-Key) bereits kennt (Achtung: es konnteein potenzielles Sicherheitsproblem entstehen, falls ist die Herkunft des Host-Keys nichteindeutig geklart ist)
◦ der Client wahlt das symmetrische Verfahren aus, generiert dann einen zufalligen Sitzungs-schlussel, der mit beiden offentlichen Schlusseln chiffriert wird und schickt diesen an denServer
– auf die beschriebene Weise hat sich der Server beim Client authentifiziert, aber nicht umgekehrt
– daher ist noch erforderlich: Authentifizierung des Clients bzw. des Benutzers◦ rhosts-Verfahren: unsicher, da Vertrauensstellung nur auf Basis der IP-Adresse
◦ rhosts-RSA-Verfahren: zusatzlich zur IP-Adresse wird ein Public-Key des Clients in einerDatei auf dem Server gespeichert (verhindert zwar IP-Spoofing, aber nicht DNS-Spoofing)
◦ reine RSA-Authentifizierung auf Benutzer-Basis:∗ Vorarbeit: der Benutzer muss ein eigenes Schlusselpaar erzeugen, den Public-Key auf
dem Server sowie Public- und Private-Key auf seinem Client hinterlegen
∗ beim Verbindungsaufbau Client → Server wird der Public-Key des Benutzers an denServer ubertragen, der uberpruft, ob es diesen Key gibt
∗ der Server verschlusselt eine Zufallszahl mit diesem Public Key und ubertragt sie anden Client
∗ der Client entschlusselt diese Zahl mit seinem Private Key, berechnet eine MD5-Summeder Zahl und schickt dies an den Server, der damit feststellen kann, ob der Client uberden Private Key verfugt
◦ Passwort-Authentifizierung: Verwendung des normalen Unix-Passworts (alternativ: Ker-beros oder SecureID), das wegen der zuvor erfolgten Server-Authentifizierung bereits ver-schlusselt ubertragen wird (Achtung: nur zu empfehlen, wenn kein anderer Dienst Klartext-Passworter verwendet!)
7 KRYPTOGRAFIE IN ANWENDUNGEN 20
– bei der Erzeugung des Schlusselpaares werden zwei Dateien mit dem offentlichen und dem priva-ten Schlussel angelegt, wobei die private Schlusseldatei zusatzlich mit einem Passsatz geschutztwerden sollte
– das Login: ssh user@rechner
– Dateien kopieren: scp quelldatei user@zielhost:zieldatei
– FTP-Funktionalitat: sftp user@rechner
– rsh-Funktionalitat: ssh user@ziel cat datei
– Tunneling (Port-Forwarding)◦ SSH lasst sich nicht direkt einsetzen bei:∗ Diensten, die zwar Passworter ubertragen, aber sich nicht mit SSH abbilden lassen
(POP, IMAP)
∗ herkommlichen Diensten (telnet), die aus verschiedenen Grunden weiterhin verwendetwerden sollen/mussen
∗ Diensten, die zwar prinzipiell eigene Verschlusselungsmechanismen enthalten, die aberevtl. nicht aktiviert sind (HTTP mit SSL)
◦ in diesen Fallen kann ein SSH-Client-Prozess gestartet werden, der als sicherer Tunnel furandere Dienste dient
◦ das universellere Verfahren fur Tunnel ist zwar ein VPN mit IPSec oder L2TP, das jedochauf Client und Server speziell zu installieren ist
◦ ein SSH-Tunnel kann dagegen von jedem Benutzer nach Bedarf aktiviert werden
◦ zu unterscheiden sind”Local-Forwarding“ und
”Remote-Forwarding“
◦ Local-Forwarding:∗ es wird ein lokaler Port eingerichtet
∗ von diesem Port aus wird eine SSH-Verbindung zum gewunschten Port des Serversaufgebaut
∗ die lokale Anwendung greift dann auf den lokalen Port zu anstatt auf den eigentlichenZielport auf dem Server
∗ dieses Verfahren funktioniert mit allen Protokollen, die auf einen einzelnen TCP-Portzugreifen (also nicht FTP und UDP)
∗ weitere Moglichkeit:”Off-Host-Forwarding“
◦ beim Remote-Forwarding wird die Verbindung lediglich umgekehrt aufgebaut
7.3.3 Sicherheit im WLAN
– Wireless LANs (WLAN) sind im IEEE-Standard 802.11 definiert
– es werden unterschiedliche Frequenzbander mit unterschiedlichen Ubertragungsraten genutzt:802.11 (2 Mbps, 2,4 GHz), 802.11b (11 Mbps, 2,4 GHz), 802.11g (22 Mbps, 2,4 GHz), 802.11a(54 Mbps, 5 GHz) bzw. 802.11h mit verbesserten technischen Merkmalen
– wegen der nicht kontrollierbaren physikalischen Ausdehnung von WLANs, offnen sich potenzielleSicherheitslocher in LANs (sog. Parking Lot Attacks)
– 802.11 bietet daher Mechanismen zur Zugangskontrolle und Sicherung der Vertraulichkeit◦ Wired Equivalent Privacy (WEP): Verschlusselung auf Basis von RC4
◦ Open System Authentication: Teilnehmer mussen sich nicht authentifizieren
◦ Shared Key Authentication: Challenge-Response-Verfahren zur Authentifizierung
◦ Closed Network Access Control: nur Clients, die den Netzwerknamen (Service Set IDenti-fication SSID) kennen, erhalten Zugang
◦ Access Control Lists: Zugangskontrolle auf Basis von MAC-Adressen
7 KRYPTOGRAFIE IN ANWENDUNGEN 21
◦ Key Management: mit jeder MAC-Adresse ist ein eigener Schlussel verknupft
– ein Schlussel-Austausch-Verfahren ist derzeit in 802.11 nicht definiert, d.h. die Schlusselvergabeerfolgt manuell
– Sicherheit und Authentifizierung basieren im Wesentlichen nur auf dem symmetrischen RC4-bzw. WEP-Schlussel, der fur alle Clients gleich ist und sich nicht dynamisch andert
– Unsicherheit von WEP◦ es gibt nur einen Schlussel fur alle Clients (Ausnahme: Key Management)
◦ jeder Rahmen wird mit demselben Schlussel bearbeitet, d.h. es gibt extrem viele kurzeNachrichten mit demselbem Schlussel
◦ bei einer maximalen Rahmengroße von 1500 Byte werden in kurzer Zeit sehr viele Paketeerzeugt, mit der Folge, dass RC4 mit statistischen Methoden angreifbar wird
◦ weiteres Problem: gleiche Klartexte ergeben gleiche Chiffretexte
◦ und: die Veranderung eines Bits im Chiffretext verandert das korrespondierende Bit imKlartext
◦ Abhilfe in 802.11: Einsatz einer CRC32-Prufsumme gegen Manipulationen bzw. eines IVzur fließenden Veranderung des Schlussels
◦ aber: der IV ist mit 24 Bit viel zu klein
◦ zudem beginnen einige IV-Implementationen beim Start immer mit IV=0, was zu massen-haft gleichen IVs fuhrt
◦ passiver Angriff: wenn ein Angreifer sehr viele Pakete mit demselben IV (mehrere tau-send) auffangt, kann er auch aufgrund der z.T. sehr hohen Redundanz von IP-Traffic mit-tels statistischer Analysen zumindest Teile des Datenverkehrs entschlusseln oder sogar denWEP-Schlussel knacken
◦ bildet der Angreifer Tabellen mit allen IVs, kann er den gesamten Datenverkehr ent-schlusseln
◦ gelingt es dem Angreifer, selbst Daten (d.h. bekannter Klartext) aus dem Internet an dasWLAN zu schicken, kann er leicht alle Daten mit demselben IV entschlusseln
◦ Klartext muss jedoch nicht unbedingt bekannt sein, er kann auch wegen stereotyper Nach-richten (IP-Header) geraten werden
◦ aktiver Angriff: basiert aufRC4(A) xor A xor B = RC4(B)sind A und RC4(A) bekannt, kann der Angreifer einen korrekten Chiffretext einer beliebigenNachricht B erzeugen
◦ gelingt es dem Angreifer, diejenigen Bits im chiffrierten Paket zu andern, die die Ziel-IP-Adresse enthalten, kann er sich selbst ein Paket zuschicken ohne den Schlussel zu kennen
◦ ist dem Angreifer zusatzlich der zugehorige Klartext bekannt, erhalt er damit den Schlussel
◦ aktive Angriffe sind jedoch sehr schwer zu realisieren
– alle diese Probleme ergeben sich nicht aus grundsatzlichen Schwachen von RC4 sondern ausmangelhafter Implementierung und Design-Schwachen von WEP
7.4 Digital Rights Management DRM
– Straftaten in der realen/physikalischen Welt, z.B.: Betrug, Zerstorung, Gewalt, Diebstahl, Falschung,Tauschung, Missachtung der Privatsphare, Uberwachung
– hier sind polizeiliche Maßnahmen bekannt, die juristische Verfolgung ist geregelt, Risiko undAufwand fur den Tater sind hoch, Schaden fur Unternehmen, Branchen bzw. Volkswirtschafteher gering
– in der virtuellen/digitalen Welt sind entsprechende Taten moglich
7 KRYPTOGRAFIE IN ANWENDUNGEN 22
– hier ist die Taterverfolgung schwierig, nationale Gesetze sind im Internet nicht anwendbar, Risikound Aufwand konnen fur den Tater gering sein, hohe wirtschaftliche Schaden sind moglich
– Ursachen:◦ schnelle Herstellung von Kopien eines Originals
◦ Herstellung exakter Kopien von digitalen Daten
◦ schnelle Distribution
◦ einfacher entfernter Zugriff
◦ Uberwachung, Privatsphare
– Probleme:◦ die
”Schnelligkeit“ digitaler Daten in Verbindung mit einfacher Handhabbarkeit
◦ einfache Vervielfaltigung digitaler Medien (Audio, Video, Text, Software ...)
– Losungsmoglichkeiten:◦ Einsatz kryptografischer Verfahren: Verschlusselung, digitale Signatur, Hashfunktionen,
Zertifikate ...
◦ IT-Sicherheitssysteme
– aber: diese Verfahren sind nur sinnvoll, wenn alle Beteiligten Wert auf die Vertraulichkeit vonDaten bzw. Schlusseln legen
– ist dies nicht der Fall, konnen Daten zwar verschlusselt ubertragen werden, aber der mittelsSchlussel legitimierte Empfanger konnte die entschlusselten Daten bzw. die Schlussel (auch un-beabsichtigt) weitergeben
– hier konnen Digital Rights Management Systeme helfen
7.4.1 Anforderungen an DRM-Systeme
– Anforderungen an DRM-Systeme konnen sein:◦ Geheimhaltung durch (symm./asymm.) Verschlusselung
◦ Authentizitat (Echtheit, Nachweis der Herkunft) durch digitale Signaturen
◦ Vertrauen durch Zertifikate zur Bestatigung von Signaturen
◦ Integritat (Unversehrtheit) mittels Hash-Funktionen
◦ Verfugbarkeit
– DRM-Systeme sorgen u.a. fur:◦ eine sichere Verbreitung digitaler Inhalte
◦ eine differenzierte Rechteverwaltung bzw. Lizenzvergabe
◦ Kopierschutz
◦ eine individuelle Abrechnung der Nutzung
– einfache Systeme bieten z.B. nur einen rudimentaren Kopierschutz
– komplexe Systeme eignen sich z.B. als Vertriebsplattform fur digitale Medien im Internet ein-schließlich Distribution, nutzungsabhangige Abrechnung, Vergutung an die Rechteinhaber
– hierzu kommen i.Allg. bekannte kryptografische Verfahren bzw. IT-Sicherheitssysteme zum Ein-satz, die auf die besonderen Eigenschaften multimedialer Datenkommunikation angepasst werden
– DRM in der Praxis◦ CD/DVD-Kopierschutz (Sony key2audio, Content Scrambling System CSS)
◦ Pay-TV (Chipkarten-Schlussel)
◦ Software/Betriebssysteme (TCPA/TCG,”Fritz-Chip“)
◦ Dokumente (Adobe eBook)
◦ kommerzielle Musikborsen (Bertelsmann/Napster, Microsoft Media Player)
LITERATUR 23
◦ interaktive Dienste (Multimedia Home Platform)
– diese praktischen Anwendungen verfolgen im Wesentlichen nur eine Intention: die Authenti-zitat ist gewahrleistet
– aber eine wichtige Anforderung des Nutzers wird vernachlassigt: Integritat
7.4.2 Authentizitat
– Authentizitat garantiert die Herkunft eines Produktes, aber nicht die Unversehrheit auf demDistributionsweg
– Authentizitat ermoglicht die Verfolgung oder Erkennung eines Produktes zwecks Rechteverwer-tung
– Techniken zur Wahrung der Authentizitat sorgen fur einen Herkunftsnachweis aufgrund eindeu-tiger, unveranderlicher Merkmale
– diese Mechanismen sollen in DRM-Systemen auch bei Versuchen, diese Merkmale zu entfernenbzw. nach Anderungen an den Daten, die Herkunft nachweisen konnen
– Techniken:◦ Digitale Signatur (asymmetrische Verschlusselungsverfahren)
◦ Watermarking: Einbringen von Merkmalen, die auch nach dem Kopieren oder Komprimie-ren erhalten bleiben
◦ Fingerprinting∗ Einbringen von Metadaten (Herstellername, Datum)
∗ individualisierte Kopien oder Schlussel als Lizenznachweis (Problem: Kollusionssicher-heit der Verfahren)
∗ Verfolgung von unberechtigten Kopien bzw. Schlusseln (Traitor Tracing)
7.4.3 Integritat
– Integritat schafft Sicherheit vor Falschungen oder bosartigen Veranderungen unabhangig vonder Distributionsquelle bzw. Kopien
– Prinzip: es wird eine eindeutige Prufsumme (Hash-Wert) aus einem Dokument berechnet, dieunabhangig von einem Schlussel ist
– jede Person (Empfanger), die die Integritat z.B. einer Software prufen mochte, berechnet selbstden Hash-Wert und vergleicht das Ergebnis mit dem Wert, den der Sender berechnet hat
– wird das Dokument geringfugig geandert, verandert sich der Wert der Prufsumme in nicht nach-vollziehbarer Weise
– bei einfachen Hash-Funktionen kann es Nachrichten oder Dokumente geben, die denselben Hash-Wert besitzen (
”Kollisionen“), obwohl die Nachrichten vollig verschieden sind
– Anforderung an kryptografische Hash-Werte: es darf mit realistischem Aufwand nicht moglichsein, eine Nachricht so zu verandern, dass sie den gleichen Hash-Wert wie das Original hat
– zur Funktionsweise von MD5 siehe Kap. ??
Literatur
[Schn] Bruce Schneier, Angewandte Kryptographie, Addison-Wesley 1996
[Schm] Klaus Schmeh, Kryptografie und Public-Key-Infrastrukturen im Internet, dpunkt.verlag 2001
[Witt] Kurt-Ulrich Witt, Algebraische Grundlagen der Informatik, Verlag Vieweg 2001
[Fumy] W. Fumy, Kryptographie
LITERATUR 24
[Schu] R.-H. Schulz, Mathematische Aspekte angewandter Informatik
[Schn2] Bruce Schneier, Secrets & Lies, Digital Security in a Networked World, Wiley 2000
[Beck] Eberhard Becker etal., Digital Rights Management, Technological, Economic, Legal and Poli-tical Aspects, Springer 2003