Home

Produkte

Verschlüsseln?

Echter Zufall?

Download

Kontakt

Software

Warum echter Zufall?
 
 
Zufallszahlen
 
Schon seit Jahrzehnten stellt die auf den ersten Blick trivial erscheinende Aufgabe mittels Computer Zufallszahlen zu erzeugen sowohl MathematikerInnen als auch InformatikerInnen vor große Probleme. Obwohl Taschenrechner, Betriebssysteme und Programmiersprachen über entsprechende Zufallsfunktionen verfügen, konnte diese komplexe Problemstellung noch nicht zufriedenstellend gelöst werden und stellt somit auch heute noch einen aktuellen Forschungsgegenstand dar. Ein Computer ist und bleibt eine deterministische Maschine, dazu geschaffen, auf eine konkrete Eingabe eine definierte Ausgabe zu liefern. Wie kann man nun einer deterministischen Maschine beibringen, Zufall zu generieren?
Viele Bereiche der Informatik sind in steigendem Ausmaß auf Zufallszahlen angewiesen. Durch die zunehmende weltweite Vernetzung von Rechnern haben Sicherheitsaspekte in den letzten Jahren an Bedeutung gewonnen. Schutzmechanismen gegen unbefugten Zugriff auf vertrauliche Daten sowie zur Authentifizierung und Identifikation von Kommunikationspartnern spielen eine immer größer werdende Rolle. Kryptographische Verfahren wie symmetrische Verschlüsselungs-, Public-Key- und Signaturverfahren bieten Möglichkeiten, diese Sicherheitsrisiken zu verringern. Gerade diese kryptographischen Basismechanismen kommen heutzutage kaum noch ohne Zufallszahlen aus. Beinahe jedes Kryptosystem benötigt irgendwann geheime, nicht vorhersagbare Zufallszahlen. Ohne Zufallsgeneratoren gäbe es keine Kryptographie! Man denke nur an folgende, exemplarische Einsatzgebiete: Schlüssel- und Parametererzeugung für symmetrische und asymmetrische Verschlüsselungsverfahren, Authentifikationsprotokolle wie das Challenge-Response-Verfahren, digitale Signatur-Verfahren (z. B. DSA, ElGamal), Diffie-Hellman-ähnliche Protokolle zur Schlüsselverteilung sowie Verschlüsselungsverfahren (One-Time-Pad, Stromchiffren).
Die Güte der in Kryptosystemen verwendeten Zufallszahlen wirkt sich unmittelbar auf deren Sicherheit aus. Die gesamte Sicherheit z.B. der per Pseudozufall erzeugten geheimen Schlüssel hängt ausschließlich von der Anfangsinitialisierung ab. Ein schwacher Seed (geringe Entropie der Zufallsquelle oder triviales Passwort) ist im statistischen Ergebnis nicht erkennbar, aber ein effizienter Angriffspunkt. Wie Beispiele aus jüngsten Vergangenheit zeigen
  • Angriffe auf Netscape-Browser erfolgreich
  • Schwächen der Schlüssel- und Initialvektorerzeugung des wireless-LAN-Standards IEEE 802.11
  • Wi-Fi Protected Access mit erfolgreichen Wörterbuchangriffen
  • schwache Zufallsgenerierung bei Bluetooths (kein Standard definiert)
  • fehlerhafte Zufallszahlen in Exel 2003
  • Kerberos-Zufallsgenerator geknackt
  • erfolgreicher Angriff auf Zufallsgeneratoren mit geringer Entropie durch M. Dichtl (Siemens) publiziert
ermöglicht der Einsatz naiver Zufallszahlengeneratoren in Kryptosystemen diese mit relativ geringem Aufwand brechen. Schwache Zufallsgeneratoren stellen somit eine Gefährdung der Sicherheit von Kryptosystemen dar. Homebanking von T-online fordert bei der Installation zur "Erzeugung sicherer Zufallszahlen" dazu auf, mit der Maus zu wackeln. Die anschließende Abfrage, ob die erzeugten Zufallszahlen für weitere Verwendung abgespeichert werden sollen, zeigt die ganze Schwäche der Generierung von Pseudozufall.
 
