W systemach linuxowych można sprawdzić dostępną entropię (przydatne, aby wiedzieć, czy używasz /dev/random
do jakichkolwiek celów PRNG)
cat /proc/sys/kernel/random/entropy_avail
Jednak nie ma odpowiednika /proc
na komputerze Mac (AFAIK). Jak mogę sprawdzić dostępną entropię systemu na komputerze Mac? Używam OS X 10.7.3 (Lion)
Aby zaktualizować niektóre z moich komentarzy pod odpowiedzią Kyle'a - Jednym z powodów, dla których komputery Mac nie wyświetlają tych informacji, jest to, że nie są one potrzebne (w większości przypadków). Systemy Linux będą blokować połączenia, /dev/random
jeśli w puli nie ma wystarczającej ilości entropii. Na komputerach Mac okresowo dodaje się do puli entropii za pomocą SecurityServer
demona.
Jednak zauważa również, że jeśli z jakiegoś powodu demon zawiedzie, jakość wyjściowa spadnie bez żadnych oznak awarii :
Jakość jego produkcji zależy jednak od regularnego dodawania odpowiedniej entropii. Jeśli z
SecurityServer
jakiegoś powodu demon systemowy ulegnie awarii, jakość wydruku pogorszy się z upływem czasu bez wyraźnego wskazania samego urządzenia losowego.
Nawet jeśli ilość entropii nie jest łatwo dostępna, nie oznacza to, że jej nie ma i mogą istnieć przypadki, w których jej wiedza może być pomocna.
random
bezpośrednio przed uzyskaniem ważne liczby losowe ”.Odpowiedzi:
To nie jest rozwiązanie, ale wyjaśnienie, w jaki sposób entropia jest gromadzona i używana w Linuksie.
Linux ma dwie różne pule entropii:
/dev/random
a/dev/urandom
.Ta pierwsza jest prawdziwą losową pulą, zasilaną przez źródła entropii systemu.
Ten ostatni jest bardziej PRNG, taki jak te znalezione w BSD i OS X.
Jednak nawet urandom wymaga ziarna „prawdziwej” losowej entropii, aby uzyskać wysokiej jakości dane pseudolosowe. W najnowszych jądrach całkowity brak entropii w / dev / random nadal nie blokuje urandomu, ale urandom ponownie użyje ostatniego ważnego ziarna, dopóki nie będzie dostępna więcej entropii. Ponieważ urandom jest nieblokujący, większość usług wymagających stałego strumienia entropii używa go zamiast polegać na / dev / random.
Wciąż jednak istnieją pewne usługi, takie jak różne pakiety SSL, które nie są w stanie poradzić sobie z pseudolosową entropią, ale wymagają naprawdę nieprzewidywalnego źródła entropii. W takim przypadku nie można użyć urandom (ani żadnego innego PRNG), a / dev / random wchodzi w grę.
źródło
Mac OS X po prostu używa Yarrow . Nawet FreeBSD poszedł dalej i przeszedł do ulepszonej wersji o nazwie „Fortuna”.
Podsumowując, jest to kolejne przypomnienie Priorytety Apple nie obejmują bezpieczeństwa / niezawodności ani niczego podobnego.
źródło
Mac OS X, podobnie jak FreeBSD, nie polega na zewnętrznych źródłach entropii. Zamiast tego wykorzystuje generator liczb pseudolosowych oparty na algorytmie Yarrow . Ponieważ używa algorytmu, a nie puli entropii, nie trzeba się upewnić, że entropia „wystarczy” - zawsze będziesz mógł czytać z / dev / random bez blokowania .
Tak więc, aby odpowiedzieć na twoje pytanie, chyba że jesteś „paranoikiem” i musisz oprzeć swoją entropię na źródłach zewnętrznych (naciśnięcia klawiszy / ruchy myszy / itp.), W takim przypadku musisz to zrobić sam, ilość dostępnej entropii dla / dev / losowe użycie jest zawsze nieskończone.
źródło