SSL
SSL技術背景
随着Internet的普及,各種電子商務活動和電子政務活動發展迅速,數字證書也開始應用到各個領域中。說到SSL大家可能有點陌生,但是以SSL進行加密的應用層協議HTTPS大家應該就比較熟悉了。在标準HTTP協議下,客戶端與服務端直接通過TCP進行連接,以明文方式交互數據。當傳輸一些普通網頁數據時并沒有什麼問題,但是若用戶在浏覽網頁的過程中,需要向服務端傳輸一些如密碼,真實姓名,住址等敏感信息,我們不希望敏感信息被他人獲取,也不希望其遭到篡改或僞造。
舉一個網上購物的例子:B用戶此時在浏覽A公司的站點,這個站點正在出售香水,B用戶隻需向站點A提供一個包含下單數量,收貨地址和支付卡号等信息的訂單,就能順利收到A公司寄來的香水。但是如果在此過程中不采取一些安全措施,這個購物過程也許并不能順利進行。一個安全的通信需要滿足三個特性:機密性、數據完整性、身份認證,三者缺一不可。如果沒有機密性,入侵者可能截取B的訂單并獲取他的支付密碼等敏感信息;如果不能保證數據完整性,入侵者可以随便篡改B的訂單信息,比如将收貨地址改成自己地址;如果沒有身份認證,這個聲稱A公司的網站實際可能就是一個專門收集用戶信息的釣魚網站。
SSL
SSL工作過程
SSL協議工作主要分為三個階段,分别是握手連接,密鑰導出,數據傳輸。
第一階段
握手連接
通信雙方需要完成三個工作:
01
建立一條TCP連接
客戶端B發起一條去往服務端A的TCP連接,随後所有的數據傳輸都基于這條TCP連接。
02
驗證服務端身份
TCP建立完成後,客戶端B向服務端A發送Hello報文,服務端A使用其證書回應,客戶端B收到證書後,可以明确通信服務端身份的合法性。
03
分發pre-master key
客戶端B從收到的證書中提取公鑰,并本地結合Hello報文中的随機數生成pre-master key,使用服務端A的公鑰加密pre-master key,發送給服務端A,服務端A使用本地私鑰解密,獲取pre-master key,從而實現通信雙方pre-master key的分發,這一過程也稱為“數字信封”。
第二階段
密鑰導出
通信雙方使用相同方法,使用pre-master key結合密鑰交互算法和Hello報文中的随機數再次生成兩種對稱密鑰master key,作用分别如下:
兩種密鑰作用分别如下
會話加密密鑰:用來保護報文傳輸過程中的數據安全。
HMAC密鑰:用來檢查報文在傳輸過程中是否被篡改。
生成四個密鑰分别如下:(EA=EB,MA=MB)
EA:用于從A到B發送數據的會話加密密鑰
MA:用于從A到B發送數據的會話HMAC密鑰
EB:用于從B到A發送數據的會話加密密鑰
MB:用于從B到A發送數據的會話HMAC密鑰
第三階段
數據傳輸
本階段主要包含三個過程:
01
數據加解密
當完成SSL隧道建立後,所有的安全協商包括密鑰交互和數據傳輸都處于一個安全的連接中,并且客戶端也完成了服務端的合法身份檢查,通信雙方在不安全的環境中建立出一條安全連接。此時客戶端通過SSL隧道傳輸數據時,對數據進行加密處理,服務端收到加密後的數據,通過對稱密鑰進行解密,從而獲取數據實際傳輸内容。
02
完整性檢查
SSL數據流被分割成多個記錄,針對每個記錄附加一個加密密鑰和HMAC密鑰,客戶端B将加密後的數據包發送給服務端A,服務端A收到數據包後,分别進行數據解密和HMAC完整性檢查,查看數據包在傳輸過程中是否被篡改。
03
防重放檢查
發送方需要維護一個計數器,每發送一條記錄,則将自己的計數器增1,并且在計算HMAC值時,需要将該序号包含在HMAC記錄中,接收方也會跟蹤自己收到所有記錄的序号,并也記錄在HMAC校驗中,如果兩者計算相同,那麼則說明SSL記錄在傳輸過程中并沒有被惡意篡改順序。
SSL
SSL應用場景
SSL技術作為目前廣泛應用的一種傳輸加密産品,适用場景多,那麼舉例以下幾大應用場景:
通過部署企業網站安全加密,可以激活企業綠色安全标識域名,為潛在客戶帶來更可信的訪問體驗;通過部署企業應用安全加密,越來越多的中小企業可以将OA、CRM、ERP等系統部署在雲端,從而享受雲計算的高效與便捷性;通過部署支付體系安全加密,避免非法用戶對支付信息的劫持或欺詐;通過部署政務信息安全加密,避免釣魚網站或信息劫持,可以更加保證政務平台的公信力,通過部署SSL VPN技術,可以讓遠程用戶安全便捷訪問公司内網服務器,保證正常業務穩定運行。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!