SSL
安全套接層(英語:Secure Sockets Layer,縮寫:SSL)是一種安全協議,由網景通信公司(Netscape)在1990年代中期開發,旨在為網際網路通信提供保密性和數據完整性保障[1][2]。SSL協議位於TCP/IP協議棧的傳輸層與應用層之間,為諸如HTTP(即HTTPS)、FTP、SMTP等高層應用協議提供加密通信服務[3][4]。SSL 3.0於1996年發布,是SSL協議的最終版本[5][6]。由於存在嚴重的安全漏洞,SSL協議的所有版本均已被其繼任者傳輸層安全協議(TLS)取代,並被IETF正式廢棄[7][6]。儘管如此,「SSL」一詞仍被廣泛用於指代其數字證書(即SSL證書),儘管這些證書目前實際使用的是TLS協議[8]。
歷史
SSL協議由網景通信公司開發,旨在保障其網景導航者(Netscape Navigator)瀏覽器與Web伺服器之間的通信安全。
SSL 1.0
網景於1994年設計了SSL協議的1.0版本,但由於存在嚴重的安全缺陷,該版本從未公開發布[5][9]。
SSL 2.0
1995年,網景發布了SSL 2.0版[5][7]。這是第一個公開發行的版本,但很快被發現存在多個嚴重漏洞,並於2011年通過RFC 6176被正式棄用[9][7]。
SSL 3.0
1996年,網景與密碼學家保羅·科赫(Paul Kocher)合作設計了SSL 3.0版[5][6]。該版本解決了SSL 2.0的諸多安全問題,獲得了廣泛認可和應用[5]。2011年,IETF將SSL 3.0的規範整理為RFC 6101發布,作為該協議的歷史記錄[6]。然而,SSL 3.0隨後被發現存在POODLE等安全漏洞,於2015年被正式棄用[5][7]。
協議架構
SSL被設計為一種兩層協議,建立在可靠的傳輸層協議(如TCP)之上[4]:
- SSL記錄層(SSL Record Layer):位於底層,負責對來自上層的數據進行分塊、壓縮、加密和封裝,並添加消息認證碼(MAC)以保證數據的完整性和機密性[4][2]。
- SSL握手協議(SSL Handshake Protocol):位於記錄層之上,是SSL協議的核心。它允許客戶端和伺服器在傳輸應用數據之前,相互驗證身份、協商加密算法和會話密鑰[4][2]。
安全服務
- 信息保密(Confidentiality):通過使用公開密鑰和對稱密鑰技術,對客戶端和伺服器之間傳輸的所有數據進行加密,防止被第三方竊聽[4]。
- 信息完整性(Data Integrity):通過使用共享密鑰和哈希函數,確保傳輸的信息在傳遞過程中不被篡改或破壞[4]。
- 雙向認證(Authentication):允許客戶端和伺服器在握手階段交換數字證書,以驗證彼此的身份,防止冒名頂替[4]。
與TLS的關係
傳輸層安全協議(TLS)是SSL協議的繼任者,其設計基於SSL 3.0[9][8]。
- 繼承與演進:TLS 1.0於1999年由IETF發布,可被視為SSL 3.1[9][2]。此後,IETF繼續發布了TLS 1.1(2006年)、TLS 1.2(2008年)和TLS 1.3(2018年)[9][7]。
- 核心差異:與SSL相比,TLS提供了更強的安全性、更現代的加密算法,並修復了SSL協議中存在的諸多已知漏洞[8][7]。
- 現狀:截至2022年,所有版本的SSL協議均已被廢棄,TLS 1.2和TLS 1.3是當前推薦使用的安全協議版本[7]。
應用與影響
SSL協議是網際網路上最早被廣泛採用的通信安全協議,為電子商務、網上銀行等應用的興起奠定了基礎[3]。儘管SSL本身已被淘汰,但其核心設計思想被TLS協議完整繼承。同時,「SSL」這一術語作為安全套接層技術的代名詞被保留下來,「SSL證書」的稱呼沿用至今,儘管這些證書實際提供的是TLS加密[8]。
參考文獻
- ↑ OpenSSL — 百度百科
- ↑ 2.0 2.1 2.2 2.3 傳輸層安全協議 — 百度百科
- ↑ 3.0 3.1 3.2 安全套接層協議(SSL)簡介 — IT168
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 安全套接層 — 百度百科
- ↑ 5.0 5.1 5.2 5.3 5.4 5.5 SSL協議版本歷史
- ↑ 6.0 6.1 6.2 6.3 RFC 6101: The Secure Sockets Layer (SSL) Protocol Version 3.0 — IETF
- ↑ 7.0 7.1 7.2 7.3 7.4 7.5 7.6 SSL 與 TLS 協議的區別詳解 — Baeldung
- ↑ 8.0 8.1 8.2 8.3 SSL和TLS到底啥區別? — GlobalSign
- ↑ 9.0 9.1 9.2 9.3 9.4 SSL/TLS協議安全系列:SSL/TLS概述 — Seebug