Oltre a essendo impegnato a guidare WireGuard, Jason Donenfeld continua a lavorare pesantemente sul codice del generatore di numeri casuali (RNG) del kernel Linux. Per Linux 6.0, sono pronti numerosi miglioramenti RNG.

Per questa prossima versione del kernel Linux, il test di avvio di x86 RdRand è stato reso più affidabile per determinare se disabilitare o meno l’utilizzo di questa estensione se sembra difettosa. le opzioni”nordand”e”CONFIG_ARCH_RANDOM”sono state eliminate a favore delle opzioni”random.trust_cpu”e”CONFIG_RANDOM_TRUST_CPU”e altri miglioramenti RNG.

L’eccitante Donenfeld con le modifiche RNG di Linux 6.0 è un meccanismo per bootloader, hypervisor e Kexec per passare un seme casuale al kernel per inizializzare il generatore di numeri casuali. Spiega nella richiesta pull:

su x86 e m68k, ora c’è un meccanismo per bootloader, hypervisor e kexec per passare un seme casuale al kernel per inizializzare l’RNG. Questi meccanismi specifici della piattaforma non sono effettivamente in questo pull, ma arriveranno tramite l’albero x86 e l’albero m68k, ma vale comunque la pena menzionarli.

Le architetture basate sull’albero dei dispositivi hanno questa capacità dal 2019, tramite il parametro”rng-seed”poco utilizzato nell’FDT, ed EFI ha la sua cosa simile dal 2016, ma le piattaforme senza FDT né EFI sono state escluse.

Queste modifiche corrispondono al lavoro correlato in QEMU, previsto per il rilascio in 7.1, così come in kexec-tools, che aggiungono il supporto per questi meccanismi seed RNG del bootloader, sia quelli nuovi per x86 che per m68k, come oltre a utilizzare infine il parametro FDT”rng-seed”su piattaforme applicabili mancanti.

Presi insieme, questi rappresentano un piccolo passo verso l’eliminazione del problema dell’entropia del tempo di avvio, almeno dal punto di vista del kernel, fornendo un mezzo per trasferire la responsabilità su un livello della catena. Hypervisor e kexec sono ovviamente in una posizione eccellente per fornire questo, motivo per cui l’ho aggiunto prima lì. Ma anche questo apre opportunità per i bootloader di gestire in sicurezza i file seed, proprio come è stato fatto per molto tempo con i BSD e vari altri sistemi operativi. E alcuni firmware arm64 lo stanno già fornendo tramite il parametro FDT”rng-seed”.

Ulteriori dettagli sulle modifiche RNG per il ciclo del kernel Linux 6.0 tramite questa richiesta pull.

Categories: IT Info