man 4 random
hat eine sehr vage Beschreibung der Linux-Kernel-Entropiequellen:
Der Zufallszahlengenerator sammelt Umgebungsgeräusche von Gerätetreibern und anderen Quellen in einem Entropiepool.
Die Papierübertragung von Entropy im Linux-Zufallszahlengenerator ist ebenfalls nicht viel spezifischer. Es listet auf:
add_disk_randomness()
,add_input_randomness()
, undadd_interrupt_randomness()
.
Diese Funktinos sind von random.c
, die folgenden Kommentar enthalten:
Zufallsquellen aus der Umgebung sind Inter-Keyboard-Timings, Inter-Interrupt-Timings einiger Interrupts und andere Ereignisse, die sowohl (a) nicht deterministisch als auch (b) für einen externen Beobachter schwer zu messen sind.
Weiter unten gibt es eine Funktion add_hwgenerator_randomness(...)
, die die Unterstützung von Hardware-Zufallszahlengeneratoren anzeigt.
Alle diese Informationen sind ziemlich vage (oder erfordern im Fall des Quellcodes tiefe Kenntnisse des Linux-Kernels, um sie zu verstehen). Was sind die tatsächlich verwendeten Entropiequellen und unterstützt der Linux-Kernel irgendwelche Hardware-Zufallszahlengeneratoren, die sofort einsatzbereit sind?
quelle
cat /sys/devices/virtual/misc/hw_random/rng_available
.Ja, es unterstützt Hardware-Entropie-Generatoren ab Werk. Dies ist für SSL-Server mit hoher Auslastung und vielen gleichzeitigen Verbindungen erforderlich, die pro Sekunde hergestellt werden (Google Mail, Facebook, Microsoft usw.). Für Heimserver oder kleine Unternehmensserver ist dies nicht unbedingt erforderlich. Beachten Sie, dass Hardware-Entropie-Generatoren in der Regel PCI-Schnittstellen verwenden. Da ist nichts Besonderes dabei, sodass sie problemlos unterstützt werden können. Wir sind uns nicht sicher, ob es proprietäre Hardware-Entropie-Generatoren gibt, die Closed-Source-Treiber benötigen, wahrscheinlich auch nicht, da dies (anders als bei Grafikkarten) keine sehr schwierige und nicht sehr profitable Branche ist.
http://en.wikipedia.org/wiki/Hardware_random_number_generator
quelle