當(dāng)前位置:首頁(yè) > IT技術(shù) > Web編程 > 正文

信息安全之——解開(kāi)HTTPS神秘面紗
2021-09-17 16:22:55

?

信息安全之——解開(kāi)HTTPS神秘面紗_數(shù)字證書(shū)

? ? ?企事業(yè)單位都需要定期對(duì)信息系統(tǒng)和自動(dòng)化資產(chǎn)進(jìn)行系統(tǒng)安全等級(jí)檢測(cè),檢測(cè)完畢后,承檢公司會(huì)出具一份檢測(cè)報(bào)告,其中會(huì)列出檢查出來(lái)的一系列問(wèn)題,其中對(duì)于設(shè)備遠(yuǎn)程管理方式歸為高風(fēng)險(xiǎn)問(wèn)題。我相信很多單位也沒(méi)有全面改進(jìn)遠(yuǎn)程管理問(wèn)題,這個(gè)跟系統(tǒng)建設(shè)時(shí)期客戶沒(méi)有要求,同時(shí)為提高部署效率,乙方也沒(méi)有此進(jìn)行提議造成的。

? ? ? 盡管如此,我認(rèn)為還是有必要重視明碼數(shù)據(jù)在傳輸過(guò)程中的危險(xiǎn)性,也建議技術(shù)人員至少把關(guān)鍵部位的管理技術(shù)進(jìn)行升級(jí),現(xiàn)行的技術(shù)最通用的基本是SSH、HTTPS,本文將從純技術(shù)方向一點(diǎn)點(diǎn)剖析HTTPS。(本文適合從事研發(fā)、系統(tǒng)運(yùn)維、信息安全人員閱讀)

?

? ? ?首先,我們將提出一個(gè)真實(shí)場(chǎng)景,以及目標(biāo)。本位將圍繞這個(gè)最終目標(biāo)為您一點(diǎn)點(diǎn)架構(gòu)出一個(gè)安全的傳輸方式HTTPS。

信息安全之——解開(kāi)HTTPS神秘面紗_服務(wù)器_02

最終目標(biāo):A發(fā)送hello包給B,即使被中間人攔截也無(wú)法得到其內(nèi)容。

信息安全之——解開(kāi)HTTPS神秘面紗_服務(wù)器_03

王健林名言:先建立一個(gè)能達(dá)到的小目標(biāo)

?

小目標(biāo)1:A與B通信,且只有AB有能力看到通信真正內(nèi)容。

實(shí)現(xiàn)手段:對(duì)稱加密內(nèi)容,只要密鑰不公開(kāi)給第三者,且只有A和B知道如何加、解密。

信息安全之——解開(kāi)HTTPS神秘面紗_數(shù)字證書(shū)_04

但在Web服務(wù)環(huán)境下,通信可沒(méi)有那么簡(jiǎn)單,如下圖:

信息安全之——解開(kāi)HTTPS神秘面紗_服務(wù)器_05

服務(wù)器對(duì)所有客戶段使用相同的對(duì)稱加密算法,無(wú)異于沒(méi)有加密了!有些人說(shuō)那就對(duì)不同的客戶端使用不同加密方法,但是雙方協(xié)商過(guò)程沒(méi)有被加密,還是會(huì)被中間人截取,所以下一個(gè)目標(biāo)就是加密雙發(fā)協(xié)商過(guò)程。

?

小目標(biāo)2:加密雙發(fā)協(xié)商過(guò)程

實(shí)現(xiàn)手段:我們只要解決協(xié)商過(guò)程保護(hù)這一問(wèn)題,就可以保證目標(biāo)完成。對(duì)協(xié)商過(guò)程使用非對(duì)稱加密。

非對(duì)稱加密特點(diǎn):私鑰加密,公鑰都可以解開(kāi);公鑰加密,只有私鑰可解。

信息安全之——解開(kāi)HTTPS神秘面紗_客戶端_06

1、? 私鑰只有一個(gè)人有,而公鑰發(fā)給所有人

2、? 非對(duì)稱加密只能保證AB向服務(wù)器方向是安全的,因?yàn)樗借€是服務(wù)器私有的,信息被攔截也無(wú)法解密

3、? 服務(wù)器向AB方向還是不安全,因?yàn)楣€公開(kāi)

但服務(wù)器向客戶端發(fā)送公鑰過(guò)程是不安全的(為了后續(xù)非對(duì)稱加密,客戶端需要一開(kāi)始就持有服務(wù)器公鑰),因?yàn)橹虚g人調(diào)包公鑰,客戶端無(wú)法分辨公鑰是中間人還是服務(wù)器發(fā)送的。

?

小目標(biāo)3:需要讓客戶端確定公鑰是由服務(wù)器傳遞,即身份認(rèn)證

實(shí)現(xiàn)手段:數(shù)字證書(shū)

數(shù)字證書(shū):服務(wù)器將自己公鑰提供給第三方機(jī)構(gòu),第三發(fā)機(jī)構(gòu)用自己的私鑰加密后,頒發(fā)給服務(wù)器管理者。

信息安全之——解開(kāi)HTTPS神秘面紗_客戶端_07

如果中間人用自己的私鑰加密后傳給客戶端,客戶端是無(wú)法用本地存儲(chǔ)的第三方公鑰解密的。但是這樣就安全了嗎?

我們知道,第三方也會(huì)給諸如中間人發(fā)放證書(shū),由于客戶端能解密同一家第三機(jī)構(gòu)辦法的所有證書(shū)。如果中間人截取你的證書(shū)調(diào)包,客戶端是無(wú)法分辨是服務(wù)器還是中間人的證書(shū),都可以用第三方公鑰解密。

?

小目標(biāo)4:解決同一機(jī)構(gòu)頒發(fā)不同證書(shū)被篡改的問(wèn)題

實(shí)現(xiàn)手段:數(shù)字簽名(證書(shū)編號(hào))

客戶端拿到證書(shū)后,根據(jù)證書(shū)上的方法自己生成一個(gè)證書(shū)編號(hào)

信息安全之——解開(kāi)HTTPS神秘面紗_web服務(wù)_08

如果編號(hào)與證書(shū)上編號(hào)相同,那么證書(shū)是真實(shí)的

信息安全之——解開(kāi)HTTPS神秘面紗_非對(duì)稱加密_09

但是第三方機(jī)構(gòu)的公鑰怎么跑到了客戶端的機(jī)器中呢?

? ? ? 現(xiàn)實(shí)中,瀏覽器和操作系統(tǒng)都會(huì)維護(hù)一個(gè)權(quán)威的第三方機(jī)構(gòu)列表(包括它們的公鑰)。因?yàn)榭蛻舳私邮盏降淖C書(shū)中會(huì)寫(xiě)有頒發(fā)機(jī)構(gòu),客戶端就根據(jù)這個(gè)頒發(fā)機(jī)構(gòu)的值在本地找相應(yīng)的公鑰。

第三方如何頒發(fā)數(shù)字證書(shū)給服務(wù)器端的?

信息安全之——解開(kāi)HTTPS神秘面紗_服務(wù)器_10

拿到證書(shū)后,我們就可以將證書(shū)配置到自己的服務(wù)器上了。

?

信息安全之——解開(kāi)HTTPS神秘面紗_非對(duì)稱加密_11信息安全之——解開(kāi)HTTPS神秘面紗_非對(duì)稱加密_12

?

本文摘自 :https://blog.51cto.com/u

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >