1
我已經使用Java中的套接字實現了Kerberos服務器/客戶端,客戶端將其服務TGT發送到服務器,並且服務器知道客戶端是可信的。Java/C#Kerberos inter-op可能嗎?
我最關心的是窺探「中間人」攻擊。有人可以抓住TGT,並假裝成爲客戶。
在純Java實現中,這是沒有問題的,因爲進一步的通信是使用服務會話密鑰(GSSContext.wrap()/ GSSContext.unwrap())進行加密的,而snooper不具有這種密鑰。
但客戶端應用程序需要用C#重寫。
我想,我保持加密通信有兩個選項:
- 寫我自己的包()和unwrap()在C#
- 使用SSL/TLS方法。
在我考慮SSL作爲選項之前,選項1是否可能?
我有SSL工作,因爲我覺得選項1會很痛苦。我無法真正使用私鑰方案,因爲可以反編譯客戶端應用程序以解決問題。 SSL/TLS似乎是要走的路。謝謝 – djb 2009-10-21 12:14:44
非常有幫助。爲了澄清,我的意思是對稱加密算法可以使用會話密鑰作爲其祕密。這不會被硬編碼,並會在每個會話中改變。 – 2009-10-21 13:38:41