Let's Encrypt 後量子證書
Let's Encrypt 正在實施後量子密碼學 (PQC) 以保護 Web 公鑰基礎設施 (PKI) 免受未來可能出現的具密碼分析能力的量子電腦之威脅。這次轉型以採用 Merkle Tree Certificates (MTCs) 為核心,旨在提供具量子抗性的身份驗證,同時提高證書核發過程的效率與透明度。
Merkle Tree Certificates (MTCs) 與效率
Let's Encrypt 正朝著使用 Merkle Tree Certificates 來取代傳統證書結構的方向邁進。MTCs 優化了 TLS 握手中的身份驗證路徑,與目前的 Web PKI 標準相比,即使在使用較大的後量子演算法時,也能減少傳輸的數據量。
在典型的 MTC 握手中,身份驗證路徑包含:
- 一個簽名 (signature)
- 一個公鑰 (public key)
- 一個包含證明 (inclusion proof)
這種精簡化的方法減少了通常與 PQC 演算法相關的開銷,因為 PQC 演算法產生的金鑰與簽名通常比 RSA 或 ECC 等傳統演算法更大。
內建的證書透明度
MTCs 的主要技術優勢之一是,透明度是核發過程的內在屬性,而非附加功能。在目前的 Web PKI 生態系統中,證書透明度 (Certificate Transparency, CT) 是「外掛」上去的;證書由憑證授權單位 (CAs) 核發,然後再另外記錄在日誌中,這需要在 TLS 握手中提供額外的簽名來證明已記錄。
有了 MTCs,證書無法存在於 Merkle tree 之外。這意味著核發與記錄日誌是同一個動作,從而透過設計使系統更安全,並消除了對獨立 CT 證明 (attestations) 的需求。
後量子身份驗證的緊迫性
雖然業界目前大部分的關注點都在「現在擷取,稍後解密」(Harvest Now, Decrypt Later, HNDL)——即今日擷取加密數據,待量子電腦出現後再進行解密——但身份驗證(簽名)的轉型同樣至關重要。
身份驗證遷移的複雜性在於它涉及難以輪換的長期資產,包括:
- 根憑證授權單位 (Root CAs)
- 代碼簽名金鑰 (Code-signing keys)
- 韌體更新金鑰 (Firmware update keys)
- 安全啟動證書 (Secure boot certificates)
此外,量子偽造的風險是「隱蔽的」,這意味著攻擊者可以使用量子電腦偽造簽名,而受害者卻無法得知觸發原因是由量子攻擊引起的。正如社群貢獻者 @tomgag 所言:
"A quantum forgery is operationally indistinguishable from, e.g., key exfiltration, a library bug, or a classical break... reactive migration against an unobservable trigger is structurally impossible."
社群觀點與技術疑慮
向 PQC 轉型會引發安全專家之間關於實施與信任的激烈辯論。
實施風險
某些專家警告,轉向 MTCs 涉及捨棄數十年來「經過實戰測試」的工具與輔助基礎設施。雖然效能提升被視為必要的權衡,但失去舊有系統的穩定性是一個值得注意的風險。
配置延遲
對於證書配置 (provisioning) 的「批次處理」方法提出了疑慮。如果證書配置的批次頻率太低,新伺服器可能會在獲取首張證書時面臨延遲;如果批次頻率太高,用戶端端的數據庫可能會變得臃腫。
對新演算法的信任
對於新 PQC 演算法的出處有疑慮。部分用戶擔心政府機構(如 NSA 或 EU)推動的演算法可能包含後門,並認為 Ed25519 和 RSA 等傳統演算法對於目前的需求仍然足夠。
量子能力的不確定性
一些觀察者質疑 PQC 的可行性,因為未來量子電腦的確切能力仍是未知數。其論點是,如果發生了突破性的進展,可能無法準確估計其後果或目前 PQC 防禦措施的有效性。