×

HTTPS連接過(guò)程是什么樣的?

  • 作者:新網(wǎng)
  • 來(lái)源:新網(wǎng)
  • 瀏覽:100
  • 2018-02-26 17:51:54

針對(duì)安全性要求比較高的 app,可采取客戶端預(yù)埋證書(shū)的方式鎖死證書(shū),只有當(dāng)客戶端證書(shū)和服務(wù)端的證書(shū)完全一致的情況下才允許通信,如一些銀行類(lèi)的app,但這種方式面臨一個(gè)問(wèn)題,證書(shū)過(guò)期的問(wèn)題,因證書(shū)有一定的有效期,當(dāng)預(yù)埋證書(shū)過(guò)期了,只有通過(guò)強(qiáng)制更新或者要求用戶下載證書(shū)來(lái)解決。

 HTTPS連接過(guò)程及中間人攻擊原理是什么?接下來(lái)請(qǐng)看小編的解析:

70m58PIC2xn.jpg
一、HTTPS連接過(guò)程及中間人攻擊原理
 
1.https請(qǐng)求
 
客戶端向服務(wù)端發(fā)送https請(qǐng)求;
 
2.生成公鑰和私鑰
 
服務(wù)端收到請(qǐng)求之后,生成公鑰和私鑰。公鑰相當(dāng)于是鎖,私鑰相當(dāng)于是鑰匙,只有私鑰才能夠打開(kāi)公鑰鎖住的內(nèi)容;
 
3.返回公鑰
 
服務(wù)端將公鑰(證書(shū))返回給客戶端,公鑰里面包含有很多信息,比如證書(shū)的頒發(fā)機(jī)構(gòu)、過(guò)期時(shí)間等等;
 
4.客戶端驗(yàn)證公鑰
 
客戶端收到公鑰之后,首先會(huì)驗(yàn)證其是否有效,如頒發(fā)機(jī)構(gòu)或者過(guò)期時(shí)間等,如果發(fā)現(xiàn)有問(wèn)題就會(huì)拋出異常,提示證書(shū)存在問(wèn)題。如果沒(méi)有問(wèn)題,那么就生成一個(gè)隨機(jī)值,作為客戶端的密鑰,然后用服務(wù)端的公鑰加密;
 
5.發(fā)送客戶端密鑰
 
客戶端用服務(wù)端的公鑰加密密鑰,然后發(fā)送給服務(wù)端。
 
6.服務(wù)端收取密鑰,對(duì)稱(chēng)加密內(nèi)容
 
服務(wù)端收到經(jīng)過(guò)加密的密鑰,然后用私鑰將其解密,得到客戶端的密鑰,然后服務(wù)端把要傳輸?shù)膬?nèi)容和客戶端的密鑰進(jìn)行對(duì)稱(chēng)加密,這樣除非知道密鑰,否則無(wú)法知道傳輸?shù)膬?nèi)容。
 
7.加密傳輸
 
服務(wù)端將經(jīng)過(guò)加密的內(nèi)容傳輸給客戶端。
 
8.獲取加密內(nèi)容,解密
 
客戶端獲取加密內(nèi)容后,用之前生成的密鑰對(duì)其進(jìn)行解密,獲取到內(nèi)容。
 
中間人劫持攻擊
 
https也不是絕對(duì)安全的,如下圖所示為中間人劫持攻擊,中間人可以獲取到客戶端與服務(wù)器之間所有的通信內(nèi)容。
 
HTTPS連接過(guò)程以及中間人攻擊劫持
 
中間人截取客戶端發(fā)送給服務(wù)器的請(qǐng)求,然后偽裝成客戶端與服務(wù)器進(jìn)行通信;將服務(wù)器返回給客戶端的內(nèi)容發(fā)送給客戶端,偽裝成服務(wù)器與客戶端進(jìn)行通信。
 
通過(guò)這樣的手段,便可以獲取客戶端和服務(wù)器之間通信的所有內(nèi)容。
 
使用中間人攻擊手段,必須要讓客戶端信任中間人的證書(shū),如果客戶端不信任,則這種攻擊手段也無(wú)法發(fā)揮作用。
 
二、中間人攻擊的預(yù)防
 
造成中間人劫持的原因是 沒(méi)有對(duì)服務(wù)端證書(shū)及域名做校驗(yàn)或者校驗(yàn)不完整,為了方便,直接采用開(kāi)源框架默認(rèn)的校驗(yàn)方式進(jìn)行https請(qǐng)求
 
預(yù)防方法:
 
預(yù)防方式有兩種
 
1 、針對(duì)安全性要求比較高的 app,可采取客戶端預(yù)埋證書(shū)的方式鎖死證書(shū),只有當(dāng)客戶端證書(shū)和服務(wù)端的證書(shū)完全一致的情況下才允許通信,如一些銀行類(lèi)的app,但這種方式面臨一個(gè)問(wèn)題,證書(shū)過(guò)期的問(wèn)題,因證書(shū)有一定的有效期,當(dāng)預(yù)埋證書(shū)過(guò)期了,只有通過(guò)強(qiáng)制更新或者要求用戶下載證書(shū)來(lái)解決。
 
以上就是HTTPS連接過(guò)程。
 

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading