Sicherheit und Verschlüsselung im Internet
- Angriff durch Abhören des Passworts:
- an verschiedenen Stellen möglich
- Netzwerk-Überwachungssoftware am Neben-PC
(missgünstiger Student)
- bei einem Internetknoten, der Nachricht
weiterleitet (betrügerischer Mitarbeiter)
- induktives Abhören des (Kupfer-)Telefonkabels
(Werksspion)
- Auffangen der Streustrahlung von Tastatur oder
Monitor (Geheimagent)
- Abhilfe gegen die ersten drei Attacken
- Nachrichten verschlüsseln
- in der Praxis am Browser
- "sichere" Internetseiten
- https-Protokoll (s =
"secure") → Webserver verschlüsselt
- Browser entschlüsselt
- angezeigt durch Vorhängeschloss (bei
Netscape)
- Symmetrische Verschlüsselungsverfahren:
- Funktionsweise
- Beispiele:
- DES (Data Encryption
Standard)
- RC4 (von Rivest)
- schnell auch bei großen Datenmengen
- Problem: Schlüsselaustausch
- bei persönlich bekannten Partnern auf "sichere"
Weise verabreden
- für Anwendung im Homebanking
- ein Schlüssel nötig für jeden Kunden der
Bank
- Austausch kompliziert
- ähnliches Prinzip: TAN auf Postweg
- Unsymmetrische Verschlüsselungsverfahren:
- benutzt zwei zusammen gehörende Schlüssel
- privater Schlüssel PS (geheim!)
- öffentlicher Schlüssel ÖS (kennen alle)
- PS nicht aus ÖS ableitbar
- Funktionsweise
- Beispiele:
- RSA (von Rivest, Shamir, Adleman)
- Diffie-Hellman
- DSA (Digital Signature
Algorithm von Kravitz)
- bei Anwendung im Homebanking
- ein öffentlicher Schlüssel der Bank reicht für
alle Kunden
- funktioniert in beiden Richtungen
- mit PS verschlüsseln, mit ÖS entschlüsseln
- mit ÖS verschlüsseln, mit PS entschlüsseln
- Nachteil:
- Verfahren sehr aufwändig
- sehr langsam für längere Texte
- Ausweg:
- Verschlüsseln des Texts mit symmetrischem
Verfahren
- Austausch des Schlüssels mit
Public-Key-Verfahren
- RSA-Verfahren:
- weit verbreitet und gut analysiert
- gilt als sicher
- Grundlage: Schwierigkeit, große Zahlen zu
faktorisieren
- Rekord bisher (Ende 2005) 200 Dezimalstellen
(663 Bits)
- lief als Wettbewerb mit hohem Preisgeld
für Faktorisierung
- Bestimmung eines Schlüsselpaares
- wähle zwei (möglichst große) Primzahlen p,
q
- setze n = p*q, m = (p-1)*(q-1)
- wähle eine Zahl e, die teilerfremd ist zu m
- berechne Zahl d mit e*d = 1 mod m (mit
erweitertem euklidschen Algorithmus)
- öffentlicher Schlüssel: (e,n)
- privater Schlüssel: (d,n)
- Verschlüsseln einer Nachricht b (als Zahl)
- Entschlüsseln der Botschaft c
- praktisch Ausprobieren
(mit kleinen Zahlen)
- Digitale Unterschrift (Signatur):
- Problem: übertragener Text könnte gefälscht worden
sein ("Man-in-the-Middle"-Attack)
- Signatur soll nachweisen
- Absender ist korrekt
- Text wurde nicht verfälscht
- Funktionsweise
- Text mit öffentlichem Schlüssel entschlüsselbar
→ Absender ist wirklich Besitzer des privaten
Schlüssels
- zur Kontrolle reicht Verschlüsseln des
Fingerabdrucks (z.B. mit MD5) statt des ganzen Textes
- Zertifikat:
- weiterhin problematisch: woher öffentlicher
Schlüssel?
- nicht einfach von der Webseite des Benutzers wegen
"Man-in-the-Middle"-Attack
-
Zertifikat = "digitaler Personalausweis"
- öffentlicher Schlüssel + zugehöriger Name
(Person, Firma, Website)
- u.U. weitere Informationen
(Gültigkeitsdauer!)
- unterschrieben (signiert) von
"vertrauenswürdiger Stelle"
- Standard-Formate für Zertifikate
- Vertrauensmodelle:
- Wer darf Zertifikate unterschreiben?
- jeder, dem man vertraut (direktes
Vertrauen)
- jeder, dem jemand vertraut, dem man selbst
vertraut (Netz des Vertrauens)
- spezielle Certification
Authorities (CA) (hierarchisches Vertrauen)
- einige bekannte CA's
- Regulierungsbehörde für Telekommunikation und
Post (RegTP)
- Trust Center der Bundesnotarkammer
- Trust Center der Deutschen Telekom
(Telesec)
- Trust Center der Deutschen Post (Signtrust)
- Firma Verisign (amerikanischer Marktführer)
- oberste CAs zertifizieren sich selbst
- Unterstützung durch Webbrowser
- kennen Zertifikate der wichtigsten CAs
- zeigen Zertifikate anderer Seiten an
- erlauben Verwaltung von eigenen und fremden
Zertifikaten