2011-09-02 144 views
1

我正在開發一個需要ECDH密鑰交換的項目。我想了解如何防止MITM攻擊。我可以簽署公鑰併發送簽名以及公鑰傳輸,以確保密鑰沒有被篡改,但這並不能阻止MITM攻擊只是做同樣的事情。我知道密鑰交換必須由第三方以某種方式進行驗證,但我很難理解假設有人可以進行MITM攻擊,第三方可以成爲解決方案。爲什麼他們不能僅僅通過第三方驗證來做MITM呢?如果沒有雙方預先知道的情況,是否真的能夠完全消除所有可能的MITM攻擊?保護ECDH免受MITM攻擊

回答

1

您需要一位¹值得信賴的第三方簽署兩個密鑰。

如果沒有任何關於目標伴侶身份的知識或斷言,根本無法將他與其他人區分開來。

¹一個或多個 ²鮑勃

+0

沒錯,但是爲什麼在第三方簽名過程之間不能有MITM? – hobeau

+0

@hobeau呃,你需要一些帶外機制來創造信任,無論是託倫特和鮑勃之間還是愛麗絲和鮑勃之間。沒有任何辦法可以獲得身份(或信任)。 – phihag

0

在PKI系統中, 「認證機構」 是基礎設施的重要組成部分。認證機構簽署公鑰和標識信息,以便您知道相應的私鑰確實屬於聲稱的身份。對於EC密鑰,這與RSA一樣。

順便說一句,I've looked for CAs that issue EC certificates,,顯然他們沒有實際使用。

大多數人獲得其認證機構的證書作爲其操作系統或安全應用程序的一部分。他們隱含地信任這些證書。雖然這裏有幾個危險。

首先,大多數用戶沒有一種有效的方法來驗證這些證書的完整性。這是一個相當困難的問題,因爲從根本上講,您必須擁有一個100%可信賴的渠道,用於驗證授權和攻擊者無法篡改的用戶之間的通道。當用戶使用一系列根證書下載新瀏覽器時,他無法知道該軟件在傳輸過程中是否被篡改,甚至無法在集合中使用僞造的CA證書進行構建。

即使收到的證書收集完整無誤地作爲提供者的意圖,也有人對流行軟件默認包含的許多認證機構的完整性提出了質疑。例如,有人指出,與恐怖主義有關的國家的電信公司將其證書納入流行的瀏覽器中。任何可信任的權威機構都可以爲任何域名頒發證書,並且瀏覽器將毫無疑問地接受它。

總之,不,沒有辦法建立一個安全通道,而不先在安全通道上共享一些信息。 PKI和非對稱加密技術的好處是,在安全通道(接收可信機構證書)上交換一個一個允許與許多各方建立安全通道。但是你必須以某種方式引導系統。

0

這聽起來像你正在滾動你自己的加密協議的路徑。不要這樣做。這是一個壞主意。它導致不安全的系統。

而是使用SSL或TLS。這是爲了解決設計這種加密協議中的微妙問題而設計的 - 並且它已經過嚴格審查。您需要一種方法來驗證另一端點的證書。您可以使用證書頒發機構,或者在某些情況下,對您期望與之交談的實體的公鑰進行硬編碼可能是可行的。

如果您詢問Crypto堆棧交換,您可能會得到更好的答案。

+0

請記住,以前發現了SSL和TLS版本中的許多漏洞,並且可能會有更多的漏洞我們不知道。 –

相關問題