信息安全領域的情況不斷變化。駭客的攻擊手段變得越來越大膽和複雜。入侵者發展出精密的多階段入侵方法。在這種情況下,與不斷進步的技術保持同步是數字數據保護的基本和必要步驟。因此,證書頒發機構(CA)不斷努力開發新解決方案並改進現有方案,以保持在線信息安全在最高水平。公鑰加密和數字證書用於提供一種新的身份驗證、隱私和個人數據傳輸安全性,這是僅靠密碼和口令無法維持的。
迄今為止,主要的密鑰算法,RSA 和 DSA,在互聯網安全領域經歷了廣泛的應用。而在超過 30 年的成功之後,現代 ECDSA(橢圓曲線數字簽名算法)密鑰也上場了。
DSA、RSA 和 ECDSA:回顧
DSA(數字簽名算法)是一種通過私鑰/公鑰對生成數字簽名的算法。該簽名是秘密創建的,但可以公開識別。這意味著只有一個主體可以實際上使用私鑰創建消息的簽名,但任何人都可以擁有相應的公鑰來驗證其有效性。這個算法是由美國國家標準技術院(NIST)於 1991 年 8 月提出,並與 SHA-1 哈希函數一起作為 DSS(數字簽名標準)的一部分於1994 年正式確立。
RSA(三位科學家的姓氏縮寫:Ron Rivest、Adi Shamir 和 Leonard 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 密碼學將有光明而美好的未來。