アプリには、ネットワークサーバーとクライアントがあります。ハンドシェイクの後、クライアントがを送信するとします"userId sessionId SOME_COMMAND param param param"
。
私はすでにクライアントを識別しており、それに応じてセッションIDがサーバー上でチェックされるため、IDはもはや問題ではありません。
しかし、ハッカーがメッセージを変更したり、たとえば送信するなどの誤ったメッセージを作成したりしないようにしたいと思います"userId sessionId SOME_COMMAND paramModified paramModified paramModified"
。
秘密/公開暗号化キーのペアを使用して、メッセージ自体でメッセージのハッシュを送信することを考えました。ただし、クライアントプログラムで自動化されているため、ハンドシェイク中に公開鍵を送信する必要がある場合があります。したがって、ハッカーはそれを取得して適切なハッシュを生成することができます。
複雑な暗号化シードやアルゴリズムを使用することもできますが、ハッカーの経験から、ハッカーは何でも逆コンパイルすることがわかりました。
つまり、サーバー上で実行されているすべてのものを非表示にすることはできますが、クライアントプログラム上で何も非表示にすることはできません。そして、クライアントプログラムが送信するはずのメッセージを変更することを禁止したいと思います。
それが可能かどうかさえわかりません。そして、私はどんな提案にもオープンです。ちなみに、私はJavaを使用していますが、あまり関連性がないはずです。ありがとう。