Jaka jest prawidłowa dostępna entropia w systemach UNIX?

12

Mam trzy pytania związane z entropią w systemach UNIX:

  1. Sprawdzę entropia na Linux przy użyciu: cat /proc/sys/kernel/random/entropy_avail. Czy to standardowe miejsce z informacjami o dostępnej entropii zdefiniowane w POSIX?
  2. Jakiej poprawnej dostępności mogę się spodziewać? Słyszałem, że entropia powinna być równa lub większa niż 100 i że może występować problem, jeśli entropia jest stale poniżej 100.
  3. Czy ta entropia jest używana przez nią, /dev/randomczy też ma z tym coś wspólnego /dev/urandom?
syntagma
źródło

Odpowiedzi:

9

/dev/randomnie jest znormalizowany. POSIX nie zapewnia żadnego sposobu generowania kryptograficznie bezpiecznych danych losowych i nie ma pojęcia entropii.

Obliczenia entropii jądra Linuksa odpowiadają modelowi entropii opartemu na teorii informacji, który nie ma zastosowania w praktyce. Jedyny przypadek, w którym jest to istotne, dotyczy nowego urządzenia, które nigdy nie miało czasu na akumulację entropii (dotyczy to dystrybucji na żywo; zainstalowane systemy zapisują entropię od jednego rozruchu do drugiego). Poza tą sytuacją entropia jest zawsze wystarczająca, ponieważ entropia się nie wyczerpuje. Ponieważ /dev/randombloki Linuksa, gdy myśli, że nie ma wystarczającej entropii, używaj /dev/urandom, która nigdy nie blokuje. Korzystanie /dev/urandomjest dobre do wszystkiego, w tym do generowania kluczy kryptograficznych (oprócz, jak wspomniano powyżej, na świeżo wybitym urządzeniu).

W podsumowaniu:

  1. Nie, to nie jest standard.
  2. Nie obchodzi cię to.
  3. Zastosowanie/dev/urandom .

Wiele, ale nie wszystkie systemy uniksowe mają /dev/urandomi /dev/random. Zobacz stronę Wikipedii na bardziej szczegółowe omówienie.

Gilles „SO- przestań być zły”
źródło