JP6930862B2 - Client tampering judgment system and method - Google Patents

Client tampering judgment system and method Download PDF

Info

Publication number
JP6930862B2
JP6930862B2 JP2017110757A JP2017110757A JP6930862B2 JP 6930862 B2 JP6930862 B2 JP 6930862B2 JP 2017110757 A JP2017110757 A JP 2017110757A JP 2017110757 A JP2017110757 A JP 2017110757A JP 6930862 B2 JP6930862 B2 JP 6930862B2
Authority
JP
Japan
Prior art keywords
client
electronic devices
electronic device
identification value
server
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.)
Active
Application number
JP2017110757A
Other languages
Japanese (ja)
Other versions
JP2017220236A (en
Inventor
チョン・サンミン
チョン・サンフン
チョン・ミョンジュ
オ・ワンジン
アン・ソンボム
ソ・ドンピル
ハン・グァンヒ
キム・テウ
イム・ソンヨル
リュ・ジュヒョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Line Corp
Original Assignee
Line Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Line Corp filed Critical Line Corp
Publication of JP2017220236A publication Critical patent/JP2017220236A/en
Application granted granted Critical
Publication of JP6930862B2 publication Critical patent/JP6930862B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Description

以下の説明は、クライアント改ざん判断システムおよび方法に関する。 The following description relates to a client tampering determination system and method.

サーバ−クライアント構造のオンライン環境にてサービス提供のためにユーザに配布されるクライアントファイルの場合、本来の動作目的とは異なるように修正または変更されて、開発者が本来意図した動作とは異なるようにクライアントプログラムが動作することがある。このようなクライアントプログラムの改ざんは、システム全体の完全性とサービス全体の信頼性に影響を与えかねない。 In the case of a client file distributed to users for service provision in a server-client structure online environment, it may be modified or changed to be different from the original operation purpose, and it may be different from the original intended operation of the developer. The client program may work. Such tampering with the client program can affect the integrity of the entire system and the reliability of the entire service.

従来技術では、このようなクライアントファイル(またはクライアントプログラム)の改ざんの有無を判断するために、クライアントファイルの配布前に、原本ファイルに対するハッシュ(hash)のような第1識別値を予め生成してサーバが管理する過程が含まれなければならなかった。例えば、クライアントの実行時点に、クライアントが含む保安モジュールがクライアントファイルに対する第2識別値を生成し、サーバが管理する第1識別値を受信して第2識別値と比較する過程によってクライアントファイル(またはクライアントプログラム)の改ざんの有無を判断し、クライアントが改ざんされたものであると判断された場合には、クライアントの実行を遮断することができる。例えば、特許文献1は、クライアント端末、監視サーバ、および監視領域の改ざん防止方法に関するものであって、監視サーバから提供される情報と実際のデータとを比較してメモリまたはファイルの改ざんの有無を判断するクライアント端末について開示している。しかし、このような従来技術は、識別値に対する最終判別をクライアントが実行するという点において、改ざんの有無に対する判断の信頼度が高くない。 In the prior art, in order to determine whether or not such a client file (or client program) has been tampered with, a first identification value such as a hash for the original file is generated in advance before distribution of the client file. The process managed by the server had to be included. For example, at the time of execution of the client, the security module included in the client generates a second identification value for the client file, receives the first identification value managed by the server, and compares it with the second identification value. It is possible to determine whether or not the client program) has been tampered with, and if it is determined that the client has been tampered with, the execution of the client can be blocked. For example, Patent Document 1 relates to a method for preventing tampering with a client terminal, a monitoring server, and a monitoring area, and compares the information provided by the monitoring server with actual data to determine whether or not the memory or file has been tampered with. The client terminal to be judged is disclosed. However, in such a conventional technique, the reliability of the determination regarding the presence or absence of falsification is not high in that the client executes the final determination for the identification value.

さらに他の従来技術として、識別値の比較をサーバで処理してクライアントのサービスアクセスを遮断する方法がある。例えば、特許文献2は、ダウンロードした応用プログラムの改ざん判断システムに関するものであって、応用プログラムに記録された認証キーとサーバ内に格納された認証キーとをサーバが互いに比較することで端末機の接続を許容する技術について開示している。しかし、このような従来技術は、第1識別値がクライアントファイルの配布前に生成されてサーバで管理されなければならないという問題を抱えている。 As yet another conventional technique, there is a method in which the comparison of identification values is processed by the server to block the service access of the client. For example, Patent Document 2 relates to a tampering determination system for a downloaded application program, and the server compares the authentication key recorded in the application program with the authentication key stored in the server so that the terminal can be used. It discloses the technology that allows connection. However, such a conventional technique has a problem that the first identification value must be generated and managed by the server before distribution of the client file.

韓国公開特許第10−2013−0078093号Korean Published Patent No. 10-2013-0078093 韓国公開特許第10−2006−0125077号Korean Published Patent No. 10-2006-0125077 PCT/KR2014/010167PCT / KR2014 / 010167 US2014/0019540A1US2014 / 0019540A1 US2013/0332543A1US2013 / 0332543A1 US2013/0260893A1US2013 / 0260893A1

クライアントの配布前に識別値が予め生成および管理されなければならない過程を経なくても、サーバでクライアントファイル(またはプログラム)の改ざんの有無を判断できるようにし、クライアントプログラムに対する有用性と信頼性を改善することができる、クライアント改ざん判断システムおよび方法を提供する。 Allows the server to determine if a client file (or program) has been tampered with, without having to go through a process in which the identification value must be generated and managed in advance before distribution of the client, making it useful and reliable for the client program. Provide a client tampering determination system and method that can be improved.

サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断方法であって、クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信する段階、および前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する段階を含む、クライアント改ざん判断方法を提供する。 A method for determining client tampering in a server-client environment, which is a method for determining client tampering, in which the identification value of the client program is received from each of a plurality of electronic devices in which the client program is installed, and the plurality of electronic devices. Provided is a client tampering determination method including a step of determining a tampered electronic device among the plurality of electronic devices by comparison between identification values received from the devices.

サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断システムであって、コンピュータで読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信し、前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する、クライアント改ざん判断システムを提供する。 A client tampering determination system for a server that determines client tampering in a server-client environment, including at least one processor implemented to execute computer-readable instructions, said at least one processor being a client. The identification value of the client program is received from each of the plurality of electronic devices in which the program is installed, and the client is tampered with among the plurality of electronic devices by comparing the identification values received from the plurality of electronic devices. It provides a client tampering judgment system that determines the electronic device.

コンピュータによって実現される電子機器と結合してクライアント改ざん判断方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムであって、前記クライアント改ざん判断方法は、前記電子機器で、前記電子機器にインストールされたクライアントプログラムの識別値を抽出する段階、および前記抽出された識別値をサーバに送信する段階を含み、前記サーバで、複数の電子機器から受信された識別値を比較し、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する、コンピュータプログラムを提供する。 A computer program stored in a computer-readable recording medium in order to execute a client tampering determination method in combination with an electronic device realized by a computer, wherein the client tampering determination method is the electronic device. The server includes a step of extracting the identification value of the client program installed in the electronic device and a step of transmitting the extracted identification value to the server, and the server compares the identification values received from a plurality of electronic devices. Provided is a computer program in which a client determines an electronic device that has been tampered with among the plurality of electronic devices.

クライアントの配布前に識別値が予め生成および管理されなければならない過程を経なくても、サーバでクライアントファイル(またはプログラム)の改ざんの有無を判断できるようにすることにより、クライアントプログラムに対する有用性と信頼性を改善することができる。 Usefulness for client programs by allowing the server to determine if a client file (or program) has been tampered with without having to go through the process of pre-generating and managing identification values prior to client distribution. Reliability can be improved.

本発明の一実施形態における、ネットワーク環境の例を示した図である。It is a figure which showed the example of the network environment in one Embodiment of this invention. 本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。It is a block diagram for demonstrating the internal structure of an electronic device and a server in one Embodiment of this invention. 本発明の一実施形態における、クライアントの改ざんを判断するシステム全体の例を示した図である。It is a figure which showed the example of the whole system which determines the falsification of a client in one Embodiment of this invention. 本発明の一実施形態における、ファイルから識別値を抽出する例を示した図である。It is a figure which showed the example which extracts the identification value from the file in one Embodiment of this invention. 本発明の一実施形態における、メモリから識別値を抽出する例を示した図である。It is a figure which showed the example which extracts the identification value from the memory in one Embodiment of this invention. 本発明の一実施形態における、サーバで識別値によって分類されたクライアントの例を示した図である。It is a figure which showed the example of the client classified by the identification value in the server in one Embodiment of this invention. 本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図である。It is a block diagram which showed the example of the component which the processor of the server can include in one Embodiment of this invention. 本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。It is a flowchart which showed the example of the method which a server can execute in one Embodiment of this invention. 本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図である。It is a block diagram which showed the example of the component which can include the processor of the electronic device in one Embodiment of this invention. 本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。It is a flowchart which showed the example of the method which an electronic device can perform in one Embodiment of this invention.

