HTTPS如何防止重放攻擊?
感謝應邀回到本行業的問題。
在回答這個問題之前我感覺我們因該先了解一個HTTPS。
HTTPS:是以安全為目標的HTTP通道,簡單講是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。
HTTPS協議的主要作用可以分為兩種:一種是建立一個信息安全通道,來保證數據傳輸的安全;另一種就是確認網站的真實性。
工作流程為:
第一步:客戶使用https的URL訪問Web服務器,要求與Web服務器建立SSL連接。
第二步:Web服務器收到客戶端請求后,會將網站的證書信息(證書中包含公鑰)傳送一份給客戶端。
第三步:客戶端的瀏覽器與Web服務器開始協商SSL連接的安全等級,也就是信息加密的等級。
第四步:客戶端的瀏覽器根據雙方同意的安全等級,建立會話密鑰,然后利用網站的公鑰將會話密鑰加密,并傳送給網站。
第五步:Web服務器利用自己的私鑰解密出會話密鑰。
第六步:Web服務器利用會話密鑰加密與客戶端之間的通信。
從其工作流程中,我們看出每個連接都會驗證證書,交換密鑰。別人就算截獲你的數據包,重新發送一遍,因為socket不一樣,密鑰也不一樣,后臺解密后應該是一對亂碼才對。所以https本身就是防止重放攻擊的。
歡迎您的關注和留言評論,您的關注和鼓勵才是給我們最大的動力。
下一篇robo3t是什么