HTTPS詳解

關(guān)于為什么使用HTTPS,為什么選用對(duì)稱加密和非對(duì)稱加密混合方式,網(wǎng)上有很多,可以參考如下兩篇文章:
1.HTTPS 原理詳解
2.一個(gè)故事講完https

HTTPS的步驟

  1. 瀏覽器發(fā)起請(qǐng)求http://www.itdecent.cn
  2. 服務(wù)器發(fā)送一個(gè)SSL證書給瀏覽器,SSL 證書中包含的具體內(nèi)容有,SSL證書的公鑰使用非對(duì)稱加密算法:
    (1)證書的發(fā)布機(jī)構(gòu)CA
    (2)證書的有效期
    (3)公鑰
    (4)證書所有者
    (5)簽名
  3. 瀏覽器驗(yàn)證證書是否有效
    驗(yàn)證步驟有:
    (1)首先瀏覽器讀取證書中的證書所有者、有效期等信息進(jìn)行一一校驗(yàn)
    (2)瀏覽器開始查找操作系統(tǒng)中已內(nèi)置的受信任的證書發(fā)布機(jī)構(gòu)CA,與服務(wù)器發(fā)來(lái)的證書中的頒發(fā)者CA比對(duì),用于校驗(yàn)證書是否為合法機(jī)構(gòu)頒發(fā)
    (3)如果找不到,瀏覽器就會(huì)報(bào)錯(cuò),說(shuō)明服務(wù)器發(fā)來(lái)的證書是不可信任的。
    (4)如果找到,那么瀏覽器就會(huì)從操作系統(tǒng)中取出 頒發(fā)者CA 的公鑰,然后對(duì)服務(wù)器發(fā)來(lái)的證書里面的簽名進(jìn)行解密
    (5)瀏覽器使用相同的hash算法計(jì)算出服務(wù)器發(fā)來(lái)的證書的hash值,將這個(gè)計(jì)算的hash值與證書中簽名做對(duì)比
    (6)對(duì)比結(jié)果一致,則證明服務(wù)器發(fā)來(lái)的證書合法,沒有被冒充
    (7)此時(shí)瀏覽器就可以讀取證書中的公鑰,用于后續(xù)加密了
    (8)如果沒有驗(yàn)證通過(guò),瀏覽器就會(huì)報(bào)錯(cuò),而用戶選擇了“了解風(fēng)險(xiǎn),繼續(xù)操作”,瀏覽器依然會(huì)取出公鑰往下進(jìn)行。
  4. 瀏覽器隨機(jī)選擇一個(gè)對(duì)稱加密算法和秘鑰,用第2步證書中的公鑰加密,傳輸給服務(wù)器
  5. 服務(wù)器收到后,用非對(duì)稱加密算法的私鑰解密(只有私鑰能解密),獲得后續(xù)傳輸使用的對(duì)稱加密算法和秘鑰
  6. 瀏覽器和服務(wù)器使用該對(duì)稱加密算法和秘鑰加密后的內(nèi)容進(jìn)行傳輸。

使用Fiddler等代理的時(shí)候,是如何能攔截https請(qǐng)求的

  1. fiddler攔截https請(qǐng)求,替換SSL證書中的公鑰,改為自己的公鑰(因?yàn)橛霉€加密的內(nèi)容只有私鑰才能解密,所以fiddler要替換為自己的公鑰),因?yàn)樾薷牧薙SL證書的內(nèi)容,fiddler并用自己的私有CA私鑰對(duì)內(nèi)容進(jìn)行了重簽名,導(dǎo)致瀏覽器驗(yàn)證簽名無(wú)效,故需要安裝fiddler的根證書使瀏覽器信任該CA。
  2. 瀏覽器拿到的SSL證書中的公鑰(其實(shí)為fiddler的公鑰,并不是服務(wù)器的公鑰),進(jìn)行上述第4步操作
  3. fiddler攔截上述第4步操作,替換其中內(nèi)容,使用真正的服務(wù)器公鑰加密和服務(wù)器通信,此后的所有通信中,fiddler先對(duì)服務(wù)器內(nèi)容解密,然后在用瀏覽器的對(duì)稱算法和公鑰加密傳輸給瀏覽器。達(dá)到攔截解析https的目的。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 超文本傳輸安全協(xié)議(HTTPS,常稱為 HTTP over TLS/SSL)是一種通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行安全通信的傳輸...
    MarchCd閱讀 7,334評(píng)論 1 22
  • 計(jì)算機(jī)通信原理 互聯(lián)網(wǎng)的關(guān)鍵技術(shù)就是TCP/IP協(xié)議。兩臺(tái)計(jì)算機(jī)之間的通信是通過(guò)TCP/IP協(xié)議在因特網(wǎng)上進(jìn)行的。...
    jackyshan閱讀 3,201評(píng)論 2 5
  • 協(xié)議 1、HTTP 協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議):是客戶端瀏覽器...
    大富帥閱讀 912評(píng)論 0 11
  • 一、前言 1.通信的加密(報(bào)文傳輸通道的加密,即對(duì)稱加密算法協(xié)商過(guò)程的加密) 2.內(nèi)容的加密(報(bào)文主體的加密,即對(duì)...
    南慕瑤閱讀 887評(píng)論 0 0
  • 不知怎么的,覺得有一門手藝,就可以找到自己。 每天散步的那條路的盡頭,有一個(gè)手藝人,一個(gè)記憶深刻的手藝人,一個(gè)做桌...
    13小八閱讀 212評(píng)論 0 0

友情鏈接更多精彩內(nèi)容