Jak zapewne wiesz, generowanie entropii na maszynie wirtualnej nie jest tak łatwe, jak na „normalnym” komputerze. Generowanie klucza gpg na maszynie wirtualnej może chwilę potrwać, nawet przy użyciu odpowiednich narzędzi.
Istnieje wiele innych funkcji kryptograficznych, które nie są tak świadome entropii, jak gpg.
Czy można więc powiedzieć, że szyfrowanie jest mniej bezpieczne na maszynie wirtualnej?
Odpowiedzi:
Przede wszystkim powiem, że wcale nie jestem ekspertem od bezpieczeństwa.
Ponieważ tworzenie klucza gpg jest używane
/dev/random
jako generator liczb losowych, jest tak samo bezpieczne na maszynie wirtualnej, jak na prawdziwej maszynie./dev/random
jest urządzeniem blokującym i przestanie dostarczać losowość przekraczającą dostępną kwotę. Możesz sprawdzić swoją dostępną losowość docat /proc/sys/kernel/random/entropy_avail
(powinno wynosić około 2000 )W maszynie wirtualnej dostępna losowość jest rzeczywiście niższa niż na prawdziwej maszynie, z powodu braku dostępu do sprzętu.
Możesz zwiększyć entropię, np. Stosując klucze entropii i / lub przełączając się na maszynę niezwirtualizowaną.
Dostępny jest miły artykuł na temat entropii na maszynach wirtualnych. Niestety obie części artykułu są teraz dostępne tylko w pamięci podręcznej Google.
Entropia ma dalszy wpływ na dowolne szyfrowanie ssl / tls. Tak więc użycie
/dev/urandom
lub dowolne, nie tak naprawdę losowe źródło ma rzeczywiście wpływ na bezpieczeństwo twoich aplikacji.Pod względem wiarygodności w
/dev/urandom
porównaniu z prawdziwą przypadkowością;przepraszam, nie jestem w stanie udzielić ci porządnej odpowiedzi.
Więcej informacji na ten temat można znaleźć na stronie http://security.stackexchange.com i / lub przeczytać np. ten post
źródło
/dev/urandom
korzysta z kryptograficznie bezpiecznego PRNG (obsadzonego tą samą pulą co/dev/random
), więc nie powinno być problemu, o ile w tej puli była wystarczająca początkowa entropia. Rozsiewanie go z puli entropii maszyny nadrzędnej może mieć sens.Tak, w większości przypadków kryptografia jest mniej bezpieczna na maszynie wirtualnej niż na „prawdziwym” serwerze.
Ten ostatni może przynajmniej zebrać entropię z jakiegoś faktycznego sprzętu. W rzeczywistości działanie części sprzętu jest - w większości przypadków - związane z jakimś zjawiskiem fizycznym, które zawsze podlega niewielkim zmianom, losowym według wszystkich relacji. Ponieważ serwery zwykle działają bardzo długo bez resetowania, wynikowa pula entropii będzie w końcu mieć wystarczającą jakość.
Maszyny wirtualne mają trzy problemy.
Najlepszym rozwiązaniem jest, aby maszyna wirtualna po prostu się poddała i zdała sobie sprawę, że widziany sprzęt jest złym źródłem entropii. Następnie zorganizuj usługę sieci lokalnej w celu dystrybucji wysokiej jakości entropii (patrz Broker Entropy ). „Serwer entropii” może wyodrębniać losowość z ogólnego oprogramowania sprzętowego (w takim przypadku musi działać przez wystarczający czas i musi mieć przyzwoity system operacyjny) lub z określonego oprogramowania kryptograficznego (układ TPM, układ kłódki VIA itp.).
Maszyna wirtualna korzystająca z takiej usługi może być nawet bardziej bezpieczna (pod względem kryptograficznym) niż „prawdziwy” serwer, który właśnie się uruchomił.
źródło