最近小弟在研究WCF的認證,WCF提供了window和證書認證兩種方式。 關于客戶端的證書認證我的理解是這樣,不知道對不對:
Server端安裝帶有私有秘鑰的證書, client端安裝只帶有公鑰的證書。 client端在認證的時候將公鑰發送給Server端,Server端驗證,如果匹配,則認為client端是合法的。
這里面有個問題,如果client泄露了自己的公鑰證書,那么惡意用戶不就可以拿著公鑰去跟server建立連接了嗎?client的公鑰證書是裝到windows 證書里吧,即便我裝到受信任的根證書,那我寫個程式不就可以訪問的到嗎?
怎么感覺證書認證這么不安全呢?是我理解錯了嗎?還請賜教。
uj5u.com熱心網友回復:
你描述的認證方法,是用來認證服務端的,不是用來認證客戶的。安全體系上,服務端認證是很重要的。
如果不能驗證服務端,客戶就可能連接到一個假扮服務端,客戶傳送的機密就可能被侵害
公鑰證書應該是公開的,不能憑借客戶擁有一個公鑰的事實,來驗證客戶。
客戶可以通過以下一種方式來驗證自己:
1、用戶名密碼(驗證服務端后,通過安全連接傳輸)。
2、客戶證書(每個客戶一個證書,每個客戶擁有自己的私鑰)。
3、多重認證...
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/58456.html
標籤:C#