以下、実施形態について、添付の図面を参照しながら詳しく説明する。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。 FIG. 1 is a diagram showing an example of a network environment according to an embodiment of the present invention. The network environment of FIG. 1 shows an example including a plurality of electronic devices 110, 120, 130, 140, a plurality of servers 150, 160, and a network 170. Such FIG. 1 is merely an example for explaining the invention, and the number of electronic devices and the number of servers are not limited as in FIG.

複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、コンピュータ、ノート型パソコン、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットPCなどがある。一例として、図1では、電子機器1(110)の例としてスマートフォンの形状を示しているが、本発明の実施形態では、実質的に、無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な機器のうちの1つを意味してよい。 The plurality of electronic devices 110, 120, 130, 140 may be fixed terminals or mobile terminals realized by a computer device. Examples of a plurality of electronic devices 110, 120, 130, 140 include smartphones, mobile phones, navigation systems, computers, notebook computers, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), and tablet PCs. and so on. As an example, FIG. 1 shows the shape of a smartphone as an example of the electronic device 1 (110), but in the embodiment of the present invention, a wireless or wired communication method is substantially used, via a network 170. It may mean one of a variety of devices capable of communicating with other electronic devices 120, 130, 140 and / or servers 150, 160.

通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでもよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。 The communication method is not limited, and not only the communication method utilizing the communication network (for example, mobile communication network, wired Internet, wireless Internet, broadcasting network) that can be included in the network 170, but also the short distance between devices. Wireless communication may be included. For example, the network 170 includes a PAN (personal area network), a LAN (local area network), a CAN (campus area network), a MAN (metropolitan area network), a WAN (wide area network), etc. It may include any one or more of the networks. In addition, network 170 may include any one or more of network topologies, including bus networks, star networks, ring networks, mesh networks, star-bus networks, tree or hierarchical networks, and the like. It is not limited to these.

サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第1サービスを提供するシステムであってよく、サーバ160も、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第2サービスを提供するシステムであってよい。より具体的な例として、サーバ150は、第1サービスとしてサーバ−クライアント環境のゲームサービスをクライアントに提供するシステムであってよく、サーバ160は、第1サービスのためのクライアントプログラムのファイルをクライアントに提供するシステムであってよい。 Each of the servers 150 and 160 is realized by a computer device or a plurality of computer devices that communicate with a plurality of electronic devices 110, 120, 130, 140 via a network 170 to provide instructions, codes, files, contents, services, and the like. You can do it. For example, the server 150 may be a system that provides the first service to a plurality of electronic devices 110, 120, 130, 140 connected via the network 170, and the server 160 may also be a plurality of systems connected via the network 170. It may be a system that provides a second service to electronic devices 110, 120, 130, 140. As a more specific example, the server 150 may be a system that provides a game service in a server-client environment to a client as a first service, and the server 160 may provide a client program file for the first service to the client. It may be the provided system.

図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2では、電子機器に対する例として電子機器1(110)の内部構成について説明し、サーバ150の内部構成について説明する。他の電子機器120、130、140やサーバ160も、上述した電子機器1(110)またはサーバ150と同一または類似の内部構成を有してもよい。 FIG. 2 is a block diagram for explaining the internal configurations of the electronic device and the server according to the embodiment of the present invention. In FIG. 2, the internal configuration of the electronic device 1 (110) will be described as an example for the electronic device, and the internal configuration of the server 150 will be described. Other electronic devices 120, 130, 140 and server 160 may also have the same or similar internal configuration as electronic device 1 (110) or server 150 described above.

電子機器1(110)とサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでよい。メモリ211、221は、コンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永久大容量記憶装置(permanent mass storage device)を含んでよい。ここで、ROMと永久大容量記憶装置は、メモリ211、221と分離する別の永久記憶装置として含まれてもよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電気機器1(110)にインストールされ駆動するブラウザや、特定のサービスの提供のために電子機器1(110)にインストールされたアプリケーションなどのためのコード)が格納されてよい。このようなソフトウェア構成要素は、メモリ211、221とは別のコンピュータで読み取り可能な記録媒体からロードされてよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール213、223を通じてメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システムがネットワーク170を介して提供するファイルによってインストールされるプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてよい。 Electronic device 1 (110) and server 150 may include memory 211,221, processor 212,222, communication modules 213,223, and input / output interfaces 214,224. The memories 211 and 221 are computer-readable recording media and include a RAM (random access memory), a ROM (read only memory), and a permanent mass storage device such as a disk drive. It's fine. Here, the ROM and the permanent large-capacity storage device may be included as another permanent storage device separated from the memories 211 and 221. Further, the memories 211 and 221 include an operating system, a browser installed and driven in the electric device 1 (110) as an example, and an electronic device 1 (110) for providing a specific service. Code for applications etc. installed in) may be stored. Such software components may be loaded from a computer-readable recording medium other than the memories 211 and 221. Such computer-readable recording media may include computer-readable recording media such as floppy® drives, disks, tapes, DVD / CD-ROM drives, and memory cards. In other embodiments, the software components may be loaded into memory 211,221 through communication modules 213, 223, which are not computer readable recording media. For example, at least one program is memory 211,221 based on a program (as an example, the application described above) installed by a file provided by a file distribution system that distributes a developer or application installation file over network 170. May be loaded into.

プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。 Processors 212 and 222 may be configured to process instructions in a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to processors 212 and 222 by memory 211, 221 or communication modules 213 and 223. For example, processors 212 and 222 may be configured to execute instructions received according to program code stored in a recording device such as memory 211 and 221.

通信モジュール213、223は、ネットワーク170を介して電子機器1(110)とサーバ150とが互いに通信するための機能を提供してもよいし、電子機器1(110)および/またはサーバ150が他の電子機器(一例として、電子機器2(120))または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器1(110)のプロセッサ212がメモリ211のような記録装置に格納されたプログラムコードにしたがって生成した要求が、通信モジュール213の制御にしたがってネットワーク170を介してサーバ150に伝達されてよい。これとは逆に、サーバ150のプロセッサ222の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223とネットワーク170を経て電子機器1(110)の通信モジュール213を通じて電子機器1(110)に受信されてもよい。例えば、通信モジュール213を通じて受信したサーバ150の制御信号や命令などは、プロセッサ212やメモリ211に伝達されてもよく、コンテンツやファイルなどは、電子機器1(110)がさらに含むことのできる格納媒体(上述した永久記憶装置)に格納されてもよい。 The communication modules 213 and 223 may provide a function for the electronic device 1 (110) and the server 150 to communicate with each other via the network 170, and the electronic device 1 (110) and / or the server 150 may provide other functions. A function for communicating with an electronic device (for example, electronic device 2 (120)) or another server (for example, server 160) may be provided. As an example, a request generated by the processor 212 of the electronic device 1 (110) according to a program code stored in a recording device such as a memory 211 is transmitted to the server 150 via the network 170 under the control of the communication module 213. You can. On the contrary, the control signals, instructions, contents, files, etc. provided under the control of the processor 222 of the server 150 pass through the communication module 223 and the network 170, and pass through the communication module 213 of the electronic device 1 (110) to the electronic device. It may be received at 1 (110). For example, the control signals and instructions of the server 150 received through the communication module 213 may be transmitted to the processor 212 and the memory 211, and the contents and files may be further included in the electronic device 1 (110) as a storage medium. It may be stored in (permanent storage device described above).

