Minulý týden jsme psali, že se kryptografický generátor náhodných čísel arc4random()
dostal do Glibc. Proti tomu se vyslovil Jason Donenfeld, vývojář WireGuardu a autor několika změn v jaderném generátoru náhodných čísel. Tyto změny byly backportovány až do jader 4.9.
Jason si myslí, že generátor náhodných čísel v user-space není dobrým řešením. Nemůže se totiž správně rozhodnout, kdy změní seed (reseed). Jaderný generátor to dělá například při duplikaci virtuálního stroje (aby měli různá náhodná čísla) nebo po probuzení z hibernace (pokud by někdo zjistil seed při hibernaci). Funkce arc4random()
prostě udělá reseed každých 16 MB. Jason navrhuje, aby arc4random()
volalo jadernou funkci getrandom()
a kvůli snížení režie navrhuje zahrnout getrandom()
do vDSO (virtual dynamic shared object). Tím by se kvalitní generátor náhodných čísel dostal do user-space.
(zdroj: phoronix)