2015-07-06 47 views
-1

客戶端如何確保服務器發送的SSL證書是證書的真正所有者?它如何防止黑客克隆,例如,谷歌ssl證書,並欺騙我他握手期間他是谷歌網站?黑客能否克隆證書並修改網絡數據包中的域名或IP信息來欺騙別人?SSL證書如何防止黑客克隆

+1

因爲黑客沒有私鑰。 – EJP

+0

是不是僅用於加密郵件的私鑰? –

+1

不是。它在SSL中根本不用。 *用於握手消息中,通過創建數字簽名來證明該證書由發送方擁有。只有擁有私鑰的派對才能做到這一點。 – EJP

回答

2

例如, www.google.com由名爲證書頒發機構(CA)的第三方簽署。在谷歌的情況下,第三方目前是「GeoTrust Global CA」。太查看它是誰,你需要檢查證書(瀏覽器通常會讓你這麼做,但很容易,但每種都有自己的方式) 將證書鏈接到名爲「www.google.com」的鏈接。

您的客戶有一個他們代表您信任的CA列表。該列表或者由您的操作系統的供應商和/或您的客戶端/瀏覽器的創建者維護。

那麼,客戶如何知道它正在與正確的服務器通話呢? 證書由其信任的CA簽署,證書用於客戶端要連接的名稱,並且服務器提供了證據,證明它知道證書中公鑰的相應密鑰。

  • 黑客將從www.google.com複製有效證書並將其放置在自己的機器上的黑客只有公鑰並且沒有私鑰。
  • 一個黑客會試圖獲得由信譽良好的CA簽名的證書請求,但會被拒絕,因爲他們無法證明擁有google.com域名。因此名稱不匹配。
  • 一個黑客誰將簽署自己的證書請求,將失敗,因爲他們的自建CA不在受信任列表中。
  • 黑客會闖入谷歌的服務器並以某種方式複製密鑰,但可能會通過一段時間,但一旦Google的人發現它,他們就會聯繫他們的CA並吊銷證書。

    現在這個過程是大多數實現中的弱點,因爲這些撤銷的證書由CA作爲證書撤銷列表(CRL)或OCSP(在線證書狀態協議)服務發佈,但客戶端通常採用快捷方式並執行不驗證證書沒有被撤銷。

+0

這個答案提出了有效的觀點,但並沒有回答最初的問題,即關於什麼阻止某人複製現有(公共)證書並嘗試將其用作自己的證書(答案是在握手期間需要私鑰) )。 – Bruno

+0

黑客會從www.google.com複製有效證書並將其放置在自己的計算機上*將擁有公鑰。它在證書中。他不會有* private *鍵。 – EJP

+0

正確的EJP:一種逃避重讀的錯誤。糾正。 – swa66