入力/出力インタフェース214は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、出力装置は、ディスプレイのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置215は、電子機器1(110)と1つの装置で構成されてもよい。また、サーバ150の入力/出力インタフェース224は、サーバ150と連結するかサーバ150が含むことのできる入力または出力のための装置(図示せず)とのインタフェースのための手段であってよい。より具体的な例として、電子機器1(110)のプロセッサ212は、メモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器2(120)が提供するデータを利用して構成されるサービス画面やコンテンツが、入力/出力インタフェース214を通じてディスプレイに表示されてよい。 The input / output interface 214 may be a means for an interface with the input / output device 215. For example, the input device may include a device such as a keyboard or mouse, and the output device may include a device such as a display. As another example, the input / output interface 214 may be a means for an interface with a device that integrates functions for input and output, such as a touch screen. The input / output device 215 may be composed of an electronic device 1 (110) and one device. Also, the input / output interface 224 of the server 150 may be a means for interfacing with a device (not shown) for input or output that can be linked to or included in the server 150. As a more specific example, the processor 212 of the electronic device 1 (110) utilizes the data provided by the server 150 and the electronic device 2 (120) in processing the instructions of the computer program loaded in the memory 211. The configured service screens and contents may be displayed on the display through the input / output interface 214.

また、他の実施形態において、電子機器1(110)およびサーバ150は、図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器1(110)がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラ、物理的な各種ボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などの多様な構成要素が電子機器1(110)にさらに含まれるように実現されてよい。 Also, in other embodiments, the electronic device 1 (110) and the server 150 may include more components than the components of FIG. However, it is not necessary to clearly illustrate most of the prior art components. For example, the electronic device 1 (110) may be realized to include at least a part of the above-mentioned input / output device 215, a transceiver, a GPS (Global Positioning System) module, a camera, various sensors, and a database. It may further include other components such as. As a more specific example, when the electronic device 1 (110) is a smartphone, the acceleration sensor, gyro sensor, camera, various physical buttons, buttons using the touch panel, input / output, which are generally included in the smartphone. Various components such as ports and vibrators for vibration may be further implemented in electronic device 1 (110).

図3は、本発明の一実施形態における、クライアントの改ざんを判断するシステム全体の例を示した図である。図3は、ネットワーク170を介して通信可能なN(前記Nは、2以上の自然数)個の端末310とサービスサーバ320、およびファイル配布サーバ330を示している。 FIG. 3 is a diagram showing an example of the entire system for determining falsification of a client in one embodiment of the present invention. FIG. 3 shows N terminals 310 (where N is a natural number of 2 or more), a service server 320, and a file distribution server 330 that can communicate via the network 170.

図3に示されたN個の端末310それぞれは、図2を参照しながら説明した電子機器1(110)のように実現されてよく、サービスサーバ320およびファイル配布サーバ330は、図2を参照しながら説明したサーバ150のように実現されてよい。サービスサーバ320とファイル配布サーバ330は、それぞれ互いに異なる運営者の互いに異なるシステムによって実現されてもよいが、実施形態によっては、同じ運営者の同じシステムによって実現されることも可能である。 Each of the N terminals 310 shown in FIG. 3 may be realized as in the electronic device 1 (110) described with reference to FIG. 2, and the service server 320 and the file distribution server 330 refer to FIG. However, it may be realized as in the server 150 described above. The service server 320 and the file distribution server 330 may be realized by different systems of different operators, but may be realized by the same system of the same operator depending on the embodiment.

N個の端末310それぞれは、サービスサーバ320が提供する第1サービスの提供を受けるために、ファイル配布サーバ330が提供する第2サービスを利用してクライアントプログラムのインストールおよび実行のためのファイルを受信してクライアントプログラムをインストールしてもよい。 Each of the N terminals 310 receives a file for installing and executing a client program by using the second service provided by the file distribution server 330 in order to receive the provision of the first service provided by the service server 320. You may install the client program.

このとき、N個の端末310は、クライアントプログラムの制御にしたがい、クライアントプログラムの識別値を、クライアントプログラムのインストールおよび実行のためのファイルやクライアントプログラムの実行のためにN個の端末310のメモリにロードされたデータから特定の値を抽出してよく、抽出された特定の値や特定の値のハッシュ値を識別値としてサービスサーバ320に送信してよい。ここで、サービスサーバ320には、クライアント改ざん判断システムが実現されてよく、N個の端末310から送信される識別値を利用してN個の端末310のうちでクライアントが改ざんされた電子機器を決定してよい。 At this time, the N terminals 310 store the identification value of the client program in the memory of the N terminals 310 for the installation and execution of the client program and the execution of the client program according to the control of the client program. A specific value may be extracted from the loaded data, and the extracted specific value or a hash value of the specific value may be transmitted to the service server 320 as an identification value. Here, a client tampering determination system may be realized in the service server 320, and an electronic device whose client has been tampered with among the N terminals 310 by using the identification value transmitted from the N terminals 310 is used. You may decide.

例えば、識別値は、クライアントプログラムが正常に実行された場合には変更されないファイルまたはメモリの値であってよく、抽出される値は、予め設定されてよい。より具体的な例として、第1サービスがゲームサービスであると仮定しよう。さらに、ゲームサービスにおいて、すべてのユーザのキャラクタに対して等しく設定される最大体力値が「100」であり、変更されない値であると仮定しよう。N個の端末310は、このような最大体力値として設定された値を抽出し、識別値としてサービスサーバ320に送信してよい。クライアントが改ざんされていない場合には、N個の端末310はすべて、値「100」を識別値としてサービスサーバ320に送信するようになる。このとき、サービスサーバ320は、N個の端末310すべてが等しい値を識別値として送信したため、クライアントが改ざんされた端末は存在しないと判断してよい。 For example, the identification value may be a file or memory value that does not change when the client program is executed normally, and the extracted value may be preset. As a more specific example, let's assume that the first service is a game service. Further, let's assume that in the game service, the maximum physical strength value set equally for all user characters is "100", which is a value that does not change. The N terminals 310 may extract a value set as such a maximum physical strength value and transmit it to the service server 320 as an identification value. If the client has not been tampered with, all N terminals 310 will transmit the value "100" as an identification value to the service server 320. At this time, since the service server 320 transmits the same value as the identification value for all the N terminals 310, it may be determined that there is no terminal whose client has been tampered with.

もし、N個の端末310のうち、第1端末311が最大体力値を「200」に変更したとすると、サービスサーバ320は、「100」の値を有するN−1個の識別値と「200」の値を有する1個の識別値を受信するようになり、「200」の値を有する1個の識別値を送信した第1端末311でクライアントが改ざんされたと判断してよい。 If the first terminal 311 of the N terminals 310 changes the maximum physical strength value to "200", the service server 320 has an identification value of N-1 having a value of "100" and "200". It may be determined that the client has been tampered with at the first terminal 311 that has come to receive one identification value having a value of "200" and has transmitted one identification value having a value of "200".

したがって、サービスサーバ320は、クライアントプログラムのための識別値を予め格納および管理する必要がなく、N個の端末310から識別値を周期的に受信するか、必要に応じて選択的に識別値をN個の端末310に要請して受信することにより、N個の端末310うちでクライアントが改ざんされた端末を判断できるようになる。または、N個の端末310でクライアントプログラムが実行されるたびに識別値を抽出してサービスサーバ320に送信することも可能である。言い換えれば、サービスサーバ320は、N個の端末310それぞれに対する識別値を予め生成、格納、および管理するための費用を節約できるようになる。これだけでなく、クライアント側で改ざんの判断のための判別を行うのではなく、サービスサーバ320でクライアント側の改ざんの有無を判断するため、クライアントの改ざんに関してより高い信頼性が得られるようになる。 Therefore, the service server 320 does not need to store and manage the identification value for the client program in advance, and receives the identification value periodically from the N terminals 310 or selectively receives the identification value as necessary. By requesting and receiving the N terminals 310, the client can determine which of the N terminals 310 has been tampered with. Alternatively, it is also possible to extract the identification value and send it to the service server 320 each time the client program is executed by the N terminals 310. In other words, the service server 320 can save the cost for generating, storing, and managing the identification value for each of the N terminals 310 in advance. Not only this, the service server 320 determines whether or not the client has been tampered with, instead of making a determination for tampering on the client side, so that higher reliability can be obtained with respect to the tampering of the client.

以下では、識別値を抽出するためのより具体的な方法と、識別値を利用してクライアントの改ざんを判断するためのより具体的な方法について説明する。 In the following, a more specific method for extracting the identification value and a more specific method for determining the falsification of the client by using the identification value will be described.

図4は、本発明の一実施形態における、ファイルから識別値を抽出する例を示した図である。図4は、複数のクライアント410とサーバ420を示している。複数のクライアント410は、図3を参照しながら説明した複数の端末310にインストールされたクライアントプログラムに対応してよく、サーバ420は、図3を参照しながら説明したサービスサーバ320に対応してよい。 FIG. 4 is a diagram showing an example of extracting an identification value from a file in one embodiment of the present invention. FIG. 4 shows a plurality of clients 410 and servers 420. The plurality of clients 410 may correspond to the client programs installed on the plurality of terminals 310 described with reference to FIG. 3, and the server 420 may correspond to the service server 320 described with reference to FIG. ..

