Kryptografie 2 Seite 1 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Schlüsselverwaltung Key-Management sichere Schlüsselübertragung zw. Teilnehmern Schlüsselverwaltungszentrum unerwartet komplexes Problem bei Kommunikation zwischen N Terminals verschiedene Schlüssel zu verwalten N⋅ N −1 2 verschiedene Verfahren IBM ISO 8732 in der Regel O(N) Schlüssel Seite 2 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Schlüsselverwaltung Schlüsselhierarchie MasterTerminal- und Sitzungsschlüssel Schlüsselverwaltungszentrum key distribution center auch security center geheimer Terminalschlüssel kt geheime Nachrichten an Terminal insb. Sitzungsschlüssel ks Seite 3 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Schlüsselverteilung Schlüsselverwaltungszentrum sendet Sitzungschlüssel ks an beide Stationen Seite 4 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Schlüsselverteilung Schlüsselverwaltungszentrum sendet an eine Station Sitzungschlüssel ks verschlüsselten Sitzungschlüssel Ekt2(ks) Seite 5 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Schlüsselverteilung Authentifizierung von T1 gegenüber T2 Seite 6 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Schlüsselverteilung Authentifizierung von T1 gegenüber Schlüsselzentrum Seite 7 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Schlüsselverteilung Authentifizierung von T2 gegenüber T1 Seite 8 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Schlüsselverteilung Zeitmarken, um Sammeln von Schlüsseln zu verhindern Seite 9 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Tamper Resistant Module Verteilung der Terminal-Schlüssel 2 Master-Schlüssel Seite 10 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Tamper Resistant Module Verschlüsseln für Host Seite 11 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Tamper Resistant Module Entschlüsseln für Host Seite 12 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Tamper Resistant Module Dechiffrieren von ks, falls km0=km1. Seite 13 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Tamper Resistant Module Dechiffrieren von ks, falls km0≠km1. Seite 14 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Schlüsselverteilung im Internet ISAKMP (Internet Security Association and Key Management Protocol, RFC 2408) Rahmenwerk: Authentifizierung, Schlüsselaustausch von speziellen Verfahren unabhängig Oakley (RFC 2412) mehrere Schlüsselaustauschverfahren für Sicherheit, Identitätsschutz Authentifizierung SKEME: Versatile Secure Key Exchange IKE (Internet Key Exchange, RFC 2409) Seite 15 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Schlüsselverteilung im Internet ISAKMP Oakley (RFC 2412) SKEME: Versatile Secure Key Exchange Anonymität, Nachweisbarkeit schnelle Schlüsselerneuerung IKE (Internet Key Exchange, RFC 2409) Erstellung authentifizierter Schlüssel IPsec bezieht sich auf Oakley und Teilen von SKEME Seite 16 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Key-Management Internet Key Exchange (IKE) vereinfachtes Verfahren zum Aufbau sicherer, authentifizierter Verbindungen Modes, in denen Schlüssel ausgetauscht werden eine oder zwei Phasen 1. Phase sichere, authentisierte Verbindung 2. Phase Schlüssel ausgetauscht in verschiedenen Protokollen benötigt einzelne Schlüssel von Masterschlüssel abgeleitet Seite 17 Verschlüsselung Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IKE: Phase 1 sichere Verbindung zw. 2 Teilnehmern aufgebauen RFC 2409: ISAKMP Security Association (SA) 2 Modi Hauptmodus (main mode) drei Nachrichtenpaare jeweils einer Anfrage und einer Antwort 1. Nachrichtenpaar handelt Verfahren aus 2. Nachrichtenpaar öffentliche Werte für Diffie-Hellman-Verfahren weitere Daten für Schlüsselaustausch 2. Nachrichtenpaar Seite 18 authentisieren Diffie-Hellman-Daten verschlüsselt Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IKE: Phase 1 Agressiver Modus (agressive mode) ersten Paket gleichzeitig Verfahren ausgehandelt öffentliche Werte für Diffie-Hellman-Verfahren gesendet Daten für Schlüsselaustausch zur Identifizierung der Teilnehmer Antwortnachricht umfasst gleiche Daten identifiziert zusätzlich Absender dritte Nachricht authentifiziert Initiator belegt dessen Berechtigung Seite 19 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IKE: Phase 2 Verwendet ISAKMP SA handelt Security Association mittels sicherem Dienst aus Für IPsec Für irgendein anderer Dienstes Informational Exchange Daten verschlüsselt mit geeignetem Hash-Algorithmus vor Verfälschung geschützt Seite 20 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Public-Key-Systeme Nur ein Schlüssel verwenden hoher Aufwand bei Schlüsselaustausch Bote Eigener Kanal (Post, Telefon, usw.) Alternative Mehrere Schlüssel verwenden Public-Key-Systeme Asymmetrische kryptografische Systeme Mehrschlüssel-Systeme Sicherheit in Rechnernetzen Seite 21 Prof. Dr. W. Kowalk Kryptografie Grundlagen der Public Key-Systeme 1976 von Diffie und Hellman vorgestellt Abstraktes Verschlüsselungskonzept Öffentliche und private Schlüssel Aus Schlüssel ks zwei Schlüssel ke und kd generiert F: ks → ke: öffentlicher Schlüssel zum Verschlüsseln G: ks → kd: privater Schlüssel zum Entschlüsseln (privat = geheim) kd nicht einfach aus ke ableitbar Seite 22 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Grundlagen der Public Key-Systeme Text H einfach durch Eke(H) verschlüsselbar → ke nicht einfach aus Klar- und Chiffretext generierbar Ver- und Entschlüsselungsfunktionen D und E gleich Dkd(Eke(H))=Eke(Dkd(H))=H, Reihenfolge von Ver- und des Entschlüsselns vertauschbar mit Potenzierungsfunktion Hx mod m realisierbar Produkt H·H·…·H·H jeweils Modulo m Umkehrung (Logarithmierung) dieser Funktion Vorgabe von Hx mod m, m und x m und x groß ln m⋅ln ln m ≈e nur lösbar in Zeit der Größenordnung Bei ca. 500 Bit langen Zahlen m etwa 1020 Operationen Seite 23 Sicherheit in Rechnernetzen Löst verschiedene Probleme Prof. Dr. W. Kowalk Kryptografie Schlüsselverteilung nach Diffie und Hellman Ziel: Teilnehmern A und B Schlüssel bereitstellen A und B wählen beliebige geheime Zahlen x und y vereinbaren H und m öffentlich Angreifer kennt nur m, H und Hx bzw. Hy Kann weder x noch y errechnen somit auch nicht Hxy Seite 24 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Schlüsselverteilung nach Diffie und Hellman Ziel: Teilnehmern A und B Schlüssel bereitstellen A und B wählen beliebige geheime Zahlen x und y vereinbaren H und m öffentlich A H ,m x H H y x H ,m B y H H xy Angreifer kennt nur m, H und Hx bzw. Hy Seite 25 Kann weder x noch y errechnen in Rechnernetzen somit auch nichtSicherheit Hxy Prof. Dr. W. Kowalk Kryptografie Authentisierung durch Passwörter Angreifer kann sich dazwischen schalten Auch z.B. 'geheimen Schlüssel' nach Diffie-Hellman berechnen → keine sichere Identifierung Seite 26 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Authentisierung durch Passwörter A Ek P A Ek P B B Angreifer kann sich dazwischen schalten Auch z.B. 'geheimen Schlüssel' nach Diffie-Hellman berechnen → keine sichere Identifierung Seite 27 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Authentisierung durch Passwörter Passwort kann durch Angreifer vorgetäuscht werden Z handelt Schlüssel mit A und B unabhängig aus Ek P A A E k D k E k P A B A Dk P B A Seite 28 A A B Z E k D k E k P B A B Dk P A B Ek P B B B Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Authentisierung durch Passwörter A und B senden abwechselnd Hälften der verschlüsselten Passwörter Ek(PA)/ Ek(PB) Passwort kann nicht vorgetäuscht werden Seite 29 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Authentisierung durch Passwörter A und B senden abwechselnd Hälften der verschlüsselten Passwörter Ek(PA)/ Ek(PB) A E k P A links E k P A rechts E k P B Seite 30 B E k P B links E k P A E k P B rechts Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Authentisierung durch Passwörter Passwort kann nicht vorgetäuscht werden Z A E k P A links A ?? E k P A rechts A ?? Seite 31 D k E k P A links ? A ?? ? D k E k P B links E k P B links D k E k P A links ? ?? ? D k E k P B links E k P B rechts B A B B A B B Sicherheit in Rechnernetzen B B Prof. Dr. W. Kowalk Kryptografie Authentisierung durch Passwörter Passwort nach einmaligem Gebrauch 'verbrannt'! Sende Passwort Verschlüsselt Gehasht Mit Eimal-Tag Zufallszahl Datum, Uhrzeit Angreifer kann Passwort nicht errechnen Empfänger kann Passwort + Einmal-Tag neu hashen Seite 32 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Geheimhaltung ohne Schlüssel Seite 33 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Geheime Datenübertragung Übertrage geheime Daten von A nach B A Ek Seite 34 Bpublic kB H Dk B public Bprivate Sicherheit in Rechnernetzen Ek Bpublic H Prof. Dr. W. Kowalk Kryptografie Authentisierte Datenübertragung B will sicher sein, dass Information von A stammt A k A Ek Seite 35 public Aprivate H Dk kA Ek public Apublic Sicherheit in Rechnernetzen Aprivate B H Prof. Dr. W. Kowalk Kryptografie Geheime authentisierte Datenübertragung A kA public kB public kB public kA public C = E k D k H B A H =E k D k C A Seite 36 B Sicherheit in Rechnernetzen B Prof. Dr. W. Kowalk Kryptografie Integre Datenübertragung Daten nicht vorsätzlich verändert! Verschlüsselung mit authentisiertem Schlüssel Redundante Information Zähler, Datum, Namen A kA Ek Seite 37 public Aprivate H Dk kA Ek B public Apublic Sicherheit in Rechnernetzen Aprivate H Prof. Dr. W. Kowalk Kryptografie Integre Datenübertragung Daten nicht vorsätzlich verändert! Statt Daten auch Hashwert verschlüsselt DSA A kA Ek Seite 38 public Aprivate H Dk kA Ek B public Apublic Sicherheit in Rechnernetzen Aprivate H Prof. Dr. W. Kowalk Kryptografie Digital Signature Algorithm DSA Zertifizierungsstellen Person/Institution lässt öffentlichen Schlüssel zertifizieren Zertifizierungsstellen Richtigkeit öffentlichen Schlüssels keA Seite 39 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Digital Signature Standard DSS National Institute of Standards and Technology NIST Nummer PUB 186-2. DSS ab 27. July 2000 gültig von amtlichen Stellen in USA verwendet Seite 40 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Schlüsselbildung bei Public-Key-Systemen Public-Key-System zwei verschiedene Schlüssel Zum Ver- und Entschlüsseln von Nachrichten Schlüssel nicht auseinander ableitbar immer wieder neue Algorithmen entwickelt wichtigste und verbreitetste: RSA RSA: Shamir, Adleman und Rivest MIT 1978 Neueres Verfahren Elliptische Funktion (Koblitz) Seite 41 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Schlüsselbildung beim RSA-Verfahren Grundlage für sehr große Zahlen (mehrere hundert Dezimalstellen) Aufwand für Zerlegung in Primfaktoren extrem hoch Exponentiation einer Nachricht H mit Schlüssel e reziprokem Wert d=e-1 Ee(H) = He mod m Dd(He) = (He)d = He·d = H1 = H mod m Aus m und e kann d berechnet wenn m Primzahl einfach Wenn m=p·q keine Primzahl schwierig Seite 42 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Schlüsselbildung beim RSA-Verfahren Lösung: zunächst Primfaktoren von m bestimmen Zerlegung in Primfaktoren 'schwieriges' Problem zeitaufwendig für großes p und q praktisch nicht durchführbar Auswahl/Berechnung des Schlüssels Wählen zweier großer (>100 Stellen) Primzahlen p und q Berechnung von m = p*q und r = KGV [p-1, q-1] Zahl e, zu (p-1) und (q-1) relativ prim Zahl d=e-1, so dass d·e=1 mod r Seite 43 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Schlüsselbildung beim RSA-Verfahren Verschlüsselungsverfahren zu übertragende Information in Blöcke zerlegen als Binärzahlen aufgefasst kleiner als m erhebt Binärzahlen in e-te Potenz, Arithmetik modulo m Entschlüsselung analog Blöcke zur d-ten Potenz erheben Seite 44 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Schlüsselbildung beim RSA-Verfahren Periode k Hk+1=H für kleinstes k. aus k und e reziproker Wert d=e-1 einfach bestimmbar Ist m Primzahl, so ist Periode gleich m m keine Primzahl, Berechnung der Periode nur möglich, wenn Primfaktoren von m bekannt Seite 45 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Schlüsselbildung beim RSA-Verfahren Primfaktorenzerlegung nur schwierig lösbar bekanntes zahlentheoretisches Problem bis heute noch nicht einfach gelöst Sicherheit dieses Verfahrens basiert auf ungelöstem mathematischen Problem! RSA-Verfahren wurde patentiert Patente mittlerweile ausgelaufen Verfahren frei verfügbar ist Seite 46 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Zero-Knowledge-Protokolle (Fiat-Shamir) Alf kenne Geheimnis s will dies Bert beweisen, ohne Bert s zu nennen Alf bereitet sein Geheimnis s folgendermaßen auf wähle Modul m=p*q, p, q prim veröffentliche m und v=s2 mod m Alf geht folgendermaßen vor Alf wählt eine zufällige Zahl r Alf sendet deren Quadrat x=r2 mod m an Bert. Bert wählt zufällig ein der Zahlen von Alf Seite 47 r oder y=s/r mod m Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Zero-Knowledge-Protokolle Alf geht folgendermaßen vor Alf wählt eine zufällige Zahl r Alf sendet deren Quadrat x=r2 mod m an Bert. Bert wählt zufällig eine der Zahlen von Alf r oder y=s/r mod m Fordere Bert r Bert kann prüfen, ob r Quadratwurzel von x=r2 mod m Fordere Bert y Bert prüft, ob y2*x=s2/r2*r2=v Quadrat des Geheimnisses Vorgang wird solange wiederholt, bis Bert mit ausreichender Wahrscheinlichkeit sicher ist, dass Alf Geheimnis sSicherheit kennt. Seitedas 48 in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Zero-Knowledge-Protokolle Sicherheit zu v und einem beliebigen y einfach x=v/y2 berechnen, aber aus x=r2 kann Alf nicht einfach r bestimmen; zu beliebigem r einfach x=r2 bestimmen, aber aus diesem x nicht einfach y bestimmen Bert überprüft also, ob Alf wirklich Quadratwurzel aus x kennt, und ob y2*x=v ist. Alf darf nicht gleichzeitig y und r senden y=s/r kann einfach s berechnet werden Daher folgt Nur eine der beiden Zahlen r oder y kann gefälscht werden Seite 49 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Zero-Knowledge-Protokolle Bert kann sich durch zufällige Auswahl von Richtigkeit einer dieser beiden Zahlen überzeugen bei jedem Durchgang nur zu 50% überzeugt Überprüfung jedoch mehrfach wiederholt nach n Schritten kann Alf nur betrügen mit Wahrscheinlichkeit 0,5n nach 10 Schritten 0,1%, nach 20 Schritten 0,0001% usw Bert kann selbst bestimmen, mit welcher Sicherheit er Alfs Legitimität nachweisen will Seite 50 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Challenge-Handshake Authentication Protocol (CHAP, RFC 1994, auch Challenge-Response) Ziel: Person A identifizieren A muss bestimmte Handlung vollführen B kann Ergebnis nachprüfen dritter kann aus Ergebnis Handlung selbst nicht erkennen Handlung meist gemeinsam vereinbarte Berechnung Challenge-Handshake Authentication Protocol Seite 51 CHAP RFC 1994 B (authenticator) will Identität von A nachweisen In mehreren Phasen abgewickelt Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Challenge-Response-Verfahren CHAP Challenge-Handshake Authentication Protocol 1. B sendet Datensatz (challenge) an A. 2. A berechnet mittels "Ein-Weg-Hashfunktion" einen Wert sendet diesen an B zurück 3. B überprüft Antwort anhand eigener Berechnung Stimmen Ergebnisse überein, Authensierung abgeschlossen Stimmen die Ergebnisse nicht überein, Authensierung schlug fehl 4. B sendet in zufälligen Abständen neue Anfragen an A, A muss diese bestätigen Seite 52 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Challenge-Response-Verfahren CHAP Schutz gegen Playback-Angriffen durch A wenn Datensatz (challenge) ständig verändert wird B kann sich nach Belieben von Identität von A überzeugen Authentisierung hängt ab von gemeinsamem Geheimnis darf nur A und B bekannt sein Authentisierung in beiden Richtungen von B nach A und von A nach B Seite 53 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Challenge-Response-Verfahren CHAP Nachteil "Geheimnis" muss im Klartext vorliegen keine Ein-Weg-verschlüsselte Passwortdatenbanken Geheimnis muss bei A und B verwahrt werden bei sehr großen Installation schwierig Standard schlägt vor Geheimnis an zentralem Server verwalten und überprüfen → Schlüsselzentrum oder Zertifizierungsstelle möglicher Hash-Algorithmus: MD5 (obligatorisch) auch andere Verfahren aushandelbar Seite 54 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Challenge-Response Authentication Mechanism (CRAM) Erweiterungen von CHAP Keyed-Hashing for Message Authentication HMAC: (RFC 2104) Abfrageprotokoll für E-Mail-Server IMAP = Internet Message Access Protocol - Version 4rev1, RFC 2060 Seite 55 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Hashen Text auf Verfälschungen überprüft üblicherweise Prüfsumme gebildet statt Text die Prüfsumme überprüfen / signieren Verfahren: Hashen Prüfsumme: Fingerabdruck (finger print) auch Digest oder Message Digest Anforderungen an Prüfsummen rechentechnisch schwierig zu Fingerabdruck entsprechende Nachricht finden rechentechnisch schwierig, zwei verschiedene Texte mit gleichem Fingerabdruck finden Seite 56 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Hashen Heute zwei Verfahren MD5 Ronald L. Rivest SHA-1 National Institute of Standards and Technology (NIST) Beide Verfahren sehr ähnlich basieren auf MD4-Verfahren von Ronald L. Rivest Einfacher, weniger sicher MD5 unsicher wegen kurzem Digests (128 Bits) Geburtsangriff HMAC Digest aus gemeinsamem Schlüssel Seite 57 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie SHA-1 verarbeitet Blöcke fester Länge 512 Bits oder 64 Bytes Nachrichten aufgefüllt: +1,0..0,+Nachrichtenlänge! Puffer: ABCDE, H0H1H2H3H4 Seite 58 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie February 15, 2005 (Bruce Schneier) SHA-1 has been broken Xiaoyun Wang, Yiqun Lisa Yin, and Hongbo Yu collisions in the the full SHA-1 in 269 hash operations, brute-force attack of 280 hash operations collisions in SHA-0 in 239 operations collisions in 58-round SHA-1 in 233 operations. build on previous attacks on SHA-0 and SHA-1, no affect applications such as HMAC where collisions aren't important http://www.schneier.com/blog/archives/2005/02/sha1_broken.html Seite 59 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie MD5-1 verarbeitet Blöcke fester Länge 512 Bits oder 64 Bytes, MD5 scheint gebrochen zu sein http://eprint.iacr.org/2004/199.pdf http://passcracking.com/ (interaktiv) Seite 60 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie HMAC: Verschlüsseltes Hashing Verfahren zur Authentisierung ohne Public Key RFC 2104 Hashwert von Schlüssel abhängig Parteien kennen geheimen Schlüssel Beweis der Unverfälschtheit einer Nachricht bei Übertragung bei Speicherung nicht vorsätzlich von aktivem Angreifer verfälscht Seite 61 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie HMAC: Verschlüsseltes Hashing HMAC fügt in Dokument geheimen Schlüssel ein hashed das so entstandene neue Dokument kann von Angreifer nicht nachvollzogen werden könnte höchstens Hashwert fälschen Seite 62 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie HMAC: Verschlüsseltes Hashing RFC 2104 nennt folgende Entwurfsziele 1. Vorhandene Hash-Funktionen unverändert einsetzen in Hardware oder Software Code frei verfügbar Schnelligkeit der Hash-Funktionen ausnutzbar 2. Schlüssel auf einfache Weise behandeln 3. gut verstandene kryptographische Analyse vernünftige Annahmen der Hash-Funktionen 4. Hashfunktion einfach ersetzbar schnellere oder sicherere Hashfunktionen Seite 63 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie HMAC: Verschlüsseltes Hashing HMAC H: Hashalgorithmus, B: Eingabeblocklänge des Hashalgorithmus H z.B. 64 Bytes bei MD5 und SHA-1 L: Länge des Haswerts (Fingerabdrucks) des Hashalgorithmus H z.B. L=16 Bytes bei MD5 und L=20 Bytes bei SHA-1 S: Schlüssel der Länge k<B, K=S+(0016)B-k, oder falls k>B: K=H(S)+(0016)B-L, IPAD = (0011 01102)B = (3616)B, innerer Pad, OPAD = (0101 11002)B = (5C16)B, äußerer Pad Hashwert (digest) Digest = H(K OPAD + H(K IPAD + text)) Seite 64 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie HMAC: Verschlüsseltes Hashing HMAC gilt als sicher, falls 1. HMAC wird korrekt implementiert. 2. Die Schlüssel werden rein zufällig bzw. mit einem kryptographischen Zufallszahlengenerator erzeugt. 3. Der Schlüsselaustauschmechanismus ist sicher. 4. Die Schlüssel werden häufig ausgewechselt. 5. Die Schlüssel werden sicher aufbewahrt Seite 65 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Geburtstagsangriff Geburtstagsparadoxon In sehr kleiner Gruppe haben wenigstens zwei Personen mit 50%iger Wahrscheinlichkeit am gleichen Tag Geburtstag. gefälschtes Dokument signieren zwei Dokumente D und F erzeugen Originaler und veränderter Text Beide Dokumente durch unwesentliche Änderungen variiert Leerzeichen, Backspaces, Tabs usw. Hashwerte vergleichen bis zwei Dokumente mit gleichen Fingerabdrücken gefunden ein Dokument vorlegen Hashwert signieren lassen das andere vorlegen und auf Erfüllung pochen Seite 66 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Geburtstagsangriff Gegenmaßnahmen gegen Fälschung Rechtsstreit Gegenteil behaupten, Original vorlegen Dokumente gemeinsam redigieren Dokumente von allen redundaten Teilen befreien Möglichst nur ASCII-Text signieren Alle Tabs, Leerzeichen, Backspaces, Linefeeds usw. soweit überflüssig entfernen Zeichensatz auf druckbare Zeichen + wenige Kontrollzeichen beschränken Seite 67 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Geburtstagsangriff Geburtstagsparadoxon alle Personen mit gleicher Wahrscheinlichkeit an 365 d Geburtstage unabhängig (keine Zwillinge usw.) P[nicht an einem von k Tagen Geburtstag] =(365-k)/365 {1 Person}: p1=1 keine zwei Personen mit gleichem Geburtstag {2 Personen}: p2= p1∙(364/365)=364/365 {3 Personen}: p3= p2∙(363/365)=364/365 {N Personen}: pN= pN-1∙(365/365)∙(364/365)∙(363/365)∙...∙(366-N/365) p22= 0,52430469, p23= 0,49270277, 1-p23= 0,50729723. bei Gruppe von 23 Personen Wahrscheinlichkeit, dass mindestens zwei Personen am gleichen Tag Geburtstag haben, über 50 %. Seite 68 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Geburtstagsangriff Geburtstagsparadoxon Mit den obigen Bedingungen ergibt sich die Wahrscheinlichkeit, dass keine von N Personen an einem bestimmten Tag Geburtstag hat, offenbar zu qN=(364/365)N. Für N=252 gilt: 1-q252=1-(364/365)252=0,4991, 1-q253=1-(364/365)253=0,5005 Es müssen mindestens 253 Personen anwesend sein, damit mit 50 % Wahrscheinlichkeit mindestens einer an einem bestimmten Tag Geburtstag hat. Seite 69 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Sicherheitsarchitektur für das Internet IPsec RFC 2401 Sicherheitsanforderungen für IPv4 und IPv6 Sicherheitsdienste Seite 70 Zugangskontrolle (access control) Datenintegrität (connectionless integrity) Authentisierung (data origin authentication) Schutz vor Wiederholung (protection against replays) Vertraulichkeit durch Verschlüsselung (confidentiality by encryption) Verkehrflußvertraulichkeit (limited traffic flow confidentiality) IP-KompressionSicherheit (IP compression) in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Sicherheitsarchitektur für das Internet Erweiterungsheader Authentisierungsheader (Authentication Header) Datenintegrität Authentisierung Schutz vor Wiederholung Encapsulating Security Payload-Header (ESP) Datenintegrität Authentisierung Schutz vor Wiederholung Vertraulichkeit durch Verschlüsselung Verkehrflussvertraulichkeit Seite 71 Header zum Austausch kryptographischer Schlüssel Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Sicherheitsarchitektur für das Internet Erweiterungsheader Seite 72 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Sicherheitsarchitektur für das Internet Sicherheitsanforderungen durch Kombination erreicht Transportmodus Dienst für Protokolle der höheren Schichten Tunnelmodus Dienst für getunnelte IP-Datagramme Alternativen zwischen zwei Knoten jede einzelne Verbindung verschlüsselt alle Verbindungen laufen über gemeinsamen Tunnel welche Dienste werden benutzt und in welcher Kombination werden sie eingesetzt; auf welche Verbindungen bzw. Gruppen von Verbindungen (Granularität) werden Sicherheitsdienste eingesetzt; welche Algorithmen werden verwendet. Seite 73 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Sicherheitsarchitektur für das Internet kryptographische Schlüssel verteilen manuelle und automatische Verteilungsverfahren IPsec spezifiziert eigenes Public-Key-Verfahren IPsec unterstützt auch andere Verfahren zur Schlüsselverteilung wie Kerberos. IPsec kann implementiert werden in Endgeräten Transitgeräten wie Routern oder Firewalls Seite 74 IPsec kann an verschiedenen Stellen im Protokollstapel integriert werden 1. in die IP-Implementierung von IPSec 2. im Protokollstapel unterhalb Vermittlungsschicht (IP) Bump-in-the-stack (BITS) 3. Integration von IPSec in Übertragungsleitung (Link), Bump-in-the-wire (BITW) Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) beschreibt um Umfang und Eigenschaften gesicherter Datenübertragung Sicherheitsverbindung Simplexverbindung für Dienst Authentisierung (durch AH) Verschlüsselung (durch ESP) Parameter Sicherheitsparameterindex (Security Parameter Index, SPI), IP-Zieladresse (IP Destination Address), Sicherheitsdienstkennzeichnung (Security protocol identifier) mehrere Sicherheitsdienste oder Duplexverbindungen mehrere Sicherheitsverbindungen aufbauen Seite 75 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) Zieladresse Unicast- oder Multicastadressen zulässig RFC 2401 konzentriert sich auf Unicastadressen Transportmodus verbindet zwei Hosts auch Transitsystem kann endgültiger Empfänger von Datagrammen (z.B. ICMP-Nachrichten) sein Sicherheitsheader direkt zwischen IPv4-Header (mit Optionen) und Header der Anwendungsschicht Tunnelmodus Seite 76 verbindet Transitsysteme und Endsysteme äußerer IP-Header (adressiert Ende des Tunnels) innerer IP-Header (adressiert eigentliche Zieladresse) dazwischen Sicherheitsheader eingefügt Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) Kombination von Sicherheitsverbindungen Verschachtelung der jeweiligen Sicherheitsdienste SA-Bündel (SA bundle) zwei prinzipielle Konzepte: Transport Adjacency iterierte getunnelte Verbindung (iterated tunneling) Seite 77 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) Transport Adjacency Verwendungen von zwei Sicherheitsverbindungen in einem Datagramm nur eine AH- und eine ESP-Sicherheitsverbindungen sinnvoll Datagramm läuft beim gleichen Empfänger auf - es gibt nur eine IP-Zieladresse - sind Anfangs- und Endpunkte gleich. Als Reihenfolge wird IP-AH-ESP empfohlen Authentisierung auf Teilen des IP-Headers sowie auf ESP Seite 78 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) Iterierte getunnelte Verbindung (iterated tunneling) mehrere Datagramme enthalten gegebenenfalls ganze Datagramme mehrere Zieladressen mögliche Reihenfolge der SAs beliebig abhängig von jeweiligen Sicherheitsanforderungen mehrere Kombinationen denkbar 1. Beide Endpunkte aller Sicherheitsverbindungen gleich Seite 79 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) Iterierte getunnelte Verbindung (iterated tunneling) mehrere Kombinationen denkbar 2. Ein Endpunkt aller Sicherheitsverbindungen gleich die anderen verschieden 3. Alle Endpunkt der Sicherheitsverbindungen verschieden Seite 80 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) verschiedene Kombinationen von Sicherheitsverbindungen abhängig von Endpunkten Beispiel: zwischen Routern verschlüsselte Tunnelverbindungen zu verschiedenen Endsystemen in jeweiligen lokalen Netzen ungeschützte oder auch authentisierte Verbindungen durch Verwendung verschachtelter Sicherheitsverbindungen jeder Grad an Sicherheit erreichbar Verschlüsselungsstärke verbesserbar durch verschachtelte ESPHeader (Produktchiffren) zusätzliche Sicherheit fraglich (Meet-in-the-Middle Angriff) Seite 81 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) vier Basiskonfigurationen von SAs definiert müssen unterstützt werden weitere optional 1. Sicherung der Ende-zu-Ende-Verbindung zweier Hosts im Transport- oder Tunnelmodus Seite 82 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) 2. Sicherung der Gateway-Gateway-Verbindung im Tunnelmodus Seite 83 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) 3. Sicherung der Ende-zu-Ende-Verbindung zweier Hosts im Transport- oder Tunnelmodus gleichzeitige Sicherung der Gateway-Gateway-Verbindung im Tunnelmodus Seite 84 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) 4. Zugang zu einem lokalen Netz über externe Verbindung wie Internet oder Einwahlverbindung Seite 85 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) SA und Schlüssel-Management manuelle oder automatisierte Schlüsselverteilung und SAManagement, manuelles Vorgehen mit einigen Nachteilen verbunden kein Antireplaydienst Zähler nicht zu synchronisieren nur in kleinen, lokal beschränkten Netzen einzusetzen manuell Kommunikation zwischen zwei oder wenigen Security Gateways mit Tunneling aufzubaut aus Sicherheits- und Effizienzgründen automatisches Management sinnvoller Seite 86 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Associations (SA) SA und Schlüssel-Management Seite 87 Automatisches SA- und Schlüsselmanagement benötigtfür Antireplaydienst Anwender kreieren und benutzen spontan neue SAs IPsec führt Standard zum Schlüsselmanagement IPsec erlaubt Verwendung weiterer Standards erzeugen gemeinsame Schlüssel aus einem einzelnen Bitstring ("Masterkey") abzuleiten IPsec Standards zum Schlüsselmanagement sind IKE: The Internet Key Exchange, RFC 2409. ISAKMP: Internet Security Association an Key Management Protocol, RFC 2408. The Oakley Key Determination Protocol, RFC 2412. The Internet IP Security Domain of Interpretation for ISAKMP, RFC 2407. Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Verarbeitung von IP-Datagrammen unter IPsec Senden eines Datagramms Entsprechenden Eintrag in SPD (Security Policy Database)suchen kein passender Eintrag vorhanden: verwerfe Datagramm Datagramm nicht durch IPsec zu schützen: unverändert weiter reichen im Tunnel-Modus wird innerer Header nur im Time to Live-Feld (und Prüfsumme) verändert äußerer und innerer Header können verschiedene Version haben (IPv4 und IPv6) ... Seite 88 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Verarbeitung von IP-Datagrammen unter IPsec Senden eines Datagramms ... ggf. muss Paket fragmentiert werden überschreitet zusammen mit Erweiterungsheadern vorgegebene Größe danach entsprechend gewählter SA Verschlüsselung und Authentisierung durchführen entsprechende Header anlegen mit berechneten Werten versehen Paket an nächsten Router senden Seite 89 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Verarbeitung von IP-Datagrammen unter IPsec Empfangen eines Datagramms eingehender Verkehr wird zunächst reassembliert entsprechend Parametern in SA-Database einer SA zugeordnet Paket wird authentisiert und entschlüsselt anhand SPD wird Sicherheitsstrategie für Paket überprüft u.U. mehrere Sicherheitsstrategien, passende finden Paket an Anwendungsschicht oder anderen Router oder Host weiter reichen ggf. Information in bearbeiteten Headern entsprechend behandeln Absender Prüfungsreihenfolge Seite 90 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Verarbeitung von IP-Datagrammen unter IPsec ICMP-Nachrichten im wesentlichen wie normale IPsec-Datagramme behandelt in der Regel der Tunnel-Modus Absender- und Empfängeradresse unverändert belassen auch unauthentifizierte oder unverschlüsselte ICMP-Nachrichten müssen verarbeitet werden können ICMP-Nachrichten zur Bestimmung der maximalen Paketlänge auf einem Pfad (PMTU, path maximum transport unit) müssen gesondert behandelt werden wichtige Information über maximale Paketgrößen Information in der ICMP-Nachricht zur Bestimmung des sendenden Routers u.U. zu viele IPsec-Daten Router auffordern, genauere Informationen zu senden. . Seite 91 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Verarbeitung von IP-Datagrammen unter IPsec bei Berechnung der PMTU muss Zusatzinformation durch IPsecHeader berücksichtigt werden Fragmentierung nach Authentifizierung / Verschlüsselung sonst zu kleine Datagramme Multi-Level Security (MLS) Sicherheitsanforderungen abhängig von Wichtigkeit e. Nachricht ggf. Grad der geforderten Sicherheit als zusätzlicher Parameter zusätzliche Bearbeitung der Datagramme Seite 92 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Verarbeitung von IP-Datagrammen unter IPsec IPsec fordert aufwendige Behandlung von Datagrammen zusätzliche Bearbeitungszeit zusätzlicher Speicher für Algorithmen und Sicherheitsdatenbanken i.d.R. gegen absichtliche Verfälschung zu schützen Bearbeitungszeitaufwand für Host soll nicht inakzeptabel hoch sein Router bzw. Security Gateways können und sollten i.d.R. mit spezieller Hardware ausgestattet werden. Bandbreitenbelastung nimmt zu zusätzliche Verzögerungen beim Aufbau einer SA TCP sendet mehr als nötig SYN-Pakete TCP bricht u.U. Verbindungsaufbau ab UDP dürfte hier jedoch weniger Probleme bereiten. Seite 93 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Verarbeitung von IP-Datagrammen unter IPsec IPsec fordert aufwendige Behandlung von Datagrammen langsame Datenverbindung Telefonleitung ohne Kompression sehr lange Verbindungszeiten Kompression bereits vor Anwendungsschicht durchführen verschlüsselte Daten kaum oder gar nicht komprimierbar keine wiederholenden Strukturen Seite 94 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) AH-Dienste Authentifizierung für Daten und IP-Header Integrität bei verbindungsloser Kommunikation Schutz vor Replay von Daten kann in IPv4 und IPv6 verwendet werden unterstützt Transport- und Tunnelmodus AH-Header eingefügt hinter IP-Header und vor Header der oberen Transportschicht im Tunnelmodus vor innerem IP-Header Seite 95 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Seite 96 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Paketformat des IP Authentication Header Wert 51 im Nextheader-Feld des vorhergehenden Pakets Next Header Typ der Payload-Daten Transportprotokoll Erweiterungsheader in Ipv6 Seite 97 kommt Sicherheit in jedeminAH-Header Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Paketformat des IP Authentication Header Seite 98 Payload-Length Länge des AH in 32 Bit-Worten minus 2 RESERVED Hat den Wert null Security Parameters Index (SPI) 32 Bit-Wert identifiziert in Kombination mit Zieladresse und Protokoll AH eindeutig SA für dieses Datagramm gewisse Werte (1..255) dürfen i.d.R. nicht vergeben werden, bzw. werden nur lokal (0) verwendet Wert des SPI von Zielrechner beim Aufbau der SA festgelegt Dieser Wert kommt in jedem AH-Paket vor Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Paketformat des IP Authentication Header Sequenznummer Ein 32 Bit-Wert Antireplay-Wert Sender muss Wert einfügen beginnend bei 1 inkrementieren Empfänger kann Wert auswerten, braucht es aber nicht Wert darf nicht über Höchstwert 232-1 inkrementiert werden wenn vom Empfänger ausgewertet Dieser Wert kommt in jedem AH-Paket vor Authentication Data Authentisierung des gesamten Pakets Länge abhängig vom Authentifizierungsalgorithmus Dieser Wert ist optional Seite 99 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Anordnung des IP-AH Transportmodus AH nach IP-Header und vor Daten der oberen Schichten TCP ICMP, usw. Einkapselung eines TCP-Pakets in IPv4-Feld Seite 100 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Anordnung des IP-AH Transportmodus Einkapselung eines TCP-Pakets in IPv6-Feld Seite 101 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Anordnung des IP-AH Tunnelmodus innerer Header enthält Zieladressen äußere IP-Header kann andere Adresse enthalten Security-Gateway Anordnung in typischem IPv4- und IPv6-Datagramm Seite 102 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Funktionen beim Senden eines AH-Pakets Seite 103 Punkt-zu-Punkt-Kommunikation Eintrag in Security Policy Database weist AH-Paket aus schlüsselbasierter Message Authentication Codes DES Hashfunktionen wie MD5 oder SHA-1 müssen implementiert sein zunächst Paket mit eingefügtem AH konstruieren Sequenznummer jeweils nächster Wert Veränderbare Felder erhalten bei Authentisierung Wert null Ipv4 Time to Live, Header Checksum, bestimmte Optionen IPv6 Class, Flow Label oder Hop Limit einige Felder beiinSender und Empfänger vorhersehbar Sicherheit Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Funktionen beim Senden eines AH-Pakets ggf. Authentisierungsdaten auf geeignete Länge bringen Vielfaches von 32 Bits in IPv4 wird durch entsprechendes Paddingfeld gemacht Wert beliebig über gesamtes vorbereitete Paket wird Integrity Check Value mit Authentifizierungsverfahren in Feld Authentisierungsdaten eingefügt ggf. können diese Pakete fragmentiert werden beim Empfänger vor Prüfung wieder reassemblieren Seite 104 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Funktionen beim Empfangen eines AH-Pakets Eintrags in der Security Policy Database weist AH-Paket aus Sequenznummernfeld überprüft, wenn SA das vorschreibt eingehende Pakete können in beliebiger Reihenfolge eintreffen Fensterverfahren vorgeschlagen 32 bis 64 Sequenznummer verifizieren auf Duplikate überprüfen dupliziertes Paket wird in Logdatei protokolliert Seite 105 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Funktionen beim Empfangen eines AH-Pakets Authentisierung in AH-Paket die Authentisierungsdaten speichern Feld Authentication Data auf null setzen veränderbare Felder auf null bzw. vorhersehbaren Wert setzen vereinbarten Algorithmus anwenden Ergebnis mit Authentisierungsdaten vergleichen Fehler in Logdatei protokollieren SPI, Empfangszeit, Quell- und Zieladresse Sequenznummer Seite 106 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec IP Authentication Header (AH) Funktionen beim Empfangen eines AH-Pakets Auditable Events zu protokollierende Fehler in der Regel in Logdatei protokolliert nicht jedes System muss Fehler protokollieren wenn es protokoliert müssen die Mechanismen zum Protokollieren von AH-Fehlern vorgesehen werden Administrator muss dieses ein- bzw. ausschalten können Empfänger ist nicht verpflichtet, Fehler an Absender zu melden verhindert Gefahr von Denial-of-Service-Angriffen Seite 107 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) verschiedene Sicherheitsdienste 1. Vertraulichkeit 2. Datenquellenauthentisierung 3. Integrität bei verbindungsloser Kommunikation 4. Antireplay-Dienst 5. beschränkte Verkehrsflussvertraulichkeit Diese Dienste hängen teilweise voneinander ab mindestens einer der Dienste Vertraulichkeit oder Authentisierung muss verwendet werden in IPv4 und IPv6 verwendbar unterstützt Transportmodus und Tunnelmodus im Prinzip universell einsetzbar ESP-Header eingefügt Seite 108 hinter IP-Header und vor Header der oberen Transportschicht Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Paketformat Wert 50 im Nextheader-Feld des vorhergehenden Pakets Seite 109 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Paketformat Security Parameters Index (SPI) 32 Bit-Wert in Kombination mit Zieladresse und Protokoll ESP eindeutig SA identifiziert gewisse Werte (1..255) werden i.d.R. nicht vergeben, nur lokal (0) Wert des SPI von Zielrechner bei Aufbau der SA festgelegt Wert in jedem ESP-Paket Seite 110 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Paketformat Sequenznummer 32 Bit-, Antireplay-Wert Sender muss diesen Wert einfügen, beginnt bei 1 inkrementiert Empfänger kann diesen Wert auswerten, braucht es aber nicht. Wert niemals über Höchstwert 232-1 inkrementieren Wert in jedem ESP-Paket Seite 111 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Paketformat Payload-Data Daten, Typ im Nextheader-Feld beschrieben Initialisierungsvektor (Synchronisationsdaten) explizit DES-CBC Verschlüsselungsverfahren beschreibt eindeutig, wie Synchronisationsdaten aus Payload-Datenfeld oder ESPHeader gewonnen werden können Wert in jedem ESP-Paket Seite 112 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Paketformat Padding keine Bedeutung für übertragenen Payload-Daten füllen Paket auf gewünschte Länge auf bei Blockchiffren und ähnlichen Verschlüsselungsverfahren können wahre Länge eines Datenfeldes verschleiern Wert optional kann null sein Paddingfelder initialisiert explizit definiert implizit definiert 1,2,3... Seite 113 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Paketformat Pad-Length Anzahl der Padding-Oktette 0-255 kommt in jedem ESP-Paket vor Seite 114 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Paketformat Next Header Typ der Payload-Daten Transportprotokoll Erweiterungsheader in Ipv6 Wert in jedem ESP-Header Seite 115 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Paketformat Authentication Data Authentisierung des ESP-Feldes außer Authentisierungsdaten Länge abhängig von Authentisierungsalgorithmus Dieser Wert ist optional Seite 116 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Anordnung des ESP-Headers Transportmodus ESP-Header nach IP-Header und vor entsprechenden Daten TCP ICMP, usw. vollständiges IP-Paket verschlüsseln ESP-Header vor innerem IP-Header angeordnet Einkapselung eines TCP-Pakets Seite 117 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Anordnung des ESP-Headers Transportmodus IPv6 kann Destination-Options-Header an verschiedenen Stellen stehen diesen ebenfalls mitverschlüsseln hinter ESP-Header stellen mehrere Destination-Options-Header möglich Destination-Options-Header an verschiedenen Stellen Seite 118 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Anordnung des ESP-Headers Tunnelmodus innerer Header enthält Zieladresse äußere IP-Header kann andere Adresse enthalten z.B. Security-Gateway Anordnung des ESP-Headers im Tunnelmodus Seite 119 gesamter innerer IP-Header (auch) Zieladresse verschlüsselt Verkehrsflussvertraulichkeit Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Funktionen beim Senden eines ESP-Pakets Seite 120 NULL-Algorithmus, keine Verschlüsselung mindestens DES-CBC zur Verschlüsselung Initialisierungsvektor im Payloadfeld abgelegt weitere Verschlüsselungsverfahren möglich zukünftige Erweiterungen einfach sämtliche Parameter für Entschlüsselung in einem Block expliziter Wert im Payloadfeld oder aus ESP-Header ableitbar Authentifizieren: Punkt-zu-Punkt-Kommunikation schlüsselbasierten Message Authentication Codes wie DES oder mit Hashfunktionen wie MD5 oder SHA-1 müssen implementiert sein Null-Authentisierung mindestensSicherheit verschlüsseln oder authentisieren in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Funktionen beim Senden eines ESP-Pakets Seite 121 ausgehendes Paket als ESP-Paket erkannt aufgrund Eintrag in Security Policy Database zunächst entsprechendes Paket im Klartext konstruiert im Transportmodus aus höherem Protokoll im Tunnelmodus aus dem gesamten IP-Datagramm einschließlich IP-Header Padding-Bytes, Pad-Länge und Next-Header-Feld anhängen verlangt SA Verschlüsselung Paket mit gewähltem Algorithmus verschlüsselt explizite oder implizite Verschlüsselungsparameter Initialisierungsvektor beim DES-CBC in Payloadfeld an festgelegter Stelle eingefügt oder aus ESP-Header nach festgelegtem Verfahren berechnet Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Funktionen beim Senden eines ESP-Pakets Grundsätzlich wird Sequenzzähler inkrementiert in das entsprechende Feld übernommen Überlauf des Zählers führt zu Alarm und Löschung der SA verlangt SA Authentisierung Sender berechnet Integrity Check Value (ICV) aus Paket ohne Authentisierungsdaten fügt ICV in Feld für Authentisierungsdaten ein bei IPv6 vom Sender fragmentierbar vor einer Entschlüsselung wieder reassemblieren Seite 122 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Funktionen beim Empfangen eines ESP-Pakets eingehendes Paket als ESP-Paket erkannt aufgrund eines Eintrags in der Security Policy Database zunächst Sequenznummernfeld überprüft wenn SA das vorschreibt eingehende Pakete können in beliebiger Reihenfolge eintreffen Fensterverfahren vorgeschlagen 32 bis 64 Sequenznummern verifizieren auf Duplikate überprüfen dupliziertes Paket erkannt, in Logdatei protokolliert Seite 123 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Funktionen beim Empfangen eines ESP-Pakets Authentisierung ESP-Paket ohne Authentisierungsdaten mit vereinbartem Algorithmus prüft gegen Authentisierungsdaten abgleichen Fehler in Logdatei protokolliert Angabe von SPI Empfangszeit Quell- und Zieladresse Sequenznummer Seite 124 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Encapsulating Security Payload (ESP) Funktionen beim Empfangen eines ESP-Pakets Seite 125 Dechiffrierung ESP-Paket ohne Authentisierungsdaten mit vereinbartem Algorithmus entschlüsseln aus Klartext Paddingdaten extrahieren überprüfen (1,2,.. bei impliziten Daten) ursprüngliches Paket einschließlich IP-Header restaurieren auch im Tunnelmodus weiter an IP leiteten Datenteil Transportprotokoll übergeben im Tunnelmodus als neues IP-Paket weiterleiten Auditable Events zu protokollierende Fehler in der Regel in Logdatei protokolliert Protokollieren optional Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Databases Security Policy Database (SPD) Administrator legt Sicherheitspolitiken fest Security Association Database (SAD) für jede aktive Assoziation verwendeten Parameter abgelegt unterscheiden i.d.R zwischen ein- und ausgehenden Verbindungen verschiedenen SAs zugeordnet Gateway besitzt i.d.R. mindestens eine SA zu entferntem Gateway intern existiert keine SA kein Eintrag in SPD vorhanden kein Eintrag in der SAD erzeugt Selector Abbildung zwischen Datenverkehr und SAs Seite 126 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Databases Die Security Policy Database (SPD) eigene Informationen je Schnittstelle je Kommunikationsrichtung (ein- und ausgehend) drei Klassen von Nachrichten unterschieden 1. discard 2. bypass IPsec 3. apply IPsec. Security Policy Database legt fest (durch Administrator) welche Pakete zu welcher dieser Klassen gehören welche Pakete wie bearbeitet werden In Hostsystemen auch durch Benutzer veränderbar. Seite 127 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Databases Die Security Policy Database (SPD) Seite 128 Selektoren ordnen Paket bestimmte Verschlüsselungsfunktion zu abhängig von bestimmten Parametern Destination IP Address (IPv4 or IPv6): single, range of addresses, address + mask, or a wildcard. Source IP Address(es) (IPv4 or IPv6): single, range of addresses, address + mask, or a wildcard. Name: User ID (DNS), X.500 distinguished name, System name (host, security gateway, etc.) (DNS, X.500) Data sensitivity level: (IPSO/CIPSO labels) Transport Layer Protocol: Obtained from the IPv4 "Protocol" or the IPv6 "Next Header" fields. Source and Destination (e.g., TCP/UDP) Ports, port values or a wildcard port: session-oriented Sicherheit in Rechnernetzen Prof.keying Dr. W. Kowalk Kryptografie IPsec Security Databases Die Security Policy Database (SPD) Die folgende Tabelle stellt dieses noch einmal zusammen Field Traffic Value SAD Entry SPD Entry src addr single IP addr single,range,wild single,range,wildcard dst addr single IP addr single,range,wild single,range,wildcard xpt protocol* xpt protocol single,wildcard single,wildcard src port* single src port single,wildcard single,wildcard dst port* single dst port single,wildcard single,wildcard user id* single user id single,wildcard single,wildcard sec. labels single value single,wildcard single,wildcard Seite 129 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Databases Security Association Database (SAD) Jede aktive SA besitzt Eintrag in Security Association Database zum Zeitpunkt des Aufbaus der jeweiligen Verbindung erstellt Sender überprüft, ob Pakete gesendet werden dürfen Empfänger entscheidet, wie Pakete zu behandeln Eingehender Verkehr besitzt die folgenden Parameter Outer Header's Destination IP address: the IPv4 or Ipv6 IPsec Protocol: AH or ESP: Spezifiziert das verwendete IpsecProtocol SPI: 32 Bit-Wert zur Unterscheidung verschiedener SAs mit gleichem Ziel, die das gleiche IPsec-Protocol verwenden. Seite 130 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Databases Security Association Database (SAD) Abarbeitung eines Datagramms abhängig von Parametern Sequence Number Counter 32 Bit-Wert zum Erzeugen der Sequenznummern in AH- oder ESP-Headern Sequence Counter Overflow Warnung bei Überlauf des Sequence Number Counter Anti-Replay Window 32 Bit-Zähler zur Entdeckung mehrfach gesendeter Paketen (replay). AH Authentication algorithm Schlüssel usw. Seite 131 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie IPsec Security Databases Security Association Database (SAD) Abarbeitung eines Datagramms abhängig von Parametern ESP authentication algorithm Schlüssel usw. null, falls keine Authentisierung in ESP. Lifetime of this Security Association Beenden bzw. Erneuern einer SA, wenn Zeit abgelaufen IPsec protocol mode tunnel, transport or wildcard. Modus von AH bzw. ESP Path MTU any observed path MTU and aging variables. Ende der Lebensdauer einer SA 1. Anzahl empfangener Bytes überschreitet festgelegte Grenze 2. Festgelegter Zeitpunkt. 3. Pakete nicht innerhalb jeweiligen Zeit verwerfen Seite 132 Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Sicherheitsarchitektur für das Internet Kritikpunkte an IPsec Komplexität des Protokolls Verhindert korrekte Implementierung Nicht vernünftig testbar zu viele unterschiedliche Interessen erhebliche Vertrauensunsicherheit schlechte Dokumentation Beweggründe für Entwurfsentscheidungen zu viele Varianten Schlüsselaustauschverfahren Authentifizierungsheader + Transportmodus verzichtbar Seite 133 Verringert Komplexität drastisch Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk Kryptografie Sicherheitsarchitektur für das Internet Kritikpunkte an IPsec – 2 Sicherung auf Vermittlungsschicht widerspricht verbindungslosem Kommunikationskonzept Konzepte (Verbindungsdaten, Verbindungsstrategien) benötigt, die in IP nicht vorhanden natürlicher verbindungsorientiertem Protokoll zugeordnet TCP Anwendung (http, SMTP) Verbindungsdaten sowieso vorhanden Nur Geheimhaltung der Verkehrsbeziehung sinnvoll Seite 134 Authentifizierung überflüssig Sicherheit in Rechnernetzen Prof. Dr. W. Kowalk