免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
HTTPS報文抓包流程筆記(202206201611)

簡單抓了個HTTPS包,過了一遍流程。不涉及具體技術(shù)細節(jié)。

幾項關(guān)鍵技術(shù)的簡單說明,詳見這篇筆記:

HTTPS相關(guān)算法基本概念-知乎專欄

HTTPS簡單來說,就是使用SSL對HTTP報文進行加密傳輸。

SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對網(wǎng)絡連接進行加密。

一、密文解析方法:

HTTPS報文本身是加密的,wireshark也無法解析。因此需要將HTTPS生成的隨機數(shù)(premaster-secret)提供給wireshark,wireshark才能正確解讀密文。

具體配置方法(WINDOWS):

建立path變量 SSLKEYLOGFILE=c:\ssl.key
重啟firefox/chrome,訪問https網(wǎng)站會自動生成ssl session key
在wireshark中配置:編輯-首選項-Protocol-SSL-(Pre)-Master-Secret log filename 設置為之前配置的ssl.key文件,即可解密抓到的SSL密文

二、準備過程(DNS、TCP與302跳轉(zhuǎn)):

在電腦瀏覽器輸入

www.baidu.com

,此時請求的是HTTP報文。

2.1 DNS解析:獲得baidu網(wǎng)站IP地址

2.2 TCP建立連接:HTTP服務基于TCP連接,根據(jù)前述DNS解析結(jié)果建立連接。

2.3 HTTP請求與響應:可見,服務器響應了一個302 Moved Temporarily 重定向報文,定向到 https://www.baidu.com,接下來進入HTTPS報文請求環(huán)節(jié)。

三、SSL/TLS報文交互(即HTTPS如何通過非對稱算法得到一個對稱密鑰用于加密)

注:此處發(fā)生了一次亂序,導致了一次SACK確認,181與180行的先后順序顛倒了。

下圖為TLS/SSL報文交互流程示意圖。

      Client                                               Server

         ClientHello
        (empty SessionTicket extension)-------->
                                                         ServerHello
                                     (empty SessionTicket extension)
                                                        Certificate*
                                                  ServerKeyExchange*
                                                 CertificateRequest*
                                      <--------      ServerHelloDone
         Certificate*
         ClientKeyExchange
         CertificateVerify*
         [ChangeCipherSpec]
         Finished                     -------->
                                                    NewSessionTicket
                                                  [ChangeCipherSpec]
                                      <--------             Finished
         Application Data             <------->     Application Data

其中ServerKeyExchange為DH算法專有(RSA算法則無)

175報文:用戶端發(fā)起Client Hello,攜帶版本信息與random數(shù)(客戶端),并在Cipher Suites中提供了所有可用的加密協(xié)議。

由于之前未建立過連接,攜帶length為0的Session id,表明期待一個SessionTicket

179,181報文:服務器端答復Server Hello,選定加密協(xié)議(本次抓包為ECDH),并傳遞自己的certificate給客戶端。

以baidu為例:其證書中最重要的兩部分內(nèi)容就是公鑰與數(shù)字簽名。其中數(shù)字簽名,即確保該certificate為真百度網(wǎng)站所提供的證書。公鑰,則用于與百度網(wǎng)址進行RSA不對稱算法的數(shù)據(jù)交互,生成可靠密鑰。

180: 服務器端發(fā)送Server Key Exchange與Server Hello Done

Server Key Exchange發(fā)送了DH算法中的Kb值,并使用RSA簽名方式進行了簽名確保身份。(如果使用RSA則無此報文)。
Server Hello Done則表明Server端的報文已結(jié)束。

至此,Server已經(jīng)提供了證書、公鑰、Kb,并發(fā)送Hello Done進行確認。如果Server端需要驗證Client端的身份,則需在發(fā)送Hello Done前發(fā)起Certificate Request,Client端就會類似Server端一樣,發(fā)送證書以及Client公鑰(一般Client端的證書與公鑰主要通過U盾模式提供,用于安全要求較高的網(wǎng)銀等場景)。

184:客戶端答復Client key Exchange,Change Cipher Spec Protocol,F(xiàn)inished

Client Exchange即DH算法中的Kb(由于不驗證Client端身份,所以Client不需要傳遞Signature)。
Change Cipher Spec代表Client已經(jīng)完成了全部協(xié)商,接下來的數(shù)據(jù)包將使用TLS進行封裝傳輸。
Finished:最后發(fā)送finish報文表示結(jié)束。

------至此雙方已經(jīng)交互了所有的DH算法所需的參數(shù),均可計算得出對稱密鑰s。------

187:服務器端答復New Session Ticket,Change Cipher Spec Protocol,F(xiàn)inished

Session Ticket用于TLS中斷后重新接續(xù)Session

Change Cipher Spec 代表Server端告知Client接下來的報文將使用TLS加密進行傳輸

Finished表示TLS連接建立過程結(jié)束

四、HTTPS報文傳輸

在發(fā)送Change Cipher Spec與Finished報文后,客戶端即向服務器端發(fā)送加密的HTTP over TLS 報文;
服務器端在發(fā)送Change Cipher Spec與Finished報文后,同樣使用HTTP over TLS應答HTTP 200 OK報文。

使用前述抓包方法可以在wireshark中解開加密的字符串,看到其中的密文:HTTP 200 OK響應報文

注:wireshark用于解密HTTPS報文的本地key,應該是指本地生成的隨機數(shù)(RSA中的premaster隨機數(shù)或DH中的a隨機數(shù)),而非RSA公鑰/私鑰

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
wireshark如何抓取分析https的加密報文
HTTPS 加密算法原理機制解析 – 碼農(nóng)網(wǎng)
抓包神器 Wireshark,幫你快速定位線上網(wǎng)絡故障(5)
深入理解HTTPS原理、過程與實踐
通過抓包深入分析HTTPS
用wireshark解密HTTPS流量
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服