このとき、複数のクライアント410それぞれは、複数の実行ファイル411と複数のデータファイル412を含んでよい。ここで、データファイルとは、クライアントに必要なデータを格納するためのすべての形態のファイルを意味してよく、実行ファイルとは、拡張子「exe」、「dll」、「so」、「apk」などのように、クライアントのオペレーティングシステム(Operating System)上で実行可能なすべての形態のファイルを意味してよい。 At this time, each of the plurality of clients 410 may include a plurality of executable files 411 and a plurality of data files 412. Here, the data file may mean a file of all forms for storing the data required for the client, and the executable file is an extension "exe", "dl", "so", "apk". It may mean all forms of files that can be executed on the client's operating system (Operating System).

複数のクライアント410それぞれは、周期的またはサーバ420の要請に応じて複数の実行ファイル411と複数のデータファイル412の全体または一部から識別値を抽出してよい。あるいは、複数のクライアント410それぞれが実行される時点に識別値を抽出することも可能である。 Each of the plurality of clients 410 may extract identification values from all or part of the plurality of executable files 411 and the plurality of data files 412 at the request of the server 420 or periodically. Alternatively, it is also possible to extract the identification value at the time when each of the plurality of clients 410 is executed.

例えば、識別値を抽出するための1つ以上のファイルが予め設定されていてよく、予め設定されたファイルから値を抽出するための項目(一例として、上述した最大体力値)または区間が予め設定されていてよい。複数のクライアント410それぞれは、特定の周期ごとまたはサーバ420から要請が受信されるたびに、予め設定されたファイルから予め設定された項目または区間の値を抽出して識別値としてサーバ420に送信してよい。ここで、ファイルから抽出される識別値は、該当のファイルを識別することのできる特定の位置のデータであってよい。例えば、該当のファイルでしか使用されることのできない特定の値が識別値として抽出されてよい。この場合、サーバ420は、識別値がどのファイルから抽出されたかを確認してよく、同じファイルから抽出された識別値を利用してクライアントの改ざんの有無を判断してよい。 For example, one or more files for extracting the identification value may be preset, and an item (for example, the maximum physical strength value described above) or an interval for extracting the value from the preset file is preset. May be done. Each of the plurality of clients 410 extracts a preset item or interval value from a preset file and sends it to the server 420 as an identification value every specific cycle or each time a request is received from the server 420. It's okay. Here, the identification value extracted from the file may be data at a specific position capable of identifying the file. For example, a specific value that can be used only in the corresponding file may be extracted as an identification value. In this case, the server 420 may confirm from which file the identification value is extracted, and may determine whether or not the client has been tampered with by using the identification value extracted from the same file.

また、予め設定されるファイルや項目、または区間は、複数であってよい。この場合、識別値は、複数の値を含んでよい。他の実施形態において、識別値は、予め設定された項目または区間の値を繰り返して抽出した値を含んでもよい。また、識別値は、抽出された値のハッシュ値を含んでもよい。さらに他の実施形態において、識別値は、クライアントプログラムのためのファイル全体に対するハッシュ値を含んでもよい。 In addition, there may be a plurality of preset files, items, or sections. In this case, the identification value may include a plurality of values. In other embodiments, the identification value may include a value extracted repeatedly from a preset item or interval value. Further, the identification value may include a hash value of the extracted value. In yet other embodiments, the identification value may include a hash value for the entire file for the client program.

サーバ420は、N個のクライアント410からn(前記nは、N以下の自然数)個の識別値421を受信してよい。N個のクライアント410の中には、電源がオフ(off)になっていたり、ネットワーク170に接続することができないクライアント、または該当の端末で実行が不可能なクライアントが存在することがあるため、サーバ420が受信する識別値421の数はN以下になることがある。 The server 420 may receive n (the n is a natural number of N or less) identification values 421 from the N clients 410. Since the power of the N clients 410 may be turned off, some clients may not be able to connect to the network 170, or some clients may not be able to execute on the corresponding terminal. The number of identification values 421 received by the server 420 may be N or less.

改ざんされていないクライアントから受信される識別値は、同じ条件(一例として、同じオペレーティングシステム、同じクライアントプログラム、同じクライアントプログラムのバージョン)で等しい値を有する。しかし、改ざんされたクライアントから受信される識別値は、大部分の正常な識別値とは異なる値を有し得ることから、サーバ420は、識別値間の比較によってクライアントの改ざんを判断することができ、どのクライアントが改ざんされたかを把握することができるようになる。 The identification values received from the untampered client have equal values under the same conditions (for example, the same operating system, the same client program, the same client program version). However, since the identification value received from the tampered client may have a value different from most normal identification values, the server 420 may determine the client tampering by comparing the identification values. You will be able to know which client has been tampered with.

図5は、本発明の一実施形態における、メモリから識別値を抽出する例を示した図である。図5も、図4と同様に、N個のクライアント410とサーバ420を示している。 FIG. 5 is a diagram showing an example of extracting an identification value from a memory in one embodiment of the present invention. FIG. 5 also shows N clients 410 and servers 420, as in FIG.

本実施形態において、N個のクライアント410それぞれは、端末に格納されたファイルではなく、端末のメモリから識別値を抽出してよい。例えば、クライアント1(510)に対応する端末でクライアントプログラムが実行されると、クライアントプログラムの実行のためのコードやデータなどがメモリ520にロードされてよい。このとき、クライアント1(510)は、予め設定された項目や区間の値をメモリ520から抽出してよい。例えば、図4を参照しながら説明した実行ファイルの場合には、「.text」や「.rodata」のように、変更されずに固定された区間がメモリ520上にロードされることがある。この場合、クライアント1(510)は、該当の区間のデータがロードされたオフセット(offset)を利用して必要な値を探し出し、識別値として抽出してよい。 In the present embodiment, each of the N clients 410 may extract the identification value from the memory of the terminal instead of the file stored in the terminal. For example, when the client program is executed on the terminal corresponding to the client 1 (510), the code or data for executing the client program may be loaded into the memory 520. At this time, the client 1 (510) may extract the values of preset items and sections from the memory 520. For example, in the case of the executable file described with reference to FIG. 4, a fixed section such as ".text" or ".rodata" may be loaded on the memory 520 without being changed. In this case, the client 1 (510) may search for a necessary value by using the offset in which the data of the corresponding section is loaded and extract it as an identification value.

クライアントの改ざんは、ファイル自体に対する改ざんだけではなく、メモリ520上にロードされた特定の値を変更させる改ざんを含んでよい。この場合、サーバ420は、N個のクライアント410がメモリから抽出した識別値を受信し、識別値を比較することにより、クライアントに対するメモリの改ざんの有無を判断できるようになる。 Client tampering may include tampering with the file itself, as well as tampering with a particular value loaded in memory 520. In this case, the server 420 can determine whether or not the memory has been tampered with for the client by receiving the identification values extracted from the memory by the N clients 410 and comparing the identification values.

図6は、本発明の一実施形態における、サーバで識別値によって分類されたクライアントの例を示した図である。図6の表600において、クライアント項目610にはクライアントが、識別値項目620にはクライアントに対応する識別値が、それぞれ示されている。図4および図5を参照しながら上述したサーバ420は、クライアントを識別値によって複数のグループに分類してよく、複数のグループに属するメンバーの数に基づいてクライアントの改ざんを判断してよい。 FIG. 6 is a diagram showing an example of clients classified by identification values on the server in one embodiment of the present invention. In Table 600 of FIG. 6, the client item 610 indicates the client, and the identification value item 620 indicates the identification value corresponding to the client. The server 420 described above with reference to FIGS. 4 and 5 may classify the clients into a plurality of groups according to the identification values, and may determine the falsification of the clients based on the number of members belonging to the plurality of groups.

例えば、表600において、識別値「100」に対応するクライアント1、クライアント2、クライアント3、およびクライアント5が1つのグループ(以下、「グループ1」)に分類されてよく、識別値「200」に対応するクライアント4が他の1つのグループ(以下、「グループ3」)に分類されてよく、識別値「300」に対応するクライアント6が、さらに他の1つのグループ(以下、「グループ3」)に分類されてよい。この場合、サーバ420は、最も多くのメンバーを含むグループ1の識別値「100」を正常な識別値と判断してよく、グループ2に属するクライアント4とグループ3に属するクライアント6を、改ざんされたクライアントとして決定してよい。 For example, in Table 600, the client 1, the client 2, the client 3, and the client 5 corresponding to the identification value “100” may be classified into one group (hereinafter, “group 1”), and the identification value “200” may be used. The corresponding client 4 may be classified into another one group (hereinafter, “group 3”), and the client 6 corresponding to the identification value “300” is further one other group (hereinafter, “group 3”). It may be classified into. In this case, the server 420 may determine that the identification value "100" of the group 1 including the largest number of members is a normal identification value, and the client 4 belonging to the group 2 and the client 6 belonging to the group 3 have been tampered with. You may decide as a client.

上述した例では、説明の便宜のために、6個のクライアントを例に挙げたが、サービスによっては、極めて多くのクライアントの識別値が比較される場合もある。例えば、1000個のクライアントのうち、998個のクライアントの識別値が等しければ、残りの2個のクライアントは改ざんされたものであると判断されてよい。 In the above example, six clients are given as an example for convenience of explanation, but depending on the service, the identification values of an extremely large number of clients may be compared. For example, if the identification values of 998 clients out of 1000 clients are equal, it may be determined that the remaining two clients have been tampered with.

また、実施形態によっては、最も少ないメンバーを含むグループに属するクライアントが、改ざんされたクライアントとして決定される場合もある。 Also, depending on the embodiment, the client belonging to the group containing the fewest members may be determined as the tampered client.

さらに、図6の表600に示すように、より正確な判断のために、クライアントは、識別値以外の他の条件によってさらに分類されることも可能である。図6の表600では、オペレーティングシステム項目630、アプリケーション種類項目640、アプリケーションバージョン項目650、および抽出対象項目660のように、多様な種類によってクライアントがさらに分類される例を示している。言い換えれば、上述した他の条件とは、該当の条件によって識別値が異なり得る条件を意味すると言える。例えば、識別値をどの対象(実行ファイル、データファイル、およびメモリ)から抽出したかによって識別値が異なることもあるし、アプリケーションのバージョンごとに設定される値が異なり得るために抽出される識別値も異なることもある。さらに、実施形態によっては、サーバ420が多数の互いに異なる種類のサービスに対するクライアントの改ざんを判断することも可能である。例えば、サーバ420が、第1ゲームに対応するサービスのためのクライアントと第2ゲームに対応するサービスのためのクライアントそれぞれに対する改ざんを判断するとする。この場合、サービスごとに識別値が異なり得るため、アプリケーションの種類によってもクライアントの分類が可能となる。 Further, as shown in Table 600 of FIG. 6, for more accurate judgment, clients can be further classified by conditions other than the discriminant value. Table 600 in FIG. 6 shows an example in which clients are further classified by various types, such as operating system item 630, application type item 640, application version item 650, and extraction target item 660. In other words, it can be said that the above-mentioned other conditions mean conditions in which the identification value may differ depending on the corresponding conditions. For example, the identification value may differ depending on which target (executable file, data file, and memory) the identification value is extracted from, and the identification value extracted because the value set for each application version may differ. May also be different. Further, in some embodiments, the server 420 may determine client tampering with a number of different types of services. For example, suppose that the server 420 determines tampering with each of the client for the service corresponding to the first game and the client for the service corresponding to the second game. In this case, since the identification value may differ for each service, the clients can be classified according to the type of application.

このように、サーバ420は、識別値が異なり得る条件のうちの少なくとも1つをさらに利用してクライアントをさらに分類することができ、分類されたクライアントの識別値の比較によって改ざんされたクライアントを決定することができる。 In this way, the server 420 can further classify the clients by further utilizing at least one of the conditions in which the discriminant values can differ, and determines the tampered client by comparing the discriminant values of the classified clients. can do.

図7は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図8は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。 FIG. 7 is a block diagram showing an example of components that can be included in the processor of the server in one embodiment of the present invention, and FIG. 8 is a block diagram of what the server executes in one embodiment of the present invention. It is a flowchart which showed the example of the possible method.

サーバ150は、上述したサービスサーバ320またはサーバ420に対応してよく、図7に示すサーバ150のプロセッサ222は、本実施形態に係るクライアント改ざん判断システムを実現するための構成要素として、リーディング部710、識別値受信部720、および決定部730を含んでよい。このようなプロセッサ222およびプロセッサ222の構成要素は、図8のクライアント改ざん判断方法が含む段階810、820、830、831、832、833、834を実行するようにサーバ150を制御してよい。このとき、プロセッサ222およびプロセッサ222の構成要素は、メモリ221が含むオペレーティングシステムのコードや少なくとも1つのプログラムのコードによる命令(instruction)を実行するように実現されてよい。ここで、プロセッサ222の構成要素は、サーバ150に格納されたコードが提供する制御命令にしたがってプロセッサ222によって実行されるプロセッサ222の互いに異なる機能(different functions)の表現であってよい。例えば、プロセッサ222が上述した制御命令にしたがってメモリ221にロードされた命令を読み取るようにサーバ150を制御するプロセッサ222の機能的表現としてリーディング部710が使用されてよい。 The server 150 may correspond to the service server 320 or the server 420 described above, and the processor 222 of the server 150 shown in FIG. 7 is a reading unit 710 as a component for realizing the client tampering determination system according to the present embodiment. , The identification value receiving unit 720, and the determining unit 730 may be included. Such processors 222 and components of processor 222 may control the server 150 to perform steps 810, 820, 830, 831, 832, 833, 834 included in the client tampering determination method of FIG. At this time, the processor 222 and the components of the processor 222 may be realized to execute an instruction by the code of the operating system included in the memory 221 or the code of at least one program. Here, the components of the processor 222 may be representations of different functions of the processor 222 that are executed by the processor 222 according to the control instructions provided by the code stored in the server 150. For example, the reading unit 710 may be used as a functional representation of the processor 222 that controls the server 150 so that the processor 222 reads the instructions loaded into the memory 221 in accordance with the control instructions described above.

段階810で、リーディング部710は、サーバ150の制御と関連する命令がロードされたメモリ221から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、後述する段階820、830、831、832、833、834をプロセッサ222が実行するように制御するための命令を含んでよい。 In step 810, the reading unit 710 may read the required instructions from the memory 221 loaded with the instructions associated with the control of the server 150. In this case, the read instruction may include an instruction for controlling the processor 222 to execute steps 820, 830, 831, 832, 833, 834 described later.

段階820で、識別値受信部720は、クライアントプログラムがインストールされた複数の電子機器それぞれから、クライアントプログラムの識別値を受信してよい。一例として、クライアントプログラムの識別値は、クライアントプログラムのインストールおよび実行のために電子機器に格納されたデータファイルまたは実行ファイルからクライアントプログラムによって抽出された値を含んでもよいし、抽出された値のハッシュ値を含んでもよい。他の例として、クライアントプログラムの識別値は、クライアントプログラムの実行のために電子機器のメモリにロードされたデータからクライアントプログラムによって抽出された値を含んでもよいし、抽出された値のハッシュ値を含んでもよい。このとき、識別値は、クライアントプログラムの正常実行時には変更されない、クライアントプログラムの固定された値を含んでよい。複数の電子機器それぞれは、周期的またはサーバ150からの要請に応じて識別値を抽出してもよいし、クライアントプログラムが実行されるたびに識別値を抽出してもよい。抽出された識別値は、サーバ150に送信されてよく、識別値受信部720は、複数の電子機器それぞれが送信した識別値を受信するようにサーバ150を制御してよい。 In step 820, the identification value receiving unit 720 may receive the identification value of the client program from each of the plurality of electronic devices in which the client program is installed. As an example, the identification value of the client program may include a value extracted by the client program from a data file or executable file stored in an electronic device for installation and execution of the client program, or a hash of the extracted value. It may contain a value. As another example, the identification value of the client program may include a value extracted by the client program from the data loaded into the memory of the electronic device for execution of the client program, or a hash value of the extracted value. It may be included. At this time, the identification value may include a fixed value of the client program, which is not changed during normal execution of the client program. Each of the plurality of electronic devices may extract the identification value periodically or in response to a request from the server 150, or may extract the identification value each time the client program is executed. The extracted identification value may be transmitted to the server 150, and the identification value receiving unit 720 may control the server 150 so as to receive the identification value transmitted by each of the plurality of electronic devices.

段階830で、決定部730は、複数の電子機器から受信された識別値間の比較により、複数の電子機器のうちでクライアントが改ざんされた電子機器を決定してよい。上述したように、改ざんされたクライアントが動作する電子機器から受信される識別値は、クライアントが正常に動作する電子機器から受信される識別値とは異なる値を含むことがある。したがって、決定部730は、このような特徴により、多数の等しい識別値とは異なる値を有する少数の識別値に基づいてクライアントが改ざんされた電子機器を決定してよい。 In step 830, the determination unit 730 may determine which electronic device the client has tampered with among the plurality of electronic devices by comparing the identification values received from the plurality of electronic devices. As described above, the identification value received from the electronic device in which the tampered client operates may include a value different from the identification value received from the electronic device in which the client operates normally. Therefore, the determination unit 730 may determine an electronic device whose client has been tampered with based on a small number of identification values having different values from a large number of equal identification values due to such characteristics.

このために、決定部730は、図8に示された段階831〜834をさらに実行してよい。 To this end, the determination unit 730 may further perform steps 831 to 834 shown in FIG.

段階831で、決定部730は、複数の電子機器にインストールされたクライアントプログラムの種類、クライアントプログラムのバージョン、および複数の電子機器のオペレーティングシステムのうちの少なくとも1つによって複数の電子機器を1次分類してよい。例えば、決定部730は、複数の電子機器のオペレーティングシステムによって複数の電子機器を1次分類してよい。このような電子機器の1次分類は、図6のオペレーティングシステム項目630、アプリケーション種類項目640、およびアプリケーションバージョン項目650によってクライアントが分類されることに対応してよい。 At step 831, the determination unit 730 primarily classifies the plurality of electronic devices according to the type of client program installed on the plurality of electronic devices, the version of the client program, and at least one of the operating systems of the plurality of electronic devices. You can do it. For example, the determination unit 730 may first classify a plurality of electronic devices according to the operating systems of the plurality of electronic devices. The primary classification of such electronic devices may correspond to the classification of clients by operating system item 630, application type item 640, and application version item 650 of FIG.

段階832で、決定部730は、識別値が抽出された対象によって複数の電子機器を2次分類してよい。ここで、対象は、電子機器に格納されたファイル(上述した実行ファイルおよびデータファイル)と電子機器のメモリを含んでよい。言い換えれば、決定部730は、特定の電子機器から受信された識別値が、実行ファイル、データファイル、およびメモリのうちのどこから抽出されたかによって複数の電子機器を2次分類してよい。このような電子機器の2次分類は、図6の抽出対象項目660によってクライアントが分類されることに対応してよい。 In step 832, the determination unit 730 may secondary classify a plurality of electronic devices according to the target from which the identification value has been extracted. Here, the target may include a file (executable file and data file described above) stored in the electronic device and a memory of the electronic device. In other words, the determination unit 730 may secondarily classify the plurality of electronic devices according to where the identification value received from the specific electronic device is extracted from the executable file, the data file, and the memory. The secondary classification of such electronic devices may correspond to the classification of clients according to the extraction target item 660 in FIG.

段階833で、決定部730は、複数の電子機器を受信された識別値によって複数のグループに3次分類してよい。このような電子機器の3次分類は、図6の識別値項目620によってクライアントが分類されることに対応してよい。段階831が省略される場合には、段階832の分類が1次分類となってよく、段階833の分類が2次分類となってよい。また、段階832が省略される場合には、段階831の分類が1次分類となってよく、段階833の分類が2次分類となってよい。実施形態によっては、段階831と段階832がすべて省略される場合もある。例えば、抽出対象が実行ファイルとして固定されていれば、段階832は省略されてよい。また、電子機器のオペレーティングシステムやアプリケーションの種類/バージョンなどに関係なく、等しい値を識別値として利用する場合には、段階831は省略されてよい。言い換えれば、識別値としてどのような値を抽出して利用するかにより、段階831および段階832の実行の有無が決定されてよい。 At step 833, the determination unit 730 may tertiary classify the plurality of electronic devices into a plurality of groups according to the received identification values. The tertiary classification of such electronic devices may correspond to the classification of clients according to the identification value item 620 of FIG. When step 831 is omitted, the classification of step 832 may be the primary classification and the classification of step 833 may be the secondary classification. When step 832 is omitted, the classification of step 831 may be the primary classification, and the classification of step 833 may be the secondary classification. Depending on the embodiment, steps 831 and 832 may be omitted altogether. For example, if the extraction target is fixed as an executable file, step 832 may be omitted. Further, when the same value is used as the identification value regardless of the operating system of the electronic device, the type / version of the application, or the like, step 831 may be omitted. In other words, whether or not the steps 831 and 832 are executed may be determined depending on what kind of value is extracted and used as the identification value.

段階834で、決定部730は、分類された複数のグループそれぞれに含まれた電子機器の数に基づき、複数のグループのうちの少なくとも1つのグループに属する電子機器のクライアントが改ざんされたと決定してよい。上述したように、同じ条件で正常に動作するクライアントプログラムから送信される大多数の識別値は等しい値を有するはずであるため、グループに含まれたメンバーの数に基づいてクライアントが改ざんされた電子機器が決定されてよい。例えば、決定部730は、複数のグループのうち、グループに属する電子機器の数が最も少ないグループの電子機器を、クライアントが改ざんされた電子機器として選択してよい。他の例として、決定部730は、同じ条件のグループのうち、グループに属する電子機器の数が最も多いグループを除いた残りのグループの電子機器を、クライアントが改ざんされた電子機器として選択してよい。 At step 834, the determination unit 730 determines that the client of the electronic device belonging to at least one group among the plurality of groups has been tampered with based on the number of electronic devices included in each of the plurality of classified groups. good. As mentioned above, the majority of identification values sent by client programs that work well under the same conditions should have equal values, so the electronic tampered with the client based on the number of members in the group. The equipment may be determined. For example, the determination unit 730 may select the electronic device of the group having the smallest number of electronic devices belonging to the group among the plurality of groups as the electronic device that has been tampered with by the client. As another example, the determination unit 730 selects the electronic devices of the remaining groups excluding the group having the largest number of electronic devices belonging to the group among the groups with the same conditions as the electronic devices tampered with by the client. good.

以下では、クライアントプログラムがインストールされた電子機器の観点からの実施形態について説明する。 Hereinafter, embodiments from the viewpoint of an electronic device in which a client program is installed will be described.

図9は、本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図であり、図10は、本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。 FIG. 9 is a block diagram showing an example of components that can be included in the processor of the electronic device according to the embodiment of the present invention, and FIG. 10 is a block diagram shown by the electronic device according to the embodiment of the present invention. It is a flowchart which showed the example of the possible method.

電子機器1(110)は、上述した複数の端末310のうちの1つ、またはN個のクライアント410のうちの1つのための装置に対応してよく、図9に示す電子機器1(110)のプロセッサ212は、本実施形態に係るクライアント改ざん判断システムを実現するための構成要素として、リーディング部910、識別値抽出部920、および識別値送信部930を含んでよい。このようなプロセッサ212およびプロセッサ212の構成要素は、図10のクライアント改ざん判断方法が含む段階1010〜1030を実行するように電子機器1(110)を制御してよい。このとき、プロセッサ212およびプロセッサ212の構成要素は、メモリ211が含むオペレーティングシステムのコードや少なくとも1つのプログラムのコードによる命令(instruction)を実行するように実現されてよい。ここで、プロセッサ212の構成要素は、電子機器1(110)に格納されたコードが提供する制御命令にしたがってプロセッサ212によって実行されるプロセッサ212の互いに異なる機能(different functions)の表現であってよい。例えば、プロセッサ212が上述した制御命令にしたがってメモリ211にロードされた命令を読み取るように電子機器1(110)を制御するプロセッサ212の機能的表現としてリーディング部910が使用されてよい。 The electronic device 1 (110) may correspond to a device for one of the plurality of terminals 310 described above or one of the N clients 410, and the electronic device 1 (110) shown in FIG. 9 may correspond to the device. The processor 212 of the above may include a reading unit 910, an identification value extraction unit 920, and an identification value transmission unit 930 as components for realizing the client tampering determination system according to the present embodiment. Such a processor 212 and components of the processor 212 may control the electronic device 1 (110) to perform steps 1010-1030 included in the client tampering determination method of FIG. At this time, the processor 212 and the components of the processor 212 may be realized to execute an instruction by the code of the operating system included in the memory 211 or the code of at least one program. Here, the component of the processor 212 may be a representation of different functions of the processor 212 executed by the processor 212 according to a control instruction provided by a code stored in the electronic device 1 (110). .. For example, the reading unit 910 may be used as a functional representation of the processor 212 that controls the electronic device 1 (110) so that the processor 212 reads the instructions loaded into the memory 211 in accordance with the control instructions described above.

