Home / Lösungen / Anwendungen / Zufallszahlengenerator (RNG)
Echte Zufallszahlen sind die Grundlage für starke, unverwechselbare Kodierungsschlüssel. Ein Zufallszahlengenerator (Random Number Generator, RNG) ist eine Funktion oder ein Gerät (Rechner-basiert oder physisch) mit der Aufgabe, eine Folge von Zahlen oder Zeichen zu erzeugen. Die Auswahl erfolgt nach deterministischer, echter oder Pseudo-Zufälligkeit. Eine Prognose ist daher unmöglich. Utimaco HSM sind mit einem hybriden Zufallsgenerator ausgestattet, der den AIS 31 DRG.4-Anforderungen für ein Höchstmaß an Sicherheit entspricht. Ein physikalischer Zufallszahlengenerator (PTG.2) basierend auf Quantenrauschen dient als Entropie-Quelle des deterministischen RNG.
Das Generieren von Zufallszahlen spielt eine wichtige Rolle für zahlreiche Produkte und Services sowie für kryptografische Anwendungen, auf die sie zugreifen.
Es gibt zwei Kategorien von Zufallszahlengeneratoren. Viele computergenerierte Zufallszahlen verwenden Pseudo-Zufallszahlengeneratoren (PRNG), auch bekannt als deterministische Zufallszahlengeneratoren (DRNG). Sie erzeugen zufällig aussehende, jedoch deterministische Zahlenfolgen. Zwar können diese Algorithmen lange Zahlenfolgen mit guten zufälligen Eigenschaften erzeugen. Doch ein schlecht konzipierter DRNG produziert möglicherweise wiederkehrende Sequenzen oder andere auffällige Ergebnisse. Security-Evaluierungsmethoden wie FIPS oder CC spezifizieren Bewertungskriterien für DRNG. In der Praxis sind diese Zufallszahlen für viele Anwendungen ausreichend. Dennoch sind sie nicht so zufällig wie Zahlen, die durch das Werfen von Münzen, Würfeln oder echte Zufallszahlengeneratoren (TRNG) entstehen.
Solche echten Zufallszahlen bilden den Kern einer starken Verschlüsselung. Sie basieren auf einem elektrischen, optischen oder quantenmechanischen Phänomen, beispielsweise auf der Messung von thermischem Rauschen. Deshalb weisen sie kein vorhersehbares Muster auf und eignen sich bestens für hochsichere kryptographische Schlüssel. Das Implementieren eines DRNG, in das regelmäßig die Entropie aus einem TRNG einfließt, verbindet das Beste aus zwei Ansätzen – die Geschwindigkeit des DRNG und die echte Zufälligkeit des TRNG. Fazit: Der Schutz sensibler oder kritischer Informationen erfordert einen TRNG.
Weitere Informationen zum Unterschied zwischen PRNG, DRNG und TRNG finden Sie in unserem Blogbeitrag „Why do you need true random number generation?“
Schwachstellen und Implementierungsfehler in Zufallszahlengeneratoren sind keine Seltenheit. Umso wichtiger ist es, auf extern geprüfte Lösungen und Software- oder Hardware-Komponenten zurückzugreifen. Kryptografische RNG-Implementierungen müssen hohe Anforderungen erfüllen. Vor allem die Anwendungshinweise und Interpretationen nach AIS 31 des Bundesamts für Sicherheit in der Informationstechnik (BSI) sind hier zu nennen: Sie definieren eine standardisierte Evaluierungsmethodik, um Klasse und Sicherheitsstufe von Zufallszahlengeneratoren zu bewerten. Sicherheitsstufe 4 ist die höchste in der Klasse „Deterministische Zufallszahlengeneratoren“ (DRG). Ein DRG.4-konformer RNG ist ein sogenannter hybrider RNG: Er bietet höchste mathematische Komplexität bei Berechnungen und bezieht zusätzlich regelmäßig neue Entropie von einem echten Zufallszahlengenerator. In der Klasse der echten, physikalischen Zufallsgeneratoren stellt PTG.2 die höchste Sicherheitsstufe dar.
Der AIS 31-Standard definiert unterschiedliche Funktionalitätsklassen für Zufallszahlengeneratoren:
- PTG – Physical RNG with internal tests that detect a total failure of the entropy source and non-tolerable statistical defects of the internal random numbers
- DRG – Deterministic RNG with (enhanced) forward secrecy, and additional (enhanced) backward secrecy depending on the DRG level
- NTG – Non-physical true RNG with entropy estimation
Utimaco HSM sind mit einem hybriden Zufallsgenerator nach DRG.4 Anforderungen ausgestattet, dem höchsten Sicherheitsniveau für DRG. Ein physikalischer Zufallszahlengenerator der höchsten Sicherheitsklasse PTG.2, der auf Quantenrausch basiert, dient als Entropie-Quelle des deterministischen Zufallszahlengenerators.