HTTPS協議工做流程

被問到了,複習一下HTTPS的工做流程算法

提到https,不得不提SSL瀏覽器

SSL

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

2.    SSL協議的三個特性服務器

Ø  保密:在握手協議中定義了會話密鑰後,全部的消息都被加密。網絡

Ø  鑑別:可選的客戶端認證,和強制的服務器端認證。網站

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

3.    SSL的位置blog

客戶端在使用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協議構件的可進行加密傳輸、身份驗證的網絡協議

相關文章
相關標籤/搜索