Avatar von Nguluh
  • Nguluh

mehr als 1000 Beiträge seit 20.07.2014

Re: HWRNG

Mit /dev/random hat das nichts zu tun. Es geht um den getrandom() Syscall.

/dev/random liefert nur "echte" Entropie. Es gibt (seit Langem) keinen Grund das zu nutzen. Daran ändert sich durch den Patch auch nichts.

/dev/urandom liefert Pseudo-Zufallszahlen, die aber dennoch für jede kryptographische Anwendung geeignet sind (es ist ein CSPRNG) - außer der Random-Pool ist noch nicht ausreichend initialisiert; dann liefert es schwächere Zufallszahlen (und warnt im Kernellog). Auch daran ändert sich durch den Patch nichts (abgesehen von der Warnung, die dann nicht mehr auftaucht).

getrandom() ist relativ neu, und erlaubt es den CSPRNG sicher zu nutzen: Ist der Pool noch nicht initialisiert, blockiert es. Man kann also nicht unbemerkt schwächere Zufallszahlen bekommen. Dafür hat man das Risiko lange - im Extremfall ewig - zu blockieren.
Vor allem in VMs und manchen Embedded-Geräte fällt sehr wenig Entropie an. Ruft man getrandom() zu früh im Bootvorgang auf, kann es passieren, dass effektiv das ganze System blockiert wird: Der Bootprozess blockiert im getrandom()-Call, und da das System sonst nichts tut, fällt auch keine weitere Entropie an.

Ob Ryzen oder Phenom spielt hier keine Rolle. Beide dürften den Pool in etwa gleich schnell, nach wenigen Sekunden, initialisiert bekommen (sofern sie in Desktops oder Servern stecken). Es geht nicht darum, wie schnell die CPU ist, sondern nur darum, wie viel Rauschen das Gesamtsystem produziert.
Wir haben z.B. VMs, bei denen das über eine Minute dauert, obwohl sie schneller als ein Phenom sind.

Die Entscheidungsmöglichkeit ist am Ende aber tatsächlich ein fauler Kompromiss. Kaum jemand kann das objektiv beurteilen. So wälzt der Kernel die Verantwortung auf die Distributoren ab. Die dürfen sich jetzt wahlweise anhören lassen, dass sie Teil der NSA-Verschwörung sind oder dass die Sicherheitsparanoiker sind, die den Nutzern und Entwicklern das Leben schwer machen.
(Was tue ich z.B. jetzt als Entwickler? Dazuschreiben, dass man die Software bitte erst x-Minuten nach Systemstart benutzen sollte? GRND_NONBLOCK setzen? ...)

Das Posting wurde vom Benutzer editiert (08.10.2018 14:14).

Bewerten
- +
Anzeige