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