知識庫

什麼是 ECC (Elliptic Curve Cryptography) 證書?

信息安全領域的情況不斷變化。駭客的攻擊手段變得越來越大膽和複雜。入侵者發展出精密的多階段入侵方法。在這種情況下,與不斷進步的技術保持同步是數字數據保護的基本和必要步驟。因此,證書頒發機構(CA)不斷努力開發新解決方案並改進現有方案,以保持在線信息安全在最高水平。公鑰加密和數字證書用於提供一種新的身份驗證、隱私和個人數據傳輸安全性,這是僅靠密碼和口令無法維持的。

迄今為止,主要的密鑰算法,RSA 和 DSA,在互聯網安全領域經歷了廣泛的應用。而在超過 30 年的成功之後,現代 ECDSA(橢圓曲線數字簽名算法)密鑰也上場了。

DSA、RSA 和 ECDSA:回顧

DSA(數字簽名算法)是一種通過私鑰/公鑰對生成數字簽名的算法。該簽名是秘密創建的,但可以公開識別。這意味著只有一個主體可以實際上使用私鑰創建消息的簽名,但任何人都可以擁有相應的公鑰來驗證其有效性。這個算法是由美國國家標準技術院(NIST)於 1991 年 8 月提出,並與 SHA-1 哈希函數一起作為 DSS(數字簽名標準)的一部分於1994 年正式確立。

RSA(三位科學家的姓氏縮寫:Ron RivestAdi ShamirLeonard Adleman)除了 DSA 外,已成為第一個適用於數字簽名和數據加密的加密系統,儘管這一概念早在1978 年就已被提出。RSA 算法包含三個主要步驟:密鑰對生成、加密和解密。公鑰通過公開通道傳送,而私鑰則保持秘密。用私鑰加密的數據只能用與之數學上相連的公鑰解密。RSA 可以用來確定數據來源的來源。

ECDSA(橢圓曲線數字簽名算法)基於 DSA,是橢圓曲線密碼學的一部分,這本身就是一個數學方程。ECDSA 是使橢圓曲線密碼學在安全性上有用的算法。Neal Koblitz 和 Victor S. Miller 在 1985 年獨立提出了在密碼學中使用橢圓曲線的想法,並在 2004 和 2005 年獲得了廣泛的應用。它與 DSA 不同之處在於,它不適用於有限域的整個數字,而是針對橢圓曲線的某些點來定義公鑰/私鑰對。

ECC 證書:優缺點

作為當前的金標準,RSA 密鑰算法是數字安全中使用最廣泛的算法。然而,根據現代使用移動設備和輕便設備的趨勢,"純網頁性能"已成為業務的重心。在這種情況下,密鑰的物理大小成為一個重要問題。

DSA 和 RSA 密鑰算法需要較大的密鑰大小,並可能因為分解一個大數而被攻破。當涉及到 ECDSA 時,必須解決橢圓曲線離散對數問題(ECDLP)才能破解該密鑰,而迄今為止在這方面的進展有限。因此,ECC 證書提供了更好的安全解決方案,並且使用一般駭客的 "暴力破解" 方法更難破解。

更短的密鑰大小無疑是其優勢之一。在下面的表中,我們比較了 RSA 和 ECDSA 密鑰大小,便於展示。

安全強度(位) RSA 公鑰長度(位) ECDSA 公鑰長度(位)
80 1024 160
112 2048 224
128 3072 256
192 7680 384
256 15360 512

從表中可以看出,為了在網絡客戶端和網絡服務器之間建立 256 位安全連接,標準的非對稱 RSA 算法需要使用 15360 位密鑰,而橢圓曲線算法僅需使用 512 位密鑰來達到相同的連接。密鑰越短,運算速度越快。 隨著加密強度要求的提高,密鑰和簽名的大小也隨之增長,執行加密操作所需的時間也在增長。從上面的表中可以看出,RSA 的增長率遠快於 ECC。主要涉及到的內容包括:

  • 更低的 CPU 需求;
  • ECC SSL 證書佔用的物理空間;
  • 帶寬;
  • 功耗;
  • 改進的服務器到瀏覽器性能;

所有新技術,包括 ECC SSL 證書,都需要一些時間來實施、接受和全球支持。截至目前,有一些 舊網頁瀏覽器版本與 ECC 證書存在兼容性問題。至於現代和最新的網頁客戶端,至少支持由 NSA 套件 B 提供的兩條曲線,例如 P-256 和 P-384。

以下網頁瀏覽器和操作系統將在 ECC SSL 正確鏈接到根證書的情況下顯示網站。

網頁客戶端支持

網頁客戶端 所需最低版本
Mozilla Firefox 2.0
Google Chrome 在 ECC 兼容操作系統上 1.0
Microsoft IE 在 ECC 兼容操作系統上 7
Apple Safari 在 ECC 兼容操作系統上 4

操作系統支持

操作系統 所需最低版本
Microsoft Windows Windows Vista
依賴於操作系統根存儲和根更新機制的 Windows 7 和 8
Apple OS OS X 10.6
Google Android 4.0
Red Hat Enterprise Linux 6.5

服務器支持

服務器 所需最低版本
Apache HTTP 服務器 2.2.26
Nginx 1.1.0
Windows Server 2008
Apache Tomcat 1.1.30
Dovecot 2.2.5
IBM HTTP 服務器 8.0 w/ PM80235
Sun Java System Web Server 7.0

值得一提的是,Comodo 證書頒發機構自 2008 年以來創建了 ECC 根證書,這些證書已在網頁瀏覽器中可用。在選擇使用 ECC 證書之前,了解它與網頁服務器環境的兼容性是明智的。一些移動平台的支持也需要進一步測試。不幸的是,目前尚未獲得準確的信息。然而,大多數流行的 Microsoft 和 Apache 網頁服務器都允許 ECC 證書的操作。一種可能的解決方案是安裝不同簽名算法的 SSL 證書,以支持客戶的能力。

總結來說,我們可以說 ECC 確實是現代密碼學的一項進步,這是支持 SSL 證書的基礎。性能提高、攻擊穩定性以及現有加密算法的可行替代品都是顯而易見的好處。儘管 RSA 算法在當今的應用非常廣泛,我們仍然預測 EC 密碼學將有光明而美好的未來。