Skonfiguruj domyślny algorytm generatora liczb losowych w systemie Windows.

1

Jak skonfigurować domyślny generator liczb losowych w systemie Windows? Windows 7 i nowszy.

Chciałbym sprawdzić, czy ustawiony jest algorytm „Generator losowych bitów determinujących podwójną krzywą eliptyczną (Dual EC DRBG)” . A jeśli domyślny generator jest ustawiony na „Dual EC DRBG”, chciałbym skonfigurować bardziej odpowiedni generator liczb losowych.

Zgodnie z tym postem na Cryptography StackExchange , konfiguracja generatora liczb losowych jest możliwa:

System Windows ma mechanizm konfigurowania domyślnego algorytmu RNG do użycia przez różne części systemu. Domyślne konfiguracje dla Windows 8.1, Windows Server 2012R2, Windows 8, Windows Server 2012, Windows 7 i Windows Server 2008R2 nie używają Dual EC DRBG jako domyślnego algorytmu generatora liczb losowych. Domyślny algorytm generatora liczb losowych dla tych wersji systemu Windows to AES_CTR_DRBG z SP800-90a.

Pascal
źródło
1
istnieją dziesiątki (DP) RNG zaimplementowanych w Windows do różnych celów i są używane przez różne elementy oprogramowania systemowego. Wątek, który podłączyłeś, tak naprawdę nie jest dyskusją na temat konkretnego protokołu za pomocą DPRNG, więc musisz najpierw zdecydować, który aspekt okien, które chcesz sprawdzić. możesz znaleźć ustawienia SecureChannel (TLS / SSL) w rejestrze, jak opisano tutaj: docs.microsoft.com/en-us/windows-server/security/tls/…, ale jest to bardzo użyteczne, więc chyba że uruchomisz webserver, to prawdopodobnie nie to, czego szukasz.
Frank Thomas
Interesuje mnie głównie RNG używany przez BCRYPT: BCRYPT_USE_SYSTEM_PREFERRED_RNG( docs.microsoft.com/en-us/windows/desktop/api/bcrypt/... ). Więc musi być flaga preferowana przez system, nie? OpenSSL polega również na tym samym rng do generowania liczb losowych ( rand_win.c ).
Pascal
Ponieważ jest to OpenSSL i DPRNG (co oznacza szyfr strumieniowy), domyślam się, że patrzysz na ustawienia SecureChannel. Nie wierzę, że cytat skopiowany z drugiego wątku jest poprawny (że istnieje sposób globalnego ustawienia ustawień szyfrowania dla wszystkich celów). Moje doświadczenia związane były z hartowaniem IIS dla TLS i są to zdecydowanie ustawienia specyficzne dla TLS.
Frank Thomas
Nie, naprawdę interesuje mnie bezpieczne generowanie liczb losowych. Użyłem OpenSSL jako przykładu, aby pokazać, jak zwykle generowane są liczby losowe - i jak wyglądają „najlepsze praktyki”. Interesuje mnie ten temat, ponieważ zastanawiamy się nad bezpiecznym wyposażaniem urządzeń w hali produkcyjnej.
Pascal,