
安全套接字層(SSL)協議是一種傳輸層安全協議,用來建立客戶端和服務端兩者間的安全通道。該協議主要藉助公開密鑰體制與X.509數字證書技術保證安全性,包括服務器認證、客戶認證、SSL鏈路上的數據完整性與保密性。
SSL協議在TCP/IP協議和所有應用層協議之間,給出可信任的端到端安全服務。對於信息應用系統來說,SSL在傳輸層向網絡連接實施加密,可保證在網絡傳輸時數據不存在被截取與竊聽。SSL藉助加密傳輸保障數據的機密性,利用MAC機制維護信息的完整性,用數字證書對發送與接收者的身份實施認證。
SSL協議用來維護正常運行在TCP上的所有應用協議,諸如HTTP、FTP、SMTP或Telnet的通信,在應用層協議前就已將加密算法、通信密鑰的協商與服務器的認證完成了。以後應用層協議傳送的數據均會被加密,因而確保通信的安全性。
SSL協議最常見的是用其保障HTTP的通信。SSL是http(安全超文本傳輸協議)的安全基礎。http是Netscape開發的並內置在瀏覽器中,用來壓縮與解壓數據,還會返回網絡上傳回的結果。http事實上用了Netscape的安全套接字層做HTTP應用層的子層。http與SSL符合用X.509數字認證。http是將安全當目標的HTTP通道,簡而言之就是安全版的HTTP。
SSL協議含兩個子層協議:
(1)SSL記錄協議:它建立在可信任的傳輸協議之上,給高層協議如數據封裝、壓縮、加密等功能的支持。
(2)SSL握手協議:它構建於SSL記錄協議上,用在實際的數據傳輸開始前,通信雙方的身份認證、協商加密算法、交換加密密鑰等。
SSL協議的長處是它是和應用層協議沒有關係的。高層的應用層協議可以透明地建立在SSL協議上面。SSL協議在應用層協議通信前就已完成加密算法、通信密鑰的協商及服務器認證。之後應用層協議傳送的數據均會被加密,因而確保了通信的私密性。此外,SSL用一個經通信雙方協商定下的加密算法與密鑰,對安全級別不一樣的應用均能找到不一樣的加密算法,從而用於數據加密。所以,對監聽與中間人攻擊的防範性相對較高。
