Obecnie testuję gpg --genkey
na maszynie wirtualnej z systemem Linux. Niestety, to oprogramowanie wydaje się polegać na /dev/random
gromadzeniu entropii i uprzejmie prosi użytkownika o ręczne wpisywanie ekranów po ekranach kryptograficznie losowych danych wejściowych, więc może ostatecznie skończyć się generowaniem klucza, i nie znalazłem parametru wiersza polecenia aby użyć innego pliku jako źródła entropii (facet w tym filmie napotyka ten sam problem ...).
Jednak użytkownik powinien mieć swobodę wyboru użycia, /dev/urandom
ponieważ nie ma w tym nic złego . Jest to głównie wspomnienie starszych algorytmów PRNG, które były słabsze z kryptograficznego punktu widzenia. Na przykład, chociaż strona NetBSD przyznaje, że to rozróżnienie może być nadal przydatne na bardzo wczesnym etapie uruchamiania, opisuje takie rozróżnienie jako „folklor” i „wyimaginowaną teorię, która broni tylko przed modelami zagrożeń fantasy” . Nikt nie zgadza się ani z ilością entropii wymaganą przez to polecenie, ani z faktem, że entropia jest faktycznie konsumowana, jak podano na stronie GPG („PROSZĘ, nie używaj tego polecenia, chyba że wiesz, co robisz, może to usunąć cenną entropię z systemu!” ).
Czytałem o ludziach instalujących rngd
demona i skonfigurowałem go tak, aby używał /dev/urandom
źródła entropii do zasilania /dev/random
, ale uważam, że taka praktyka jest bardzo brudna.
Próbowałem obejść ten problem w sposób FreeBSD, usuwając /dev/random
i łącząc go z /dev/urandom
:
rm /dev/random
ln -s /dev/urandom /dev/random
Widzę to jako ustawienie „Ufam /dev/urandom
jako źródło entropii” .
Obawiałem się, że napotkam jakiś błąd, ale wydaje się, że zapewnia oczekiwany wynik, ponieważ polecenie natychmiast powraca.
Moje pytanie brzmi: czy istnieje jakiś znany, praktyczny i niewłaściwy efekt uboczny linkowania /dev/random
do /dev/urandom
systemów Linux, jak to domyślnie wykonywane w systemach FreeBSD? Czy można przewidzieć ustawienie tego na stałe (na przykład w skrypcie na końcu procesu rozruchu) w przypadku powtarzających się problemów z powodu /dev/random
zablokowania niektórych usług?