段階1010で、リーディング部910は、電子機器1(110)の制御と関連する命令がロードされたメモリ211から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、後述する段階820および830をプロセッサ212が実行するように制御するための命令を含んでよい。 In step 1010, the reading unit 910 may read the necessary instructions from the memory 211 loaded with the instructions related to the control of the electronic device 1 (110). In this case, the read instruction may include an instruction for controlling the processor 212 to execute steps 820 and 830 described later.

段階1020で、識別値抽出部920は、電子機器1(110)にインストールされたクライアントプログラムの識別値を抽出してよい。例えば、識別値抽出部920は、電子機器1(110)の永久記憶装置に格納されたクライアントプログラムのためのファイル(実行ファイルおよび/またはデータファイル)にアクセスして識別値を抽出するか、クライアントプログラムのためのコードやデータがロードされたメモリ211にアクセスして識別値を抽出するように電子機器1(110)を制御してよい。 In step 1020, the identification value extraction unit 920 may extract the identification value of the client program installed in the electronic device 1 (110). For example, the identification value extraction unit 920 accesses a file (executable file and / or data file) for the client program stored in the permanent storage device of the electronic device 1 (110) to extract the identification value, or extracts the identification value. The electronic device 1 (110) may be controlled so as to access the memory 211 in which the code or data for the program is loaded and extract the identification value.

段階1030で、識別値送信部930は、抽出された識別値をサーバに送信してよい。ここで、サーバは、図7および図8を参照しながら説明したサーバ150に対応してよい。サーバ150で複数の電子機器から受信された識別値を利用してクライアントの改ざんを判断する方法については、既に詳しく説明したとおりであるため、繰り返される説明は省略する。 At step 1030, the identification value transmission unit 930 may transmit the extracted identification value to the server. Here, the server may correspond to the server 150 described with reference to FIGS. 7 and 8. Since the method of determining the falsification of the client by using the identification values received from the plurality of electronic devices by the server 150 has already been described in detail, the repeated description will be omitted.

このように、本発明の実施形態によると、クライアントの配布前に識別値が予め生成および管理されなければならない過程を経なくても、サーバでクライアントファイル(またはプログラム)の改ざんの有無を判断できるようにすることで、クライアントプログラムに対する有用性と信頼性を改善することができる。 As described above, according to the embodiment of the present invention, the server can determine whether or not the client file (or program) has been tampered with without going through the process in which the identification value must be generated and managed in advance before distribution of the client. By doing so, the usefulness and reliability of the client program can be improved.

上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)および前記OS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。 The system or device described above may be implemented by a hardware component, a software component, or a combination of the hardware component and the software component. For example, the apparatus and components described in the embodiments include, for example, a processor, a controller, an ALU (arithmetic logic unit), a digital signal processor, a microprocessor, an FPGA (field programmable gate array), a PLU (programmable log unit), and a micro. It may be implemented utilizing one or more general purpose computers or special purpose computers, such as a processor or various devices capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on said OS. The processing device may also respond to the execution of the software, access the data, store, manipulate, process, and generate the data. For convenience of understanding, one processing device may be described as being used, but one of ordinary skill in the art may indicate that the processing device may include a plurality of processing elements and / or a plurality of types of processing elements. You can understand. For example, the processing device may include multiple processors or one processor and one controller. Other processing configurations, such as parallel processors, are also possible.

ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置、または伝送される信号波に永久的または一時的に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてよい。 The software may include computer programs, code, instructions, or a combination of one or more of these, configuring the processing equipment to operate at will, or instructing the processing equipment independently or collectively. You may do it. The software and / or data may be interpreted on the basis of a processor or provide instructions or data to a processor of any kind of machine, component, physical device, virtual device, computer storage medium or device, or It may be permanently or temporarily embodied in the transmitted signal wave. The software is distributed on a networked computer system and may be stored or executed in a distributed state. The software and data may be stored on a recording medium readable by one or more computers.

実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。 The method according to the embodiment may be realized in the form of program instructions that can be executed by various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and configured for the embodiment, or may be usable known to those skilled in the art of computer software. Examples of computer-readable recording media include hard disks, floppy (registered trademark) disks, magnetic media such as magnetic tapes, optical media such as CD-ROMs and DVDs, and floptic disks. Optical magnetic media such as, and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, etc. are included. Examples of program instructions include not only machine language code, such as those generated by a compiler, but also high-level language code, which is executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。 As described above, the embodiments have been described based on the limited embodiments and drawings, but those skilled in the art will be able to make various modifications and modifications from the above description. For example, the techniques described may be performed in a different order than the methods described, and / or components such as the systems, structures, devices, circuits described may be in a form different from the methods described. Appropriate results can be achieved even if they are combined or combined, or confronted or replaced by other components or equivalents.

したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。 Therefore, even if the embodiments are different, they belong to the attached claims as long as they are equal to the claims.

110、120、130、140 電子機器
150、160 サーバ
170 ネットワーク
110, 120, 130, 140 Electronic equipment 150, 160 Server 170 Network

Claims (18)

サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断方法であって、
クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信する段階、および
前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する段階
を含む、クライアント改ざん判断方法。
A method for determining client tampering on a server in a server-client environment.
By the stage of receiving the identification value of the client program from each of the plurality of electronic devices in which the client program is installed and the comparison between the identification values received from the plurality of electronic devices, the client among the plurality of electronic devices A client tampering determination method, including the step of determining which electronic device has been tampered with.
前記クライアントプログラムの識別値は、前記クライアントプログラムのインストールおよび実行のために電子機器に格納されたデータファイルまたは実行ファイルから前記クライアントプログラムによって抽出された値を含むか、または前記抽出された値のハッシュ値を含む、請求項1に記載のクライアント改ざん判断方法。 The identification value of the client program includes a value extracted by the client program from a data file or an executable file stored in an electronic device for installation and execution of the client program, or a hash of the extracted value. The client tampering determination method according to claim 1, which includes a value. 前記クライアントプログラムの識別値は、前記クライアントプログラムの実行のために前記電子機器のメモリにロードされたデータから前記クライアントプログラムによって抽出された値を含むか、または前記抽出された値のハッシュ値を含む、請求項1に記載のクライアント改ざん判断方法。 The identification value of the client program includes a value extracted by the client program from the data loaded into the memory of the electronic device for execution of the client program, or includes a hash value of the extracted value. , The client tampering determination method according to claim 1. 前記クライアントプログラムの識別値は、前記クライアントプログラムの正常実行時に変更されない、前記クライアントプログラムの固定された値を含む、請求項1に記載のクライアント改ざん判断方法。 The client tampering determination method according to claim 1, wherein the identification value of the client program includes a fixed value of the client program that is not changed during normal execution of the client program. 前記クライアントが改ざんされた電子機器を決定する段階は、
前記複数の電子機器を前記受信された識別値によって複数のグループに分類する段階、および
前記分類された複数のグループそれぞれに含まれた電子機器の数に基づき、前記複数のグループのうちの少なくとも1つのグループに属する電子機器のクライアントが改ざんされたものと決定する段階
を含む、請求項1に記載のクライアント改ざん判断方法。
The stage at which the client determines the tampered electronic device is
At least one of the plurality of groups based on the step of classifying the plurality of electronic devices into a plurality of groups according to the received identification value and the number of electronic devices included in each of the plurality of classified groups. The client tampering determination method according to claim 1, which comprises a step of determining that a client of an electronic device belonging to one group has been tampered with.
前記クライアントが改ざんされた電子機器を決定する段階は、
前記識別値が抽出された対象によって前記複数の電子機器を分類する段階
をさらに含み、
前記対象は、電子機器に格納されたファイルおよび電子機器のメモリを含む、請求項5に記載のクライアント改ざん判断方法。
The stage at which the client determines the tampered electronic device is
It further includes the step of classifying the plurality of electronic devices according to the object from which the identification value is extracted.
The client tampering determination method according to claim 5, wherein the target includes a file stored in the electronic device and a memory of the electronic device.
前記受信した識別値によって複数のグループに分類する段階は、
前記識別値が抽出された対象によって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項6に記載のクライアント改ざん判断方法。
The stage of classifying into multiple groups according to the received identification value is
The client falsification determination method according to claim 6, wherein a plurality of electronic devices primaryly classified according to the target from which the identification value is extracted are secondarily classified according to the received identification value.
前記クライアントが改ざんされた電子機器を決定する段階は、
前記複数の電子機器にインストールされたクライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステム(Operating System:OS)によって前記複数の電子機器を分類する段階 をさらに含む、請求項5に記載のクライアント改ざん判断方法。
The stage at which the client determines the tampered electronic device is
A claim further comprising the steps of classifying the plurality of electronic devices according to the type of client program installed on the plurality of electronic devices, the version of the client program, and the operating system (OS) of the plurality of electronic devices. Item 5. The client tampering determination method according to Item 5.
前記受信された識別値によって複数のグループに分類する段階は、
前記クライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステムによって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項8に記載のクライアント改ざん判断方法。
The stage of classifying into multiple groups according to the received identification value is
8. The eighth aspect of the invention, wherein the plurality of electronic devices primaryly classified according to the type of the client program, the version of the client program, and the operating systems of the plurality of electronic devices are secondarily classified according to the received identification value. Client tampering judgment method.
前記少なくとも1つのグループに属する電子機器のクライアントが改ざんされたものと
決定する段階は、
前記複数のグループのうち、グループに属する電子機器の数が最も少ないグループの電子機器を、クライアントが改ざんされた電子機器として選択する、請求項5に記載のクライアント改ざん判断方法。
The stage at which a client of an electronic device belonging to at least one group determines that it has been tampered with is
The client tampering determination method according to claim 5, wherein the client selects the electronic device of the group having the smallest number of electronic devices belonging to the group as the tampered electronic device among the plurality of groups.
サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのクライアント改ざん判断システムであって、
コンピュータで読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、
前記少なくとも1つのプロセッサは、
クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信し、
前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する、
クライアント改ざん判断システム。
A server-client tampering judgment system that determines client tampering in a server-client environment.
Includes at least one processor implemented to execute computer-readable instructions
The at least one processor
The identification value of the client program is received from each of the plurality of electronic devices in which the client program is installed, and the identification value of the client program is received.
By comparing the identification values received from the plurality of electronic devices, the client determines the tampered electronic device among the plurality of electronic devices.
Client tampering judgment system.
前記少なくとも1つのプロセッサは、クライアントが改ざんされた電子機器を決定するために、
前記複数の電子機器を前記受信された識別値によって複数のグループに分類し、
前記分類された複数のグループそれぞれに含まれた電子機器の数に基づき、前記複数のグループのうちの少なくとも1つのグループに属する電子機器のクライアントを改ざんされたものと決定する、請求項11に記載のクライアント改ざん判断システム。
The at least one processor allows the client to determine which electronic device has been tampered with.
The plurality of electronic devices are classified into a plurality of groups according to the received identification value, and the plurality of electronic devices are classified into a plurality of groups.
11. A claim, wherein a client of an electronic device belonging to at least one of the plurality of groups is determined to have been tampered with based on the number of electronic devices included in each of the plurality of classified groups. Client tampering judgment system.
前記少なくとも1つのプロセッサは、
前記識別値が抽出された対象によって前記複数の電子機器を分類し、
前記対象は、電子機器に格納されたファイルおよび電子機器のメモリを含む、請求項12に記載のクライアント改ざん判断システム。
The at least one processor
The plurality of electronic devices are classified according to the target from which the identification value is extracted, and the electronic devices are classified.
The client tampering determination system according to claim 12, wherein the object includes a file stored in the electronic device and a memory of the electronic device.
前記少なくとも1つのプロセッサは、
前記識別値が抽出された対象によって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項13に記載のクライアント改ざん判断システム。
The at least one processor
The client falsification determination system according to claim 13, wherein a plurality of electronic devices primaryly classified according to the object from which the identification value has been extracted are secondarily classified according to the received identification value.
前記少なくとも1つのプロセッサは、
前記複数の電子機器にインストールされたクライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステムによって前記複数の電子機器を分類する、請求項12に記載のクライアント改ざん判断システム。
The at least one processor
The client tampering determination system according to claim 12, wherein the plurality of electronic devices are classified according to the type of the client program installed on the plurality of electronic devices, the version of the client program, and the operating systems of the plurality of electronic devices.
前記少なくとも1つのプロセッサは、
前記クライアントプログラムの種類、前記クライアントプログラムのバージョン、および前記複数の電子機器のオペレーティングシステムによって1次分類された複数の電子機器を、前記受信された識別値によって2次分類する、請求項15に記載のクライアント改ざん判断システム。
The at least one processor
15. The 15. 6. Client tampering judgment system.
前記少なくとも1つのプロセッサは、
前記複数のグループのうち、グループに属する電子機器の数が最も少ないグループの電子機器を、クライアントが改ざんされた電子機器として選択する、請求項12に記載のクライアント改ざん判断システム。
The at least one processor
The client tampering determination system according to claim 12, wherein the client selects the electronic device of the group having the smallest number of electronic devices belonging to the group as the tampered electronic device among the plurality of groups.
サーバ−クライアント環境においてクライアントの改ざんを判断するサーバのコンピュータに、Server-To the server computer that determines client tampering in a client environment
クライアントプログラムがインストールされた複数の電子機器それぞれから、前記クライアントプログラムの識別値を受信する機能、およびA function to receive the identification value of the client program from each of a plurality of electronic devices in which the client program is installed, and
前記複数の電子機器から受信された識別値間の比較により、前記複数の電子機器のうちでクライアントが改ざんされた電子機器を決定する機能A function in which a client determines an electronic device that has been tampered with among the plurality of electronic devices by comparing the identification values received from the plurality of electronic devices.
を実現させる、クライアント改ざん判断プログラム。A client tampering judgment program that realizes.
JP2017110757A 2016-06-09 2017-06-05 Client tampering judgment system and method Active JP6930862B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160071618A KR101761512B1 (en) 2016-06-09 2016-06-09 Method and system for determining falsification of client program
KR10-2016-0071618 2016-06-09

Publications (2)

Publication Number Publication Date
JP2017220236A JP2017220236A (en) 2017-12-14
JP6930862B2 true JP6930862B2 (en) 2021-09-01

Family

ID=59422621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017110757A Active JP6930862B2 (en) 2016-06-09 2017-06-05 Client tampering judgment system and method

Country Status (2)

Country Link
JP (1) JP6930862B2 (en)
KR (1) KR101761512B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7013921B2 (en) * 2018-02-19 2022-02-01 株式会社デンソー Verification terminal
CN110086780B (en) 2019-03-26 2021-11-02 北京百度网讯科技有限公司 Method and device for processing tampered transaction based on Ether house and storage medium

Also Published As

Publication number Publication date
KR101761512B1 (en) 2017-07-25
JP2017220236A (en) 2017-12-14

Similar Documents

Publication Publication Date Title
US10481875B2 (en) Generation of an application from template
US20220045911A1 (en) Internet of things device discovery and configuration
KR20200052957A (en) Security control method and computer system
JP7016205B2 (en) Methods and systems for providing message-based notifications
JP7548686B2 (en) Method, system, and program for controlling IoT devices using messenger bots
US11461457B2 (en) Utilizing models to generate identifiers that identify and provide authentication for machine learning models
CN114631077B (en) Automation technology for detecting use of software applications in a computing environment using configuration objects
KR102542631B1 (en) Method and system for verifying blockchain data stored in a storage format different from blockchain
US20220253297A1 (en) Automated deployment of changes to applications on a cloud computing platform
JP6930862B2 (en) Client tampering judgment system and method
JP7079664B2 (en) Cheat application identification method and system
KR102382889B1 (en) Method and system for detecting web shell using process information
US11573785B2 (en) Predicting code vulnerabilities using machine learning classifier models trained on internal analysis states
KR102097579B1 (en) Method and system for extracting abnormal road data from road network based on path search failure log
WO2023160001A1 (en) Operation framework of algorithm applet, data processing method and device, storage medium, and computer program product
JP6581155B2 (en) Unnecessary file detection device, unnecessary file detection method and unnecessary file detection program
CN102378964B (en) In-process intermediary to create virtual processes
JP6339249B2 (en) Method and system for personalizing notification times in content services
KR101745821B1 (en) Method and system for secure booting
US20210374231A1 (en) Method and system for detecting hooking using clustering api information
KR102348312B1 (en) Method and system for detecting forgery of mobile application using collecting user identifier and signature
US20240095337A1 (en) Security compliance for modular code
CN117200968A (en) Information processing method and device, electronic equipment and computer readable storage medium
KR20210039712A (en) User card management method and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210426

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210426

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20210412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210727

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210812

R150 Certificate of patent or registration of utility model

Ref document number: 6930862

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250