Scroll to navigation

SYSTEMD-BOOT-RANDOM-SEED.SERVICE(8) systemd-boot-random-seed.service SYSTEMD-BOOT-RANDOM-SEED.SERVICE(8)

BEZEICHNUNG

systemd-boot-random-seed.service - Beim Systemstart den Zufallsstartwert für das Systemstartprogramm erneuern

ÜBERSICHT

systemd-boot-random-seed.service

BESCHREIBUNG

systemd-boot-random-seed.service ist ein Systemdienst, der automatisch den in der EFI-System-Partition (ESP) gespeicherten Zufallsstartwert für das Systemstartprogramm aus dem Linux-Kernel-Entropie-Vorrat erneuert. Der Zufallsstartwert des Systemstartprogramms wird hauptsächlich von systemd-boot(7) (oder systemd-stub(7), falls es anstelle dessen eingesetzt wird) verwandt und aus der UEFI-Umgebung erneuert und als anfänglicher RNG-Startwert an das Betriebssystem durchgereicht. Dies ist eine wirksame Methode, um sicherzustellen, dass das Betriebssystem einen Zufallszahlenvorrat enthält, der vollständig initialisiert ist.

Der Dienst erstellt auch vollautomatisch ein »Systemmerkmal«, das in einer EFI-Variable im NVRAM des Systems gespeichert wird. Das Systemstartprogramm kann dann den Zufallsstartwert von Platte und das Systemmerkmal durch kryptographisches Hashen kompbinieren und an das startende Betriebssystem weitergeben, das es als Initialisierungsstartwert für seinen kryptographischen Vorrat verwenden kann. Hinweis: Der in der ESP gespeicherte Zufallsstartwert wird beim jedem Neustart erneuert. Damit wird sichergestellt, dass mehrere, aufeinanderfolgende Systemstarts mit verschiedenen Zufallszahlenstartwerten starten. Andererseits wird das Systemmerkmal nur einmal zufällig erzeugt und dann dauerhaft in dem variablen Speicher des EFI gespeichert. Damit wird sichergestellt, dass das gleiche Plattenabbild nicht zu der gleichen Serie von Zufallsstartwerten des Systemstartprogramms führt, falls mehrere Systeme parallel verwandt werden.

Die Unit systemd-boot-random-seed.service ruft den Befehl bootctl random-seed auf, der den Zufallsstartwert in der ESP aktualisiert und das Systemmerkmal initialisiert, falls es noch nicht initialisiert ist. Der Dienst wird nur ausgeführt, wenn ein Systemstartprogramm verwandt wird, das die Systemstartschnittstelle[1] implementiert.

Weitere Details über den Befehl, den dieser Dienst aufruft, finden Sie in bootctl(1).

Beachten Sie die Beziehung zwischen systemd-boot-random-seed.service und systemd-random-seed(8). Ersterer verwaltet den Zufallsstartwert, der von der Systemstartumgebung verwandt und erneuert wird (d.h. durch systemd-boot(7) oder systemd-stub(7)), letzterer verwaltet einen Zufallsstartwert, der vom Betriebssystem selbst verwandt und aktualisiert wird. Ersterer stellt sicher, dass das Betriebssystem selbst in der frühsten Systemstartphase, wenn noch kein normaler Plattenzugriff verfügbar ist (d.h. wenn der Zufallszahlenstartwert des Betriebssystems noch nicht geladen werden kann) über einen gefüllten Entropie-Vorrat verfügt. Letzerer wird viel später verarbeitet, sobald auf Platten geschrieben werden kann. Daher kann er nicht zum Erzeugen von Zufallsstartwerten während der anfänglichen Systemstartphase verwandt werden, verfügt aber typischerweise über viel höhere Entropie-Qualität. Beide Dateien werden beim Systemstart verwandt und aktualisiert, aber zu unterschiedlichen Zeitpunkten. Konkret:

1.Im UEFI-Modus lädt die Komponente systemd-boot(7) oder systemd-stub(7) den Zufallsstartwert des Systemstartprogramms aus der ESP, hasht ihn mit der verfügbaren Entropie und dem Systemmerkmal und aktualisiert ihn dann auf Platte. Ein abgeleiteter Zufallsstartwert wird dann an den Kernel übergeben, der ihn in seinen Entropie-Vorrat schreibt.

2.Im Anwendungsraum lädt der Dienst systemd-random-seed.service den Zufallsstartwert des Betriebssystems, schreibt ihn in den Kernel-Entropie-Vorrat und aktualisiert ihn dann auf Platte mit dem neuen Wert, der aus dem Kernel-Entropie-Vorrat abgeleitet wurde.

3.Im Anwendungsraum aktualisiert der Dienst systemd-boot-random-seed.service den Zufallsstartwert des Systemstartprogramms mit einem neuen Wert, der aus dem Kernel-Entropie-Vorrat abgeleitet wurde.

Diese Logik sollte sicherstellen, dass der Entropie-Vorrat des Kernels, falls möglich, bereits während der frühsten Systemstartphase mit einem Zufallsstartwert versehen ist. Die Entropie höchster Qualität wird dann zu beiden Zufallsstartwerten auf Platte zurückgeleitet.

SIEHE AUCH

systemd(1), random(4), bootctl(1), systemd-boot(7), systemd-stub(7), systemd-random-seed.service(8)

ANMERKUNGEN

1.
Boot-Loader-Schnittstelle

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

systemd 256.5