HTTPS
HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer)沈跨,是以安全為目標的 HTTP 通道,簡單講是 HTTP 的安全版商叹。即 HTTP 下加入 SSL 層燕刻,HTTPS的安全基礎是 SSL,因此加密的詳細內容就需要 SSL剖笙。
SSL 證書
網站需要向特定的組織或服務商申請 SSL 證書卵洗。
包括一個 公鑰 和 私鑰。
其中 私鑰 只有網站自己知道弥咪。
而 公鑰 是公開的过蹂。例如:
HTTPS 工作流程
客戶端發(fā)送 HTTPS 請求,例如
https://wx.qq.com/
服務端將 公鑰證書 發(fā)送給客戶端
客戶端檢查下 公鑰 證書有沒有問題聚至,例如頒發(fā)機構酷勺,過期時間。
如果沒有問題扳躬,生成一個隨機值脆诉,我們稱之為 會話密鑰甚亭,例如 123,將該隨機值通過 公鑰 加密库说,發(fā)送給服務端狂鞋。
(這樣就算發(fā)送途中報文被其他人獲取,也無法被破解潜的,因為破解需要 私鑰 信息骚揍,而 私鑰 信息只保存在服務端)服務端收到報文后,通過 私鑰 解密啰挪,得到該隨機值 123信不,我們稱之為 會話密鑰。
隨后亡呵,服務端想要給該客戶端發(fā)送任何消息的時候抽活,都將該消息通過該會話密鑰 123 進行對稱加密。
(什么是對稱加密:即加密和解密用的是同一個密鑰锰什。
這樣就算發(fā)送途中報文被其他人獲取下硕,也無法被破解,因為破解需要 該隨機值 信息)客戶端收到報文后汁胆,通過本地保存的會話密鑰 123 解密梭姓,得到具體的內容。
客戶端想要給服務端發(fā)送任何消息的時候嫩码,也是都將該消息通過該會話密鑰 123 進行對稱加密誉尖。
流程圖如下:
引用自 https://www.cnblogs.com/linianhui/p/security-https-workflow.html