?
? ? ?企事業(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í)期客戶(hù)沒(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。
最終目標(biāo):A發(fā)送hello包給B,即使被中間人攔截也無(wú)法得到其內(nèi)容。
王健林名言:先建立一個(gè)能達(dá)到的小目標(biāo)
?
小目標(biāo)1:A與B通信,且只有AB有能力看到通信真正內(nèi)容。
實(shí)現(xiàn)手段:對(duì)稱(chēng)加密內(nèi)容,只要密鑰不公開(kāi)給第三者,且只有A和B知道如何加、解密。
但在Web服務(wù)環(huán)境下,通信可沒(méi)有那么簡(jiǎn)單,如下圖:
服務(wù)器對(duì)所有客戶(hù)段使用相同的對(duì)稱(chēng)加密算法,無(wú)異于沒(méi)有加密了!有些人說(shuō)那就對(duì)不同的客戶(hù)端使用不同加密方法,但是雙方協(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ì)稱(chēng)加密。
非對(duì)稱(chēng)加密特點(diǎn):私鑰加密,公鑰都可以解開(kāi);公鑰加密,只有私鑰可解。
1、? 私鑰只有一個(gè)人有,而公鑰發(fā)給所有人
2、? 非對(duì)稱(chēng)加密只能保證AB向服務(wù)器方向是安全的,因?yàn)樗借€是服務(wù)器私有的,信息被攔截也無(wú)法解密
3、? 服務(wù)器向AB方向還是不安全,因?yàn)楣€公開(kāi)
但服務(wù)器向客戶(hù)端發(fā)送公鑰過(guò)程是不安全的(為了后續(xù)非對(duì)稱(chēng)加密,客戶(hù)端需要一開(kāi)始就持有服務(wù)器公鑰),因?yàn)橹虚g人調(diào)包公鑰,客戶(hù)端無(wú)法分辨公鑰是中間人還是服務(wù)器發(fā)送的。
?
小目標(biāo)3:需要讓客戶(hù)端確定公鑰是由服務(wù)器傳遞,即身份認(rèn)證
實(shí)現(xiàn)手段:數(shù)字證書(shū)
數(shù)字證書(shū):服務(wù)器將自己公鑰提供給第三方機(jī)構(gòu),第三發(fā)機(jī)構(gòu)用自己的私鑰加密后,頒發(fā)給服務(wù)器管理者。
如果中間人用自己的私鑰加密后傳給客戶(hù)端,客戶(hù)端是無(wú)法用本地存儲(chǔ)的第三方公鑰解密的。但是這樣就安全了嗎?
我們知道,第三方也會(huì)給諸如中間人發(fā)放證書(shū),由于客戶(hù)端能解密同一家第三機(jī)構(gòu)辦法的所有證書(shū)。如果中間人截取你的證書(shū)調(diào)包,客戶(hù)端是無(wú)法分辨是服務(wù)器還是中間人的證書(shū),都可以用第三方公鑰解密。
?
小目標(biāo)4:解決同一機(jī)構(gòu)頒發(fā)不同證書(shū)被篡改的問(wèn)題
實(shí)現(xiàn)手段:數(shù)字簽名(證書(shū)編號(hào))
客戶(hù)端拿到證書(shū)后,根據(jù)證書(shū)上的方法自己生成一個(gè)證書(shū)編號(hào)
如果編號(hào)與證書(shū)上編號(hào)相同,那么證書(shū)是真實(shí)的
但是第三方機(jī)構(gòu)的公鑰怎么跑到了客戶(hù)端的機(jī)器中呢?
? ? ? 現(xiàn)實(shí)中,瀏覽器和操作系統(tǒng)都會(huì)維護(hù)一個(gè)權(quán)威的第三方機(jī)構(gòu)列表(包括它們的公鑰)。因?yàn)榭蛻?hù)端接收到的證書(shū)中會(huì)寫(xiě)有頒發(fā)機(jī)構(gòu),客戶(hù)端就根據(jù)這個(gè)頒發(fā)機(jī)構(gòu)的值在本地找相應(yīng)的公鑰。
第三方如何頒發(fā)數(shù)字證書(shū)給服務(wù)器端的?
拿到證書(shū)后,我們就可以將證書(shū)配置到自己的服務(wù)器上了。
?
?
本文摘自 :https://blog.51cto.com/u