Come posso verificare l'entropia disponibile?

13

Sui sistemi Linux, è possibile verificare la disponibilità di entropia (utile sapere se stai toccando /dev/random per qualsiasi scopo PRNG) con

cat /proc/sys/kernel/random/entropy_avail

Tuttavia, non esiste un equivalente di /proc su un Mac (AFAIK). Come posso verificare l'entropia del sistema disponibile su un Mac? Sto usando OS X 10.7.3 (Lion)

Per aggiornare con alcuni dei miei commenti sotto la risposta di Kyle - Uno dei motivi per cui i Mac non visualizzano queste informazioni è che non è necessario (nella maggior parte dei casi). I sistemi Linux bloccano le chiamate a /dev/random se non c'è abbastanza entropia nel pool. Su Mac, periodicamente continua ad aggiungere al entropy pool che utilizza il daemon SecurityServer .

Tuttavia, nota anche che se il demone fallisce per qualche motivo, la qualità dell'output diminuirà senza alcuna indicazione di errore :

The quality of its output is however dependent on regular addition of appropriate entropy. If the SecurityServer system daemon fails for any reason, output quality will suffer over time without any explicit indication from the random device itself.

Quindi, anche se la quantità di entropia non è resa disponibile facilmente, non significa che non sia lì e potrebbero esserci casi in cui la sua conoscenza potrebbe essere utile.

    
posta rm -rf 20.03.2012 - 22:47
fonte

3 risposte

6

Questa non è una soluzione, ma un chiarimento su come l'entropia viene raccolta e utilizzata in Linux.

Linux ha in realtà due diversi pool entropici:

/dev/random e /dev/urandom .

Il primo è un vero pool casuale, alimentato da sorgenti entropiche del sistema.
Quest'ultimo è più di un PRNG come quelli trovati su BSD e OS X.

Tuttavia, anche l'urandom richiede un seme di entropia casuale "reale" per produrre dati pseudo-casuali di qualità. Nei kernel recenti, una completa mancanza di entropia in / dev / random non bloccherà ancora l'urandom, ma urandom riutilizzerà l'ultimo seme valido fino a quando non sarà disponibile più entropia. Poiché urandom è non bloccante, la maggior parte dei servizi che richiedono un flusso costante di entropia lo utilizza piuttosto che fare affidamento su / dev / random.

Tuttavia ci sono ancora alcuni servizi, come varie suite SSL, che non possono accontentarsi di entropia pseudo-casuale, ma richiedono una fonte di entropia veramente imprevedibile. In questo caso, urandom (o qualsiasi altro PRNG) non può essere usato, e / dev / random entra in gioco.

    
risposta data 07.10.2012 - 07:17
fonte
2

Mac OS X utilizza semplicemente Yarrow . Anche FreeBSD è andato oltre e è passato alla versione migliorata chiamata "Fortuna".

Yarrow's strength is limited by the size of the key. For example, Yarrow-160 has an effective key size of 160 bits. If the security requires 256 bits, Yarrow-160 is not capable of doing the job.

Tutto sommato questo è un altro promemoria Le priorità di Apple non includono sicurezza / robustezza o qualcosa di simile.

    
risposta data 07.08.2017 - 13:20
fonte
1

Mac OS X, come FreeBSD, non si basa su fonti esterne di entropia. Invece, utilizza un generatore di numeri pseudocasuali basato sull'algoritmo Yarrow . Poiché utilizza un algoritmo e non un pool di entropia, non è necessario assicurarsi che ci sia "sufficiente" entropia - sarai sempre in grado di leggere da / dev / random senza bloccare .

Quindi, per rispondere alla tua domanda, a meno che tu non sia "paranoico" e devi basare la tua entropia su fonti esterne (sequenze di tasti / movimenti del mouse / ecc.), nel qual caso devi farlo tu stesso, la quantità di entropia disponibile per / dev / uso casuale è sempre infinito.

    
risposta data 02.04.2012 - 21:56
fonte

Leggi altre domande sui tag