簡體   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