Sicherheit in Computernetzen Proseminar Internetprotkolle WS 04/05 Teil 1 - Sebastian Jansen(242940)
Inhalt Merkmale sicherer Kommunikation Kryptographie - Grundlage sicheren Datenaustausches Authentifikation in Netzwerken
Einführung Merkmale sicherer Kommunikation
Was ist sichere Kommunikation? Medium Nachricht Nachricht Sender Empfänger Geheimhaltung Authentifikation Integrität
Bedeutung sicherer Kommunikation In Zeiten des Internets z.B. bei: eCommerce Onlinebanking eMail sämtliche Login-Systeme (z.B. Campusoffice) Firmen-Netzwerke (z.B. Home-Office)
Gefahren und Angriffsmöglichkeiten Beispiele Paket-Sniffing Mitlesen und auswerten der Daten der Sicherungsschicht IP-Spoofing Vortäuschen einer falschen IP-Adresse Denial-of-Service Überschütten eines Servers mit zu vielen Anfragen, sodaß dadurch das System überlastet wird. SYN-Flooding SMURF
Kryptographie Grundlage sicheren Datenaustausches
Was ist Kryptographie? Griechisch: = „verborgen schreiben“ „Wissenschaft vom Verschlüsseln“ Nachrichten (o.ä.) werden auf mathematischer Basis verschlüsselt Ver- und Entschlüsselung funktionieren mit einem (geheimen) Schlüssel Symmetric Key
Entstehung der Kryptographie Caesar-Chiffre 2 Alphabete (Klartext- und Geheimtextalphabet) Elemente beider Alphabete werden durchnumeriert Verschlüsselungsfunktion (bijek. Abbildung):
Beispiel I N F O R M A T K 8 13 5 14 17 12 19 10 Verschlüsselung 11 16 8 17 20 15 3 22 13 L Q I R U P D W N
Weitere Entwicklung Problem: Nur 25 Möglichkeiten einfach zu knacken Verbesserung: „monoalphabetisches Chiffre“ (26! Mögl.) Problem: Entschlüsselung über vage Informationen zum Inhalt, sowie Statistik zum Buchstabenvor- kommen, möglich Cipher-Text- Known-Plaintext Chosen-Plaintext Only Verbesserung: „polyalphabetisches Chiffre“
Data Encryption Standard 1977 veröffentlicht (64bit – davon 8 Paritätsbit) 1993 durch US Bureau of Standards aktualisiert Ziel: Vollständige Vermischung von Schlüssel & Daten 64bit-Eingabe L1 R1 f(L1, R1, K1) K1 L2 R2 f(L2, R2, K2) K2 L3 R3 f(L16, R16, K16) K16 L17 R17 56bit Schlüssel K1 – K16 jeweils 48bit des Schlüssels 64bit-Ausgabe
Asymetric-Key-Codierung Bisher: gemeinsamer Schlüssel für En-/Decodierung Heutzutage: Problem des Schlüsselaustausches! Lösung? Public-Key-Codierung
Prinzip der Public-Key-Codierung öffentlicher Schlüssel – jedem bekannt – verschlüsselt privater Schlüssel – geheim; nur Empfänger bekannt – entschlüsselt „Public Key“ „Private Key“ mit Private Key mit Public Key Chiffrierung e(m) senden e(m) Dechiffrierung d(e(m))= m MSG m Sender Empfänger
Probleme der Public-Key-Codierung Public Key und Algorithmus bekannt Chosen-Plaintext-Attacke möglich Private Key darf nicht für andere zugänglich oder zu erraten sein Sonst Entschlüsselung natürlich möglich Identität des Senders nicht bestätigt Nachricht mit falschem Absender möglich
Bsp.: RSA-Algorithmus Wahl der Schlüssel basiert auf Zahlentheorie (Primzahlen, Produkte von Primzahlen, etc.) Chiffrierung basierend auf modulo-n-Arithmetik Public Key (n,e) Private Key (n,d) Chiffrierung der Zahl m: Dechiffrierung von c:
Bsp.: RSA-Algorithmus p = 5 q = 7 n = 35 z = 24 e = 5 d = 29 [(5*29)-1]mod 24 = 0 c c^d c^d mod n 17 4,8196857 * 10^35 17 R 14 1,7286737 * 10^33 22 W 15 1,2783403 * 10^34 19 T 26 1,0819995 * 10^41 8 H m m^e m^e mod n R 17 1419857 17 W 22 5153632 14 T 19 2476099 15 H 8 32768 26
Key-Distribution-Center KDC Generiert Sitzungs- Schlüssel R und Sendet K1(R) sowie K2(1,R) zurück Meldet geplante Kommunikation mit Client 2 Unter Benutzung von K1 Kann K2(1,R) nicht entschlüsseln und sendet es weiter Nun haben beide Clients R Client 1 Client 2
Zertifizierung CA Stellt mit Private Key Verschlüsseltes Zertifikat aus Identifiziert sich einmal mit Infos und Public Key Entschlüsselt mit Public Key der CA das Zertifikat und kann somit die Echtheit des Public Key von Client 1 verifizieren Sendet zusätzlich zu seinem Public Key das Zertifikat mit Client 1 Client 2
Authentifikation in Netzwerken
Warum Authentifikation? bei persönlichem Kontakt Identität des Gegenübers sichergestellt bei Datenverkehr z.B. über das Internet Identität des Gegenübers unklar Identität immens wichtig! Bsp. Online-Banking
Authentifikationsprotokolle Client stellt Verbindung zu Server her Server initialisiert Authentifikationsprotokoll Server und Client authentifizieren sich Datenaustausch beginnt
AP 1.0 „Ich bin UserXY“ Client Server „Ich bin UserXY“ Eindringling
AP 2.0 „Ich bin UserXY“ IP-Adresse von XY Client Server (IP-Spoofing) Eindringling
AP 3.0 „Ich bin UserXY“ Passwort von XY Client Server „Ich bin UserXY“ Eindringling
AP 3.1 „Ich bin UserXY“ verschlüsseltes Passwort von XY Client Server reproduziertes Passwort von XY Eindringling
AP 4.0 „Ich bin UserXY“ Nonce R K(R) Client Server
Berechnet mit Public Key AP 5.0 Sende mir Public Key „Ich bin UserXY“ Public Key e Nonce R d(R) Client Server Berechnet mit Public Key e(d(R))
Berechnet mit Public Key AP 5.0 Sende mir Public Key „Ich bin UserXY“ Nonce R Client Server Public Key e‘ Berechnet mit Public Key e‘(d‘(R)) d‘(R) Eindringling
AP 5.0 – Man-in-the-middle Berechnet mit Public Key Entschlüsselt Daten mit e Entschlüsselt Daten mit e‘ Verschlüsselt mit e und leitet sie weiter Simuliert Authentifikation und gewinnt e Sendet mit e‘ ver- Schlüsselte Daten Sende mir Public Key „Ich bin UserXY“ Nonce R Client Server Public Key e‘ „Ich bin UserXY“ Berechnet mit Public Key e‘(d‘(R)) d‘(R) Eindringling
F R A G E N ? ? ?