生成後 成功的客戶證書 驗證,一個HTTP cookie(具有 關聯的服務器端會話),其當由 提供的客戶端會造成客戶端 證書驗證要被跳過
這仍然是安全的嗎? (哪有 我們優化了安全和 實用主義?)
這是不是很安全的理論,因爲服務器不能再證明自己,有沒有一個人在這方面的中間人。
當客戶端提供客戶端證書時,服務器可以以加密方式信任它。客戶端和服務器應該是基於客戶端密鑰的加密和數據(以及會話密鑰)。如果沒有客戶端證書,服務器只能希望客戶在驗證服務器證書方面做得很好(如客戶所感知的那樣),這樣做可以消除MitM先生的可能性。
開箱即用的Windows客戶端信任超過200個根CA證書。在沒有客戶端證書的情況下,服務器最終會通過擴展信任。
下面是如何尋找一個數據包捕獲來驗證客戶端證書的提供防禦MITM一個很好的新手必看: http://www.carbonwind.net/ISA/ACaseofMITM/ACaseofMITMpart3.htm
這種類型的中間人的解釋。 http://www.networkworld.com/community/node/31124
這種技術實際上被一些防火牆設備盒用來對SSL進行深入檢查。
MitM過去看起來像一個很大的任務不可能的生產,花了很多時間。真的,儘管它並不僅僅是一個受損的DNS解析器或路由器。世界上有很多小的Linksys和Netgear盒子,可能其中有兩三個沒有最新的安全更新。
實際上,這對主要金融機構的網站似乎已經足夠了,儘管最近的證據表明他們的風險評估策略並不理想。
這個方案是否有免費的實現? (我知道CA的SiteMinder產品)
只是一個客戶端cookie,對吧?這似乎是每個Web應用框架的一個非常標準的部分。
鑑於上述情況,我們是否應該繼續在應用程序中執行身份驗證,還是轉移到服務器內?
硬件加密加速器(SSL代理前端或加速卡)可以顯着提高速度。
將證書驗證移入HTTP服務器可能會有所幫助。無論如何,你可能會在密碼算法中做一些重複。
看看你是否會受益於更便宜的算法或客戶端證書上的較小密鑰大小。
驗證客戶端證書後,您可以在短時間內嘗試緩存它的哈希摘要(或甚至整個事物)。這可以使您不必在每次擊中時都要重複簽名驗證。
客戶交易的頻率如何?如果構成大部分交易的交易頻繁地觸及您,您可能能夠說服他們在單一SSL協商/認證中合併多筆交易。看看設置HTTP Keep-Alive頭。他們可能已經在一定程度上做到了這一點。也許你的應用程序正在對每個HTTP請求/響應進行客戶端證書驗證,或者在每個會話開始時進行一次驗證?
無論如何,這些都是一些想法,祝你好運!
感謝您順便問一下。當同一個問題出現在同一天三次稍微不同的情況下(!),我開始深入挖掘。原來,答案有一點涉及:http://extendedsubset.com/?p=8 – 2009-11-07 07:20:27