1. 程式人生 > >HTTPS協議,SSL協議及完整交互過程

HTTPS協議,SSL協議及完整交互過程

對稱 secure 算法 sdn b2c 以及 網站 客戶端請求 交換

轉自:https://blog.csdn.net/dfsaggsd/article/details/50910999

SSL

1. 安全套接字(Secure Socket Layer,SSL)協議是Web瀏覽器與Web服務器之間安全交換信息的協議。

2. SSL協議的三個特性

? 保密:在握手協議中定義了會話密鑰後,所有的消息都被加密。

? 鑒別:可選的客戶端認證,和強制的服務器端認證。

? 完整性:傳送的消息包括消息完整性檢查(使用MAC)。

3. SSL的位置

技術分享圖片

HTTPS

1. HTTPS基於SSL的HTTP協議。

2. HTTPS使用與HTTP不同的端口(,一個加密、身份驗證層(HTTP與TCP之間))。

3. 提供了身份驗證與加密通信方法,被廣泛用於互聯網上安全敏感的通信。

交互過程

客戶端在使用HTTPS方式與Web服務器通信時有以下幾個步驟,如圖所示。

技術分享圖片

1) 客戶端請求建立SSL連接,並將自己支持的一套加密規則發送給網站。

2) 網站從中選出一組加密算法與HASH算法,並將自己的身份信息以證書的形式發回給瀏覽器。證書裏面包含了網站地址,加密公鑰,以及證書的頒發機構等信息

3) 獲得網站證書之後瀏覽器要做以下工作:

? 驗證證書的合法性

? 如果證書受信任,瀏覽器會生成一串隨機數的密碼,並用證書中提供的公鑰加密。

? 使用約定好的HASH計算握手消息,

? 使用生成的隨機數對消息進行加密,最後將之前生成的所有信息發送給網站。

4) 網站接收瀏覽器發來的數據之後要做以下的操作:

? 使用自己的私鑰將信息解密取出密碼

? 使用密碼解密瀏覽器發來的握手消息,並驗證HASH是否與瀏覽器發來的一致。

? 使用密碼加密一段握手消息,發送給瀏覽器

5) 瀏覽器解密並計算握手消息的HASH,如果與服務端發來的HASH一致,此時握手結束。

6) 使用隨機密碼和對稱加密算法對傳輸的數據加密,傳輸。

4. 密與HASH算法如下:

1) 非對稱加密算法:RSA,DSA/DSS,用於在握手過程中加密生成的密碼。

2) 對稱加密算法:AES,RC4,3DES,用於對真正傳輸的數據進行加密。

3) HASH算法:MD5,SHA1,SHA256,驗證數據的完整性。

5. HTTP與HTTPS的區別:

1) https協議需要申請證書。

2) http是超文本傳輸協議,明文傳輸;https使用的是具有安全性的SSL加密傳輸協議。

3) http端口80,;https端口443。

4) http連接簡單無狀態;https由SSL+HTTP協議構件的可進行加密傳輸、身份驗證的網絡協議。

HTTPS協議,SSL協議及完整交互過程