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


轉自: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協議構件的可進行加密傳輸、身份驗證的網絡協議。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM