寫(xiě)在前面
此系列來(lái)源于開(kāi)源項(xiàng)目:前端 100 問(wèn):能搞懂 80%的請(qǐng)把簡(jiǎn)歷給我
為了備戰(zhàn) 2021 春招
每天一題,督促自己
從多方面多角度總結(jié)答案,豐富知識(shí)
介紹下 HTTPS 中間人攻擊
簡(jiǎn)書(shū)整合地址:前端 100 問(wèn)
正文回答
https協(xié)議由 http + ssl 協(xié)議構(gòu)成,具體的鏈接過(guò)程可參考SSL或TLS握手的概述
中間人攻擊過(guò)程如下:
- 服務(wù)器向客戶(hù)端發(fā)送公鑰。
- 攻擊者截獲公鑰,保留在自己手上。
- 然后攻擊者自己生成一個(gè)【偽造的】公鑰,發(fā)給客戶(hù)端。
- 客戶(hù)端收到偽造的公鑰后,生成加密hash值發(fā)給服務(wù)器。
- 攻擊者獲得加密hash值,用自己的私鑰解密獲得真秘鑰。
- 同時(shí)生成假的加密hash值,發(fā)給服務(wù)器。
- 服務(wù)器用私鑰解密獲得假秘鑰。
- 服務(wù)器用加秘鑰加密傳輸信息
防范方法:
- 服務(wù)端在發(fā)送瀏覽器的公鑰中加入CA證書(shū),瀏覽器可以驗(yàn)證CA證書(shū)的有效性