Lektion 5.2

Datensicherheit und Kryptologie

16 min Lesezeit

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.

Definition

Schutzziele

Datensicherheit verfolgt fünf Schutzziele:

SchutzzielBedeutungVerletzt, wenn ...
Vertraulichkeitnur Berechtigte erfahren den Inhaltein Fremder die Nachricht mitliest
IntegritätDaten bleiben unverändert und vollständigjemand den Betrag ändert
Authentizitätder Absender ist wirklich der, der er zu sein vorgibtsich jemand als die Bank ausgibt
VerfügbarkeitDaten und Dienste sind bei Bedarf nutzbarein Server überlastet ist
Verbindlichkeitniemand kann abstreiten, etwas getan zu habenAlice leugnet ihre Überweisung
Definition

Angriffe und Schutzmaßnahmen

AngriffVorgehenVerletzt vor allem
Man-in-the-MiddleDer Angreifer schaltet sich unbemerkt in die Verbindung und liest oder ändert NachrichtenVertraulichkeit, Integrität
PhishingGefälschte Mails oder Seiten verleiten zur Eingabe von ZugangsdatenAuthentizität, Vertraulichkeit
SQL-InjectionEine Eingabe wird als Teil des SQL-Befehls ausgeführt, etwa ’ OR ’1’=’1\texttt{' OR '1'='1} im PasswortfeldVertraulichkeit, Integrität
DDoSSehr viele Geräte überlasten gemeinsam einen Dienst mit AnfragenVerfügbarkeit
Social EngineeringMenschen 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.

Definition

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 n(n−1)2\frac{n(n-1)}{2} 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.

Definition

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 a mod na \bmod n 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.

Definition

RSA

Schlüsselerzeugung: Wähle zwei große Primzahlen p und q und setze n=p⋅qn = p \cdot q und φ=(p−1)(q−1)\varphi = (p-1)(q-1). Wähle e teilerfremd zu φ\varphi und bestimme d mit e⋅d mod φ=1e \cdot d \bmod \varphi = 1. Öffentlich ist (e,n)(e, n), privat ist (d,n)(d, n). Um aus (e,n)(e, n) das d zu gewinnen, müsste man φ\varphi 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 m<nm < n verschlüsselt man mit dem öffentlichen Schlüssel (links) und entschlüsselt sie mit dem privaten (rechts):

c=me mod nm=cd mod nc = m^e \bmod n \qquad\qquad m = c^d \bmod n
Beispiel

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 φ\varphi = 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.

Definition

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 A=ga mod pA = g^a \bmod p. Bob wählt geheim b und sendet B=gb mod pB = g^b \bmod p. Alice berechnet K=Ba mod pK = B^a \bmod p, Bob K=Ab mod pK = A^b \bmod p. Beide erhalten gab mod pg^{ab} \bmod p. 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.

Beispiel

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.

Definition

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.

Definition

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 2n2^n Schlüssel, jedes weitere Bit verdoppelt den Aufwand. Bei 40 Bit und 10910^9 Versuchen pro Sekunde dauert das Durchprobieren etwa 18 Minuten, bei 128 Bit etwa 102210^{22} 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.

Häufige Fehler

Verschlüsselt heißt echt und unverändert

„Die Nachricht war verschlüsselt, also stammt sie vom richtigen Absender und wurde nicht verändert.“

Richtig ist

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: c=me mod nc = m^e \bmod n und m=cd mod nm = c^d \bmod n. Diffie-Hellman: Beide erhalten gab mod pg^{ab} \bmod p.

  • Hashwert, Signatur, Zertifikat und Vertrauenskette sichern Integrität und Authentizität. Nach Kerckhoffs steckt die Sicherheit nur im Schlüssel.

Übungen

Aufgabe 1Multiple Choice

Millionen Geräte überlasten gemeinsam einen Online-Shop (DDoS). Welches Schutzziel wird vor allem verletzt?

Aufgabe 2Multiple Choice

Welche Maßnahme wirkt gegen SQL-Injection?

Aufgabe 3Numerisch

Ein Verfahren hat einen Schlüssel mit 56 Bit. Ein anderes hat 64 Bit. Wie oft so viele Schlüssel hat das zweite?

Aufgabe 4Numerisch

RSA mit p = 3, q = 11, e = 3 und d = 7. Welchen Geheimtext c erhältst du für m = 5?

Aufgabe 5Numerisch

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?

Aufgabe 6Freitext

Erkläre, wie Bob prüft, dass ein Vertrag von Alice stammt und unterwegs nicht geändert wurde.