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

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

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

0x00 HTTP之殤

  • 數(shù)據(jù)明文傳輸,易嗅探
  • 數(shù)據(jù)完整性無驗證,易篡改
  • 網(wǎng)站身份無認(rèn)證,易假冒

由此誕生HTTPS。

 

0x01 什么是HTTPS

HTTP + SSL/TLS

TLS是SSL的升級版

二圖勝千言:

HTTPS淺析與抓包分析

作用:防嗅探,防篡改,身份認(rèn)證

0x02 https握手過程

建立https連接(明文),再用對稱加密傳輸數(shù)據(jù)。

TCP三次握手

C->S:[client hello] C發(fā)送hello消息(協(xié)議版本,隨機數(shù)c,加密組件列表等)給S,請求建立SSL會話。

S->C: [server hello]返回響應(yīng)(確認(rèn)加密組件,隨機數(shù)s等)。

S->C: [certificate]返回響應(yīng)certificate(網(wǎng)站證書)。

S->C: [server key exchange]指定密鑰協(xié)商(交換)協(xié)議(密鑰協(xié)商方式),發(fā)送密鑰協(xié)商(交換)算法的公鑰給C。

S->C: [server hello done]發(fā)送serverhellodone,開始C的密鑰協(xié)商。

C->S: [clientkeyexchange]C生成密鑰協(xié)商(交換)算法公私鑰,發(fā)送公鑰給S,此時C和S可以協(xié)商出相同的密鑰pre master secret,現(xiàn)在C和S可以通過c,s,pre master三個隨機數(shù)算出對稱加密的密鑰。(這里本人還看到一個版本是C生成pre master secret 后用密鑰交換/協(xié)商算法加密發(fā)送到S,本人認(rèn)為不需要發(fā)送,S通過C發(fā)送的密鑰協(xié)商的公鑰和自己生成的一個隨機數(shù)xs可以自己計算出這個pre master secret。還有一個版本是對稱加密的密鑰是C用S的證書公鑰加密給S用私鑰解密獲得,這里本人認(rèn)為此對稱密鑰S也可由c,s,pre master自己生成不需要C發(fā)送。)

C->S: [changecipherspec]通知S此消息以后C以加密方式發(fā)送數(shù)據(jù)。

C->S: C用生成的對稱密鑰加密之前所有握手消息hash,發(fā)送給S解密驗證hash。

S->C: [changecipherspec]通知C此消息后S以加密方式發(fā)送數(shù)據(jù)。

S->C: S用對稱密鑰加密之前所有握手消息hash,發(fā)送給C進行解密驗證hash。

========================================

開始對稱加密傳輸數(shù)據(jù)……(Application Data)

========================================

 

0x03 抓包分析https握手流程

以瀏覽器打開https://www.52pojie.cn為例

1. DNS解析和tcp三次握手

HTTPS淺析與抓包分析

 

2. clienthello:

HTTPS淺析與抓包分析

 

可以看出瀏覽器發(fā)送了支持的協(xié)議版本TLS1.2,32字節(jié)隨機數(shù)c,加密組件cipher等信息給S。

3. serverhello:

HTTPS淺析與抓包分析

 

可以看出S選擇了TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384加密組件,解釋如下:
密鑰交換算法,用于決定客戶端與服務(wù)器之間在握手的過程中如何認(rèn)證,用到的算法包括RSA,Diffie-Hellman,ECDH,PSK等,這里選擇了ECDHE。

加密算法,用于加密消息流,該名稱后通常會帶有兩個數(shù)字,分別表示密鑰的長度和初始向量的長度,比如DES 56/56, RC2 56/128, RC4 128/128, AES 128/128, AES 256/256。這里選擇了AES。

報文認(rèn)證信息碼(mac)算法,用于創(chuàng)建報文摘要,確保消息的完整性(沒有被篡改),算法包括MD5,SHA等。這里選擇了SHA384。

PRF(偽隨機數(shù)函數(shù)),用于生成“master secret”。

S還發(fā)送了32字節(jié)隨機數(shù)s。

 

4.certificate:

HTTPS淺析與抓包分析

 

第一個cert是52pojie網(wǎng)站的證書,第二個cert是頒發(fā)者trustasia機構(gòu)的證書。

HTTPS淺析與抓包分析

 

這里可以獲得證書的詳細(xì)信息

 

5. serverkeyexchange和serverhellodone:

HTTPS淺析與抓包分析

 

可以看出使用ECDH密鑰交換算法,指定橢圓曲線secp256r1,還有發(fā)送了DH算法協(xié)商的公鑰給C。

 

6. Clientkeyexchange和client change cipher spec:

HTTPS淺析與抓包分析

 

這里C發(fā)送了DH算法協(xié)商的公鑰給S,以及加密了握手消息給S進行驗證。

 

7. server change cipher spec:

HTTPS淺析與抓包分析

 

服務(wù)端使用Ticket方式存儲session狀態(tài),在Server Change Cipher Spec之前就需要發(fā)送New Session Ticket消息,這部分就不細(xì)說了。這里S加密握手消息給C進行驗證。

 

8. application data:

HTTPS淺析與抓包分析

 

這里可以看出雙方握手完畢,以后的消息都進行對稱加密,已經(jīng)無法看出明文了。

 

0x04 其他

  • 由于握手流程導(dǎo)致https速度比http慢,本人認(rèn)為其帶來的安全性更為重要,而速度雖然較慢,但是用戶幾乎感覺不到,而且有很多優(yōu)化措施可以提升速度。
  • 有了https并不能完全保證網(wǎng)站安全,安全是多因素,多環(huán)節(jié)的,即使有https,某個‘短板’就可以淪陷一個網(wǎng)站,并且https自身也非安全,如著名的心臟出血漏洞。
  • https也非絕對防止MITM,如偽造證書,導(dǎo)出明文密碼等。

 

0x05 結(jié)語

簡言之,能用https還是用https吧。由于時間倉促,可能有些細(xì)節(jié)遺漏或不準(zhǔn)確,歡迎指正!

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

網(wǎng)友整理

注冊時間:

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

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

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

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

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

答題星2018-06-03

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

全階人生考試2018-06-03

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

運動步數(shù)有氧達人2018-06-03

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

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

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

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定