https的特點
1. https有 握手階段 和 請求階段
2. 握手階段 使用 非對稱加密演算法
請求階段 使用 對稱加密演算法
3. 保證資料的完整性使用數字簽名
4. 握手階段有兩組非對稱加密,數字證書本身有一組公私鑰,用於將伺服器公鑰傳送到客戶端。
伺服器也有一組公私鑰,用於將客戶端的隨機密碼傳送到伺服器。
https基本過程
1. 客戶端請求伺服器,伺服器返回數字證書(裡面包括,伺服器公鑰,網站地址,證書頒發機構),數字證書本身使用證書私鑰加密
2. 解密證書,驗證證書數字簽名,通過作業系統和瀏覽器內建的CA證書資訊。驗證通過後,客戶端生成一個隨機密碼,用接收到的伺服器公鑰將其加密,傳送到伺服器
3. 用伺服器私鑰解密,得到隨機密碼
4. 握手結束,之後的通訊全部使用隨機密碼進行對稱加密通訊
https的缺點
1. 握手階段增加了伺服器和客戶端的開銷,延長了通訊時間
2. 通訊階段使用對稱加密也會增加伺服器和客戶端的負擔