JP2017091496A - Information processing device, information processing method and program - Google Patents
Information processing device, information processing method and program Download PDFInfo
- Publication number
- JP2017091496A JP2017091496A JP2016085337A JP2016085337A JP2017091496A JP 2017091496 A JP2017091496 A JP 2017091496A JP 2016085337 A JP2016085337 A JP 2016085337A JP 2016085337 A JP2016085337 A JP 2016085337A JP 2017091496 A JP2017091496 A JP 2017091496A
- Authority
- JP
- Japan
- Prior art keywords
- history information
- information
- vibration
- unit
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Instructional Devices (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and a program.
従来から、スマートフォン等の端末で実行可能なゲームとして、複数のプレイヤーが競い合うランキング機能や、プレイヤー同士の対戦機能、プレイヤーのグループ同士の対戦機能を有するゲームが存在する(例えば特許文献1参照)。 Conventionally, as a game that can be executed on a terminal such as a smartphone, there is a game having a ranking function in which a plurality of players compete, a battle function between players, and a battle function between groups of players (see, for example, Patent Document 1).
このようなゲームでは、プログラムコード、端末内に保存されたデータ、ネットワークを通じてサーバに送信するデータを改ざんする行為、例えば、操作履歴を改ざんし、あたかも高得点を獲得したかのように偽装する行為、アイテムを不正に獲得する行為、アイテム数を改ざんし、希少なアイテムを大量に獲得する行為等を行う者の存在が問題になる(例えば特許文献2参照)。
なお、以下、これらの行為をまとめて「操作履歴の改ざん行為等」と呼ぶ。また、操作履歴の改ざん行為等を行う者を以下「改ざん者」と呼ぶ。
このような操作履歴の改ざん行為等は、ゲームのみならず情報処理一般にあてはまる問題である。
In such games, the act of falsifying the program code, data stored in the terminal, data sent to the server through the network, for example, falsifying the operation history as if gaining a high score The existence of a person who illegally obtains an item, alters the number of items, and obtains a large number of rare items becomes a problem (see, for example, Patent Document 2).
Hereinafter, these actions are collectively referred to as “operation history falsification actions”. Also, a person who performs an operation history falsification action or the like is hereinafter referred to as a “falsifier”.
Such manipulation history manipulation is a problem that applies not only to games but also to general information processing.
従来においても、操作履歴の改ざん行為等の対策技術について、各種の手法が提案されている。代表的な手法としては、アプリケーションソフトウェアのバイナリデータへの改ざんを検知する手法や、アプリケーションソフトウェアが読み書きするストレージやメモリ領域の改ざんを検知する手法が存在する。 Conventionally, various methods have been proposed for countermeasure techniques such as manipulation history falsification. As typical techniques, there are a technique for detecting falsification of application software to binary data and a technique for detecting falsification of storage and memory areas read / written by the application software.
しかしながら、これらの操作履歴の改ざん行為等の対策技術についての従来の手法では、その改ざん検知の手法が公知となった場合や、検知を行うプログラム・コードそのものが改ざんの対象となった場合に、有効に機能しなかった。
そこで、改ざん検知の手法が公知となった場合や、検知を行うプログラム・コードそのものが改ざんの対象となった場合においても有効に機能する、操作履歴の改ざん行為等の新たな対策技術が要望されている状況である。
However, with the conventional methods for countermeasure techniques such as tampering actions of these operation histories, when the method of detecting the tampering is publicly known, or when the program code that performs the detection itself is subject to tampering, Did not work effectively.
Therefore, there is a demand for new countermeasure technology such as manipulation history manipulation that works effectively even when the tampering detection method becomes publicly known or when the detection program code itself is subject to tampering. It is a situation.
本発明は、このような状況に鑑みてなされたものであり、操作履歴の改ざん行為等の新たな対策技術において、改ざん検知の手法が公知となった場合や、検知を行うプログラム・コードそのものが改ざんの対象となった場合においても有効に機能する手法の確立を目的とする。 The present invention has been made in view of such a situation, and when a technique for detecting falsification is known in a new countermeasure technique such as manipulation history falsification or the like, a program code itself for performing detection is provided. The purpose is to establish a method that works effectively even if it is subject to tampering.
上記目的を達成するため、本発明の一態様の情報処理装置は、
複数のプレイヤーの夫々の操作を受付けてゲームを実行し得る複数の端末と、サーバとを含む情報処理装置において、
自機で生じる振動を検出する第1検出部と、
所定の表示面に画像を表示する表示部と、
前記表示面に積層され、物体の接触を所定方式で検出する第2検出部と、
前記物体の接触によるタッチ操作に基づいて、所定の処理を実行する実行部と、
を含む端末と、
通信をして情報を授受する情報処理装置において、
前記第1検出部の検出結果の時系列を示す振動履歴情報を前記端末から取得する第1取得手段と、
前記タッチ操作の時系列を示す操作履歴情報を前記端末から取得する第2取得手段と、
前記振動履歴情報と前記操作履歴情報とを比較することで、当該操作履歴情報の正当性を判断する第1判断手段と、
を備える。
In order to achieve the above object, an information processing apparatus of one embodiment of the present invention provides:
In an information processing apparatus including a plurality of terminals capable of executing a game by receiving operations of a plurality of players and a server,
A first detection unit for detecting vibrations generated by the own machine;
A display unit for displaying an image on a predetermined display surface;
A second detector that is stacked on the display surface and detects contact of an object in a predetermined manner;
An execution unit that executes predetermined processing based on a touch operation by contact of the object;
A device containing
In an information processing apparatus that communicates and receives information,
First acquisition means for acquiring vibration history information indicating a time series of detection results of the first detection unit from the terminal;
Second acquisition means for acquiring operation history information indicating a time series of the touch operation from the terminal;
First determination means for determining the legitimacy of the operation history information by comparing the vibration history information and the operation history information;
Is provided.
本発明の一態様の情報処理方法及びプログラムは、上述の本発明の一態様の情報処理装置に対応する情報処理方法及びプログラムである。 An information processing method and program according to one embodiment of the present invention are an information processing method and program corresponding to the information processing apparatus according to one embodiment of the present invention described above.
本発明によれば、操作履歴の改ざん行為等の新たな対策技術において、改ざん検知の手法が公知となった場合や、検知を行うプログラム・コードそのものが改ざんの対象となった場合においても有効に機能する手法を確立することができる。 According to the present invention, in a new countermeasure technique such as manipulation history falsification and the like, it is effective even when a falsification detection method becomes publicly known or when a program code to detect is subject to falsification. A working approach can be established.
以下、本発明の実施形態について、図面を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明の一実施形態に係る情報処理システムの構成を示している。
図1に示す情報処理システムは、m人(mは1以上の任意の整数値)のプレイヤーの夫々により使用されるプレイヤー端末1−1乃至1−mと、サーバ2とを含むシステムである。プレイヤー端末1−1乃至1−mの夫々と、サーバ2とは、インターネット等の所定のネットワークNを介して相互に接続されている。
FIG. 1 shows the configuration of an information processing system according to an embodiment of the present invention.
The information processing system shown in FIG. 1 is a system that includes player terminals 1-1 to 1 -m used by m players (m is an arbitrary integer value of 1 or more) and a
サーバ2は、プレイヤー端末1−1乃至1−mの夫々に対してゲームの実行環境を提供し、プレイヤー端末1−1乃至1−mの夫々において実行されるゲームに関する各種各様のサービスを提供する。
プレイヤー端末1−1乃至1−mの夫々は、各プレイヤーにより操作されるスマートフォン等で構成され、ゲームの実行等各種処理を実行する。
なお、以下、プレイヤー端末1−1乃至1−mの夫々を個々に区別する必要がない場合、これらをまとめて「プレイヤー端末1」と呼ぶ。
The
Each of the player terminals 1-1 to 1-m includes a smartphone or the like operated by each player, and executes various processes such as game execution.
Hereinafter, when it is not necessary to individually distinguish each of the player terminals 1-1 to 1-m, these are collectively referred to as “
図2は、図1の情報処理システムのうち、プレイヤー端末1のハードウェア構成を示すブロック図である。
FIG. 2 is a block diagram showing a hardware configuration of the
プレイヤー端末1は、上述した様にスマートフォン等で構成される。
プレイヤー端末1は、CPU(Central Processing Unit)21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、バス24と、入出力インターフェース25と、タッチ操作入力部26と、表示部27と、入力部28と、記憶部29と、通信部30と、振動検出部31と、ドライブ32と、を備えている。
The
The
CPU21は、ROM22に記録されているプログラム、又は、記憶部29からRAM23にロードされたプログラムに従って各種の処理を実行する。
RAM23には、CPU21が各種の処理を実行する上において必要なデータ等も適宜記憶される。
The
The
CPU21、ROM22及びRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インターフェース25も接続されている。入出力インターフェース25には、タッチ操作入力部26、表示部27、入力部28、記憶部29、通信部30、振動検出部31及びドライブ32が接続されている。
The
タッチ操作入力部26は、例えば表示部27の表示面に積層される静電容量式又は抵抗膜式(感圧式)の位置入力センサにより構成され、タッチ操作がなされた位置の座標を検出する。
ここで、タッチ操作とは、タッチ操作入力部26に対する物体の接触の操作をいう。タッチ操作入力部26に対して接触する物体は、例えばプレイヤーの指やタッチペン等である。
表示部27は、液晶等のディスプレイにより構成され、ゲームに関する画像等、各種画像を表示する。
このように、本実施形態では、タッチ操作入力部26と表示部27とにより、タッチパネルが構成されている。
The touch
Here, the touch operation refers to an operation of contacting an object with respect to the touch
The
Thus, in this embodiment, the touch
ここで、タッチパネルにおけるタッチ操作の種類としては、例えばタップ、スワイプ及びフリックが存在する。
タップとは、表示面の所定領域に対して物体が接触し、その後、所定領域と同一の領域から物体が離間する操作のことをいう。
また、スワイプ及びフリックとは、表示媒体への物体の接触が開始された第1状態から、表示媒体への接触が維持されて物体の位置が変化する第2状態(タッチ位置が変化する第2状態)を経て、表示媒体への物体の接触が解除される第3状態(物体が表示媒体から離間する第3状態)まで至る一連の操作のことをいう。
詳細については後述するが、プレイヤー端末1のタッチパネルに対してこれらのタッチ操作が行われると、プレイヤー端末1に振動が生ずることとなる。
Here, as types of touch operations on the touch panel, for example, tap, swipe, and flick exist.
The tap is an operation in which an object comes into contact with a predetermined area on the display surface, and thereafter the object is separated from the same area as the predetermined area.
In addition, swipe and flick are a first state in which contact of an object with the display medium is started and a second state in which contact with the display medium is maintained and the position of the object is changed (second state in which the touch position is changed). State), a series of operations from the contact of the object to the display medium to the third state (third state in which the object is separated from the display medium).
Although details will be described later, when these touch operations are performed on the touch panel of the
入力部28は、各種ハードウェア釦等で構成され、プレイヤーの指示操作に応じて各種情報を入力する。
記憶部29は、DRAM(Dynamic Random Access Memory)等で構成され、各種データを記憶する。
通信部30は、インターネットを含むネットワークNを介して他の装置(図1の例ではサーバ2や他のプレイヤー端末1)との間で行う通信を制御する。
The
The
The
振動検出部31は、タッチパネルへのタッチ操作により生じた振動を検出する。例えばプレイヤー端末1がスマートフォンで構成される場合、当該スマートフォンに内蔵される加速度センサにより、振動検出部31は構成される。
なお、より正確には加速度センサは、ピエゾ抵抗型や静電容量型の検出機構により3軸加速度成分を検出して、その検出結果を表す3軸成分毎の加速度データを出力する。そして、サーバ2等が、当該加速度データに基づいて、プレイヤー端末1の振動を認識する。ただし、本明細書では、このような加速度データは、振動を認識可能であるため、振動の情報の一種として把握する。即ち、本明細書では、振動検出とは、振動そのものを検出することの他、振動を認識可能な情報(例えば加速度)を検出することも含む広義な概念である。
The
More precisely, the acceleration sensor detects a triaxial acceleration component by a piezoresistive type or a capacitance type detection mechanism, and outputs acceleration data for each triaxial component representing the detection result. Then, the
ドライブ32は、必要に応じて設けられる。ドライブ32には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア41が適宜装着される。ドライブ32によってリムーバブルメディア41から読み出されたプログラムは、必要に応じて記憶部29にインストールされる。また、リムーバブルメディア41は、記憶部29に記憶されている各種データも、記憶部29と同様に記憶することができる。
The
図3は、図1の情報処理システムのうち、本発明の情報処理装置の一実施形態に係るサーバ2のハードウェア構成を示すブロック図である。
FIG. 3 is a block diagram showing a hardware configuration of the
サーバ2は、CPU51と、ROM52と、RAM53と、バス54と、入出力インターフェース55と、出力部56と、入力部57と、記憶部58と、通信部59と、ドライブ60とを備えている。
サーバ2の構成は、プレイヤー端末1の振動検出部31及びタッチパネルを除いた構成と基本的に同様であるので、ここではその説明は省略する。
The
Since the configuration of the
このような図2のプレイヤー端末1及び図3のサーバ2の各種ハードウェアと各種ソフトウェアとの協働により、プレイヤー端末1でゲームの実行が可能になる。
即ち、本実施形態の情報処理システムは、マルチバトル等複数のプレイヤーが参加可能なゲームに対する各種制御を実行できる。特に、情報処理システムは、操作履歴の改ざん行為等又はそのおそれを検出する制御(以下、「操作履歴改ざん検出制御」と呼ぶ)として、次のような制御を実行することができる。
The game can be executed on the
That is, the information processing system according to the present embodiment can execute various controls on a game in which a plurality of players can participate, such as a multi-battle. In particular, the information processing system can execute the following control as control for detecting manipulation history falsification or the like or the risk thereof (hereinafter referred to as “operation history alteration detection control”).
即ち、改ざん者の多くは、タッチ操作を行うべき場所とタイミングをコンピュータに判断させ、自然人(プレイヤー)による操作を伴わずに自動的にタッチ操作を行うプログラムを利用し、スマートフォン上のタッチ操作に関する情報を改ざんや偽造をし、操作履歴の改ざん行為等を行っている。従って、改ざん者の操作データは、自然人が物理的に入力した正規のタッチ操作に関する情報とは異なるものとなる。
そこで、自然人が物理的に入力した正規のタッチ操作か否かを検出することができれば、操作履歴の改ざん行為等又はそのおそれを検出することができる。
That is, many tamperers use a program that automatically performs a touch operation without an operation by a natural person (player) by making a computer determine the location and timing at which the touch operation should be performed. The information is falsified or counterfeited, and the operation history is falsified. Therefore, the manipulation data of the tamper is different from the information related to the regular touch operation physically input by the natural person.
Therefore, if it is possible to detect whether or not the touch operation is a normal input physically input by a natural person, it is possible to detect the manipulation history falsification action or the like or the risk thereof.
ここで、プレイヤー端末1のタッチパネルへのタッチ操作が行われるときには、必ず、プレイヤー端末1本体に微細な振動が加えられる。この振動を検出することができれば、自然人が物理的に入力した正規のタッチ操作か否かを検出することが可能になる。
具体的には、プレイヤー端末1がスマートフォンの場合、加速度センサが内蔵されている。この加速度センサの出力値(又はその加工値)の時系列の情報からは、プレイヤー端末1が振動したか否か、振動しているならばどの程度振動しているのかを把握することができる。
また、加速度センサ以外の振動検出部31がプレイヤー端末1に備えられている場合も、振動検出部31の検出結果の時系列情報から、プレイヤー端末1が振動したか否か、振動しているならばどの程度振動しているのかを把握することができる。
そこで、以下、加速度センサを含め振動検出部31の検出結果の時系列情報を、「振動履歴情報」と呼ぶ。
この振動履歴情報を用いることで、自然人が物理的に入力した正規のタッチ操作か否かを検出することが可能になる。その理由は次の通りである。即ち、振動検出部31が出力する値は、物理現象から観測されるものである。プレイヤー端末1の持ち方、プレイヤー端末1本体のサイズや重さ、プレイヤー端末1に搭載される振動検出部31の種類等、多様な要因により、振動検出部31の値が決定される。従って、プログラムを用いて、振動検出部31の出力値の履歴を正確かつ自動的に再現することは困難である。
なお、以下では、加速度センサの出力結果の時系列情報を、振動履歴情報の一例として適宜用いて説明する。
Here, when a touch operation on the touch panel of the
Specifically, when the
Further, even when the
Therefore, hereinafter, the time series information of the detection result of the
By using this vibration history information, it is possible to detect whether or not the touch operation is a regular touch operation physically input by a natural person. The reason is as follows. That is, the value output from the
Hereinafter, the time series information of the output result of the acceleration sensor will be described as appropriate as an example of vibration history information.
以上まとめると、本実施形態の操作履歴改ざん検出制御では、次のような制御処理が実行される。即ち、プレイヤー端末1(スマートフォン)は、そのタッチパネルへのタッチ操作が行われる際の振動を、スマートフォンの加速度センサ(振動検出部31)を用いて検出して、その検出結果の時系列情報を振動履歴情報としてサーバ2に送信する。つまり、サーバ2は、プレイヤー端末1の加速度センサの検出結果の時系列情報を、当該プレイヤー端末1の振動履歴情報として取得する。
また、サーバ2は、当該プレイヤー端末1におけるタッチ操作の履歴を示す情報(以下、「操作履歴情報」と呼ぶ)も取得する。
そして、サーバ2は、操作履歴情報と振動履歴情報とを比較することにより、当該操作履歴情報が、自然人が物理的に入力した正規のタッチ操作に関する情報であるのか、それとも、プログラム等により自動的に生成或いは改ざんされた情報であるのかを識別する。つまり、サーバ2は、改ざんや偽造が容易なタッチ操作に関する操作履歴情報の正当性を、改ざんや偽造が困難な振動履歴情報を用いて、検証することができる。
In summary, in the operation history alteration detection control of the present embodiment, the following control process is executed. That is, the player terminal 1 (smart phone) detects vibration when a touch operation on the touch panel is performed using the acceleration sensor (vibration detection unit 31) of the smartphone, and vibrates time series information of the detection result. It is transmitted to the
The
Then, the
ここで、自然人が物理的に入力したタッチ操作に起因する加速度センサの検出結果を、プログラム等が模すことは困難であることは上述した通りである。しかしながら、プログラム等が模すことは不可能であるとまでは言い切れない。
そこで本実施形態では、サーバ2は、振動履歴情報が正当か否かを判断する指標となる情報(以下、「指標情報」と呼ぶ)を保持している。本実施形態の指標情報は、自然人が物理的に入力したタッチ操作に起因する加速度センサの検出結果から得られた振動履歴情報に基づいて生成されたものである。
そして、サーバ2は、プレイヤー端末1から送信されてきた振動履歴情報と、この指標情報とを比較することで、当該振動履歴情報の正当性を検証する。
このように、本実施形態では、振動履歴情報と操作履歴情報という異なる2種類の情報源を用いて、振動履歴情報の正当性の確認後に操作履歴情報の正当性を確認するといった2ステップでの正当性の確認を行っている。つまり、サーバ2は、改ざんや偽造が容易なタッチ操作に関する操作履歴情報の正当性を、改ざんや偽造がされていないことが検証された振動履歴情報を用いて、検証することができる。
Here, as described above, it is difficult for a program or the like to imitate the detection result of the acceleration sensor resulting from the touch operation physically input by the natural person. However, it cannot be said that a program or the like cannot be imitated.
Therefore, in the present embodiment, the
Then, the
As described above, in this embodiment, two types of information sources, vibration history information and operation history information, are used to check the validity of the operation history information after confirming the validity of the vibration history information. The validity is confirmed. That is, the
さらに以下、このような操作履歴改ざん検出制御について、図4及び図5を参照して説明する。 Further, such operation history alteration detection control will be described below with reference to FIGS. 4 and 5.
図4は、プレイヤー端末1のタッチパネルへのタップ操作をすることにより生じた振動を、プレイヤー端末1の加速度センサ(振動検出部31)で検出した場合における、その検出結果のタイミングチャートである。
本実施形態の操作履歴改ざん検出制御を実施するためには、プレイヤー端末1のタッチパネルへのタッチ操作が行われる際の微細な振動を正確に検知する必要がある。このためには、プレイヤー端末1の加速度センサが十分な分解能を有していることが前提となる。この前提が成立するのか否かについて本発明者が検証した結果を示す図が、図4である。
具体的には、図4(A)は実験者がプレイヤー端末1を手で持って3回タップ操作を行った場合のタイミングチャートである。図4(B)はプレイヤー端末1を机の上に置いた状態で実験者が3回タップ操作を行った場合のタイミングチャートである。
なお、図4の例では、加速度センサの検出結果はアナログ的に連続した曲線として描画されているが、実際には、各軸の加速度の値は10ミリ秒毎に取得されている。プレイヤー端末1として現在市販されている一般的なスマートフォンが採用された場合、それに内蔵される加速度センサは、100Hz(1秒間に100回)の測定周波数を有するため、10ms毎の取得となる。
FIG. 4 is a timing chart of the detection result when the vibration generated by the tap operation on the touch panel of the
In order to implement the operation history alteration detection control of the present embodiment, it is necessary to accurately detect minute vibrations when a touch operation on the touch panel of the
Specifically, FIG. 4A is a timing chart when the experimenter holds the
In the example of FIG. 4, the detection result of the acceleration sensor is drawn as an analog continuous curve, but actually, the acceleration value of each axis is acquired every 10 milliseconds. When a general smart phone currently on the market is adopted as the
図4の3つの楕円の枠内に示すように、プレイヤー端末1のタッチパネルへの3回のタップ操作は、プレイヤー端末1の加速度センサの出力レベル(Accelerationの)変動(振幅変動)として検出ができていることがわかる。
なお、図4(A)及び図4(B)の末尾(横軸のSampleの値が300以降の波形)において、微細な振幅変動が繰り返されているのは、スクリーンキャプチャ操作のための振動であり、タッチ操作とは無関係である。
As shown in the three ellipse frames in FIG. 4, the three tap operations on the touch panel of the
It should be noted that at the end of FIGS. 4 (A) and 4 (B) (a waveform with a sample value on the horizontal axis of 300 or later), the minute amplitude fluctuation is repeated due to vibration for the screen capture operation. Yes, unrelated to touch operation.
プレイヤー端末1を手に持った時のタップ操作をした振動と、プレイヤー端末1を机の上に固定してタップ操作をしたときの振動の最大の違いは、加速度センサの出力レベルの振れ幅である。
具体的には、図4(A)の、プレイヤー端末1を手に持った時の加速度センサの出力レベルの振れ幅は、0gal〜200galまでの揺れを示している。一方、図4(B)の、プレイヤー端末1を机の上に固定してタッチ操作したときの加速度センサの出力レベルの振れ幅は、0gal〜50galとなっている。
ここで、1galは、1センチメートル毎秒(cm/s)の加速度の大きさである。なお、プレイヤー端末1を落下させたときに生じる重力加速度はおよそ981galであり、プレイヤー端末1の加速度センサが極めて微細な加速度の変化をとらえていることがわかる。
The maximum difference between the vibration that occurs when the
Specifically, the swing range of the output level of the acceleration sensor when the
Here, 1 gal is the magnitude of acceleration of 1 centimeter per second (cm / s). Note that the gravitational acceleration generated when the
以上より、本実施形態の操作履歴改ざん検出制御を実施するための前提、即ち、プレイヤー端末1のタッチパネルへのタッチ操作が行われる際の微細な振動を正確に検知すべく、プレイヤー端末1の加速度センサが十分な分解能を有しているという前提が、成立することが検証された。
As described above, in order to accurately detect the premise for carrying out the operation history alteration detection control of the present embodiment, that is, the minute vibration when the touch operation on the touch panel of the
図5は、プレイヤー端末1の操作履歴情報の正当性を、正当性確認済みの振動履歴情報と比較し、検証する図である。
プレイヤーTが、プレイヤー端末1のタッチパネルに3回のタップ操作をした場合における、プレイヤー端末1に内蔵された加速度センサ(振動検出部31)の検出結果を示すタイミングチャート(即ち振動履歴情報)が右上に示されており、プレイヤー端末1のタップ操作による操作履歴情報が右下に示されている。
FIG. 5 is a diagram for verifying the validity of the operation history information of the
A timing chart (that is, vibration history information) indicating the detection result of the acceleration sensor (vibration detection unit 31) built in the
振動履歴情報(右上)は、プレイヤー端末1に内蔵された加速度センサから出力される、x軸の加速度、y軸の加速度、z軸の加速度の夫々のタイミングチャートから構成される。図5の例では、図4の例と同様に、振動履歴情報はアナログ的に連続した曲線として描画されているが、実際には、各軸の加速度の値は10ミリ秒毎に取得されている。プレイヤー端末1として現在市販されている一般的なスマートフォンが採用された場合、それに内蔵される加速度センサ(振動検出部31)は、100Hz(1秒間に100回)の測定周波数を有するため、10ms毎の取得となる。具体的には例えば、振動履歴情報Aのデータ構造は例えば次式(1)のように定義される。
A:={x1,y1,z1, x2,y2,z2, ・・・ , xm,ym,zm}・・・(1)
ここで、加速度センサは一定の周波数で加速度を測定しており、xk,yk,zk(kは1〜mの整数値)の夫々は、タイミングkで測定される、x軸の加速度、y軸の加速度、及び、z軸の加速度の夫々を示している。つまり、タイミングmは、最新の測定結果を示している。
The vibration history information (upper right) is composed of respective timing charts of x-axis acceleration, y-axis acceleration, and z-axis acceleration output from the acceleration sensor built in the
A: = {x1, y1, z1, x2, y2, z2,..., Xm, ym, zm} (1)
Here, the acceleration sensor measures acceleration at a constant frequency, and each of xk, yk, zk (k is an integer value of 1 to m) is an x-axis acceleration, y-axis measured at timing k. , And z-axis acceleration, respectively. That is, the timing m indicates the latest measurement result.
操作履歴情報は、プレイヤーTがプレイヤー端末1にタッチ操作をしたタイミングを示す情報である。
具体的には、タッチパネルからは、x軸上の位置及びy軸上の位置から構成される入力イベントの情報が得られる。このような入力イベントの情報は、プレイヤー端末1のメモリ上、もしくは、二次記憶上に格納される。この入力イベントの情報に対して、時間情報(各入力イベントがいつ発生したのかを示す情報)を含めたものが、操作履歴情報として採用されている。具体的には例えば、操作履歴情報Tのデータ構造は例えば次式(2)のように定義される。
A:={x1,y1,t1, x2,y2,t2, ・・・ , xn,yn,tn}・・・(2)
ここで、xp,yp,tp(pは1〜nの整数値)の夫々は、タイミングpで測定される、x軸の位置、y軸の位置、及び、それらの位置が記録された時刻の夫々を示している。このように、入力イベントの情報の履歴(各要素)は、振動履歴情報と異なり、ユーザが入力したタイミングで記録されるため、時間情報も夫々のイベント毎に記録したものが、操作履歴情報として採用される。
The operation history information is information indicating the timing at which the player T performs a touch operation on the
Specifically, information on an input event including a position on the x axis and a position on the y axis is obtained from the touch panel. Such input event information is stored in the memory of the
A: = {x1, y1, t1, x2, y2, t2,..., Xn, yn, tn} (2)
Here, xp, yp, and tp (p is an integer value of 1 to n) are the x-axis position, the y-axis position, and the time at which these positions are recorded, measured at timing p. Showing each one. As described above, since the history (each element) of the input event information is recorded at the timing input by the user, unlike the vibration history information, the time information recorded for each event is the operation history information. Adopted.
プレイヤー端末1の加速度センサの検出結果を示す振動履歴情報(図5右上)において、1回目のタップ時における波形W1、2回目のタップ時における波形W2、及び3回目のタップ時における波形W3について、加速度センサの出力レベル(Accelerationの)変動(振幅変動)が明確に示されていることがわかる。なお、波形W1,W2,W3は、上記式(1)の振動履歴情報A内の複数の要素データxk,yk,zkの集合体である。
また、プレイヤー端末1の操作履歴情報(図5右下)では、1回目のタップを示すイベント情報T1、2回目のタップを示すイベント情報T2、及び3回目のタップを示すイベント情報T3が存在することがわかる。なお、イベント情報T1,T2,T3は、上記式(2)の操作履歴情報T内の1つの要素データxp,yp,tpである。
ここで、振動履歴情報A(図5右上)と操作履歴情報T(図5右下)の時間軸(横軸)は一致している。そして、振動履歴情報Aにおける波形W1,W2,W3の夫々の発生タイミング(時間軸上の位置)と、操作履歴情報Tにおけるイベント情報T1,T2,T3の夫々の発生タイミング(時間軸上の位置)とは略一致していることがわかる。
このように、正当性確認済みの振動履歴情報A(図5右上)と操作履歴情報T(図5右下)とを比較することで、当該操作履歴情報Tの正当性を、当該振動履歴情報Aから検証できることがわかる。
換言すると、振動履歴情報Aにおける加速度(振動)の変化が発生したタイミングと、操作履歴情報Tにおけるイベントの発生タイミングが略同一に起きていることを確認することで、当該操作履歴情報Tで表される各イベントは、自然人が物理的に入力した正規のタッチ操作に基づくものであることを検証することができる。
In the vibration history information indicating the detection result of the acceleration sensor of the player terminal 1 (upper right in FIG. 5), regarding the waveform W1 at the first tap, the waveform W2 at the second tap, and the waveform W3 at the third tap, It can be seen that the output level (Acceleration) variation (amplitude variation) of the acceleration sensor is clearly shown. Waveforms W1, W2, and W3 are aggregates of a plurality of element data xk, yk, and zk in the vibration history information A of the above formula (1).
In the operation history information of the player terminal 1 (lower right in FIG. 5), there are event information T indicating the first tap, event information T2 indicating the second tap, and event information T3 indicating the third tap. I understand that. The event information T1, T2, T3 is one element data xp, yp, tp in the operation history information T of the above formula (2).
Here, the time axis (horizontal axis) of the vibration history information A (upper right in FIG. 5) and the operation history information T (lower right in FIG. 5) coincide. Then, the generation timing (position on the time axis) of the waveforms W1, W2, and W3 in the vibration history information A and the generation timing (position on the time axis) of the event information T1, T2, and T3 in the operation history information T ) Is almost the same.
Thus, by comparing the vibration history information A (upper right in FIG. 5) and the operation history information T (lower right in FIG. 5), the correctness of the operation history information T can be determined. It can be seen from A that it can be verified.
In other words, by confirming that the timing at which the acceleration (vibration) change in the vibration history information A occurs and the occurrence timing of the event in the operation history information T are substantially the same, the operation history information T It can be verified that each event to be performed is based on a regular touch operation physically input by a natural person.
以上図4及び図5を用いて説明した操作履歴改ざん検出制御を実行すべく、図2のプレイヤー端末1と図3のサーバ2は、図6に示す様な機能的構成を有している。
図6は、プレイヤー端末1とサーバ2の機能的構成のうち、操作履歴改ざん検出制御を実行するための機能的構成例を示す機能ブロック図である。
The
FIG. 6 is a functional block diagram illustrating an example of a functional configuration for executing the operation history alteration detection control among the functional configurations of the
図6に示すように、プレイヤー端末1のCPU21においては、送信制御部141と、ゲーム実行部142とが機能する。
ゲーム実行部142は、所定のゲームを実行する。当該ゲームは、タッチパネルに対するタッチ操作を必要とするものとする。
送信制御部141は、振動検出部31から出力された振動履歴情報を通信部30から送信することを制御する。また、送信制御部141は、タッチパネルに対する操作履歴情報を通信部30から送信することを制御する。
As shown in FIG. 6, a
The
The
また、図6に示す様に、サーバ2のCPUにおいては、振動情報取得部111と、振動情報正当性判断部112と、操作情報取得部113と、操作情報正当性判断部114と、指標関数生成更新部121と、指標関数管理部122とが機能する。
サーバ2の記憶部58においては、指標関数DB131が機能する。
As shown in FIG. 6, in the CPU of the
In the
振動情報取得部111は、プレイヤー端末1の振動検出部31の検出結果の時系列を示す振動履歴情報を、通信部59を介して当該プレイヤー端末1から取得する。
振動情報正当性判断部112は、指標関数管理部122によって管理されている指標関数に基づいて、振動情報取得部111により取得された振動履歴情報の正当性を判断する。
ここで、指標関数とは、振動履歴情報が示す振動が、自然人によるタッチ操作に基づく振動であるか否かの判定結果を示す情報、又は当該判定結果を導き出すことが可能な情報を出力する関数をいう。
従って、このような特性を有する関数であれば、任意のものを指標関数として採用することができる。
例えば、振動履歴情報が示す加速度センサの出力が線形変化していないことを確認するだけの関数を、指標関数として採用してもよい。
また、振動履歴情報は加速度センサの検出結果の時系列情報であるため、過去に自然人が実際にタッチ操作をした際に得られた加速度の特徴量を定義したモデルを用いて得られた関数が、指標関数として採用してもよい。
即ち、自然人によるタッチ操作の振動履歴情報の集合を対象として、サポートベクターマシン(support vector machine)等の教師あり学習を用いるパターン認識モデルや、ランダムフォレスト(random forest)等の機械学習アルゴリズムを適用して、自然人による振動履歴情報と、機械的に生成もしくは改ざんされた振動履歴情報とを識別する関数を出力させ、この関数を、指標関数として採用してもよい。
つまり、過去に得られた振動履歴情報のうち、正当性が確認された振動履歴情報に基づいて、指標関数が生成されて、指標関数DB131に格納されてもよい。
なお、指標関数の生成手法や生成場所は、特に限定されず、本実施形態では後述するようにサーバ2に設けられる指標関数生成更新部121が生成する手法を採用しているが、その他例えば、プレイヤーのプレイヤー端末1から集められた正規、および、不正規の振動履歴情報を、サーバ2側に所謂ビッグデータとして蓄積し、これらの振動履歴ビッグデータ(モーション・ビッグデータ)を対象とした機械学習による分類手法を採用してもよい。 具体的には本実施形態では、振動情報正当性判断部112は、振動情報取得部111により取得された振動履歴情報が示す各タイミングの加速度センサの値を、指標関数DB131に格納されている指標関数に入力して当該指標関数の出力に基づいて、振動履歴情報が示す各タイミングの加速度センサの値が、自然人がタッチ操作したものとして不自然でないか否かを確認する。つまり、自然人がタッチ操作したものとして不自然でないことが確認された振動履歴情報が、正当性が確認された振動履歴情報である。
The vibration information acquisition unit 111 acquires vibration history information indicating a time series of detection results of the
The vibration information
Here, the index function is a function that outputs information indicating a determination result as to whether or not the vibration indicated by the vibration history information is a vibration based on a touch operation by a natural person, or information capable of deriving the determination result. Say.
Therefore, any function having such characteristics can be adopted as the index function.
For example, a function that only confirms that the output of the acceleration sensor indicated by the vibration history information does not change linearly may be adopted as the index function.
In addition, since the vibration history information is time-series information of the detection result of the acceleration sensor, a function obtained using a model that defines a feature quantity of acceleration obtained when a natural person has actually performed a touch operation in the past can be obtained. The index function may be employed.
That is, for a set of vibration history information of touch operations by natural persons, a pattern recognition model using supervised learning such as a support vector machine or a machine learning algorithm such as random forest is applied. Thus, a function for identifying vibration history information by a natural person and vibration history information mechanically generated or tampered with may be output, and this function may be adopted as an index function.
That is, an index function may be generated and stored in the
Note that the index function generation method and generation location are not particularly limited, and in this embodiment, a method generated by the index function generation /
操作情報取得部113は、プレイヤー端末1のタッチ操作の時系列を示す操作履歴情報を、通信部59を介して当該プレイヤー端末1から取得する。
操作情報正当性判断部114は、操作情報取得部113により取得された操作履歴情報と、振動情報正当性判断部112で正当性が判断された振動履歴情報とを比較することで、当該操作履歴情報の正当性を判断する。
具体的には、操作情報正当性判断部114は、操作履歴情報が示すタッチ操作による入力イベント履歴と、正当性が確認された振動履歴情報が示す各タイミングの加速度センサの値とを比較し、入力イベント履歴が改ざんされていないことを確認する。
より具体的には例えば、操作情報正当性判断部114は、タッチ操作をしたときの時間に対応する加速度の変化が、入力履歴イベントと同時に起きていることを確認する関数を用いて、入力イベント履歴が改ざんされていないことを確認することができる。
The operation
The operation information
Specifically, the operation information
More specifically, for example, the operation information
指標関数生成更新部121は、過去に正当性が判断された振動履歴情報を用いて、指標関数を生成又は更新する。
具体的には、指標関数生成更新部121は、プレイヤー端末1において自然人のタッチ操作により検出された加速度の特徴量に基づいて、指標関数を生成又は更新する。生成又は更新の手法は、上述した様に特に限定されないが、適切なものに更新できるように、機械学習等を用いる手法を採用すると好適である。
指標関数管理部122は、このようにして指標関数生成更新部121によって生成又は更新された指標関数を、指標関数DB131に蓄積することで管理する。
The index function generation / updating
Specifically, the index function generation /
The index
以上、操作履歴改ざん検出制御を実現するためのプレイヤー端末1及びサーバ2の機能的構成について説明した。
次に、図7を参照して、このような機能的構成を有するサーバ2が実行する、操作履歴改ざん検出処理の流れを説明する。
図7は、サーバ2の操作履歴改ざん検出処理の流れを説明するフローチャートである。
The functional configuration of the
Next, the flow of the operation history alteration detection process executed by the
FIG. 7 is a flowchart for explaining the flow of the operation history alteration detection process of the
ステップS1において、サーバ2の振動情報取得部111は、振動検出部31の検出の時系列を示す振動履歴情報をプレイヤー端末1から取得する。
ステップS2において、操作情報取得部113は、タッチ操作の検出の時系列を表す操作履歴情報をプレイヤー端末1から取得する。
ステップS3において、振動情報正当性判断部112は、ステップS1の処理で取得された振動履歴情報の正当性を、指標関数管理部122によって管理されている指標関数を用いて判断する。
ステップS4において、振動情報正当性判断部112は、ステップS3の判断結果に基づいて、ステップS1の処理で取得された振動履歴情報は正当か否かを判断する。
In step S <b> 1, the vibration information acquisition unit 111 of the
In step S <b> 2, the operation
In step S <b> 3, the vibration information
In step S4, the vibration information
振動履歴情報が正当でないと判断された場合、即ち、プログラム等による改ざん等が行われた可能性がある振動履歴情報と判断された場合、ステップS4においてNOであると判断されて、処理はステップS7に進む。
ステップS7において、振動情報正当性判断部112は、リクエストの拒否処理を実行する。ここでいうリクエストとは、操作履歴情報により特定されるタッチ操作の組合せによるコマンドの発行等のリクエストを意味する。その後、処理は、ステップS8に進む。なお、ステップS8以降の処理については後述する。
If it is determined that the vibration history information is not valid, that is, if it is determined that the vibration history information may have been altered by a program or the like, NO is determined in step S4, and the process Proceed to S7.
In step S <b> 7, the vibration information
これに対して、振動履歴情報が正当であると判断された場合、ステップS4においてYESであると判断されて、処理はステップS5に進む。
ステップS5において、操作情報正当性判断部114は、ステップS2の処理で取得された操作履歴情報と、ステップS3及びS4で正当性が判断された振動履歴情報とを比較する。
ステップS6において、操作情報正当性判断部114は、操作履歴情報は正当であるか否かを判断する。
On the other hand, if it is determined that the vibration history information is valid, YES is determined in step S4, and the process proceeds to step S5.
In step S5, the operation information
In step S6, the operation information
操作履歴情報が正当でないと判断された場合、即ち、プログラム等による改ざん等が行われた可能性がある操作履歴情報と判断された場合、ステップS6においてNOであると判断されて、処理はステップS7に進む。
ステップS7において、振動情報正当性判断部112は、リクエストの拒否処理を実行する。その後、処理は、ステップS8に進む。なお、ステップS8以降の処理については後述する。
When it is determined that the operation history information is not valid, that is, when it is determined that the operation history information may have been altered by a program or the like, it is determined NO in step S6, and the process proceeds to step Proceed to S7.
In step S <b> 7, the vibration information
これに対して、操作履歴情報が正当であると判断された場合、ステップS6においてYESであると判断されて、リクエストが受け付けられると、処理はステップS8に進む。
ステップS8において、サーバ2のCPU51は、処理の終了指示が有ったか否かを判断する。ここで、処理の終了指示は、特に限定されないが、本実施形態ではサーバ2の電源遮断が採用されている。つまり、サーバ2において電源が遮断されると、ステップS8においてYESであると判断されて、サーバ2の操作履歴改ざん検出処理は終了になる。
これに対して、サーバ2において電源が遮断されない限り、ステップS8においてNOであると判断されて処理はステップS1に戻され、それ以降の処理が繰り返される。
On the other hand, when it is determined that the operation history information is valid, it is determined as YES in Step S6, and when the request is accepted, the process proceeds to Step S8.
In step S8, the
In contrast, unless the
以上本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。 Although one embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiment, and modifications, improvements, and the like within a scope that can achieve the object of the present invention are included in the present invention. is there.
例えば、上述の実施形態は、正規ユーザが自然に入力しており、かつ、改ざん者が容易には入力できないデータを、操作履歴改ざん検出の対象にするものである。
しかしながら、特にこれに限定されず、汎用的なタッチの操作についての操作履歴情報の正当性の検証の用途一般に適用することができる。即ち、ゲームに限定されず、スマートフォン等のタッチ操作の正当性の検証に幅広く適用することができる。
For example, in the above-described embodiment, data that is normally input by a legitimate user and that cannot be easily input by a tamper is targeted for manipulation history tampering detection.
However, the present invention is not particularly limited to this, and can be applied to general purposes for verifying the validity of operation history information for general touch operations. That is, the present invention is not limited to games, and can be widely applied to verification of the legitimacy of touch operations such as smartphones.
また例えば、上述の実施形態では、説明の便宜上、プレイヤー端末1へのタップの操作履歴情報を一例として用いたが、特にこれに限定されない。
即ち、上述したように、プレイヤー端末1のタッチパネルへのタッチ操作であれば、プレイヤー端末1に何らかの振動が生じる。従って、タップ、スワイプ、フリック等の任意の種類のタッチ操作が任意に組み合わされた操作履歴情報の検証に適用することが容易にできる。
For example, in the above-described embodiment, the operation history information of the tap on the
That is, as described above, if the
また例えば、上述の実施形態では、振動履歴情報の正当性を検証するための情報として、人間が入力した加速度の特徴量を定義したモデルを用いて得られた指標関数が採用されたが、特にこれに限定されず、自然人によるタッチ操作に基づくプレイヤー端末1の振動か否かの判定の指標になる情報であれば足りる。このような情報を、以下「指標情報」と呼ぶ。即ち、指標関数は指標情報の一例である。
Further, for example, in the above-described embodiment, an index function obtained using a model that defines a feature amount of acceleration input by a human is employed as information for verifying the validity of vibration history information. However, the present invention is not limited to this, and any information that is an index for determining whether or not the
また例えば、図6の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が情報処理装置に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図6の例に限定されない。また、機能ブロックの存在場所も、図6に特に限定されず、任意でよい。例えば、サーバ2の機能ブロックをプレイヤー端末1等に移譲させてもよいし、逆に端末1の機能ブロックをサーバ2等に移譲させてもよい。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
Further, for example, the functional configuration of FIG. 6 is merely an example, and is not particularly limited. That is, it is sufficient that the information processing apparatus has a function capable of executing the above-described series of processes as a whole, and what functional block is used to realize this function is not particularly limited to the example of FIG. Further, the location of the functional block is not particularly limited to that shown in FIG. For example, the functional block of the
In addition, one functional block may be constituted by hardware alone, software alone, or a combination thereof.
各機能ブロックの処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
When the processing of each functional block is executed by software, a program constituting the software is installed on a computer or the like from a network or a recording medium.
The computer may be a computer incorporated in dedicated hardware. The computer may be a computer capable of executing various functions by installing various programs, for example, a general-purpose smartphone or personal computer other than a server.
このようなプログラムを含む記録媒体は、プレイヤーにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でプレイヤーに提供される記録媒体等で構成される。 The recording medium including such a program is not only constituted by a removable medium (not shown) distributed separately from the apparatus main body in order to provide the program to the player, but is also provided to the player in a state of being preinstalled in the apparatus main body. It is composed of a provided recording medium or the like.
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in time series along the order, but is not necessarily performed in time series, either in parallel or individually. The process to be executed is also included.
Further, in the present specification, the term “system” means an overall apparatus configured by a plurality of devices, a plurality of means, and the like.
換言すると、本発明が適用される情報処理装置は、上述の図1のサーバ2を含め、次のような構成を有する各種各様の実施形態を取ることができる。
即ち、本発明が適用される情報処理装置は、次のような端末(例えば図1のプレイヤー端末1)と通信をして情報を授受する。
即ち、端末は、
自機で生じる振動を検出する第1検出部(例えば図2の振動検出部31)と、
所定の表示面に画像を表示する表示部(例えば図2の表示部27)と、
前記表示面に積層され、物体の接触を所定方式で検出する第2検出部(例えば図2のタッチ操作入力部26)と、
前記物体の接触によるタッチ操作に基づいて、所定の処理を実行する実行部(例えば図6のゲーム実行部142)と、
を含む。
また、本発明が適用される情報処理装置は、
前記第1検出部の検出結果の時系列を示す振動履歴情報を前記端末から取得する第1取得手段(例えば図6の振動情報取得部111)と、
前記タッチ操作の時系列を示す操作履歴情報を前記端末から取得する第2取得手段(例えば図6の操作情報取得部113)と、
前記振動履歴情報と前記操作履歴情報とを比較することで、当該操作履歴情報の正当性を判断する第1判断手段(例えば図6の操作情報正当性判断部114)と、
を備える。
In other words, the information processing apparatus to which the present invention is applied can take various embodiments including the
That is, the information processing apparatus to which the present invention is applied communicates with the following terminals (for example, the
That is, the terminal
A first detection unit (for example, the
A display unit (for example, the
A second detection unit (for example, the touch
An execution unit (for example, the
including.
An information processing apparatus to which the present invention is applied is
First acquisition means (for example, vibration information acquisition unit 111 in FIG. 6) that acquires vibration history information indicating a time series of detection results of the first detection unit from the terminal;
Second acquisition means (for example, the operation
A first determination unit (for example, the operation information
Is provided.
このようにして、操作履歴改ざん検出において、改ざん検知の手法が公知となった場合や、検知を行うプログラム・コードそのものが改ざんの対象となった場合においても有効に機能する手法が確立される。
即ち、正規ユーザが自然に入力しており、かつ、改ざん者が容易には入力できないデータとして、物体の接触操作(タッチ操作)により入力されるデータが存在する。このタッチ操作はスマートフォン等では汎用的な操作である。そこで、本発明が適用される情報処理装置は、この汎用的なタッチ操作のイベントの正当性を検証することにより、操作履歴の改ざん行為等(又はそのおそれの行為)を検出する。
ここで、正規ユーザが端末に対して自然にタッチ操作をした場合には、当該端末において振動が生ずる。この場合、第1検出部の検出結果の時系列を示す振動履歴情報は、物理現象から観測されるものであり、プログラムから正確に自動生成することは困難である。従って、本発明が適用される情報処理装置は、上記構成が公開されることによって、改ざん検知の手法が公知となった場合や、端末側において検知を行うプログラム・コードそのものが改ざんの対象となった場合においても、操作履歴の改ざん行為等を有効に検出することができる。
In this way, in the operation history alteration detection, a method is established that functions effectively even when the alteration detection method becomes known or when the program code that performs the detection itself is the target of alteration.
That is, there is data that is input by a contact operation (touch operation) of an object as data that a regular user inputs naturally and cannot be input easily by a tamper. This touch operation is a general-purpose operation in a smartphone or the like. Therefore, the information processing apparatus to which the present invention is applied detects the manipulation history alteration action or the like (or an action that is likely to do so) by verifying the legitimacy of this general-purpose touch operation event.
Here, when the authorized user naturally performs a touch operation on the terminal, vibration occurs in the terminal. In this case, the vibration history information indicating the time series of the detection result of the first detection unit is observed from the physical phenomenon, and it is difficult to automatically generate accurately from the program. Therefore, in the information processing apparatus to which the present invention is applied, when the above-described configuration is disclosed, the falsification detection method becomes known, or the program code that performs detection on the terminal side is subject to falsification. Even in such a case, it is possible to effectively detect an act of falsifying the operation history.
また、前記端末として一般的なスマートフォンが採用されるならば、ユーザのオプトイン操作は必要ない。具体的には、一般的なスマートフォンでは、その向きを検出する機能が、スマートフォンの基本機能として実装されているため、高い分解能を持つ加速度センサが常時起動しており、明示的にオフにすることができない。この加速度センサを前記第1検出部として採用することで、当該端末で実行される全てのアプリケーションソフトウェアに対する情報入力の改ざん検知を容易に行うことができる。 Further, if a general smartphone is adopted as the terminal, the user's opt-in operation is not necessary. Specifically, in a general smartphone, the function to detect its orientation is implemented as a basic function of the smartphone, so an acceleration sensor with high resolution is always activated and must be explicitly turned off. I can't. By adopting this acceleration sensor as the first detection unit, it is possible to easily detect falsification of information input for all application software executed on the terminal.
さらにまた、従来技術と異なり、クライアントの端末側を一切変更せずに、サーバとしての情報処理装置側の操作履歴改ざん検出ロジックを改善することができる。例えば、当該端末として新しいスマートフォンの機種が発表されたときに、当該機種固有の振動を加味した操作履歴改ざん検出ロジックを、任意の時点で当該情報処理装置(サーバ)側に追加することができる。さらに、振動履歴情報をビッグデータとしてサーバが保存しておけば、過去のデータに遡って操作履歴改ざん検出を行うことも可能である。 Furthermore, unlike the prior art, it is possible to improve the operation history alteration detection logic on the information processing apparatus side as a server without changing the terminal side of the client at all. For example, when a new smartphone model is announced as the terminal, operation history alteration detection logic that takes into account the vibration specific to the model can be added to the information processing apparatus (server) side at any point in time. Further, if the server stores the vibration history information as big data, it is possible to detect manipulation history alteration retroactively to past data.
より詳細には、前記情報処理装置を適用することで、スマートフォン等のタッチパネルを有する端末上のアプリケーションソフトウェアの継続的な更新を必要としない、前記情報処理装置側での操作履歴改ざん検出の高精度化が可能になる。
即ち、スマートフォン上で動作するアプリケーションソフトウェアの操作としては、タッチ操作が用いられる。このタッチ操作の情報を改ざんし、アプリケーション上での不正行為、即ち操作履歴の改ざん行為等は従来大きな問題であった。特に、ゲームでは、このタッチ操作の改ざんにより、容易に高得点を記録することや、他プレイヤーとの競争に勝利するという操作履歴の改ざん行為等が、従来大きな問題であった。
このようなタッチ操作の情報を改ざんする操作履歴の改ざん行為等に対して、それを検出する手法は従来から存在する。ただし、従来の手法では、スマートフォン等のタッチパネルを有する端末上のアプリケーションソフトウェアの継続的な更新を必要とするか、又は、サーバ側から遠隔でクライアント上での不正を検出する精度が高くなかった。
具体的には、従来の手法としては、ゲームソフトウェアへの改変をメモリのスキャン等を通じて検出する手法が良く知られている。このような従来の手法を、以下、「クライアント側の改変検知手法」と呼ぶ。クライアント側の改変検知手法は、実行ファイルや操作履歴といった、第三者による偽造が容易なデータを対象としてチートを検出しており、プログラミングに精通したユーザであれば、回避のためのプログラムを作成することが可能である。そのため、クライアント側の改変検知手法を採用した場合、チート手法の変化に合わせて継続的にアプリケーションソフトウェアを更新し続ける必要がある。
また、従来の手法として、クライアントであるゲーム機やスマートフォン等からサーバに送信される、操作情報等のデータの一貫性を検証する、といったネットワーク型のチート検出手法も存在する。しかしながら、ネットワーク型のチート検出手法も、クライアント側の技術よりも、さらに少ない情報に依拠してチート検出を行わなければならないため、回避が容易である。従って、ネットワーク型のチート検出手法は、単独では有効にチートを抑制することが難しく、クライアント側の改変検知手法と併せて使用されることが多い。
また、従来の手法として、生体情報(バイオメトリクス)を用いる手法も存在する。この従来の手法は、偽造が困難なデータを対象としており、不正プログラムが出力したデータと自然人が入力したデータを容易に区別することが可能な手法である。しかしながら、生体情報そのものがセンシティブなプライバシー情報であるため、一般的なアプリケーションソフトウェアの改ざん検知手法として用いることは困難である。
以上のことから、センシティブでない情報源を利用し、不正プログラムが出力したデータと自然人が入力したデータを高精度に識別する改ざん検知手法の実現は、公平なアプリケーションやネットワークサービスの利用環境を実現するうえで、本質的に重要である。これを実現できる手法が、上述した様に、前記情報処理装置を適用する手法である。
More specifically, by applying the information processing apparatus, it is not necessary to continuously update application software on a terminal having a touch panel such as a smartphone, and the operation history alteration detection on the information processing apparatus side is highly accurate. Can be realized.
That is, a touch operation is used as an operation of application software that operates on a smartphone. This touch operation information has been falsified, and fraud on the application, that is, manipulation history falsification has been a major problem. In particular, in games, tampering of the operation history of easily recording a high score or winning a competition with other players by tampering with the touch operation has been a big problem.
Conventionally, there is a technique for detecting such an operation history falsification act of falsifying such touch operation information. However, in the conventional method, the application software on the terminal having a touch panel such as a smartphone needs to be continuously updated, or the accuracy of detecting fraud on the client remotely from the server side is not high.
Specifically, as a conventional technique, a technique of detecting a modification to game software through a memory scan or the like is well known. Hereinafter, such a conventional method is referred to as a “client-side alteration detection method”. The client-side modification detection method detects cheats for data that can be easily counterfeited by third parties, such as executable files and operation histories. If the user is familiar with programming, create a program to avoid it. Is possible. Therefore, when the client-side modification detection method is adopted, it is necessary to continuously update the application software in accordance with the change of the cheat method.
In addition, as a conventional method, there is a network type cheat detection method of verifying the consistency of data such as operation information transmitted from a game machine or a smartphone as a client to a server. However, the network-type cheat detection method is also easy to avoid because the cheat detection must be performed based on less information than the client-side technology. Therefore, it is difficult for the network type cheat detection method to effectively suppress cheats alone, and it is often used in combination with the client side alteration detection method.
In addition, as a conventional technique, there is a technique using biometric information (biometrics). This conventional method targets data that is difficult to counterfeit, and is a method that can easily distinguish data output by a malicious program from data input by a natural person. However, since the biometric information itself is sensitive privacy information, it is difficult to use it as a general technique for detecting falsification of application software.
Based on the above, using a non-sensitive information source and realizing a tamper detection method that accurately identifies data output by a malicious program and data input by a natural person will realize a fair application and network service usage environment. Above all, it is essential. A technique capable of realizing this is a technique of applying the information processing apparatus as described above.
また、前記情報処理装置は、
自然人による前記タッチ操作に基づく前記端末の振動か否かの判定の指標になる指標情報を管理する管理手段と(例えば図6の指標関数管理部122)、
前記指標情報に基づいて、前記振動履歴情報の正当性を判断する第2判断手段と(例えば図6の振動情報正当性判断部112)、
をさらに備え、
前記第1判断手段は、前記振動履歴情報の正当性が確認された場合、前記操作履歴情報の正当性の判断の実行を許可し、前記振動履歴情報の正当性が確認されなかった場合、前記操作履歴情報の正当性の判断の実行を禁止する(例えば図6の振動情報正当性判断部112)、
ことができる。
The information processing apparatus includes:
Management means for managing index information that serves as an index for determining whether or not the terminal vibrates based on the touch operation by a natural person (for example, the index
Second determination means for determining the validity of the vibration history information based on the index information (for example, the vibration information
Further comprising
The first determination unit permits execution of the determination of the validity of the operation history information when the validity of the vibration history information is confirmed, and when the validity of the vibration history information is not confirmed, Execution of the validity judgment of the operation history information is prohibited (for example, the vibration information
be able to.
上述した様に、第1検出部の検出結果の時系列を示す振動履歴情報は、物理現象から観測されるものであり、プログラムから正確に自動生成することは困難である。しかしながら、不可能とまでは言い難い。そこで、振動履歴情報の正当性を判断するステップをさらに導入することで、操作履歴の改ざん行為等の不正行為をより確実に検出できるようになる。 As described above, the vibration history information indicating the time series of the detection result of the first detection unit is observed from a physical phenomenon, and it is difficult to automatically generate it accurately from a program. However, it is hard to say that it is impossible. Therefore, by introducing a step of determining the legitimacy of the vibration history information, it becomes possible to more reliably detect fraudulent acts such as manipulation history falsification.
ここで、過去に正当性が確認された1以上の前記振動履歴情報に基づいて、前記指標情報を生成する生成手段を(例えば図6の指標関数生成更新部121)、
さらに備えることができる。
これにより、指標情報の信頼性が高まり、操作履歴の改ざん行為等の不正行為をより確実に検出できるようになる。
また、過去に正当性が確認された1以上の前記振動履歴情報として、例えば全プレイヤーの振動履歴情報を情報処理装置(サーバ)側に蓄積し、それらを各端末(スマートフォン等)の機種毎に集計することにより、「自然な振動履歴情報の機械学習モデル」、といったモーション・ビッグデータを半自動的に生成することも容易にできる。このモーション・ビッグデータは外部から計測することができないデータであり、操作履歴の改ざん行為等の不正行為をさらに確実に検出できるようになる。
Here, based on the one or more pieces of vibration history information whose validity has been confirmed in the past, a generation unit that generates the index information (for example, the index function
Furthermore, it can be provided.
As a result, the reliability of the index information is increased, and it is possible to more reliably detect fraudulent acts such as manipulation history falsification.
Further, as one or more pieces of vibration history information whose validity has been confirmed in the past, for example, vibration history information of all players is accumulated on the information processing device (server) side, and is stored for each model of each terminal (smartphone or the like). By counting, motion big data such as “machine learning model of natural vibration history information” can be easily generated semi-automatically. This motion big data is data that cannot be measured from the outside, and it becomes possible to more reliably detect fraudulent acts such as manipulation history falsification.
1、1−1乃至1−m・・・プレイヤー端末、2・・・サーバ、21・・・CPU、51・・・CPU、111・・・振動情報取得部、112・・・振動情報正当性判断部、113・・・操作情報取得部、114・・・操作情報正当性判断部、121・・・指標関数生成更新部、122・・・指標情報管理部、131・・・指標情報DB
DESCRIPTION OF
Claims (5)
所定の表示面に画像を表示する表示部と、
前記表示面に積層され、物体の接触を所定方式で検出する第2検出部と、
前記物体の接触によるタッチ操作に基づいて、所定の処理を実行する実行部と、
を含む端末と、
通信をして情報を授受する情報処理装置において、
前記第1検出部の検出結果の時系列を示す振動履歴情報を前記端末から取得する第1取得手段と、
前記タッチ操作の時系列を示す操作履歴情報を前記端末から取得する第2取得手段と、
前記振動履歴情報と前記操作履歴情報とを比較することで、当該操作履歴情報の正当性を判断する第1判断手段と、
を備える情報処理装置。 A first detection unit for detecting vibrations generated by the own machine;
A display unit for displaying an image on a predetermined display surface;
A second detector that is stacked on the display surface and detects contact of an object in a predetermined manner;
An execution unit that executes predetermined processing based on a touch operation by contact of the object;
A device containing
In an information processing apparatus that communicates and receives information,
First acquisition means for acquiring vibration history information indicating a time series of detection results of the first detection unit from the terminal;
Second acquisition means for acquiring operation history information indicating a time series of the touch operation from the terminal;
First determination means for determining the legitimacy of the operation history information by comparing the vibration history information and the operation history information;
An information processing apparatus comprising:
前記指標情報に基づいて、前記振動履歴情報の正当性を判断する第2判断手段と、
をさらに備え、
前記第1判断手段は、前記振動履歴情報の正当性が確認された場合、前記操作履歴情報の正当性の判断の実行を許可し、前記振動履歴情報の正当性が確認されなかった場合、前記操作履歴情報の正当性の判断の実行を禁止する、
請求項1に記載の情報処理装置。 Management means for managing index information that serves as an index for determining whether or not the terminal vibrates based on the touch operation by a natural person;
Second determination means for determining validity of the vibration history information based on the index information;
Further comprising
The first determination unit permits execution of the determination of the validity of the operation history information when the validity of the vibration history information is confirmed, and when the validity of the vibration history information is not confirmed, Prohibit execution of validity judgment of operation history information,
The information processing apparatus according to claim 1.
さらに備える請求項2に記載の情報処理装置。 Generating means for generating the index information based on the one or more vibration history information whose validity has been confirmed in the past;
The information processing apparatus according to claim 2, further comprising:
所定の表示面に画像を表示する表示部と、
前記表示面に積層され、物体の接触を所定方式で検出する第2検出部と、
前記物体の接触によるタッチ操作に基づいて、所定の処理を実行する実行部と、
を含む端末と、
通信をして情報を授受する情報処理装置が実行する情報処理方法において、
前記第1検出部の検出結果の時系列を示す振動履歴情報を前記端末から取得する第1取得ステップと、
前記タッチ操作の時系列を示す操作履歴情報を前記端末から取得する第2取得ステップと、
前記振動履歴情報と前記操作履歴情報とを比較することで、当該操作履歴情報の正当性を判断する判断ステップと、
を含む情報処理方法。 A first detection unit for detecting vibrations generated by the own machine;
A display unit for displaying an image on a predetermined display surface;
A second detector that is stacked on the display surface and detects contact of an object in a predetermined manner;
An execution unit that executes predetermined processing based on a touch operation by contact of the object;
A device containing
In an information processing method executed by an information processing apparatus that communicates and receives information,
A first acquisition step of acquiring vibration history information indicating a time series of detection results of the first detection unit from the terminal;
A second acquisition step of acquiring operation history information indicating the time series of the touch operation from the terminal;
A determination step of determining the legitimacy of the operation history information by comparing the vibration history information and the operation history information;
An information processing method including:
所定の表示面に画像を表示する表示部と、
前記表示面に積層され、物体の接触を所定方式で検出する第2検出部と、
前記物体の接触によるタッチ操作に基づいて、所定の処理を実行する実行部と、
を含む端末と、
通信をして情報を授受するサーバを制御するコンピューターに、
前記第1検出部の検出結果の時系列を示す振動履歴情報を前記端末から取得する第1取得ステップと、
前記タッチ操作の時系列を示す操作履歴情報を前記端末から取得する第2取得ステップと、
前記振動履歴情報と前記操作履歴情報とを比較することで、当該操作履歴情報の正当性を判断する判断ステップと、
を含む制御処理を実行させるプログラム。 A first detection unit for detecting vibrations generated by the own machine;
A display unit for displaying an image on a predetermined display surface;
A second detector that is stacked on the display surface and detects contact of an object in a predetermined manner;
An execution unit that executes predetermined processing based on a touch operation by contact of the object;
A device containing
To the computer that controls the server that communicates and exchanges information,
A first acquisition step of acquiring vibration history information indicating a time series of detection results of the first detection unit from the terminal;
A second acquisition step of acquiring operation history information indicating the time series of the touch operation from the terminal;
A determination step of determining the legitimacy of the operation history information by comparing the vibration history information and the operation history information;
A program that executes control processing including
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016085337A JP2017091496A (en) | 2016-04-21 | 2016-04-21 | Information processing device, information processing method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016085337A JP2017091496A (en) | 2016-04-21 | 2016-04-21 | Information processing device, information processing method and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015222674A Division JP5926435B1 (en) | 2015-11-13 | 2015-11-13 | Information processing apparatus, information processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017091496A true JP2017091496A (en) | 2017-05-25 |
JP2017091496A5 JP2017091496A5 (en) | 2019-01-17 |
Family
ID=58770782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016085337A Pending JP2017091496A (en) | 2016-04-21 | 2016-04-21 | Information processing device, information processing method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017091496A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019139667A (en) * | 2018-02-15 | 2019-08-22 | Kddi株式会社 | Communication analysis method and system, and communication terminal and application thereof |
CN111627276A (en) * | 2020-05-25 | 2020-09-04 | 中南大学 | Interactive teaching aid |
JP2021517292A (en) * | 2018-03-21 | 2021-07-15 | バルブ コーポレーション | Automatically reduce the use of cheat software in your online gaming environment |
DE112020006530T5 (en) | 2020-03-19 | 2022-11-03 | Mitsubishi Electric Corporation | Gesture detection device and gesture detection method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002343074A (en) * | 2001-05-21 | 2002-11-29 | Matsushita Electric Ind Co Ltd | Hard disk system device and its rental method |
WO2009037970A1 (en) * | 2007-09-21 | 2009-03-26 | Murata Manufacturing Co., Ltd. | Drop detection device, magnetic disc device, and mobile electronic device |
JP2013210934A (en) * | 2012-03-30 | 2013-10-10 | Minebea Co Ltd | Input device for electronic apparatus |
WO2014132431A1 (en) * | 2013-03-01 | 2014-09-04 | 株式会社日立製作所 | Method for detecting unfair use and device for detecting unfair use |
JP2015018539A (en) * | 2013-04-08 | 2015-01-29 | 株式会社三菱東京Ufj銀行 | Authentication device, financial transaction device, communication terminal, information processing device, and program |
-
2016
- 2016-04-21 JP JP2016085337A patent/JP2017091496A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002343074A (en) * | 2001-05-21 | 2002-11-29 | Matsushita Electric Ind Co Ltd | Hard disk system device and its rental method |
WO2009037970A1 (en) * | 2007-09-21 | 2009-03-26 | Murata Manufacturing Co., Ltd. | Drop detection device, magnetic disc device, and mobile electronic device |
JP2013210934A (en) * | 2012-03-30 | 2013-10-10 | Minebea Co Ltd | Input device for electronic apparatus |
WO2014132431A1 (en) * | 2013-03-01 | 2014-09-04 | 株式会社日立製作所 | Method for detecting unfair use and device for detecting unfair use |
JP2015018539A (en) * | 2013-04-08 | 2015-01-29 | 株式会社三菱東京Ufj銀行 | Authentication device, financial transaction device, communication terminal, information processing device, and program |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019139667A (en) * | 2018-02-15 | 2019-08-22 | Kddi株式会社 | Communication analysis method and system, and communication terminal and application thereof |
JP2021517292A (en) * | 2018-03-21 | 2021-07-15 | バルブ コーポレーション | Automatically reduce the use of cheat software in your online gaming environment |
JP7405329B2 (en) | 2018-03-21 | 2023-12-26 | バルブ コーポレーション | Computer-implemented methods, programs and systems |
DE112020006530T5 (en) | 2020-03-19 | 2022-11-03 | Mitsubishi Electric Corporation | Gesture detection device and gesture detection method |
CN111627276A (en) * | 2020-05-25 | 2020-09-04 | 中南大学 | Interactive teaching aid |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5926435B1 (en) | Information processing apparatus, information processing method, and program | |
Buriro et al. | Hold and sign: A novel behavioral biometrics for smartphone user authentication | |
CN107665426B (en) | Method and electronic device for payment using biometric authentication | |
Sitová et al. | HMOG: New behavioral biometric features for continuous authentication of smartphone users | |
CN105980973B (en) | User authentication gesture | |
JP2022088658A (en) | Anti-replay systems and methods | |
US10068088B2 (en) | Method, computer program and system that uses behavioral biometric algorithms | |
CN101406747B (en) | Electronic device, master control substrate, periphery substrate, and authentication method | |
KR20150122123A (en) | Systems and methods for authenticating a user based on a biometric model associated with the user | |
JP2017062760A (en) | Haptic CAPTCHA | |
JP2017091496A (en) | Information processing device, information processing method and program | |
US9202035B1 (en) | User authentication based on biometric handwriting aspects of a handwritten code | |
US11194368B2 (en) | Accelerometer-based biometric data | |
US10313508B2 (en) | Non-intrusive user authentication system | |
CN107249703A (en) | Information processing system, program, server, terminal and medium | |
Karakaya et al. | Using behavioral biometric sensors of mobile phones for user authentication | |
Shrestha et al. | Theft-resilient mobile wallets: Transparently authenticating NFC users with tapping gesture biometrics | |
CN106504001A (en) | Method of payment and device in a kind of VR environment | |
GB2543427A (en) | Computer program and stamp system | |
US10589172B1 (en) | Embedding metadata in rendered content | |
JP6897223B2 (en) | Data management system and data management method | |
Acharya et al. | Gamification of wearable data collection: A tool for both friend and foe | |
Song et al. | Pushid: A pressure control interaction-based behavioral biometric authentication system for smartwatches | |
US11786826B1 (en) | Card customization via a gaming console | |
JP2022176553A (en) | Game control system and game control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190918 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190919 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20190919 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191004 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200602 |