繁体   English   中英

如何保护Kryonet(SSLSocketChannel)

[英]How to secure Kryonet (SSLSocketChannel)

我有一个要保护的使用Kryonet的可运行游戏服务器+客户端系统。 我已经阅读了很多有关Kryo和Kryo​​net的源代码,也了解了有关java.nio(SocketChannels和SSL)的一些知识。 我对使用Java进行加密有足够的了解,但是我不确定使用SSL进行Kryonet和SocketChannel时是否理解所有概念。

您可以使用河豚对在Kryonet中发送的对象进行加密,但是我看不出这是安全的吗? 我的意思是,所有客户端都必须使用相同的对称密钥,因为您不必分别加密客户端连接,而是要在服务器上进行序列化,因此所有客户端都需要相同的密码,而不再是该密码了吗?

然后,我查看了将Kryonet源更改为使用SSLSockets的过程,但是我看到Kryonet使用非阻塞IO,从我使用SSLSocket而不是Socket读取的内容中,使用SocketChannels不好吗? 这是我真的很茫然的地方,不确定是否值得付出努力,所以我希望对Kryonet和SocketChannels有更深入了解的人能对我有所帮助。 确保Kryonet的安全似乎似乎是不可能的,但我真的不想在我的项目中切换到这一点,因此非常欢迎任何建议!

没错,即使您解决了密钥分发问题,仅加密也不是安全的,除非Kryonet从对等身份验证开始也做SSL所做的所有事情。

Java中没有SSLSocketChannel 您必须自己使用SocketChannelSocketChannel的旧版SSLEngine来完成所有艰苦的工作,实际上需要博士学位。 正确驾驶。

有关我的许多关于SSLEngine的帖子,请参见标记passim,在此不再赘述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM