ネットワークプログラ ..
166:デフォルトの名無しさん
09/01/22 00:19:29
皆さん如何されているかアイデアを聞かせてほしいんですが
たとえば、不特定多数が使用するクライアント・サーバ型のソフト(MMO等)を作るとして、
データのやり取りはUDPで行うとします。
不正なデータを送られたり、受信したデータから不正な処理をされないためには
データを暗号化して通信する必要がありますが、そのキーを何処に隠すとよいと思いますか?
クライアント側で暗号化したデータをサーバで復号する、またその逆の場合、
クライアントはサーバと通信する為に、鍵を持っている必要がありますが
コード上やリソース上に持たせてしまうと、バイナリエディタなどからバレてしまう可能性があります。
ここで、脅威の対象を仮に
・28歳 男性 独身
・趣味はネトゲ(botツール常習者)
・プログラミングの知識は大学で習った程度、逆アセンブルなどは出来ない
・バイナリエディタなどでパラメータを触った経験はあり
とします。この人にクラックされない仕組みを作りたいです。
色々考えましたが堂々巡りです。
案1)通信確立用のキーをクライアントのコード上、またはリソース上に持たせ、
通信確立はそのキーで行う。その後はサーバで新たなキーを発行する。
→そもそも通信確立用のキーがクラックされれば全く意味が無い
案2)時刻をパラメータに定期的にキーを生成する。
→クライアント・サーバで完全に時刻を同期する必要あり。実現不可能
案3)暗号化部分をdll化し、さらにそのdllを暗号化し、コード上で復号して呼び出す。
dllを暗号化したキーはリソース化し、リンク
→トレースされたら意味なし
よいアイデアお待ちしてます。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5394日前に更新/130 KB
担当:undef