GNU/Linux >> Znalost Linux >  >> Linux

Parametry Diffie Hellmana se stále počítají po 24 hodinách

Pokud openssl používá hodně CPU, pak není blokován čekáním na "entropii". OpenSSL je v tomto ohledu skutečně rozumné a používá kryptograficky zabezpečený PRNG k rozšíření počátečního jádra na tolik bitů, kolik potřebuje.

Když použijete dhparam OpenSSL nejen generuje DH parametry; chce také prosadit své sociální postavení tím, že se bude starat o to, aby pro modul použil takzvaný "silný prvočíslo", který je z hlediska bezpečnosti k ničemu, ale vyžaduje mnohem více výpočetního úsilí. "Silné prvočíslo" je prvočíslo p tak, že (p -1)/2 je také prvočíslo. Algoritmus primární generace vypadá takto:

  • Vygenerujte náhodné liché celé číslo p .
  • Otestujte, zda p je prvotřídní. Pokud ne, smyčka.
  • Otestujte, zda (p -1)/2 je prvočíslo. Pokud ne, smyčka.

Náhodná lichá 4096bitová celá čísla mají pravděpodobnost asi 1/2000, že budou prvočísla, a protože obě p a (p -1)/2 musí být prvočíslo, bude to vyžadovat průměrně generování a testování na primálnost asi 4 miliony lichých prvočísel. To bude nějakou dobu trvat.

Při přechodu z 2048 bitů na 4096 bitů se hustota silných prvočísel vydělí 4 a testy primality budou také asi 4krát pomalejší, takže pokud generování 2048bitového modulu DH trvá v průměru 1 hodinu, to samé stroj se stejným softwarem bude používat průměrně 16 hodin pro 4096bitový modul DH. Toto jsou pouze průměry; každá jednotlivá generace může být rychlejší nebo pomalejší, v závislosti na vašem štěstí.

Rozumným řešením by bylo přidat -dsaparam možnost.

openssl dhparam -dsaparam -out /etc/ssl/private/dhparam.pem 4096

Tato možnost dává pokyn OpenSSL, aby vytvořilo parametry DH „podobné DSA“ (p je takové, že p -1 je násobek menšího prvočísla q a generátor má multiplikativní pořadí q ). To je podstatně rychlejší, protože není nutné vnořovat testy primality, a tak budou generovány a testovány pouze tisíce, nikoli miliony kandidátů.

Pokud akademici vědí, parametry podobné DSA pro DH jsou stejně bezpečné; použití „silných prvočísel“ nemá žádnou skutečnou výhodu (terminologie je tradiční a ve skutečnosti neznamená nějakou extra sílu).

Podobně můžete také použít 2048bitový modul, který je již velmi daleko v zóně „cannot break it“. 4096bitový modul zpomalí výpočty DH (což není skutečný problém pro VPN; ty se vyskytují pouze na začátku připojení), ale ve skutečnosti nezlepší zabezpečení.

Do určité míry může 4096bitový modul uchvátit auditory, ale je nepravděpodobné, že by na auditory udělal velký dojem Raspberry-Pi, které je tak jako tak příliš levné.


Linux
  1. Proč po všech těch letech stále miluji tcsh

  2. Rekurzivní umount po připojení Rbind?

  3. Rozbitý systém po Chmod -r 644 /?

  1. Plánovat práci v nepravidelných intervalech?

  2. Proč podřízený proces stále žije poté, co byl nadřazený proces v Linuxu zabit?

  3. Po přihlášení spusťte bash skript

  1. Ověření syntaxe PHP.

  2. Jak předat parametry aliasu?

  3. Windows ekvivalentní xargs?