(57)【要約】【課題】効果的な不正ユーザを検出するためのオンラインゲームパケット生成方法及び装置が開示される。【解決手段】一実施形態に係る不正ユーザを検出するためのオンラインゲームパケット生成方法は、プロトコルＩＤ情報及びパケットサイズ情報を含むオンラインゲームパケットの生成情報を取得するステップと、プロトコルＩＤ情報に対応するプロトコルＩＤフィールド、前記パケットサイズ情報に対応するパケットサイズフィールド及び少なくとも１つのプロトコルフィールドを含むパケット構造に基づいてプロトコルインデックスフィールドまたはアニメーションインデックスフィールドのうち少なくとも１つをさらに含む前記オンラインゲームパケットのタイプを決定するステップと、前記オンラインゲームパケットのタイプに基づいて前記オンラインゲームパケットの生成情報を用いて前記オンラインゲームパケットを生成するステップとを含んでもよい。【選択図】図２
2013250978.tif 000002
【特許請求の範囲】
【請求項１】
不正ユーザを検出するためのオンラインゲームパケット生成方法において、
プロトコルＩＤ情報、パケットサイズ情報及びゲームクライアントのキャラクター状態情報を含むオンラインゲームパケットの生成情報を取得するステップと、
前記プロトコルＩＤ情報に対応するプロトコルＩＤフィールド、前記パケットサイズ情報に対応するパケットサイズフィールド及び前記ゲームクライアントのキャラクター状態情報に対応する少なくとも１つのプロトコルフィールドを含むパケット構造に基づいて、プロトコルインデックスフィールドまたはアニメーションインデックスフィールドのうち少なくとも１つをさらに含む前記オンラインゲームパケットのタイプを決定するステップと、
前記オンラインゲームパケットのタイプに基づいて前記オンラインゲームパケットの生成情報を用いて前記オンラインゲームパケットを生成するステップと、
を含むことを特徴とする不正ユーザを検出するためのオンラインゲームパケット生成方法。
【請求項２】
前記オンラインゲームパケットのタイプは、前記パケット構造に基づいて前記プロトコルインデックスフィールドをさらに含む第１タイプ、前記パケット構造に基づいて前記アニメーションインデックスフィールドをさらに含む第２タイプ、及び前記パケット構造に基づいて前記プロトコルインデックスフィールド及び前記アニメーションインデックスフィールドをさらに含む第３タイプのうちいずれか１つであることを特徴とする請求項１に記載の不正ユーザを検出するためのオンラインゲームパケット生成方法。
【請求項３】
前記オンラインゲームパケットのタイプが第１タイプである場合、前記オンラインゲームパケットを生成するステップは、
予め決定されたプロトコルインデックステーブルを取得するステップと、
前記プロトコルインデックステーブルに基づいて前記キャラクター状態情報を用いて前記プロトコルインデックスフィールド及び前記少なくとも１つのプロトコルフィールドのデータ値を生成するステップと、
前記プロトコルインデックスフィールドのデータ値を暗号化するステップと、
を含むことを特徴とする請求項２に記載の不正ユーザを検出するためのオンラインゲームパケット生成方法。
【請求項４】
前記プロトコルインデックステーブルは、前記少なくとも１つのプロトコルインデックス番号及び前記少なくとも１つのプロトコルインデックス番号それぞれに対応する前記プロトコルフィールドの構造に関する情報を含むことを特徴とする請求項３に記載の不正ユーザを検出するためのオンラインゲームパケット生成方法。
【請求項５】
前記オンラインゲームパケットのタイプが第２タイプである場合、前記オンラインゲームパケットの生成情報はゲームクライアントのキャラクター動作情報をさらに含み、
前記オンラインゲームパケットを生成するステップは、
予め決定されたアニメーションインデックステーブルを取得するステップと、
前記アニメーションインデックステーブルに基づいて前記キャラクター動作情報を用いて前記アニメーションインデックスフィールドのデータ値を生成するステップと、
前記アニメーションインデックスフィールドのデータ値を暗号化するステップと、
を含むことを特徴とする請求項２に記載の不正ユーザを検出するためのオンラインゲームパケット生成方法。
【請求項６】
前記アニメーションインデックステーブルは、前記少なくとも１つのアニメーションインデックス番号及び前記少なくとも１つのアニメーションインデックス番号それぞれに対応する前記ゲームクライアントのキャラクター動作タイプに関する情報を含むことを特徴とする請求項５に記載の不正ユーザを検出するためのオンラインゲームパケット生成方法。
【請求項７】
前記オンラインゲームパケットのタイプが第３タイプである場合、前記オンラインゲームパケットの生成情報はゲームクライアントのキャラクター動作情報をさらに含み、
前記オンラインゲームパケットを生成するステップは、
予め決定されたプロトコルインデックステーブルを取得するステップと、
予め決定されたアニメーションインデックステーブルを取得するステップと、
前記プロトコルインデックステーブルに基づいて前記キャラクター状態情報を用いて前記プロトコルインデックスフィールド及び前記少なくとも１つのプロトコルフィールドのデータ値を生成するステップと、
前記アニメーションインデックステーブルに基づいて前記キャラクター動作情報を用いて前記アニメーションインデックスフィールドのデータ値を生成するステップと、
前記プロトコルインデックスフィールドのデータ値及び前記アニメーションインデックスフィールドのデータ値を暗号化するステップと、
を含むことを特徴とする請求項２に記載の不正ユーザを検出するためのオンラインゲームパケット生成方法。
【請求項８】
前記プロトコルインデックステーブルは、前記少なくとも１つのプロトコルインデックス番号及び前記少なくとも１つのプロトコルインデックス番号それぞれに対応する前記プロトコルフィールドの構造に関する情報を含み、
前記アニメーションインデックステーブルは、前記少なくとも１つのアニメーションインデックス番号及び前記少なくとも１つのアニメーションインデックス番号それぞれに対応する前記ゲームクライアントのキャラクター動作タイプに関する情報を含むことを特徴とする請求項７に記載の不正ユーザを検出するためのオンラインゲームパケット生成方法。
【請求項９】
前記プロトコルインデックスフィールドは、前記プロトコルＩＤフィールドのサブフィールドであることを特徴とする請求項１に記載の不正ユーザを検出するためのオンラインゲームパケット生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、効果的な不正ユーザを検出するためのオンラインゲームパケット生成方法及び装置に関する。より具体的には、オンラインゲームパケットを生成することによって、オンラインゲームボットなどの不正ユーザを検出することのできる効果的な不正ユーザを検出するためのオンラインゲームパケット生成方法及び装置に関する。
【背景技術】
【０００２】
最近、オンラインゲーム分野でゲームボット（ｂｏｔ）が次第に重要な問題として浮び上がっている。ゲームボットとは、ユーザの代わりにオンラインゲームをプレーすることのできるプログラムである。具体的に、オンラインゲーム分野において、オンラインゲームクライアントと共に実行されてマウスイベントまたはキーボードイベントを発生させることで、オンラインゲーム内の様々な活動（例えば、ハンティング、採集、製作）を自動に行ってもよい。このようなゲームボットはオンラインゲーム内の秩序を崩し、複数のオンラインゲームのユーザから不側の損害を負わせることがある。ゲームボットによる被害を防止するためにオンラインゲームクライアントの移動軌跡を分析したり、行為パターンを分析するなどのゲームボットを検出するための技術が存在する。この技術は、ゲームボットが一般のゲームクライアントと異なる行動パターンを見せるという仮定下でゲームボットの行跡を分析する方法である。しかし、ゲームボットと類似に行動する一般ユーザをゲームボットと間違って判定したり、一般ユーザと類似に行動するゲームボットを検出することができない場合もある。したがって、ゲームボットを効果的に検出するための研究が求められている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、可変的なパケット構造を用いたオンラインゲームパケットを生成することによって、オンラインゲームの不正ユーザを検出することのできる効果的な不正ユーザを検出するためのオンラインゲームパケット生成方法及び装置を提供する。
【課題を解決するための手段】
【０００４】
本発明の一実施形態に係る不正ユーザを検出するためのオンラインゲームパケット生成方法は、プロトコルＩＤ情報、パケットサイズ情報及びゲームクライアントのキャラクター状態情報を含むオンラインゲームパケットの生成情報を取得するステップと、前記プロトコルＩＤ情報に対応するプロトコルＩＤフィールド、前記パケットサイズ情報に対応するパケットサイズフィールド及び前記ゲームクライアントのキャラクター状態情報に対応する少なくとも１つのプロトコルフィールドを含むパケット構造に基づいて、プロトコルインデックスフィールドまたはアニメーションインデックスフィールドのうち少なくとも１つをさらに含む前記オンラインゲームパケットのタイプを決定するステップと、前記オンラインゲームパケットのタイプに基づいて前記オンラインゲームパケットの生成情報を用いて前記オンラインゲームパケットを生成するステップとを含む。
【０００５】
前記オンラインゲームパケットのタイプは、前記パケット構造に基づいて前記プロトコルインデックスフィールドをさらに含む第１タイプ、前記パケット構造に基づいて前記アニメーションインデックスフィールドをさらに含む第２タイプ、及び前記パケット構造に基づいて前記プロトコルインデックスフィールド及び前記アニメーションインデックスフィールドをさらに含む第３タイプのうちいずれか１つであってもよい。
【０００６】
前記オンラインゲームパケットのタイプが第１タイプである場合、前記オンラインゲームパケットを生成するステップは、予め決定されたプロトコルインデックステーブルを取得するステップと、前記プロトコルインデックステーブルに基づいて前記キャラクター状態情報を用いて前記プロトコルインデックスフィールド及び前記少なくとも１つのプロトコルフィールドのデータ値を生成するステップと、前記プロトコルインデックスフィールドのデータ値を暗号化するステップとを含んでもよい。
【０００７】
前記プロトコルインデックステーブルは、前記少なくとも１つのプロトコルインデックス番号及び前記少なくとも１つのプロトコルインデックス番号それぞれに対応する前記プロトコルフィールドの構造に関する情報を含んでもよい。
【０００８】
前記オンラインゲームパケットのタイプが第２タイプである場合、前記オンラインゲームパケットの生成情報はゲームクライアントのキャラクター動作情報をさらに含み、前記オンラインゲームパケットを生成するステップは、予め決定されたアニメーションインデックステーブルを取得するステップと、前記アニメーションインデックステーブルに基づいて前記キャラクター動作情報を用いて前記アニメーションインデックスフィールドのデータ値を生成するステップと、前記アニメーションインデックスフィールドのデータ値を暗号化するステップとを含んでもよい。
【０００９】
前記アニメーションインデックステーブルは、前記少なくとも１つのアニメーションインデックス番号及び前記少なくとも１つのアニメーションインデックス番号それぞれに対応する前記ゲームクライアントのキャラクター動作タイプに関する情報を含んでもよい。
【００１０】
前記オンラインゲームパケットのタイプが第３タイプである場合、前記オンラインゲームパケットの生成情報はゲームクライアントのキャラクター動作情報をさらに含み、前記オンラインゲームパケットを生成するステップは、予め決定されたプロトコルインデックステーブルを取得するステップと、予め決定されたアニメーションインデックステーブルを取得するステップと、前記プロトコルインデックステーブルに基づいて前記キャラクター状態情報を用いて前記プロトコルインデックスフィールド及び前記少なくとも１つのプロトコルフィールドのデータ値を生成するステップと、前記アニメーションインデックステーブルに基づいて前記キャラクター動作情報を用いて前記アニメーションインデックスフィールドのデータ値を生成するステップと、前記プロトコルインデックスフィールドのデータ値及び前記アニメーションインデックスフィールドのデータ値を暗号化するステップとを含んでもよい。
【００１１】
前記プロトコルインデックステーブルは、前記少なくとも１つのプロトコルインデックス番号及び前記少なくとも１つのプロトコルインデックス番号それぞれに対応する前記プロトコルフィールドの構造に関する情報を含み、前記アニメーションインデックステーブルは、前記少なくとも１つのアニメーションインデックス番号及び前記少なくとも１つのアニメーションインデックス番号それぞれに対応する前記ゲームクライアントのキャラクター動作タイプに関する情報を含んでもよい。
【００１２】
前記プロトコルインデックスフィールドは、前記プロトコルＩＤフィールドのサブフィールドであってもよい。
【００１３】
本発明の一実施形態に係る不正ユーザを検出するためのオンラインゲームパケット生成装置は、プロトコルＩＤ情報、パケットサイズ情報、及びゲームクライアントのキャラクタ状態情報を含むオンラインゲームパケットの生成情報を取得するオンラインゲームパケット生成情報取得部と、前記プロトコルＩＤ情報に対応するプロトコルＩＤフィールド、前記パケットサイズ情報に対応するパケットサイズフィールド、及び前記ゲームクライアントのキャラクタ状態情報に対応する少なくとも１つのプロトコルフィールドを含むパケット構造に基づいてプロトコルインデックスフィールドまたはアニメーションインデックスフィールドのうち少なくとも１つをさらに含む前記オンラインゲームパケットのタイプを決定するオンラインゲームパケットタイプ決定部と、前記オンラインゲームパケットのタイプに基づいて前記オンラインゲームパケットの生成情報を用いて前記オンラインゲームパケットを生成するオンラインゲームパケット生成部を備える。
【００１４】
前記オンラインゲームパケットのタイプは、前記パケット構造に基づいて前記プロトコルインデックスフィールドをさらに含む第１タイプ、前記パケット構造に基づいて前記アニメーションインデックスフィールドをさらに含む第２タイプ、及び前記パケット構造に基づいて前記プロトコルインデックスフィールドと前記アニメーションインデックスフィールドをさらに含んでもよい。
【００１５】
前記オンラインゲームパケットのタイプが第１タイプである場合、前記オンラインゲームパケット生成部は、予め決定されたプロトコルインデックステーブルを取得するプロトコルインデックステーブル取得部と、前記プロトコルインデックステーブルに基づいて前記キャラクタ状態情報を用いて前記プロトコルインデックスフィールド及び前記少なくとも１つのプロトコルフィールドのデータ値を生成するデータ値生成部と、前記プロトコルインデックスフィールドのデータ値を暗号化する暗号化部とを備えてもよい。
【００１６】
前記プロトコルインデックステーブルは、前記少なくとも１つのプロトコルインデックス番号と前記少なくとも１つのプロトコルインデックス番号それぞれに対応する前記プロトコルフィールドの構造に関する情報を含んでもよい。
【００１７】
前記オンラインゲームパケットのタイプが第２タイプである場合、前記オンラインゲームパケットの生成情報は、ゲームクライアントのキャラクタ動作情報をさらに含んでもよく、前記オンラインゲームパケット生成部は、予め決定されたアニメーションインデックステーブルを取得するアニメーションインデックステーブル取得部と、前記アニメーションインデックステーブルに基づいて前記キャラクタ動作情報を用いて前記アニメーションインデックスフィールドのデータ値を生成するデータ値生成部と、前記アニメーションインデックスフィールドのデータ値を暗号化する暗号化部とを備えてもよい。
【００１８】
前記アニメーションインデックステーブルは、前記少なくとも１つのアニメーションインデックス番号及び前記少なくとも１つのアニメーションインデックス番号それぞれに対応する前記ゲームクライアントのキャラクタ動作タイプに関する情報を含んでもよい。
【００１９】
前記オンラインゲームパケットのタイプが第３タイプである場合、前記オンラインゲームパケットの生成情報は、ゲームクライアントのキャラクタ動作情報をさらに含んでもよく、前記オンラインゲームパケット生成部は、予め決定されたプロトコルインデックステーブルを取得するプロトコルインデックステーブル取得部と、予め決定されたアニメーションインデックステーブルを取得するアニメーションインデックス取得部と、前記プロトコルインデックステーブルに基づいて前記キャラクタ状態情報を用いて前記プロトコルインデックスフィールド及び前記少なくとも１つのプロトコルフィールドのデータ値を生成する第１データ値生成部と、前記アニメーションインデックステーブルに基づいて前記キャラクタ動作情報を用いて前記アニメーションインデックスフィールドのデータ値を生成する第２データ値生成部と、前記プロトコルインデックスフィールドのデータ値及び前記アニメーションインデックスフィールドのデータ値を暗号化する暗号化部とを備えてもよい。
【００２０】
前記プロトコルインデックステーブルは、前記少なくとも１つのプロトコルインデックス番号及び前記少なくとも１つのプロトコルインデックス番号それぞれに対応する前記プロトコルフィールドの構造に関する情報を含んでもよく、前記アニメーションインデックステーブルは、前記少なくとも１つのアニメーションインデックス番号及び前記少なくとも１つのアニメーションインデックス番号それぞれに対応する前記ゲームクライアントのキャラクタ動作タイプに関する情報を含んでもよい。
【００２１】
前記プロトコルインデックスフィールドは、前記プロトコルＩＤフィールドのサブフィールドであってもよい。
【発明の効果】
【００２２】
本発明によると、可変的なパケット構造を用いるオンラインゲームパケットを生成することによって、オンラインゲームの不正ユーザを検出することのできる効果的な不正ユーザを検出するためのオンラインゲームパケット生成方法及び装置を提供することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態に係るオンラインゲームネットワーク及びパケット構造を説明するための図である。
【図２】本発明の一実施形態に係る不正ユーザを検出するためのオンラインゲームパケット生成方法を示した動作フローチャートである。
【図３】本発明の一実施形態に係るオンラインゲームパケットの第１タイプを説明するための図である。
【図４】本発明の一実施形態に係るオンラインゲームパケットの第２タイプを説明するための図である。
【図５】本発明の一実施形態に係るオンラインゲームパケットの第３タイプを説明するための図である。
【図６】本発明の一実施形態に係る不正ユーザを検出するためのオンラインゲームパケット生成装置を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、実施形態を添付する図面を参照しながら詳細に説明する。しかし、本発明が一実施形態によって制限されたり限定されることはない。また、各図面に提示された同一の参照符号は同一の部材を示す。
【００２５】
図１は、本発明の一実施形態に係るオンラインゲームネットワーク及びパケット構造を説明するための図である。
【００２６】
図１を参照すると、オンラインゲームシステムは、ゲームサーバ１１０、ネットワーク１２０及びゲームクライアント１３０を含む。具体的に、ゲームサーバ１１０は、ゲームネットワーク１２０によって接続されたゲームクライアント１３０がオンラインゲームを行うことができるようにオンラインゲームを提供してもよい。そして、ゲームクライアント１３０は、オンラインゲームを行うためにゲームサーバ１１０に接続し、オンラインゲームクライアントプログラムをダウンロードし、オンラインゲームクライアントプログラムを用いてオンラインゲームをプレーする。
【００２７】
ユーザがオンラインゲームをプレーする場合、ゲームクライアント１３０は、ネットワーク１２０によってゲームサーバ１１０とゲームパケット１４０を送受信してもよい。具体的に、ゲームパケット１４０の送受信によってオンラインゲームに必要な情報をゲームクライアント１３０とゲームサーバ１１０が交換してもよく、これによってオンラインゲームを行うことができる。ゲームクライアント１３０とゲームサーバ１１０が送受信するゲームパケット１４０の構造はオンラインゲームごとに互いに異なってもよいが、一般的にゲームパケット１４０は、プロトコルＩＤフィールド１４１、パケットサイズフィールド１４２及び少なくとも１つのプロトコルフィールド１４３〜１４５を含んでもよい。ここで、プロトコルＩＤフィールド１４１は、当該パケットがいずれの情報を含むかを示すプロトコルＩＤ情報を含んでもよい。例えば、プロトコルＩＤフィールド１４１を分析すれば、当該パケットがｍｏｖｅパケットであるか、ａｔｔａｃｋパケットであるか、またはｌｏｇｉｎパケットであるかを把握する。そして、パケットサイズ１４２は各ゲームパケットのサイズに関する情報を含んでもよく、少なくとも１つのプロトコルフィールド１４３〜１４５は、ゲームパケットが送信しようとする具体的な情報（例えば、ゲームクライアントのキャラクター状態情報）を含んでもよい。
【００２８】
一般に、不正ユーザは、ゲームクライアント１３０とゲームサーバ１１０が送受信するゲームパケット１４０を用いてオンラインゲーム上で不正行為を行うことがある。例えば、不正ユーザは、ゲームクライアント１３０とゲームサーバ１１０が送受信するゲームパケット１４０をキャプチャーして分析した後、パケットを変形してもよい。そして、変形されたパケットをゲームサーバ１１０に送信することによってオンラインゲーム上で不正行為を行う。
【００２９】
図２は、本発明の一実施形態に係る不正ユーザを検出するためのオンラインゲームパケット生成方法を示した動作フローチャートである。
【００３０】
図２を参照すると、一実施形態に係る不正ユーザを検出するためのオンラインゲームパケット生成方法（以下、オンラインゲームパケット生成方法）は、プロトコルＩＤ情報、パケットサイズ情報、及びゲームクライアントのキャラクター状態情報を含むオンラインゲームパケットの生成情報を取得する（Ｓ２１０）。ここで、プロトコルＩＤ情報は、当該パケットがどのような種類のパケットであるかを示す情報である。そして、パケットサイズ情報は、ゲームサーバとゲームクライアントが送受信するパケットの大きさに関する情報を含んでもよい。そして、キャラクター状態情報は、ゲームクライアントのオンラインゲーム状況に関する情報を意味する。例えば、キャラクター状態情報は、ゲームクライアントに対応するキャラクターのオンラインゲーム上における現在の座標に関する情報または目的地の座標に関する情報を含んでもよい。そして、オンラインゲームパケットの生成情報は、ゲームクライアントのキャラクター動作情報をさらに含んでもよい。ここで、キャラクター動作情報は、ゲームクライアントに対応するキャラクターの動きに関する情報（例えば、キャラクターが歩く動作、ハンティングする動作）を意味する。
【００３１】
また、オンラインゲームパケット生成方法は、プロトコルＩＤ情報に対応するプロトコルＩＤフィールド、パケットサイズ情報に対応するパケットサイズフィールド、及びゲームクライアントのキャラクター状態情報に対応する少なくとも１つのプロトコルフィールドを含むパケット構造に基づいて、プロトコルインデックスフィールドまたはアニメーションインデックスフィールドのうち少なくとも１つをさらに含むオンラインゲームパケットのタイプを決定する（Ｓ２２０）。具体的に、オンラインゲームで不正ユーザは、ゲームサーバとゲームクライアントとの間に送受信するパケットを変形して不正行為を行うことがある。この場合、不正ユーザは、プロトコルＩＤフィールド、パケットサイズフィールド及び少なくとも１つのプロトコルフィールドを含む一般的なパケット構造を用いるため、一般的なパケット構造に追加的なフィールドを含むオンラインゲームパケットを生成することで不正ユーザを効果的に検出することができる。
【００３２】
より具体的にオンラインゲームパケット生成方法は、オンラインゲームパケットの構造を３つタイプに分類してもよい。第１タイプは一般的なパケット構造に基づいてプロトコルインデックスフィールドをさらに含むオンラインゲームパケットを意味し、第２タイプは一般的なパケット構造に基づいてアニメーションインデックスフィールドをさらに含むオンラインゲームパケットを意味する。そして、第３タイプは、一般的なパケット構造に基づいてプロトコルインデックスフィールド及びアニメーションインデックスフィールドをさらに含むオンラインゲームパケットを意味する。ここで、プロトコルインデックスフィールドはプロトコルＩＤフィールドのサブフィールドとして、オンラインゲームパケット生成方法は、プロトコルインデックスフィールドを用いて可変的な構造を有するオンラインゲームパケットを生成してもよい。そして、アニメーションインデックスフィールドは、ゲームクライアントのキャラクター動作タイプに関する情報を含んでもよい。
【００３３】
そして、実施形態に係るオンラインゲームパケット生成方法は、オンラインゲームパケットの生成情報に基づいて予め決定された規則を用いてオンラインゲームパケットのタイプを決定する。
【００３４】
また、オンラインゲームパケット生成方法は、オンラインゲームパケットのタイプに基づいてオンラインゲームパケットの生成情報を用いてオンラインゲームパケットを生成する（Ｓ２３０）。具体的に、オンラインゲームパケットのタイプに応じてオンラインゲームパケットの全体的な構造及びオンラインゲームパケットが含む情報は互いに異なってもよい。
【００３５】
オンラインゲームパケットが第１タイプである場合、オンラインゲームパケットの生成情報は、プロトコルＩＤ情報、パケットサイズ情報及びゲームクライアントのキャラクター状態情報を含んでもよい。そして、オンラインゲームパケット生成方法は、予め決定されたプロトコルインデックステーブルを取得してもよい。ここで、プロトコルインデックステーブルは、少なくとも１つのプロトコルインデックス番号及び少なくとも１つのプロトコルインデックス番号それぞれに対応するプロトコルフィールド構造に関する情報を含んでもよい。そして、ゲームサーバ及びゲームクライアントは、プロトコルインデックステーブルを予め取得してもよい。したがって、ゲームサーバ及びゲームクライアントは、オンラインゲームパケットを受信した場合にプロトコルインデックステーブルを用いてオンラインゲームパケットを解釈する。そして、実施形態に係るプロトコルインデックステーブルは、セキュリティのために予め決定された規則によって生成または変更されてもよく、この場合、ゲームサーバ及びゲームクライアントは同じ内容のプロトコルインデックステーブルを取得してもよい。
【００３６】
そして、オンラインゲームパケット生成方法は、プロトコルインデックステーブルに基づいてキャラクター状態情報を用いてプロトコルインデックスフィールド及び少なくとも１つのプロトコルフィールドのデータ値を生成する。具体的に、オンラインゲームパケット生成方法は、生成情報を用いてプロトコルＩＤフィールド及びパケットサイズフィールドのデータ値を生成してもよい。そして、予め決定されたプロトコルインデックステーブルに基づいてゲームクライアントのキャラクター状態情報に対応するプロトコルインデックス番号及びプロトコルフィールド構造に関する情報を抽出してもよい。これによって、オンラインゲームパケット生成方法は、プロトコルインデックス番号に対応するデータ値をプロトコルインデックスフィールドのデータ値に決定してもよい。ここで、プロトコルフィールド構造に関する情報は、プロトコルインデックス番号と対応する。例えば、それぞれのプロトコルインデックス番号に応じて少なくとも１つのプロトコルフィールドの順序は互いに異なってもよい。これはプロトコルフィールドの構造がプロトコルインデックス番号による可変的な構造であることを意味する。そして、プロトコルフィールド構造に関する情報及びゲームクライアントのキャラクター状態情報を用いて少なくとも１つのプロトコルフィールドのデータ値を決定してもよい。これによって、オンラインゲームパケット生成方法は、プロトコルＩＤが同じパケットである場合にもパケット構造が様々なオンラインゲームパケットを生成することができる。
【００３７】
そして、オンラインゲームパケット生成方法は、プロトコルインデックスフィールドのデータ値を暗号化してもよい。これは不正ユーザのオンラインゲームパケット分析を防止するためである。この場合、オンラインゲームパケット生成方法は、予め決定されたアルゴリズムを用いてプロトコルインデックスフィールドのデータ値を暗号化してもよい。また、実施形態に係るオンラインゲームパケット生成方法は、プロトコルインデックスフィールドだけではなく、オンラインゲームパケットの全体データ値についても暗号化してもよい。
【００３８】
そして、具体的な例として、不正ユーザは、ゲームサーバとゲームクライアントとの間に送受信するゲームパケットをキャプチャーした後分析することによって、ゲームパケットのデータを任意のデータに変形してサーバに送信する。より具体的には、不正ユーザは、ゲームパケットを分析してｘ座標、ｙ座標及びｚ座標に該当するプロトコルフィールドの位置を把握し、当該データ値を操作して正常的な方法にはアクセスできないところに移動するためのゲームパケットを生成してこれを送信することがある。しかし、実施形態に係るオンラインゲームパケットの場合、プロトコルＩＤが同じ場合でも様々なパケット構造を有し得るため、不正ユーザはパケット構造を分析することができない。したがって、オンラインゲームパケット生成方法は、実施形態に係るオンラインゲームパケットを用いて不正ユーザの不正行為を防止することができ、オンラインゲームパケットが変形された不正ユーザを検出することができる。
【００３９】
また、オンラインゲームパケットが第２タイプである場合、オンラインゲームパケットの生成情報は、ゲームクライアントのキャラクター動作情報をさらに含んでもよい。そして、オンラインゲームパケット生成方法は、予め決定されたアニメーションインデックステーブルを取得する。ここで、アニメーションインデックステーブルは、少なくとも１つのアニメーションインデックス番号及び少なくとも１つのアニメーションインデックス番号それぞれに対応するゲームクライアントのキャラクター動作タイプに関する情報を含んでもよい。そして、ゲームサーバ及びゲームクライアントは、アニメーションインデックステーブルを予め取得してもよい。したがって、ゲームサーバ及びゲームクライアントはオンラインゲームパケットを受信し、アニメーションインデックステーブルを用いてオンラインゲームパケットを解釈する。そして、実施形態に係るアニメーションインデックステーブルは、セキュリティのために予め決定されたアルゴリズムによって生成及び変更されてもよく、この場合、ゲームサーバ及びゲームクライアントは、同じ内容のアニメーションインデックステーブルを取得してもよい。
【００４０】
そして、オンラインゲームパケット生成方法は、アニメーションインデックステーブルに基づいてキャラクター動作情報を用いてアニメーションインデックスフィールドのデータ値を生成する。具体的に、オンラインゲームパケット生成方法は、生成情報を用いてプロトコルＩＤフィールド及びパケットサイズフィールドのデータ値を生成してもよい。そして、少なくとも１つのプロトコルフィールドのデータ値は、オンラインゲームパケットの生成情報に含まれたキャラクター状態情報に基づいて予め決定された規則に基づいて決定してもよい。そして、予め決定されたプロトコルインデックステーブルでゲームクライアントのキャラクター動作情報を用いてゲームクライアントのキャラクター動作タイプを抽出し、これによって、ゲームクライアントのキャラクター動作タイプに対応するアニメーションインデックス番号を抽出できる。そして、オンラインゲームパケット生成方法は、アニメーションインデックス番号に対応するデータ値をアニメーションインデックスフィールドのデータ値に決定してもよい。
【００４１】
そして、オンラインゲームパケット生成方法は、アニメーションインデックスフィールドのデータ値を暗号化してもよい。これは不正ユーザのオンラインゲームパケット分析を防止するためである。この場合、オンラインゲームパケット生成方法は、予め決定されたアルゴリズムを用いてアニメーションインデックスフィールドのデータ値を暗号化してもよい。
【００４２】
具体的な例として、不正ユーザは、ゲームサーバとゲームクライアントとの間に送受信するオンラインゲームパケットをキャプチャーした後、パケットのデータ値を分析して操作してもよい。しかし、実施形態に係るオンラインゲームパケットの場合、不正ユーザはアニメーションインデックステーブルを取得できないため、アニメーションインデックスフィールドを分析できないままパケットを操作してもよい。この場合、不正ユーザに対応するゲームキャラクターは不自然な動作を行うため、一般ユーザが不正ユーザを検出することができる。
【００４３】
また、オンラインゲームパケットが第３タイプである場合、オンラインゲームパケットの生成情報はキャラクター動作情報をさらに含んでもよい。そして、オンラインゲームパケット生成方法は、予め決定されたプロトコルインデックスフィールド及び予め決定されたアニメーションインデックステーブルを取得する。ここで、プロトコルインデックステーブルは、少なくとも１つのプロトコルインデックス番号及び少なくとも１つのプロトコルインデックス番号それぞれに対応するプロトコルフィールド構造に関する情報を含んでもよい。そして、アニメーションインデックステーブルは、少なくとも１つのアニメーションインデックス番号及び少なくとも１つのアニメーションインデックス番号それぞれに対応するゲームクライアントのキャラクター動作タイプに関する情報を含んでもよい。そして、第１タイプと同様に、プロトコルインデックステーブルに基づいてキャラクター状態情報を用いてプロトコルインデックスフィールド及び少なくとも１つのプロトコルフィールドのデータ値を生成してもよい。そして、第２タイプと同様に、アニメーションインデックスフィールドに基づいてキャラクター動作情報を用いてアニメーションインデックスフィールドのデータ値を生成してもよい。
【００４４】
そして、オンラインゲームパケット生成方法は、プロトコルインデックスフィールドのデータ値及びアニメーションインデックスフィールドのデータ値を暗号化する。この場合、オンラインゲームパケット生成方法は、予め決定されたアルゴリズムを用いてプロトコルインデックスフィールド及びアニメーションインデックスフィールドのデータ値を暗号化してもよい。
【００４５】
図３は、本発明の一実施形態に係るオンラインゲームパケットの第１タイプを説明するための図である。
【００４６】
図３を参照すると、本発明の一実施形態に係るオンラインゲームパケットが第１タイプである場合、オンラインゲームパケット３１０は、プロトコルＩＤフィールド３１１、プロトコルインデックスフィールド３１２、パケットサイズフィールド３１３、少なくとも１つのプロトコルフィールド３１４〜３１６を含む。ここで、プロトコルインデックスフィールド３１２は、プロトコルＩＤフィールド３１１の下位に存在するサブフィールドであってもよい。
【００４７】
そして、ゲームサーバ及びゲームクライアントは、予め決定されたプロトコルインデックステーブル３２０を取得する。ここで、プロトコルインデックステーブル３２０は、少なくとも１つのプロトコルインデックス番号３３１〜３３５及び少なくとも１つのプロトコルインデックス番号３３１〜３３５それぞれに対応するプロトコルフィールド構造に関する情報３４１〜３４５を含んでもよい。
【００４８】
具体的な例として、一実施形態に係るオンラインゲームパケット生成方法（以下、オンラインゲーム方法生成方法）は、パケット構造がプロトコルＩＤフィールド４バイト、プロトコルインデックスフィールド１バイト、パケットサイズフィールド２バイトであり、フィールドのデータ値が１３  ００  ００  ００  ０１  ３１  ００  ３２  ００  ００  ００  ６４  ０１  ００  ００  ０Ａ  １０  ００  ００  ＥＦ  ０２  ００  ００  ７５  ０１  ００  ００  ０Ｆ  １０  ００  ００  ＦＦ  ０２  ００  ００  Ｃ０  ００  ００  ００...であるオンラインゲームパケットを生成してもよい。この場合、オンラインゲームパケットを受信したゲームサーバまたはゲームクライアントは、予め決定されたプロトコルインデックステーブル３２０を用いてオンラインゲームパケットを解釈する。したがって、プロトコルＩＤ情報が１３  ００  ００  ００、プロトコルインデックスが０１であるため、キャラクター速度を３２  ００  ００  ００に、現在の座標ｘ、ｙ、ｚを６４  ０１  ００  ００、０Ａ  １０  ００  ００、ＥＦ  ０２  ００  ００に、目的地の座標ｘ、ｙ、ｚを７５  ０１  ００  ００、０Ｆ  １０  ００  ００、ＦＦ  ０２  ００  ００に、現在のＭＰ値をＣ０  ００  ００  ００に解釈する。
【００４９】
実施形態におけるインデックス番号が異なる場合には、オンラインゲームパケットを上記の解釈と異なる意味として解釈してもよい。例えば、インデックス番号が０３である場合には、目的地の座標ｘ、ｙ、ｚを３２  ００  ００  ００、６４  ０１  ００  ００、０Ａ  １０  ００  ００に、現在のＭＰをＥＦ  ０２  ００  ００に、キャラクター速度を７５  ０１  ００  ００に、現在の座標ｘ、ｙ、ｚを０Ｆ  １０  ００  ００、ＦＦ  ０２  ００  ００、Ｃ０  ００  ００  ００に解釈する。したがって、予め決定されたプロトコルインデックステーブル３２０を取得することのできない不正ユーザは、オンラインゲームパケットを誤った形式に変形することがあるため、オンラインゲームパケット生成方法は不正ユーザを効果的に検出することができる。
【００５０】
図４は、本発明の一実施形態に係るオンラインゲームパケットの第２タイプを説明するための図である。
【００５１】
図４を参照すると、本発明の一実施形態に係るオンラインゲームパケットが第２タイプである場合、オンラインゲームパケット４１０は、プロトコルＩＤフィールド４１１、アニメーションインデックスフィールド４１２、パケットサイズフィールド４１３、少なくとも１つのプロトコルフィールド４１４〜４１６を含んでもよい。ここで、少なくとも１つのプロトコルフィールド４１４〜４１６のデータ値は、オンラインゲームパケットの生成情報に含まれたゲームクライアントのキャラクター状態情報に基づいて予め決定された規則を用いて決定する。
【００５２】
そして、ゲームサーバ及びゲームクライアントは、予め決定されたアニメーションインデックステーブル４２０を取得する。ここで、アニメーションインデックステーブルは、少なくとも１つのアニメーションインデックス番号４２１〜４２５及び少なくとも１つのアニメーションインデックス番号４２１〜４２５それぞれに対応するゲームクライアントのキャラクター動作タイプに関する情報４３１〜４３５を含んでもよい。
【００５３】
具体的な例として、一実施形態に係るオンラインゲームパケット生成方法（以下、オンラインゲーム方法生成方法）は、パケット構造がプロトコルＩＤフィールド４バイト、アニメーションインデックスフィールド１バイト、パケットサイズフィールド２バイトであり、フィールドのデータ値が１３  ００  ００  ００  ０４  ３１  ００...であるオンラインゲームパケットを生成してもよい。この場合、オンラインゲームパケット生成方法は、予め決定されたアニメーションインデックステーブル４２０を用いてオンラインゲームパケットを解釈する。したがって、プロトコルＩＤ情報が１３  ００  ００  ００、アニメーションインデックスが０４であるため、オンラインゲーム方法生成方法は、ゲームクライアントのキャラクターがジャンプする動作を行うものと解釈する。
【００５４】
そして、不正ユーザがオンラインゲームパケットをキャプチャーして分析する場合、不正ユーザはアニメーションインデックステーブルを取得できないため、不自然な動作を行うオンラインゲームパケットをゲームサーバに送信する。したがって、一般ユーザは、不自然な動作を行うゲームキャラクターを不正ユーザのゲームキャラクターと認識することによって、効果的に不正ユーザを検出することができる。
【００５５】
図５は、本発明の一実施形態に係るオンラインゲームパケットの第３タイプを説明するための図である。
【００５６】
図５を参照すると、オンラインゲームパケット５１０は、プロトコルＩＤフィールド５１１、プロトコルインデックスフィールド５１２、アニメーションインデックスフィールド５１３、パケットサイズフィールド５１４、少なくとも１つのプロトコルフィールド５１５〜５１７を含む。ここで、プロトコルインデックスフィールド５１２は、プロトコルＩＤフィールド５１１の下位に存在するサブフィールドである。
【００５７】
そして、ゲームサーバ及びゲームクライアントは、予め決定されたプロトコルインデックステーブル５２０を取得する。ここで、プロトコルインデックステーブル５２０は、プロトコルＩＤ５２１、５２２、プロトコルＩＤそれぞれに対応する少なくとも１つのプロトコルインデックス番号５３１〜５３５、５５１〜５５５、及び少なくとも１つのプロトコルインデックス番号５３１〜５３５、５５１から５５５それぞれに対応するプロトコルフィールド構造に関する情報５４１〜５４５、５６１〜５６５を含む。
【００５８】
そして、ゲームサーバ及びゲームクライアントは、予め決定されたアニメーションインデックステーブル５７０を取得する。ここで、アニメーションインデックステーブル５７０は、少なくとも１つのアニメーションインデックス番号５７１〜５７５、及び少なくとも１つのアニメーションインデックス番号５７１〜５７５それぞれに対応するゲームクライアントのキャラクター動作タイプに関する情報５８１から５８５を含む。
【００５９】
具体的な例として、一実施形態に係るオンラインゲームパケット生成方法（以下、オンラインゲーム方法生成方法）は、パケット構造がプロトコルＩＤフィールド４バイト、プロトコルインデックスフィールド１バイト、アニメーションインデックスフィールド１バイト、パケットサイズフィールド２バイトであり、フィールドのデータ値が１Ｃ  ００  ００  ００  ０３  ０５  ３１  ００  ３２  ００  ００  ００  ６４  ０１  ００  ００  ０Ａ  １０  ００  ００  ＥＦ  ０２  ００  ００  ７５  ０１  ００  ００  ０Ｆ  １０  ００  ００  ＦＦ  ０２  ００  ００  Ｃ０  ００  ００  ００  ２５  ０３  ０２  ０６  ３５  ３１  ８４  ００  ９２  ８４  ６７  ０３...であるオンラインゲームパケットを生成してもよい。この場合、オンラインゲームパケット生成方法は、予め決定されたプロトコルインデックステーブル５２０及び予め決定されたアニメーションインデックステーブル５７０を用いてオンラインゲームパケットを解釈する。したがって、プロトコルＩＤが１Ｃ  ００  ００  ００、プロトコルインデックスが０３であるため、オンラインゲームパケット生成方法は、目的地の座標ｘ、ｙ、ｚを３２  ００  ００  ００、６４  ０１  ００  ００、０Ａ  １０  ００  ００に、キャラクターＩＤをＥＦ  ０２  ００  ００に、現在のＸＰ値を７５  ０１  ００  ００に、現在の座標ｘ、ｙ、ｚを０Ｆ  １０  ００  ００  ＦＦ  ０２  ００  ００  Ｃ０  ００  ００  ００に、キャラクター速度を２５  ０３  ０２  ０６に、現在のＭＰ値を３５  ３１  ８４  ００に、現在のＨＰ値を９２  ８４  ６７  ０３に解釈する。そして、アニメーションインデックスが０５であるため、オンラインゲームにおいてゲームキャラクターＩＤがＥＦ  ０２  ００  ００であるゲームキャラクターは、目的地の座標まで片足で円を描きながら移動してもよい。そして、プロトコルＩＤまたはインデックス番号が異なる場合には、オンラインゲームパケットを上記の解釈と異なる意味であると解釈する。したがって、不正ユーザは、予め決定されたプロトコルインデックステーブル５２０及びアニメーションインデックステーブル５７０を取得することができないため、オンラインゲームパケット生成方法は不正ユーザを効果的に検出することができ、一般ユーザも不正ユーザを容易に識別することができる。
【００６０】
図６は、本発明の一実施形態に係る不正ユーザを検出するためのオンラインゲームパケット生成装置６００を示すブロック図である。
【００６１】
図６を参照すると、オンラインゲームパケット生成情報取得部６１０は、プロトコルＩＤ情報及びパケットサイズ情報を含むオンラインゲームパケットの生成情報を取得する。
【００６２】
また、オンラインゲームパケットタイプ決定部６２０は、プロトコルＩＤ情報に対応するプロトコルＩＤフィールド、パケットサイズ情報に対応するパケットサイズフィールド、及び少なくとも１つのプロトコルフィールドを含むパケット構造に基づいてプロトコルインデックスフィールドまたはアニメーションインデックスフィールドのうち少なくとも１つをさらに含むオンラインゲームパケットのタイプを決定する。
【００６３】
また、オンラインゲームパケット生成部６３０は、オンラインゲームパケットのタイプに基づいてオンラインゲームパケットの生成情報を用いてオンラインゲームパケットを生成する。
【００６４】
図６に示された一実施形態に係る不正ユーザを検出するためのオンラインゲームパケット生成装置６００には、図１〜図５を参照して説明した内容がそのまま適用されるため、その詳細な内容は省略する。
【００６５】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【００６６】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【図１】
2013250978.tif 000003
【図２】
2013250978.tif 000004
【図３】
2013250978.tif 000005
【図４】
2013250978.tif 000006
【図５】
2013250978.tif 000007
【図６】
2013250978.tif 000008