3 回答

TA貢獻1810條經驗 獲得超5個贊
客戶端和服務器之間的任何人都可以在https的中間攻擊中派人。如果您認為這種情況不太可能發(fā)生或罕見,請考慮使用一些商業(yè)產品來系統(tǒng)地解密,掃描和重新加密跨Internet網關的所有 SSL流量。他們通過向客戶端發(fā)送即時創(chuàng)建的ssl證書進行工作,該證書包含從“真實” ssl證書復制而來的詳細信息,但使用其他證書鏈進行了簽名。如果此鏈以瀏覽器的任何受信任CA終止,則該MITM對用戶不可見。這些產品主要出售給公司以“保護”(警察)公司網絡,并且應在用戶的知識和同意下使用。從技術上講,沒有什么可以阻止ISP或任何其他網絡運營商對其的使用。(可以安全地假設NSA 至少具有一個受信任的根CA簽名密鑰)。
如果要提供頁面,則可以包含HTTP標頭,以指示應使用該頁面簽名的公共密鑰。這可能有助于向MITM用戶提醒其“安全”連接,但這是一種首次使用信任技術。如果Bob尚未記錄“真實的”公共密鑰圖釘,那么Mallory只會重寫文檔中的pkp標頭。使用此技術(HPKP)的網站列表非常簡短。它包括谷歌和投遞箱,以他們的功勞。通常,https攔截網關會在使用HPKP的少數(shù)幾個大型受信任站點中瀏覽頁面。如果您不希望看到HPKP錯誤,請當心。
關于密碼,https連接上的所有內容均由https保護,但域名(明文除外)必須是明文,以便可以路由請求。通常,建議不要將密碼放在查詢字符串中,因為它們可能會在日志,書簽等中徘徊。但是,除非https被破壞,否則查詢字符串是不可見的。

TA貢獻1804條經驗 獲得超2個贊
實際上,只有打破了SSL的前提之一,才可能對SSL進行中間人攻擊。
服務器密鑰被竊取-意味著攻擊者可以出現(xiàn)在服務器,有沒有辦法為客戶就知道了。
客戶端信任一個不可信的CA(或已經被盜用其根密鑰的CA)-持有可信CA密鑰的任何人都可以生成一個偽裝成服務器的證書,并且客戶端將信任它。隨著當今瀏覽器中已經存在大量的CA,這可能是一個真正的問題。這意味著服務器證書似乎將更改為另一有效證書,這是大多數(shù)客戶端都對您隱藏的東西。
客戶端不必費心根據其受信任的CA列表正確地驗證證書-任何人都可以創(chuàng)建CA。未經驗證,“ Ben的汽車和證書”將與Verisign一樣有效。
客戶端已受到攻擊,偽造的CA已注入其受信任的根權威中-允許攻擊者生成他喜歡的任何證書,客戶端將信任它。惡意軟件通常會這樣做,例如將您重定向到偽造的銀行站點。
特別是#2相當令人討厭,即使您為高度信任的證書付費,您的網站也不會以任何方式鎖定該證書,您必須信任客戶端瀏覽器中的所有 CA,因為它們中的任何一個都可能會為您生成偽造的證書您的網站同樣有效。它還不需要訪問服務器或客戶端。
添加回答
舉報