Viele der in einschlägigen Literatur beschriebenen Verfahren zur Erzeugung von Zufallszahlen taugen zwar für Anwendungen, erweisen sich jedoch für kryptographische Zwecke oft als ungeeignet. Eine zufällige Folge, die verschiedenste statistische Tests besteht, gilt noch lange nicht als kryptographisch sicher, sondern ist vielmehr nur dann für die Anwendung in der Kryptographie geeignet, wenn sie unter keinen Umständen vorhersagbar ist. Es stellt sich also die Frage: Welche Generatoren können in der Kryptographie verwendet werden und von welchen Generatoren sollte man lieber die Finger lassen?*
 
 
Pseudo-Zufallszahlen
 
Generell werden zwei Klassen von Zufallszahlen unterschieden: Echte Zufallszahlen, die im Zuge von Zufallsexperimenten (z. B. Glücksspiele) erzeugt werden, und sogenannte, reproduzierbare Pseudozufallsfolgen, die mittels deterministischer Algorithmen ausgehend von einem echt zufällig gewählten kurzen Startwert berechnet werden. Von Pseudozufallsfolgen wird verlangt, daß sie über dieselben statistischen Eigenschaften wie echte Zufallsfolgen verfügen. Kryptographisch sicheren Pseudozufallsgeneratoren (z. B. Blum-Blum-Shub-, Blum-Micali-, RSA-Generator, etc) wurden speziell für den Einsatz in der Kryptographie entwickelt und ermöglichen die Konstruktion von Kryptosystemen mit höherer Sicherheit. Die Klasse der kryptographisch sicheren Pseudozufallsgeneratoren beruht auf Annahmen der Komplexitätstheorie, d. h. auf der Nicht-Existenz effizienter Algorithmen für wohlbekannte zahlentheoretische Probleme (wie z. B. der Faktorisierung großer Zahlen). Unter diesen Annahmen sind Angreifer nachweislich nicht in der Lage, aus der Kenntnis einiger Zufallswerte zukünftige Zufallszahlen vorherzusagen und auf diese Art und Weise das System anzugreifen.
Mit diesen Verfahren ist die kryptotaugliche Pseudozufallsgenerierung mittlerweile einigermaßen in den Griff zu bekommen. Unglücklicherweise leiden diese starken und sicheren Pseudozufallsgeneratoren an ernsthaften Effizienzproblemen. Die nicht gerade triviale Aufgabe der Implementierung eines kryptotauglichen Pseudozufallsgenerators kann auch heute noch getrost als Herausforderung für jeden Entwickler eines Kryptosystems bezeichnet werden. Wer also glaubt, mit einem schnell gebastelten Verfahren oder mit einem möglichst komplexen Algorithmus kryptographisch sichere Pseudozufallszahlen erzeugen zu können, wird fast zwangsläufig Schiffbruch erleiden. Nur gewissenhaft betriebene (Pseudo-)Zufallszahlen-Erzeugung kann die für Kryptosysteme notwendige Sicherheit bieten. Was bringt das sicherste Verschlüsselungsverfahren, wenn die mit einem schwachen Zufallsgenerator erzeugten Schlüssel mit geringem Aufwand kompromittierbar sind? Kryptographische Pseudozufallsgeneratoren müssen daher neben Stromchiffren, Hashfunktionen, Blockchiffren, asymmetrischen Verschlüsselungsverfahren und Signatur-Verfahren als ebenbürtige kryptographische Primitive angesehen werden. Ähnlich wie bei Verschlüsselungsverfahren müssen auch für diesen kryptographischen Basismechanismus mögliche Angriffsszenarien entwickelt, bereits eingesetzte Verfahren in dieser Hinsicht analysiert und neue, gegen die Angriffe immune Verfahren entwickelt werden.*
 
