Lionux - crng dlouha inicializace
Miroslav Mraz
mrazik na volny.cz
Sobota Září 19 16:44:23 CEST 2020
Přesně tohle ne, ale před časem jsem dělal pokusy s hardwarovým
generátorem náhodných čísel a tak jsem objevil jak to zhruba v Linuxu
funguje. Šifrovací algoritmy patrně čtou náhodná (nikoli pseudo-náhodná)
čísla ze souboru /dev/random. Data jdou načíst jen pokud má jádro
dostatek entropie (číslo v /proc/sys/kernel/random/entropy_avail), když
se entropie vyčerpá, čtení je blokováno. Ano trvá dost dlouho než se
nějaká dodatečná entropie vytvoří. Hardwarovým generátorem se to dá
napravit, musí to být zašito v železe a inicializováno. Jak je to na PI
nevím, ty procesory by měly TRNG obsahovat, jen netuším jestli to
obsluhuje přímo jádro nebo je potřeba spustit nějaký obslužný démon jako
jsem to měl na desktopu (démon rngd,
https://github.com/nhorman/rng-tools). Poslední možnost je přesvědčit
SSH aby místo /dev/random používal /dev/urandom.
Na otestování lze použít příkaz
$ xxd /dev/random
uvidíte jak rychle a jak velké bloky jsou čteny, případně
$ xxd /dev/urandom
Mrazík
Dne 19. 09. 20 v 15:05 Jaroslav Buchta napsal(a):
> Uz to pozoruji podruhe, zrejme to souvisi s generatorem nahodnych cisel,
> ktery ma 2 urovne inicializace a ta druhá dlouho trvá. CPU je STM32MP
>
> Poprve to bylo u nejake distribuce pro OPI.
>
> Problem je, ze se do te doby nejde pripojit pres SSH, 2+ minuty uz
> docela vadi.
>
> debian na npi:~$ dmesg | grep rng
> [ 0.000000] random: get_random_bytes called from
> start_kernel+0xa0/0x494 with crng_init=0
> [ 137.057758] random: crng init done
>
> Ne(vy)resil to nekdo nahodou?
>
Další informace o konferenci Hw-list