OpenSSL 4.0清理十年技術債,加入後量子密碼與ECH支援

加密函式庫OpenSSL專案正式釋出4.0.0版,這版移除SSLv3協定支援、SSLv2 Client Hello與Engine機制,並新增ECH(Encrypted Client Hello)支援及後量子相關密碼學功能,是一次幅度較大的主要版本更新。

OpenSSL 4.0新版本清除歷史包袱,SSLv3協定的支援被完全移除,該協定自2015年即被標記為棄用,OpenSSL自1.1.0版起便預設關閉SSLv3,此次4.0版則是徹底將其從程式碼中剔除。同樣被移除的還有SSLv2 Client Hello的支援。

另一項影響深遠的改變是完全移除Engine機制。Engine是OpenSSL長期用於對接硬體安全模組(HSM)等外部加密實作的擴充介面,在3.x版本中已逐步被Provider架構取代。 OpenSSL 4.0版正式將no-engine設為唯一選項,OPENSSL_NO_ENGINE巨集為持續啟用狀態,仰賴Engine機制的既有系統必須遷移至Provider架構。

此外,OpenSSL 4.0也移除多個早已標記為棄用的API,包括部分加密、摘要與金鑰相關自訂方法、固定版本的SSL/TLS方法函式,以及ERR_get_state()等函式。部分資料結構與X509相關公開API也調整得更嚴格,仰賴舊介面或直接存取內部成員的程式,在升級時可能需要修改。

OpenSSL 4.0受矚目的新功能,是依循RFC 9849規範實作的ECH支援。ECH可將TLS交握過程中的敏感Client Hello內容加密,包含實際SNI等資訊,降低網路路徑上第三方辨識連線目標的可能性,強化TLS隱私保護。

OpenSSL 4.0還新增多項密碼學功能,涵蓋中國商用密碼演算法、後量子密碼,以及新的雜湊函式等支援,例如RFC 8998相關功能、sm2sig_sm3、curveSM2、curveSM2MLKEM768、ML-DSA-MU與cSHAKE。在TLS層面,4.0版也新增TLS 1.2的FFDHE金鑰交換協商支援。

不過,OpenSSL 4.0並非長期支援版本,官方支援期僅至2027年5月14日,下一個版本OpenSSL 4.1預計於2026年10月釋出。