日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

01 引言

成哥在Wireshark系列實(shí)戰(zhàn)案例中,分析過多種網(wǎng)絡(luò)問題,但唯獨(dú)沒有涉及到應(yīng)用層HTTPS協(xié)議的相關(guān)內(nèi)容。

今天通過wireshark捕獲HTTPS數(shù)據(jù)包,來給大家講解一下HTTPS的加解密過程。

我們先從HTTP協(xié)議說起。

02 HTTP協(xié)議

HTTP協(xié)議(超文本傳輸協(xié)議)是一種客戶端與Web服務(wù)器之間進(jìn)行應(yīng)用層通信的協(xié)議,主要用于WWW服務(wù)。

客戶端和web服務(wù)器端的之間通信為明文傳輸,數(shù)據(jù)直接交互,不存在任何安全性。如下圖所示:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

通過捕獲HTTP的數(shù)據(jù)包,可以看到HTTP會(huì)話中的Cookie和各種id信息。如下圖所示:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

HTTP雖然優(yōu)點(diǎn)眾多,但是其明文傳輸?shù)娜秉c(diǎn),就足以致命。從2017年開始,Chrome 瀏覽器已把采用 HTTP 協(xié)議的網(wǎng)站標(biāo)記為不安全網(wǎng)站,后續(xù)基本所有瀏覽器廠商都做了相同的標(biāo)記。

HTTP協(xié)議的不安全問題,催生了HTTPS協(xié)議的產(chǎn)生。

03 HTTPS協(xié)議

為了增強(qiáng)HTTP協(xié)議的安全性,網(wǎng)景公司設(shè)計(jì)出了能夠?qū)TTP協(xié)議進(jìn)行安全加密的傳輸方法,即在TCP/IP協(xié)議的傳輸層和應(yīng)用層之間新增了一層安全套接層。并將SSL和HTTP協(xié)議相結(jié)合,以實(shí)現(xiàn)安全的HTTP數(shù)據(jù)傳輸。這就是HTTPS協(xié)議,即"HTTP over SSL"或者"HTTP Secure"。

早期SSL是HTTPS使用的標(biāo)準(zhǔn)協(xié)議,之后IETF在SSL 3.0的基礎(chǔ)之SSL進(jìn)行標(biāo)準(zhǔn)化。形成傳輸層安全,即TLS。但它們本質(zhì)上是相同的,我們可以合稱TLS/SSL。

HTTP和HTTPS的區(qū)別如下圖所示:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

從圖中可以看出,HTTP協(xié)議和HTTPS協(xié)議主要的差別就是是否存在TLS/SSL層。即HTTPS協(xié)議= HTTP協(xié)議+SSL/TLS協(xié)議,在HTTPS數(shù)據(jù)傳輸?shù)倪^程中,需要用SSL/TLS對(duì)數(shù)據(jù)進(jìn)行加密和解密,然后使用HTTP對(duì)加密后的數(shù)據(jù)進(jìn)行傳輸。

04 密鑰算法

在介紹HTTPS協(xié)議的加解密過程前,先要學(xué)一些密碼學(xué)的知識(shí)。

(1)幾個(gè)基本概念

明文:指的是未經(jīng)過加密的原始數(shù)據(jù)。

密文:通過對(duì)明文進(jìn)行加密操作后得到的數(shù)據(jù)。

密鑰:一種參數(shù),通過在加解密算法中使用該參數(shù),可對(duì)明文進(jìn)行加密,或者對(duì)密文進(jìn)行解密。同時(shí),密鑰分為對(duì)稱密鑰與非對(duì)稱密鑰兩種,分別應(yīng)用在對(duì)稱密鑰算法和非對(duì)稱密鑰算上。

(2)對(duì)稱密鑰算法

使用相同密鑰和算法進(jìn)行加解密運(yùn)算的算法叫做對(duì)稱密鑰算法。示意圖如下所示:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

對(duì)稱加密的特點(diǎn)是算法公開、加密和解密速度快,適合于對(duì)大數(shù)據(jù)量進(jìn)行加密。

常見的對(duì)稱加密算法有DES、3DES、TDEA、Blowfish、RC5和IDEA。

(3)非對(duì)稱密鑰算法

非對(duì)稱密鑰算法對(duì)比對(duì)稱密鑰算法,其安全性更好。

