2013-03-03 48 views
1

我正在寫一個客戶端從通過HTTPS服務器(不是我的控制之下)檢索數據並工作正常。SSL這樣的流量不能嗅

我想做的是讓我的請求到服務器不能被客戶端計算機上的人使用Fiddler等嗅探。那麼有什麼辦法使標頭/ URL加密之前,他們可以被攔截提琴手?

+2

[這](http://www.fiddler2.com/fiddler/help/httpsdecryption.asp)解釋如何提琴手在中間進行攻擊一個人來解密HTTPS流量。也許這可以給你一些如何挫敗它的想法。 – mbeckish 2013-03-03 02:01:22

+0

相關:http://stackoverflow.com/q/10808930/21727 – mbeckish 2013-03-03 02:08:31

+1

如果你不信任你的代碼在運行的計算機,那麼你有一個很大的問題。如果用戶可以去閱讀(甚至修改)你的代碼,那麼沒有任何加密通信會有幫助。 – svick 2013-03-03 03:18:54

回答

3

我的提琴手的理解是在客戶端和冒充代理服務器之間的站在英寸你是對的,它看起來像提琴手有能力攔截HTTPS傳輸。

但是,根據Fiddler's documentation Fiddler提供的證書將不會被您的C#應用​​程序信任。 C#應用程序會拋出一個異常,說它無法驗證對遠程服務器的信任。沒有數據會被傳輸。

如果你真的偏執狂,你可以做所謂的「證書鎖定」,你的C#應用​​程序將從HTTPS服務器尋找特定的證書,以確保它是你正在尋找的確切服務器。但是,如果證書有變化,您需要更新您的應用程序。

編輯:重讀的文檔,提琴手確實爲它使用由Windows信任證書(並使用那些值得信賴的商店,如Chrome瀏覽器和.NET隨後的任何應用程序)的方式。如果這樣做了,您的C#應用​​程序將很可能正常運行,您的流量對Fiddler完全可見。如果您出於某種原因擔心這個問題,我會查看證書鎖定。

+0

好的,我應該說,小提琴手目前沒有麻煩閱讀我發送的數據。釘住證書的東西看起來像是要走的路。 – 2013-03-03 04:17:58