Networking 帮助设计安全的网络协议

Networking 帮助设计安全的网络协议,networking,authentication,network-programming,network-protocols,public-key-encryption,Networking,Authentication,Network Programming,Network Protocols,Public Key Encryption,在应用程序中,我有一个网络服务器和客户端。 握手之后,假设客户端发送了“userId sessionId SOME_COMMAND param param” 我已经识别了客户机,并在服务器上相应地检查了sessionId,因此身份不再是一个问题 但是我想防止黑客修改消息或创建虚假消息,例如发送“userId sessionId SOME_命令paramodified paramodified” 我考虑使用一对私有/公共加密密钥,并在消息本身中发送消息的散列。但是,由于它是在客户端程序中自动执行的

在应用程序中,我有一个网络服务器和客户端。 握手之后,假设客户端发送了
“userId sessionId SOME_COMMAND param param”

我已经识别了客户机,并在服务器上相应地检查了sessionId,因此身份不再是一个问题

但是我想防止黑客修改消息或创建虚假消息,例如发送
“userId sessionId SOME_命令paramodified paramodified”

我考虑使用一对私有/公共加密密钥,并在消息本身中发送消息的散列。但是,由于它是在客户端程序中自动执行的,所以我可能必须在握手过程中发送公钥。因此黑客可以简单地检索它并生成适当的散列

我也可以使用复杂的加密种子或算法,但我与黑客的经验告诉我,他们会反编译任何东西

所以底线是:我可以隐藏服务器上运行的所有内容,但不能隐藏客户端程序上的任何内容。我想禁止修改客户端程序应该发送的消息


我甚至不知道这是否可能。我愿意接受任何建议。顺便说一句,我正在使用Java,虽然它不应该很相关。谢谢。

算了吧。像其他人一样使用SSL。有些复杂的问题你甚至还没有开始解决