簡介
為了保護敏感數據在傳送過程中的安全,全球許多知名企業採用SSL(Security Socket Layer)加密機制。 SSL是Netscape公司所提出的安全保密協定,在瀏覽器(如Internet Explorer、Netscape Navigator)和Web伺服器(如Netscape的Netscape Enterprise Server、ColdFusion Server等等)之間構造安全通道來進行數據傳輸,SSL運行在TCP/IP層之上、套用層之下,為應用程式提供加密數據通道,它採用了RC4、MD5以及RSA等加密算法,使用40 位的密鑰,適用於商業信息的加密。同時,Netscape公司相應開發了HTTPS協定並內置於其瀏覽器中,HTTPS實際上就是HTTP over SSL,它使用默認連線埠443,而不是像HTTP那樣使用連線埠80來和TCP/IP進行通信。HTTPS協定使用SSL在傳送方把原始數據進行加密,然後在接受方進行解密,加密和解密需要傳送方和接受方通過交換共知的密鑰來實現,因此,所傳送的數據不容易被網路黑客截獲和解密。
然而,加密和解密過程需要耗費系統大量的開銷,嚴重降低機器的性能,相關測試數據表明使用HTTPS協定傳輸數據的工作效率只有使用HTTP協定傳輸的十分之一。假如為了安全保密,將一個網站所有的Web套用都啟用SSL技術來加密,並使用HTTPS協定進行傳輸,那么該網站的性能和效率將會大大降低,而且沒有這個必要,因為一般來說並不是所有數據都要求那么高的安全保密級別。
SSL加密並不保護數據中心本身,而是確保了SSL加密設備的數據中心安全,可以監控企業中來往於數據中心的最終用戶流量。從某個角度來看,數據中心管理員可以放心將加密裝置放在某個地方,需要使用時再進行套用,數據中心應該會有更合理的方法來應對利用SSL的惡意攻擊,需要找到SSL加密套用的最佳實踐。
工作方式
客戶端要收發幾個握手信號 :
傳送一個ClientHello訊息,說明它支持的密碼算法列表、壓縮方法及最高協定版本,也傳送稍後將被使用的隨機數。然後收到一個ServerHello訊息,包含伺服器選擇的連線參數,源自客戶端初期所提供的ClientHello。當雙方知道了連線參數,客戶端與伺服器交換證書(依靠被選擇的公鑰系統)。這些證書通常基於X.509,不過已有草案支持以OpenPGP為基礎的證書。伺服器請求客戶端公鑰。客戶端有證書即雙向身份認證,沒證書時隨機生成公鑰。客戶端與伺服器通過公鑰保密協商共同的主私鑰(雙方隨機協商),這通過精心謹慎設計的偽隨機數功能實現。結果可能使用Diffie-Hellman交換,或簡化的公鑰加密,雙方各自用私鑰解密。所有其他關鍵數據的加密均使用這個“主密鑰”。數據傳輸中記錄層(Record layer)用於封裝更高層的HTTP等協定。記錄層數據可以被隨意壓縮、加密,與訊息驗證碼壓縮在一起。每個記錄層包都有一個 Content-Type段用以記錄更上層用的協定。
套用
SSL 數據加密套用——SSL數字證書
SSL 數字證書根據可信強度,可以分為以下幾種:
域名型 SSL 證書(DVSSL)
企業型 SSL 證書(OVSSL)
增強型 SSL 證書(EVSSL)
企業 PKI 管理