Allerdings sollte man bei der Verwendung von Pseudozufallszahlen immer beachten:
"Anyone who considers arithmetical methods of producing random digits is, of course, in a
state of sin." (John von Neumann)
 
 
 
Echte Zufallszahlen
 
Bei echten Zufallszahlengeneratoren handelt es sich um mechanische oder elektrische Geräte, die Zufallszahlen aus der ihnen zugrunde liegenden Verteilung liefern. Diese Geräte wurden bereits in den 30er Jahren entwickelt. Ein Beispiel für mechanische Zufallszahlengeneratoren sind Würfel (6-seitige, 10-seitige, 20-seitige).
Ein Beispiel für einen elektrischen Zufallszahlengenerator ist der Generator ERNIE(Electronic Random Number Indicator Equipment). Die Erzeugung von Zufallszahlen basiert hier auf der Erzeugung von Geräuschimpulsen bei Neonröhren, welche innerhalb konstanter Intervalle mit Hilfe von Zähleinrichtungen in Zufallszahlen umgewandelt werden. Verwendung fand dieser Generator bei Ziehung der Gewinner der ,,premium bond savings lottery" in Großbritannien.
Der Vorteil von ,,echten" Zufallszahlengeneratoren ist, daß eine Prognose wie ein Zufallsexperiment ausgehen wird, nicht möglich ist. Soll allerdings ein Zufallsexperiment mit genau den gleichen Zufallszahlen ein zweites Mal durchgeführt werden so ist dies nicht möglich. Ein Grund für ein solches Vorgehen ist z.B. die Veränderung von Parametern der zugrunde liegenden Verteilung, um Veränderungen im Simulationsablauf vorher und nachher festzustellen.
Schwächen und hoher Aufwand bei der Erzeugung von Pseudo-Zufall lassen die Forderung nach einem idealen physikalischen Zufallsgenerator verständlich werden. In zahlreichen Publikationen wurden Verfahren für die Erzeugung echter Zufallszahlen veröffentlicht. Die meist in Einzelfertigung angebotenen Geräte sind sperrig, kostenintensiv und setzen Spezialkenntnisse bei der Einstellung der Parameter voraus. Ungenügende statistische Qualität wird oftmals durch Verknüpfung mit Pseudozufallszahlen kaschiert, ohne auf die negativen Folgen für den Einsatz in kryptografischen Systemen zu verweisen.
Thermisches Rauschen ist eine der wenigen Quellen natürlicher Ereignisse, die wirklich zufällig und unberechenbar sind (weitere sind z. B. radioaktiver Zerfall, Fluoreszenz oder Elektronenspin).
Der Chip-Hersteller Intel hat 1999 den I810-Chip mit einem implementierten echten Zufallsgenerator angekündigt. Die statistisch schwache Rauschquelle wurde durch Algorithmen (SHA1, DES) in eine statistisch gut verteilte Zufallsfolge verbessert. Aber man hat mit hohem Aufwand auch nur Pseudozufall als Ergebnis generiert. Von der sicher interessanten Lösung ist heute nichts mehr zu hören. Auch andere Chiphersteller (Via, Transmeta, Renesas) versuchen sich an ähnlichen Lösungen. Da über die Güte der Zufallsquelle (Entropie, Bit-Abhängigkeiten, Statistik der Rohdaten) keine Angaben gemacht werden, ist Zweifel angebracht, vor allem, wenn große Mengen an Zufallszahlen benötigt werden (z.B. gesicherte Netzwerke, WLAN, Bluetooth).
Dem Ingenieurbüro Bergmann ist es bei der Entwicklung von physikalischen Zufallszahlengeneratoren gelungen, die Limitierung des Standes der Technik zu überwinden und in kostengünstiger Weise eine einfache, stabile und schnelle Generierung von echten Zufallszahlen in konstanter höchster statistischer Qualität zu ermöglichen. Da sich die Parameter der elektronischen Schaltung automatisch optimieren, ist die statistische Qualität auch bei Spannungsschwankungen und Temperaturänderungen konstant und erfüllt Anforderungen an einen idealen Zufallsgenerator. Zur Erhöhung der Gleichverteilung der 0/1-Bits wird ausschließlich eine digitale Nachbearbeitung durch XOR-Verknüpfung aufeinanderfolgender Zufallsbits verwendet. Für eine Implementierung in Applikationen sind keine speziellen Maßnahmen, wie Schirmung oder gefilterte Stromversorgung, erforderlich. Störspannungen von Mikrocontrollern und anderen digitalen Schaltungen werden durch interne Schaltungsmaßnahmen unterdrückt.
Thermische Rauschquellen der Zufallsgeneratoren sind Z-Dioden. Mittels Differenzverstärker und Schmitt-Trigger-Schaltkreis wird das Rauschsignal verstärkt und digitalisiert. Ein nachgeschalteter Mikrocontroller verknüpft aufeinanderfolgende Zufallsbits XOR und erhöht somit die Gleichverteilung der Zufallsbits.
 
 
Statistische Qualität echter Zufallsgeneratoren
 
