Kryptologie (Vorlesung 11)

Skript-AnfangSkript – Seite 43
Skript-EndeSkript – Seite 45

Zufallszahlengeneratoren

Zweck

  • Schlüsselgenerierung
  • Asymmetrischen Verschlüsselungsverfahren (Padding für RSA)
  • Zufall im Challenge-Response-Verfahren

Wichtig

  • Die Güte des Zufalls, die Unvorhersagbarkeit → mit x1, … , x128 ∈ {0,1}
  • Sicherheitsniveau ist 2100 Versuche = 1/2100

Entropie

  • Wird in Bit gemessen
  • Entropie von n Bit“ bedeutet die Wahrscheinlichkeit den Zufallswert zu erraten, ist 1 / (2n)
  • Schlüssel (x1 , … , x128) benötigt eine Entropie von 100 Bit
  • Schlüssel der Länge 128 Bit mit Entropie von 128 Bit bedeutet, dass jedes Bit im Schlüssel hat Entropie von 1 Bit
    • Pr(x1=0) = 1/2
    • Pr(x1=1)=1/2
  • Wir unterscheiden hier zwischen physikalischen und deterministischen Zufallsgeneratoren

Physikalische Generatoren

Zufall aus physikalischen Rauschquellen

  • Impulsschwankungen elektromagnetischer Schaltungen
  • radioaktiver Zerfall
  • Atmosphärenrauschen

Probleme

  • Nicht immer verfügbar
  • Häufig langsam, die Zeit bis genug Zufall gesammelt wurde ist lang
  • Häufige Schiefen (mehr Einsen als Nullen oder umgekehrt → Keine Gleichverteilung)
  • Eine Schiefe, die Wahrscheinlichkeit aufzutreten, bedeutet, dass die Wahrscheinlichkeit größer als 1/2 ist

Lösung

  • Deterministische Nachbearbeitung

Sicherheit (BSI-Empfehlung)

  1. Beschreiben der Rauschquellen durch ein stochastisches Modell
  2. Der durchschnittliche Entropiezuwachs pro Zufallsbit liegt oberhalb einer gegebenen Mindestschranke

Beispiel

  • Erzeugt wird eine Zufallsfolge x1 , … , xn ∈ {0,1}
  • Entropiezuwachs pro Bit → Ideal = 1
  • Wahrscheinlichkeit x1 zu erraten = 1/2
  • Wahrscheinlichkeit alles zu erraten = 1/(2n)
  • Häufige Schiefen:
    • Pr(x1=0)=0,2
    • Pr(x1=1)=0,8
  • Entropie von x1:
    • Wahrscheinlichkeit x1 zu erraten ist 0,8
    • Ausgedrückt in Entropie: 1/2x = 0,8
    • x = 0,322 ≈1/3
    • Um 100 Bit Entropie zu erhalten, müssen x1 bis x300 erzeugt werden
  • Deterministische Nachbearbeitung:
    • Aus 300 Bit mit Entropie 100 mache 100 Bit mit Entropie 100

Deterministische Zufallsgeneratoren

  • Werden auch Pseudozufallsgeneratoren genannt
  • Berechnen aus einem Zufallswert mit fester Länge, auch Seed genannt
  • Der Seed ist eine Pseudozufällige Bitfolge praktisch beliebiger Länge

Hinweis

  • Durch einen deterministischen Zufallsgenerator bzw. Nachbearbeitung kann die Entropie, die Zufälligkeit, nicht erhöht werden
  • Je komplizierter der Generator ist, desto schwieriger ist es nachzuweisen, ob dieser wirklich funktioniert und sicher ist
  • Wiederverwendbarkeit:
    • „Die Wiederverwendbarkeit des Seeds tritt ab zweitem Schritt auf.“
    • Für hashfunktion h : {0,1}* → {0,1}200 erzeugt dieser deterministischer Zufallsgenerator in jedem Schritt 200 Bit Zufall mit Entropie min {200, Entropie (SEED)}

Sicherheit

  • Entropieerhaltend
  • Aus bekannter Zufallsfolge dürfen Vorgänger und Nachfolger nicht berechnet werden

Seedgenerierung

  • Seed durch phyiskalische Zufallsgeneratoren generieren
  • Am Computer durch mehrere unabhängige Systemaufrufe zusammen setzen
  • Linux /dev/random:
    • Liefert mindestens 100 Bit Entropie (laut BSI)
    • Systemzeit, Nutzeraktivitäten (Programm öffnen, Fenster schließen, Mausposition)
  • Windows:
    • Kombination verschiedener Systemaufrufe
    • Read Time Stamp Counter() = Prozessorzyklen seit Systemstart
    • Bei Taktfrequenz ≥ 1 GHz → 230 mögliche Werte pro Sekunde (Nicht 230 lang!)
    • KeQuerySystemTime() = Aktuelle Systemzeit (relativ zu 1970)
    • Auflösung beträgt 100ms → 223 verschiedene Werte pro Sekunde

Erzeugung

  1. Starte Rechner
  2. Starte Programm
    • A = RTSC();
    • B = KQST();
  3. Verifizieren eines Logins
    • C = RTSC();
    • C‘ = KQST(); ← Lässt sich aus den anderen Aufrufen berechnen und bringt nichts mehr
  4. Erzeugen des SEEDs
    • D = RTSC();
    • A||B||C||D = SEED
  5. Erzeugter Seed hat eine Entropie von
    • 30+23+30+30 = 113
Maximilian
Maximilian

Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.