SSL協議
1.SSL協議(安全套接字協議)是Web瀏覽器與Web服務器之間安全交換信息的協議
2.SSL協議的三個特性
- 保密:在握手協議中定義了會話的密鑰後,所有的消息都被加密
- 鑑別:可選的客戶端驗證,和強制的服務器端驗證
- 完整性:傳送的消息包括消息完整性檢查
SSL的位置
HTTPS協議
- HTTPS協議就是基於SSL的HTTP協議
- HTTPS使用與HTTP不同的端口(HTTP:80 , HTTPS:443)
- 提供了身份驗證與加密通信方法,被廣泛用於互聯網上安全敏感的通信。
交互過程
客戶端在使用HTTPS方式與Web服務器通信時有以下幾個步驟
- 客戶端請求SSL連接,並將自己支持的加密規則發給網站。
- 服務器端將自己的身份信息以證書形式發回給客戶端。證書裏面包含了網站地址,加密公鑰,以及證書的頒發機構。
- 獲得證書後,客戶要做以下工作:
1)驗證證書合法性
2)如果證書受信任,客戶端會生成一串隨機數的密碼,並用證書提供的公鑰進行加密。
3)將加密好的隨機數發給服務器。 - 獲得到客戶端發的加密了的隨機數之後,服務器用自己的私鑰進行解密,得到這個隨機數,把這個隨機數作爲對稱加密的密鑰。
- 之後服務器與客戶之間就可以用隨機數對各自的信息進行加密,解密。
注意的是:證書是一個公鑰,這個公鑰是進行加密用的。而私鑰是進行解密用的。公鑰任何都知道,私鑰只有自己知道。這是非對稱加密。
而對稱加密就是鑰匙只有一把,我們都知道。
之所以用到對稱加密,是因爲對稱加密的速度更快。而非對稱加密的可靠性更高。
HTTP與HTTPS的區別
1.HTTPS協議需要申請證書。
2.HTTP是明文傳輸;HTTPS使用的是具有安全性的SSL加密傳輸協議
3.HTTP端口是80;HTTPS端口號是443
4.HTTP連接簡單無狀態;HTTPS由SSL+HTTP協議構件的可進行加密傳輸、身份驗證的網絡協議。