“Mi è stato chiesto circa l’utilità del monitoraggio della sicurezza dei livelli di entropia nel kernel di Linux. Questo richiede una spiegazione di come funziona la generazione casuale nei sistemi Linux. Quindi, casualità e il kernel Linux.
Questa è un’area in cui c’è una lunga confusione, in particolare tra alcuni sviluppatori del kernel Linux, incluso lo stesso Linus Torvalds.
Molto tempo fa (più di 20 anni), è stato progettato un generatore casuale seguendo la teoria dell’esaurimento dell’entropia. Funziona così: in ogni momento, il generatore ha uno stato interno (il “pool di entropia”) che ha contenuti sconosciuti agli attaccanti. La quantità di questa sconosciuta è chiamata “entropia” (inizialmente per analogia con la termodinamica, ma questa è solo un’analogia; non è una vera entropia termodinamica), ed è espressa con una scala logaritmica, in bit; in termini approssimativi, se il pool contiene “n bit di entropia”, ciò significa che i suoi contenuti sconosciuti possono essere uno qualsiasi dei 2^n valori possibili. (Questa è una definizione semplificata che presuppone che tutti i valori plausibili siano equiprobabili, ma lo farò per questa spiegazione.)
Ogni volta che alcuni bit vengono ottenuti dal pool, concettualmente perdono informazioni sul pool: se si estraggono k bit casuali, la restante parte sconosciuta può essere ridotta fino a valori possibili di 2^n-k, ovvero al pool di entropia è tolto k bit.”
Prosegui su On Linux’s Random Nuber Generation.
Lascia un commento