?
? ? ?企事業(yè)單位都需要定期對信息系統(tǒng)和自動化資產(chǎn)進行系統(tǒng)安全等級檢測,檢測完畢后,承檢公司會出具一份檢測報告,其中會列出檢查出來的一系列問題,其中對于設備遠程管理方式歸為高風險問題。我相信很多單位也沒有全面改進遠程管理問題,這個跟系統(tǒng)建設時期客戶沒有要求,同時為提高部署效率,乙方也沒有此進行提議造成的。
? ? ? 盡管如此,我認為還是有必要重視明碼數(shù)據(jù)在傳輸過程中的危險性,也建議技術人員至少把關鍵部位的管理技術進行升級,現(xiàn)行的技術最通用的基本是SSH、HTTPS,本文將從純技術方向一點點剖析HTTPS。(本文適合從事研發(fā)、系統(tǒng)運維、信息安全人員閱讀)
?
? ? ?首先,我們將提出一個真實場景,以及目標。本位將圍繞這個最終目標為您一點點架構出一個安全的傳輸方式HTTPS。
最終目標:A發(fā)送hello包給B,即使被中間人攔截也無法得到其內(nèi)容。
王健林名言:先建立一個能達到的小目標
?
小目標1:A與B通信,且只有AB有能力看到通信真正內(nèi)容。
實現(xiàn)手段:對稱加密內(nèi)容,只要密鑰不公開給第三者,且只有A和B知道如何加、解密。
但在Web服務環(huán)境下,通信可沒有那么簡單,如下圖:
服務器對所有客戶段使用相同的對稱加密算法,無異于沒有加密了!有些人說那就對不同的客戶端使用不同加密方法,但是雙方協(xié)商過程沒有被加密,還是會被中間人截取,所以下一個目標就是加密雙發(fā)協(xié)商過程。
?
小目標2:加密雙發(fā)協(xié)商過程
實現(xiàn)手段:我們只要解決協(xié)商過程保護這一問題,就可以保證目標完成。對協(xié)商過程使用非對稱加密。
非對稱加密特點:私鑰加密,公鑰都可以解開;公鑰加密,只有私鑰可解。
1、? 私鑰只有一個人有,而公鑰發(fā)給所有人
2、? 非對稱加密只能保證AB向服務器方向是安全的,因為私鑰是服務器私有的,信息被攔截也無法解密
3、? 服務器向AB方向還是不安全,因為公鑰公開
但服務器向客戶端發(fā)送公鑰過程是不安全的(為了后續(xù)非對稱加密,客戶端需要一開始就持有服務器公鑰),因為中間人調(diào)包公鑰,客戶端無法分辨公鑰是中間人還是服務器發(fā)送的。
?
小目標3:需要讓客戶端確定公鑰是由服務器傳遞,即身份認證
實現(xiàn)手段:數(shù)字證書
數(shù)字證書:服務器將自己公鑰提供給第三方機構,第三發(fā)機構用自己的私鑰加密后,頒發(fā)給服務器管理者。
如果中間人用自己的私鑰加密后傳給客戶端,客戶端是無法用本地存儲的第三方公鑰解密的。但是這樣就安全了嗎?
我們知道,第三方也會給諸如中間人發(fā)放證書,由于客戶端能解密同一家第三機構辦法的所有證書。如果中間人截取你的證書調(diào)包,客戶端是無法分辨是服務器還是中間人的證書,都可以用第三方公鑰解密。
?
小目標4:解決同一機構頒發(fā)不同證書被篡改的問題
實現(xiàn)手段:數(shù)字簽名(證書編號)
客戶端拿到證書后,根據(jù)證書上的方法自己生成一個證書編號
如果編號與證書上編號相同,那么證書是真實的
但是第三方機構的公鑰怎么跑到了客戶端的機器中呢?
? ? ? 現(xiàn)實中,瀏覽器和操作系統(tǒng)都會維護一個權威的第三方機構列表(包括它們的公鑰)。因為客戶端接收到的證書中會寫有頒發(fā)機構,客戶端就根據(jù)這個頒發(fā)機構的值在本地找相應的公鑰。
第三方如何頒發(fā)數(shù)字證書給服務器端的?
拿到證書后,我們就可以將證書配置到自己的服務器上了。
?
?
本文摘自 :https://blog.51cto.com/u