У меня есть рабочие игровые серверы + клиентская система, использующая Kryonet, которую я хочу защитить. Я прочитал много исходного кода для Kryo и Kryonet, а также немного о java.nio (SocketChannels и SSL). Я достаточно хорошо разбираюсь в шифровании при работе с Java, но я не уверен, правильно ли я понял все концепции, когда речь идет о Kryonet и SocketChannels с использованием SSL.
Вы можете шифровать объекты, которые вы отправляете в Kryonet, с помощью Blowfish, но я не вижу, чтобы это было безопасно? Я имею в виду, что все клиенты должны использовать один и тот же симметричный секретный ключ, поскольку вы не шифруете клиентские соединения отдельно, а вместо этого сериализуете на сервере, и, следовательно, всем клиентам нужен один и тот же секрет, и он больше не будет этим секретом?
Затем я посмотрел на изменение источника Kryonet для использования SSLSockets, но я увидел, что Kryonet использует неблокирующий ввод-вывод, и из того, что я прочитал, использование SSLSocket вместо Socket не будет хорошо при работе с SocketChannels? Здесь я действительно в растерянности и не уверен, стоит ли это усилий, поэтому я надеялся, что кто-то, кто лучше разбирается в Kryonet и SocketChannels, может мне немного помочь. Кажется невозможным защитить Kryonet, но я действительно не хочу переключаться на этом этапе моего проекта, поэтому любые предложения очень приветствуются!