Zahlreiche statistische Untersuchen bestätigen den physikalischen Zufallsgeneratoren des IBB Eigenschaften eines idealen Zufallszahlengenerators auch im erweiterten Temperaturbereich. Zur Evaluierung wurden umfangreiche statistische Tests durchgeführt. Bereits die Untersuchung der Rohdaten (keine digitale Nachbearbeitung) zeigten eine sehr hohe Entropie und keine nachweisbaren Abhängigkeiten der Zufallsbits (Entropie_Rohdaten.pdf). Zur Erhöhung der Gleichverteilung der 0/1-Bits wird ausschließlich eine digitale Nachbearbeitung durch XOR-Verknüpfung aufeinanderfolgender Zufallsbits verwendet. Die  derart nachbearbeiteten Zufallsdaten wurden mit der Diehard-Test-Suite nach George Marsaglia ( www.stat.fsu.edu/~geo/diehard.html ), der NIST-Test-Suite ( www.nist.gov/ ) und einem weiteren statistischen Test umfangreich untersucht. Keine der generierten Testfolgen konnte Unterschiede zu den Ergebnissen eines idealen Zufallszahlen-Generators aufzeigen. Darüber hinaus wurden Testergebnisse mit Untersuchungen von kryptographisch starken Pseudo-Zufallszahlen-Generatoren , wie dem DES-, AES- und SH1-Generator verglichen. Die Vergleiche zeigten keine signifikanten Unterschiede zu den Testergebnissen dieser Generatoren.
Ergebnisse verschiedener statistischer Tests können auf der Download-Seite abgerufen werden.
 
 
Applikationen echter Zufallsgeneratoren
 
Grundsätzlich sollen echte Zufallsgeneratoren die "Verlegenheitslösung" Pseudo-Zufall in allen IT-Applikationen ablösen. Sicherheitslösungen können dadurch die Leistungsfähigkeit bringen, für die sie entwickelt wurden. Exemplarische Beispiele:
  • Netzwerksicherheit
  • Transaktionen beim Homebanking
  • Dateiverschlüsselung mit Security-Applikationen
  • einfachere Administration und sichere Verschlüsselung bei wireless-LAN und Bluetooth
  • Internet-Verschlüsselung
  • elektronischer Zahlungsverkehr
  • Erstellung von PKI-Zertifikaten
  • One Time Pad-Verfahren
