Datensicherheit und Kryptologie
Du überweist online 200 Euro. Auf dem Weg zur Bank könnte jemand mitlesen, den Betrag ändern, sich als Bank ausgeben, den Dienst lahmlegen oder dein Passwort erschleichen. Jeder dieser Fälle ist ein anderes Problem, und jedes hat eine andere Antwort.
Aus der Mittelstufe kennst du Cäsar und Vigenère, öffentliche und private Schlüssel, Hashwerte und Zertifikate. Hier ordnest du die Ziele und Angriffe, und du siehst, wie RSA und Diffie-Hellman rechnen.
Schutzziele
Datensicherheit verfolgt fünf Schutzziele:
| Schutzziel | Bedeutung | Verletzt, wenn ... |
|---|---|---|
| Vertraulichkeit | nur Berechtigte erfahren den Inhalt | ein Fremder die Nachricht mitliest |
| Integrität | Daten bleiben unverändert und vollständig | jemand den Betrag ändert |
| Authentizität | der Absender ist wirklich der, der er zu sein vorgibt | sich jemand als die Bank ausgibt |
| Verfügbarkeit | Daten und Dienste sind bei Bedarf nutzbar | ein Server überlastet ist |
| Verbindlichkeit | niemand kann abstreiten, etwas getan zu haben | Alice leugnet ihre Überweisung |
Angriffe und Schutzmaßnahmen
| Angriff | Vorgehen | Verletzt vor allem |
|---|---|---|
| Man-in-the-Middle | Der Angreifer schaltet sich unbemerkt in die Verbindung und liest oder ändert Nachrichten | Vertraulichkeit, Integrität |
| Phishing | Gefälschte Mails oder Seiten verleiten zur Eingabe von Zugangsdaten | Authentizität, Vertraulichkeit |
| SQL-Injection | Eine Eingabe wird als Teil des SQL-Befehls ausgeführt, etwa im Passwortfeld | Vertraulichkeit, Integrität |
| DDoS | Sehr viele Geräte überlasten gemeinsam einen Dienst mit Anfragen | Verfügbarkeit |
| Social Engineering | Menschen werden getäuscht, zum Beispiel durch einen Anruf als „IT-Support“ | alle |
Maßnahmen: Eine Firewall filtert Pakete nach Regeln. Ein VPN (virtuelles privates Netz) legt einen verschlüsselten Tunnel durch ein unsicheres Netz. Die Zugriffskontrolle prüft, wer du bist (Authentifizierung, etwa Passwort und zweiter Faktor) und was du darfst (Autorisierung, nach dem Prinzip der geringsten Rechte). Eine Datensicherung hält Kopien an getrennten Orten bereit. Gegen SQL-Injection helfen Abfragen mit Parametern: Eingaben bleiben Daten und werden nie Teil des Befehls.
Symmetrische, asymmetrische und hybride Verschlüsselung
Symmetrisch heißt: Ein Schlüssel verschlüsselt und entschlüsselt (Beispiel AES). Das ist schnell, aber der Schlüssel muss sicher zum Partner, und n Teilnehmer brauchen Schlüssel. Asymmetrisch heißt: Es gibt ein Schlüsselpaar. Was der öffentliche Schlüssel verschlüsselt, löst nur der private. n Teilnehmer brauchen n Paare, aber das Rechnen ist langsamer. Hybrid kombiniert beides: Ein asymmetrisches Verfahren überträgt einen zufälligen Sitzungsschlüssel (oder eine Schlüsselvereinbarung, siehe unten, legt ihn fest), die Daten gehen dann symmetrisch. So arbeitet HTTPS.
Einwegfunktion
Eine Einwegfunktion ist leicht zu berechnen, ihre Umkehrung aber praktisch nicht. Beispiele: Zwei große Primzahlen multiplizieren ist leicht, das Produkt zu faktorisieren nicht. Potenzieren modulo einer Primzahl ist leicht, die Umkehrung (der diskrete Logarithmus) nicht. Dabei ist der Rest bei Division von a durch n. „Praktisch nicht“ heißt: Kein bekanntes Verfahren schafft es in vernünftiger Zeit. Bewiesen ist das nicht. Eine Falltürfunktion lässt sich mit einer Zusatzinformation doch umkehren. Bei RSA ist das der private Schlüssel.
RSA
Schlüsselerzeugung: Wähle zwei große Primzahlen p und q und setze und . Wähle e teilerfremd zu und bestimme d mit . Öffentlich ist , privat ist . Um aus das d zu gewinnen, müsste man kennen, also n faktorisieren. Echte Schlüssel sind mehrere tausend Bit lang (heute meist mindestens 2048 Bit). Dass das Entschlüsseln gelingt, folgt aus dem Satz von Euler (hier ohne Beweis). Eine Zahl verschlüsselt man mit dem öffentlichen Schlüssel (links) und entschlüsselt sie mit dem privaten (rechts):
RSA mit kleinen Zahlen
RSA mit kleinen Zahlen
Wähle p = 3, q = 11, e = 3. Verschlüssele m = 4 und entschlüssele wieder.
n = 3 · 11 = 33 und = 2 · 10 = 20. Gesucht ist d mit 3 · d mod 20 = 1: d = 7, denn 3 · 7 = 21 und 21 mod 20 = 1. Öffentlich ist (3, 33), privat (7, 33).
Verschlüsseln: c = 4³ mod 33 = 64 mod 33 = 31.
Entschlüsseln: 31⁷ mod 33. Wegen 31 = 33 − 2 rechnet man mit −2: (−2)⁷ = −128, und −128 + 4 · 33 = 4. Es kommt m = 4 heraus.
Diffie-Hellman-Schlüsselvereinbarung
Alice und Bob wollen über ein offenes Netz einen gemeinsamen Schlüssel vereinbaren, ohne ihn zu übertragen. Öffentlich sind eine Primzahl p und eine Zahl g. Alice wählt geheim a und sendet . Bob wählt geheim b und sendet . Alice berechnet , Bob . Beide erhalten . Ein Lauscher kennt p, g, A und B. Für K bräuchte er a oder b, also den diskreten Logarithmus. Allerdings prüft das Verfahren nicht, mit wem man spricht: Ein Man-in-the-Middle kann mit jedem Partner einen eigenen Schlüssel vereinbaren.
Diffie-Hellman mit kleinen Zahlen
Diffie-Hellman mit kleinen Zahlen
Es gilt p = 23 und g = 5. Alice wählt a = 4, Bob wählt b = 3.
Alice sendet A = 5⁴ mod 23 = 625 mod 23 = 4, denn 23 · 27 = 621. Bob sendet B = 5³ mod 23 = 125 mod 23 = 10, denn 23 · 5 = 115.
Alice berechnet 10⁴ mod 23: 10² = 100 mod 23 = 8 und 8² = 64 mod 23 = 18. Bob berechnet 4³ mod 23 = 64 mod 23 = 18. Beide haben K = 18.
Hashfunktionen, digitale Signaturen, Zertifikate und Public-Key-Infrastruktur
Eine Hashfunktion macht aus beliebigen Daten einen Wert fester Länge. Sie ist eine Einwegfunktion, schon eine kleine Änderung ergibt einen ganz anderen Wert, und es ist praktisch nicht möglich, zwei Daten mit gleichem Hashwert zu finden. Eine digitale Signatur entsteht, indem der Absender den Hashwert des Dokuments mit seinem privaten Schlüssel „verschlüsselt“. Der Empfänger prüft sie mit dem öffentlichen Schlüssel und dem selbst berechneten Hashwert. Das sichert Integrität, Authentizität und Verbindlichkeit, aber nicht Vertraulichkeit.
Ein Zertifikat ist eine von einer Zertifizierungsstelle signierte Bestätigung, dass ein öffentlicher Schlüssel zu einem Namen gehört, etwa zu einer Domain. Die Public-Key-Infrastruktur (PKI) ist das Gesamtsystem aus Zertifizierungsstellen, Zertifikaten, Widerruf gestohlener Schlüssel und Prüfregeln. Sie arbeitet mit einer Vertrauenskette: Das Zertifikat des Servers ist von einer Zwischenstelle signiert, deren Zertifikat von einer Wurzelstelle. Wurzelzertifikate sind im Browser oder Betriebssystem hinterlegt. So wird die Kette bis zu einer Wurzel geprüft, der man vertraut.
Kryptoanalyse und Prinzip von Kerckhoffs
Kryptoanalyse ist der Versuch, ein Verfahren ohne Schlüssel zu brechen: durch Ausprobieren aller Schlüssel (Brute Force), durch Häufigkeitsanalyse, durch Ausnutzen mathematischer Schwächen oder Fehler in der Umsetzung. Bei n Bit gibt es Schlüssel, jedes weitere Bit verdoppelt den Aufwand. Bei 40 Bit und Versuchen pro Sekunde dauert das Durchprobieren etwa 18 Minuten, bei 128 Bit etwa Jahre.
Das Prinzip von Kerckhoffs: Ein Verfahren muss auch dann sicher sein, wenn der Angreifer es vollständig kennt. Allein der Schlüssel ist geheim. Öffentlich bekannte Verfahren wie AES werden von vielen Fachleuten geprüft. Ein geheimes Verfahren verbirgt Fehler nur.
Verschlüsselt heißt echt und unverändert
Verschlüsselt heißt echt und unverändert
„Die Nachricht war verschlüsselt, also stammt sie vom richtigen Absender und wurde nicht verändert.“
Verschlüsselung schützt die Vertraulichkeit. Dass die Nachricht echt und unverändert ist, belegen eine Signatur oder ein Prüfwert. Zusätzlich muss ein Zertifikat zeigen, dass der Schlüssel wirklich dem Absender gehört.
Zusammenfassung
Die Schutzziele sind Vertraulichkeit, Integrität, Authentizität, Verfügbarkeit und Verbindlichkeit. Jeder Angriff verletzt bestimmte Ziele.
Firewall, VPN, Zugriffskontrolle und Datensicherung sind Schutzmaßnahmen. Gegen SQL-Injection helfen parametrisierte Abfragen.
Symmetrisch heißt: ein gemeinsamer Schlüssel, schnell, aber mit Schlüsselaustausch. Asymmetrisch heißt: Schlüsselpaar. Hybrid nutzt asymmetrisch für den Sitzungsschlüssel und symmetrisch für die Daten.
Einwegfunktionen sind leicht zu berechnen und praktisch nicht umkehrbar. RSA beruht auf dem Faktorisieren, Diffie-Hellman auf dem diskreten Logarithmus.
RSA: und . Diffie-Hellman: Beide erhalten .
Hashwert, Signatur, Zertifikat und Vertrauenskette sichern Integrität und Authentizität. Nach Kerckhoffs steckt die Sicherheit nur im Schlüssel.
Übungen
Millionen Geräte überlasten gemeinsam einen Online-Shop (DDoS). Welches Schutzziel wird vor allem verletzt?
Welche Maßnahme wirkt gegen SQL-Injection?
Ein Verfahren hat einen Schlüssel mit 56 Bit. Ein anderes hat 64 Bit. Wie oft so viele Schlüssel hat das zweite?
RSA mit p = 3, q = 11, e = 3 und d = 7. Welchen Geheimtext c erhältst du für m = 5?
Diffie-Hellman mit p = 23 und g = 5. Alice wählt a = 2, Bob wählt b = 3. Welchen gemeinsamen Schlüssel K berechnen sie?
Erkläre, wie Bob prüft, dass ein Vertrag von Alice stammt und unterwegs nicht geändert wurde.