三、混合密碼系統,證書

目錄

一、混合密碼系統
二、證書


一、混合密碼系統


因爲對稱加密有密鑰傳輸問題,所以我們可以取而代之使用非對稱加密,但是非對稱加密又計算量大、速度慢,所以我們也經常使用對稱加密 + 非對稱加密這樣的混合密碼系統,即使用對稱加密來加密數據,使用非對稱加密來傳輸對稱加密的密鑰,這樣就結合了兩者的優點,既加密計算量小、速度快,又沒有密鑰傳輸問題。

但是混合密碼系統也並非沒有問題,它面臨的問題就是中間人攻擊,所謂中間人攻擊本質上來說其實是非對稱加密公鑰可能被篡改的問題,也就是說消息發送者根本就不知道他收到的公鑰到底真得是消息接收者的公鑰還是攻擊者的公鑰。下面是一箇中間人攻擊的一個例子:


二、證書


那怎麼解決混合密碼系統面臨的中間人攻擊問題呢?即怎麼解決非對稱加密公鑰可能被篡改的問題呢?一談到防止被篡改,我們第一個想到的東西就是數字簽名。沒錯,但是如果我們自己給公鑰做數字簽名的話,無論消息接收者用消息摘要算法做數字簽名還是用非對稱加密做數字簽名,依然會面臨中間人攻擊問題——我們自己做的數字簽名本身都可能被篡改。所以我們得讓權威機構幫我們給公鑰做數字簽名,這個權威機構就是證書中心CA(Certificate Authority),我們只需要把公鑰發給CA,CA就會用他們的CA私鑰對我們的公鑰加密生成數字簽名,然後把我們的公鑰和公鑰的數字簽名打包生成一個文件——證書,消息接收者會持有這個證書,同時CA公鑰是公開的,所以消息發送者會持有CA公鑰(瀏覽器和操作系統已經內置了各大CA公鑰,不需要傳輸,所以這個地方可以避免中間人攻擊CA公鑰)。這樣消息接收者只需要把證書發送給消息發送者,消息發送者就可以使用CA公鑰對證書裏的數字簽名解密——這一步就可以驗證CA的身份、即確定證書到底是不是CA的證書,然後會拿着解密後的內容跟證書裏的公鑰做對比,如果一致,則保留公鑰——這就是消息接收者的公鑰。接下來就可以繼續做混合密碼系統要做的事情了,也就解決了中間人攻擊問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章