2

プレーヤーが認証されると、プレーヤーはランダムな一意の識別トークンを受け取ります。彼が送信したすべてのパケットには、トークンが含まれています。典型的なメッセージは次のとおりです。

token sequence_number commands

問題は、誰かがパケットを見た場合、その人がプレーヤーとして行動し、プレーヤーのすべてのコインをたとえば他の誰かに渡すことができることです。または、プレイヤーのメッセージを読んだり、個人情報を盗む以外のことをしたりします。

そのため、暗号化が必要になると思いました。しかし、私は多くの人がそれに反対しているのを見つけました.1人は「完全なパラノイアだ」とさえ言っています( https://gamedev.stackexchange.com/a/25551/33993 )。

暗号化せずに MITM 攻撃を回避する方法はありますか? そうでない場合、それらを避ける必要はありませんか?

4

3 に答える 3

1

通信チャネルを暗号化せずに MITM を保護することは困難です。メッセージ認証コード (MAC) を使用して、キー コンポーネントが変更されないように保護できます。ただし、別のチャネルまたは暗号化 (HTTPS) を使用して交換する必要がある共有シークレットが必要です。

暗号化されていないチャネルを介して安全にデータを交換する方法については、Hawk 認証方式を参照してください。

于 2015-01-14T21:41:42.730 に答える
0

一般的な暗号化 (例: HTTPS) は、MITM ( http://en.wikipedia.org/wiki/Man-in-the-middle_attack ) 攻撃を打ち負かすのに十分ではありません。wiki ページには、MITM が暗号化を無効にする方法の簡単な例があります。MITM を倒すには複雑な方法がありますが、それらは通常、Web ゲームにはやり過ぎです。

あなたの質問に答えるために、暗号化はMITMを防御しませんが、暗号化はインターネットを通過する際の機密情報(パスワード、セッションキーなど)を保護することに関係しているため、暗号化を実装する必要があります. そうしないと、ネットワーク上でリッスンしているすべての人が、これらの情報をプレーン テキストで見ることができます。

于 2015-02-11T09:16:30.137 に答える