使用對(duì)稱密鑰算法通信的雙方使用的是相同的密鑰,如果一方的密鑰遭泄露,那么整個(gè)通信就會(huì)被破解。而非對(duì)稱密鑰算法的雙方兩個(gè)不同的密鑰,即公鑰和私鑰,且二者成對(duì)出現(xiàn)。示意圖如下:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

私鑰被自己保存,不能對(duì)外泄露。公鑰指的是公共的密鑰,任何人都可以獲得該密鑰。用公鑰或私鑰中的任何一個(gè)進(jìn)行加密,用另一個(gè)進(jìn)行解密。

非對(duì)稱密鑰算法的主流協(xié)議是RSA,需要給每個(gè)參與者產(chǎn)生一對(duì)密鑰。共享私鑰到服務(wù)器,嚴(yán)格保障私鑰的安全性。

(4)SSL加解密解決方案

SSL加解密過程中同時(shí)使用到對(duì)稱密鑰和非對(duì)稱密鑰。如下圖所示。

加密過程:重要文件使用對(duì)稱密鑰加密(速度快,長(zhǎng)度不增加),形成加密文件。然后使用接收方的公鑰將對(duì)稱密鑰加密,保證對(duì)稱密鑰傳輸時(shí)的安全性。然后將加密文件和加密的對(duì)稱密鑰發(fā)送給接收方。

解密過程:接收方通過私鑰將對(duì)稱密鑰解密,獲得對(duì)稱密鑰,然后對(duì)加密文件進(jìn)行解密,獲取重要文件。

05 HTTPS協(xié)議加解密過程

成哥前文說,HTTPS協(xié)議= HTTP協(xié)議+SSL/TLS協(xié)議。HTTP協(xié)議傳輸過程較為簡(jiǎn)單,這里不做介紹。我們來看看SSL/TLS協(xié)議的加解密過程。

在瀏覽器訪問騰訊網(wǎng),通過wireshark軟件捕獲到的SSL/TLS數(shù)據(jù)包如下,可以看到完整的SSL/TLS加密通信過程,如下圖所示:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

對(duì)捕獲到的報(bào)文進(jìn)行整理,形成以下流程圖:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

(1)客戶端首先向目標(biāo)網(wǎng)站發(fā)送HTTPS請(qǐng)求,即Client Hello。

該數(shù)據(jù)包中給出了瀏覽器的TLS版本號(hào)、隨機(jī)數(shù)、支持的加密算法等信息。如下圖所示:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

(2)服務(wù)器端進(jìn)行應(yīng)答,即Server Hello。

該數(shù)據(jù)包中給出了服務(wù)器使用的TLS版本、隨機(jī)數(shù)、確認(rèn)雙方加密方法等信息。如下圖所示:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

(3)服務(wù)器端給出數(shù)字證書和公鑰,即Certificate、Server Key Exchange

該數(shù)據(jù)包中給出了數(shù)字證書以及服務(wù)器公鑰,如下圖所示:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

這里要特別說一下客戶端到底 如何來校驗(yàn)對(duì)方發(fā)過來的數(shù)字證書是否有效的?

我們從抓包中看到,服務(wù)器端將服務(wù)器證書、中級(jí)證書、CA證書等一并發(fā)送客戶端。如下圖所示:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

(4)客戶端根據(jù)客戶端的公鑰,計(jì)算出另一個(gè)公鑰,發(fā)送回服務(wù)器端,即Client Key Exchange、Change Cipher Spec、Encrypted Handshake Message。

證書校驗(yàn)成功之后,客戶端會(huì)生成一個(gè)隨機(jī)串然后使用服務(wù)器證書的公鑰進(jìn)行加密之后發(fā)送給服務(wù)器。

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

(5)服務(wù)器開啟New Session Ticket.

服務(wù)器通過使用自己的私鑰解密得到這個(gè)隨機(jī)值。開始使用這個(gè)隨機(jī)值進(jìn)行對(duì)稱加密開始和客戶端進(jìn)行通信。如下圖所示:

Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn):HTTPS加解密過程

 

06 總結(jié)

成哥今天主要給大家講解了HTTPS協(xié)議的處理過程,重點(diǎn)是介紹HTTPS和wireshark捕獲數(shù)據(jù)包,所以這里沒對(duì)密碼學(xué)的知識(shí)做過多的介紹。之后有機(jī)會(huì)給大家補(bǔ)上。

分享到:
標(biāo)簽:Wireshark
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定