我使用Java中的套接字实现了Kerberos服务器/客户端,客户端将其服务TGT发送到服务器,服务器知道客户端是可信的。
我主要关心的是窥探“中间人”攻击。有人可以捕获TGT,并伪装成客户端。
在纯Java实现中,这没有问题,因为进一步的通信是使用服务会话密钥(GSSContext.wrap()/ GSSContext.unwrap())加密的,而窥探者没有。
但是客户端应用程序需要用C#重写。
我认为保持通信加密的两个选项是:
在我选择SSL作为选项之前,选项1是否可行?
答案 0 :(得分:3)
选项1涉及一些重型代码移植,您可能有或没有时间可以做。 选项2听起来不错。
选项3取决于您的约束,使用私有加密的TCP通道,它应该比SSL / TLS更快,但正如我所说可能不适用。它可以使用对称加密,由会话密钥(秘密)
初始化