Die Beispiele lassen sich erweitern, denn selbst im sensiblen Bereich der Militärs sind echte physikalische Zufallsgeneratoren noch kein Standard. Zulassungen von zertifizierten Produkten können ggf. höher eingestuft werden. Entwickler von IT-Sicherheit können effektiver und kalkulierbarer erreichbare Sichheit konzipieren und zur Anwendung bringen. Alle Sicherheitsanwendungen können von echten Zufallsgeneratoren profitieren und Sicherheitsstandards auf ein höheres Niveau setzen. Durch die rasanten Entwicklungen im ECommerce-Bereich gibt es einen steigenden Bedarf an echten Zufallszahlen. Die Vorstellung, daß jeder PC und jedes sichere Kommunikationssystem in Zukunft mit einem echten Zufallsgenerator ausgestattet sein wird, ist jetzt keine ferne Zukunftsmusik mehr.
 
 
Quantenkryptographie
 
Ein neues, sich rasch entwickelndes Gebiet der Kryptographie zeigt sich in aktuellen Meldungen. Die Quantenkryptographie bedient sich des einzig beweisbar sicheren Verschlüsselungsverfahrens, dem OneTimePad-Verfahren (OTP). Hierbei ist die Schlüssellänge gleich der zu übertragenen Textlänge. Diese Verfahren ist nicht neu und wird bereits seit langem in sensibelsten Bereichen angewendet. Problem war bisher allerdings die unsichere Übermittelung des Schlüssels zur Gegenstelle. Eine illegale Kopie des Schlüssels ist nur schwer nachweisbar. Die Quantenkryptographie schafft nun eine gesicherte Kommunikation auf Basis von Lichtteilchen (Photonen). Ein Abhören oder Manipulieren des übertragenen Schlüssels wird zweifelsfrei erkannt. Praktische Versuche sind aus Österreich (www.quantenkryptographie.at), der Schweiz (www.idquantique.com) und Deutschland (http://scotty.quantum.physik.uni-muenchen.de) bekannt. Auch in Japan und den USA wird intensiv an  diesem Thema gearbeitet. Zielapplikationen liegen bei Banken, Versicherungen und im militärischen Bereich.
 
Dieses einzige beweisbar sichere Verschlüsselungsverfahren hat mindestens eine Achillesferse: die Generierung der zufälligen und unter keinen Umständen vorhersagbaren Zufallszahlen. Die Kryptoanalysis hat nur eine Chance, wenn die statistischen Eigenschaften der Zufallsfolge Schwächen beinhaltet. Pseudozufall scheidet als Quelle des Schlüssels aus, da sich die Entropie ausschließlich aus der Anfangsinitialisierung ergibt und damit einen geringen Wert hat. Nur echte Zufallsgeneratoren, die bereits bei den Rohdaten (keine digitale Nachbearbeitung)
  • eine sehr hohe Entropie
  • keine nachweisbare Bit-Abhängigkeit
  • eine hohe Gleichverteilung der Bits und Bytes
nachweisen, sind für derartige hohe Ansprüche geeignet. Formuliert sind die Minimalansprüche in den AIS31-Dokumenten des BSI/T-Systems (www.bsi.bund.de/zertifiz/zert/interpr/ais31.pdf ).
 
Alle Zufallsgeneratoren des IBB erfüllen problemlos die Ansprüche aus den AIS31-Forderungen, auch im erweiterten Temperaturbereich. Nach unabhängigen Einschätzungen sind diese Zufallsgeneratoren bestens geeignet, höchste Anforderungen in der Quantenkryptographie zu erfüllen.
 
Einen Fachartikel des Autors zu Problemen und Lösungen bei Zufallsgeneratoren finden Sie hier Physikalischer Zufallssignalgenerator.pdf
 
 
 
* Auszüge aus der Zusammenfassung der Diplomarbeit von Dipl.-Ing. Christian Schiestl ( schiestl@chello.at )
 
  
   
 
[Home] [Produkte] [Verschlüsseln?] [Echter Zufall?] [Download] [Kontakt] [Software]