2011-06-21 156 views
0

希望得到一個簡短的問題。WCF - 使用證書對消息安全性客戶端進行身份驗證

我想確保我的WCF服務將被一個已知的方使用。我們的組織信任他們,反之亦然。

該服務已經被IP地址限制,所以我們知道來電者必須來自他們的網絡。

但是,我希望它能夠在該組織內受到惡意開發者的保護。理論上他們可以編寫一個壞應用程序並將其安裝在該網絡的任何地方,然後調用我們的服務,這將返回數據。

我認爲解決這個問題的方法是使用客戶端證書,這將使用Peer Trust進行驗證。每個請求都會發送這個證書,我們將在WCF服務上進行驗證,併發回數據。

我的問題是,這是爲了防止上述惡意開發者的情況?我們知道請求必須在安裝了客戶端證書的服務器上發起(對嗎?) - 我想應該是惡意開發者難以在那裏獲得一個糟糕的應用程序。令人遺憾的是,我們無法將其與客戶端應用完全綁定 - 或者我們可以嗎?

任何幫助表示讚賞 - 只是想確保我指出我對此的理解!

回答

1

如果您將根據特定傳入客戶端證書授予對您的服務的訪問權限,則它應該與該證書的私鑰一樣安全。也就是說,如果私鑰在其他組織中保持安全,您的服務將像安全(與加密方面的證書的公鑰/私鑰對一樣安全)。

如果私鑰在其他組織內受到攻擊,例如攻擊者可以在遠程服務器上訪問它,或者能夠將其複製到另一個遠程服務器,那麼攻擊者可以訪問您的服務。因爲一旦他們擁有私鑰,他們就可以使用客戶端證書通過SSL連接進行連接,然後他們只需通過IP地址檢查即可。保護客戶端證書的私鑰。

1

如果客戶端使用特定證書驗證自己,您可以檢查服務端。您也可以根據自己的需要編寫Custom Certificate Validator並驗證證書。但是,如果您認爲攻擊者可能能夠在您的環境中使用可信證書的私鑰,那麼我想您可能認爲攻擊者基本上可以做任何事情,並且您無法保護您的服務。

相關問題