Pobieranie danych z od /dev/random
lub /dev/urandom
zdecydowanie nie pomoże, wszystko to będzie zrobić, to wyczerpywać swoją entropię basen, sprawiając, że problem jeszcze gorzej. Główną różnicą między tymi dwoma plikami jest to, że nawet gdy w jądrze zabraknie entropii, urandom
będzie generować losowe dane o niższej jakości, a jednocześnie random
blokować, dopóki nie będzie w stanie zebrać świeżych losowych danych o wysokiej jakości. PGP wymaga najwyższych możliwych danych losowych do wygenerowania bezpiecznych kluczy, więc zawsze będzie z nich korzystać /dev/random
.
Jeśli masz dobre losowe dane lub wyeksportujesz je z innego serwera /dev/random
, możesz to cat
zrobić na swoim serwerze, /dev/random
aby uzyskać więcej entropii. Jednak nigdy nie powinieneś używać cat
tego samego pliku dwa razy /dev/random
.
Jeśli często brakuje Ci entropii, możesz również rozważyć zainstalowanie czegoś takiego jak haveged , demona, który ponownie generuje entropię w tle i wypełnia /dev/random
w razie potrzeby.
Również może to być kuszące, aby podlinkowujemy /dev/random
się /dev/urandom
, ale to powinno być uważane za zagrożenie dla bezpieczeństwa, jak każdy klucz generowany przy użyciu może być mniej bezpieczne niż powinny. Chociaż może to pomóc w przypadku jednej mniej krytycznej aplikacji, należy wziąć pod uwagę każde inne możliwe użycie /dev/random
, w tym innych użytkowników generujących własne klucze, CSR itp.
Thomas Guyot-Sionnest
źródło
/dev/random
jest wysokiej jakości PRNG i zwykle nie powinien blokować./dev/random
to wysokiej jakości PRNG na nowoczesnych systemach BSD i Linux, oczywiście . Ale zablokuje się, jeśli nie będzie wystarczającej ilości entropii. Z drugiej strony/dev/urandom
nie zablokuje się, jeśli nie będzie wystarczającej ilości, ale w tym przypadku może ucierpieć jego losowość. W szczegółach istnieje wiele subtelności między losowymi i losowymi implementacjami między Linuksem a różnymi BSD, ale powyższe powinno być prawdziwe na wszystkich AFAIK.ping 8.8.8.8
), Jeśli posiadasz innego hosta sieciowego, spróbuj pingować co 100ms (jeśli twój RTT jest <100ms oczywiście). I / lub użyj,find
aby wyszukać pliki na dysku twardym i opróżnić pamięć podręczną RAM między każdym wyszukiwaniem plików./dev/random
nie blokuje na FreeBSD.dd if=/dev/random of=/tmp/rndtest bs=64M count=1
po nowym uruchomieniu, zajęło 2 kolejne uruchomienia, aby zobaczyć czas na wygenerowanie wzrostu pliku o 64 MB. Myślałem, że nie będę postrzegał tego efektu z urandomem jako danymi wejściowymi, ale FreeBSD wydaje się również blokować go, w przeciwieństwie do Linuksa.Możesz użyć
haveged
.haveged
jest demonem, który w razie potrzeby generuje entropię.źródło
Polecam wygenerować klucze gpg na lokalnym komputerze, który będzie miał znacznie lepszą losowość niż zdalny. A następnie migruj klucze za pomocą SSH na zdalny komputer.
Generowanie lokalne będzie szybsze (więcej źródeł dla entropii), bezpieczniejsze (nikt nie będzie mógł szpiegować procesu, jeśli komputer nie zostanie zainfekowany, większa losowość).
Jeśli nadal chcesz je generować zdalnie: w systemie Linux możesz wygenerować więcej entropii, po prostu pingując hosta (np.
ping 8.8.8.8
), Jeśli posiadasz innego hosta sieciowego, spróbuj pingować co 100ms (jeśli twój RTT jest <100ms oczywiście). I / lub użyj,find
aby wyszukać pliki na dysku twardym i opróżnić pamięć podręczną RAM między każdym wyszukiwaniem plików.Możesz również zainstalować,
haveged
ale przeczytać ograniczenia, jeśli uruchamiasz go w środowisku wirtualnym: https://wiki.archlinux.org/index.php/Haveged#Virtual_machinesźródło
W systemach opartych na Debianie możesz zainstalować
rng-tools
pakiet za pomocą atp-get, a następnie uruchomić demona, aby wygenerować entropię:Na serwerach CentOS-6
rng
demon jest instalowany jako jedno z podstawowych narzędzi (przynajmniej na większości systemów, na których pracowałem) i możesz uruchomić następującą komendę, aby go uruchomić, aby wygenerować entropię:źródło
zdecydowanie działa na maszynie Wirtualnej CentOS 7.2. Czasami chcesz utworzyć klucze GPG na maszynie wirtualnej, jeśli tworzysz grupę i chcesz, aby Twój klucz był nienaruszony.
źródło