
我想知道如何使我的伺服器盡可能安全。我使用 OpenSSH 使用 RSA 金鑰連接到它。然而,該方法有一點讓我困擾:為了產生 RSA 金鑰,我沒有產生「熵」。
以下是一個範例:在 Windows 上,若要使用 VeraCrypt 加密資料夾,系統會要求使用者執行互動(滑鼠移動)以使 RSA 金鑰更加隨機。我們可以在 openssl 或 libressl 中重現它嗎?
此外,我在某處讀到,如果您了解 CPU(通常是政府)的設計,您可能會大大減少暴力破解 RSA 私鑰的時間。
答案1
我在某處讀到,如果您了解 CPU(通常是政府)的設計,您可能會大大減少暴力破解 RSA 私鑰的時間。
了解原因很重要,您所描述的熵不適用於 RSA 金鑰。
在 RSA 中,這種不對稱性是基於兩個大質數乘積因式分解的實際困難,即「因式分解問題」。
來源:RSA(密碼系統)
同樣地,
證書產生的全部要點是從您的檔案或隨機數產生器建立隨機數,作為演算法的雜訊輸入以產生非常大的素數。訣竅在於獲得這些素數。在 4096 位元的熵池中,正如haveged(8)將提供的那樣,在所有時間都充滿的情況下,某人重新產生相同質數的能力,即使他們完全了解您的系統也是極不可能的。
OpenSSL 和 LibreSSL 預設情況下使用作業系統的核心作為熵來源。 除了暴力嘗試之外,沒有已知的漏洞可以破解具有顯著且適當大小的 RSA 金鑰。
OpenSSL 和 LibreSSL 本身並不支援你想要的。但是,您可以使用類似的東西PuTTY 密鑰產生器,做你想做的事。使用 OpenSSL 產生憑證時,您需要使用透過適當的 OpenSSL 指令產生的金鑰。
我們可以在 openssl 或 libressl 中重現它嗎?
OpenSSL 和 LibreSSL 不支援從老鼠移動中收集熵。