JP2013046122A - Terminal, application protection method, and program - Google Patents

Terminal, application protection method, and program Download PDF

Info

Publication number
JP2013046122A
JP2013046122A JP2011181078A JP2011181078A JP2013046122A JP 2013046122 A JP2013046122 A JP 2013046122A JP 2011181078 A JP2011181078 A JP 2011181078A JP 2011181078 A JP2011181078 A JP 2011181078A JP 2013046122 A JP2013046122 A JP 2013046122A
Authority
JP
Japan
Prior art keywords
terminal
application
terminal application
identification information
information
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
Application number
JP2011181078A
Other languages
Japanese (ja)
Inventor
Hiroshi Makino
博史 牧野
Hiroyasu Takemura
拓泰 竹村
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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan 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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2011181078A priority Critical patent/JP2013046122A/en
Publication of JP2013046122A publication Critical patent/JP2013046122A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent a terminal application transported from another terminal or falsified from being executed.SOLUTION: Allocating execution permission information required for execution of a terminal application to a terminal after encrypting the execution permission information with a hash value of the terminal application and terminal identification information, and providing the execution permission information to the terminal application after decrypting the encrypted information with the hash value of the terminal application and the terminal identification information of the terminal whenever the execution is performed prohibit the decryption of the execution permission information and the execution of the terminal application, unless the terminal application is not falsified and has not been transported from another terminal. Thereby, the terminal application transported from the other terminal or falsified is prevented from being executed. The allocation of the execution permission information to the terminal requires no access to a control server for each execution, which reduces a load of information processing and communication in the terminal and server.

Description

本発明は、端末用アプリの保護に関する。   The present invention relates to protection of a terminal application.

スマートフォンや携帯電話端末装置に代表されるモバイル情報端末(以下「端末」)で実行されるアプリケーション・ソフトウェア(以下「端末アプリ」や「アプリ」とも呼ぶ)が普及し、多様な機能を提供している。端末アプリには有料課金モデルや限定特典など、利用する端末やユーザを限定するものも多く、この種の端末アプリは購入などで正当な利用権原のある端末に限って実行が許諾される。この種の端末アプリは、提供者に無断で端末間でコピーや移動がされると、許諾外の端末上で利用され有料課金収入を脅かすなど、優良なソフトの普及を阻害する弊害が生じる。   Application software (hereinafter also referred to as “terminal application” or “application”) that runs on mobile information terminals (hereinafter “terminals”) represented by smartphones and mobile phone terminal devices has become widespread and provides various functions. Yes. Many terminal applications limit terminals and users to be used, such as a paid billing model and limited benefits, and this type of terminal application is permitted to be executed only on terminals that have a legitimate right to use such as purchases. If this type of terminal application is copied or moved between terminals without the consent of the provider, it will be used on non-licensed terminals and threaten paying billing revenues, which will hinder the spread of good software.

特開2011−049876号JP 2011-049876 A

そのような弊害を防止するため、導入すなわちインストールや初回起動時に、端末識別情報(固有製造番号など)を端末アプリ内に埋め込み、他の端末に移しても動作しないようにする工夫も提案されている。しかし、この場合、端末アプリのうち埋め込まれた端末識別情報の部分を改ざんすることで、任意の端末上でも無断利用されるおそれがあった。   In order to prevent such an adverse effect, a device has been proposed to embed terminal identification information (unique serial number, etc.) in the terminal application at the time of introduction, that is, installation or initial activation, so that it does not operate even if it is transferred to another terminal. Yes. However, in this case, there is a possibility that the terminal identification information embedded in the terminal application is tampered with and used without permission on any terminal.

端末と利用権原に関しては、指紋認証などで正当なユーザだけに端末の操作を許す技術はあるが(例えば、特許文献1参照)、この技術は、端末の各種操作を許す前に一括してユーザ認証を行うもので、認証されたユーザであれば端末内の情報は自由に操作できるので、端末アプリの端末間移動や改ざんを防止するものではなかった。   Regarding terminals and usage rights, there is a technology that allows only legitimate users to operate the terminal by fingerprint authentication or the like (see, for example, Patent Document 1), but this technology collects users before allowing various terminal operations. Since authentication is performed and the information in the terminal can be freely operated by an authenticated user, it has not prevented the terminal application from being moved or falsified.

上記の課題に対し、本発明の目的は、端末アプリの端末間移動や改ざんによる実行を防止することである。   In view of the above problems, an object of the present invention is to prevent the terminal application from being executed due to movement between terminals or alteration.

上記の目的をふまえ、本発明の一態様(1)は、端末アプリの実行及びその他の情報処理を行う端末であって、端末アプリの実行で必要となる実行許可情報をその端末アプリのハッシュ値及び端末の端末識別情報とで暗号化した暗号化データを端末アプリに対応付けて記憶する暗号許可記憶手段と、端末アプリからハッシュ値を生成するハッシュ生成手段と、端末アプリを実行しようとするとき、その端末アプリから前記ハッシュ生成手段が生成したハッシュ値及びこの端末の端末識別情報とにより、その端末アプリに対応付けて前記暗号許可記憶手段に記憶されている前記暗号化データから、前記実行許可情報を復号化してその端末アプリに提供する復号化手段と、を有することを特徴とする。   Based on the above object, one aspect (1) of the present invention is a terminal that executes a terminal application and performs other information processing, and obtains execution permission information necessary for executing the terminal application as a hash value of the terminal application. And encryption permission storage means for storing encrypted data encrypted with the terminal identification information of the terminal in association with the terminal application, hash generation means for generating a hash value from the terminal application, and when trying to execute the terminal application The execution permission from the encrypted data stored in the encryption permission storage means in association with the terminal application by the hash value generated by the hash generation means from the terminal application and the terminal identification information of the terminal And decrypting means for decrypting information and providing the decrypted information to the terminal application.

本発明の他の態様(9)は、上記態様を方法のカテゴリで捉えたもので、端末アプリの実行及びその他の情報処理を行う端末におけるアプリ保護方法であって、端末アプリの実行で必要となる実行許可情報をその端末アプリのハッシュ値及び端末の端末識別情報とで暗号化した暗号化データを端末アプリに対応付けて記憶する暗号許可記憶手段を有するコンピュータが、端末アプリからハッシュ値を生成するハッシュ生成処理と、端末アプリを実行しようとするとき、その端末アプリから前記ハッシュ生成手段が生成したハッシュ値及びこの端末の端末識別情報とにより、その端末アプリに対応付けて前記暗号許可記憶手段に記憶されている前記暗号化データから、前記実行許可情報を復号化してその端末アプリに提供する復号化処理と、を行うことを特徴とする。   Another aspect (9) of the present invention captures the above aspect in a method category, and is an application protection method in a terminal that performs terminal application execution and other information processing, and is necessary for terminal application execution. A computer having encryption permission storage means for storing encrypted data obtained by encrypting the execution permission information with the terminal application hash value and the terminal identification information of the terminal in association with the terminal application generates a hash value from the terminal application And when the terminal application is to be executed, the encryption permission storage means associated with the terminal application based on the hash value generated by the hash generation means from the terminal application and the terminal identification information of the terminal A decryption process for decrypting the execution permission information from the encrypted data stored in And wherein the Ukoto.

本発明の他の態様(13)は、上記態様をコンピュータ・プログラムのカテゴリで捉えたもので、端末アプリの実行及びその他の情報処理を行う端末のためのアプリ保護プログラムであって、前記プログラムは、端末アプリの実行で必要となる実行許可情報をその端末アプリのハッシュ値及び端末の端末識別情報とで暗号化した暗号化データを端末アプリに対応付けて記憶する暗号許可記憶手段を有するコンピュータを制御することにより、端末アプリからハッシュ値を生成させ、端末アプリを実行しようとするとき、その端末アプリから前記ハッシュ生成手段に生成させたハッシュ値及びこの端末の端末識別情報とにより、その端末アプリに対応付けて前記暗号許可記憶手段に記憶されている前記暗号化データから、前記実行許可情報を復号化させてその端末アプリに提供させることを特徴とする。   Another aspect (13) of the present invention is an application protection program for a terminal that executes the terminal application and performs other information processing, in which the above aspect is captured in the category of a computer program. A computer having encryption permission storage means for storing encrypted data obtained by encrypting execution permission information necessary for execution of the terminal application with the hash value of the terminal application and the terminal identification information of the terminal in association with the terminal application. By controlling, when generating a hash value from the terminal application and trying to execute the terminal application, the terminal application is determined based on the hash value generated by the hash generation means from the terminal application and the terminal identification information of the terminal. The execution permission information is restored from the encrypted data stored in the encryption permission storage means in association with Characterized in that to provide to the terminal application by reduction.

本発明では、端末アプリの実行に必須の実行許可情報について、端末アプリのハッシュ値及び端末識別情報で暗号化して端末に置き、実行の都度、端末アプリのハッシュ値と端末の端末識別情報で復号化して端末アプリに提供することにより、端末アプリが改ざんされておらず、かつ、端末間で移動されてもいない場合以外は、実行許可情報の復号と端末アプリ実行が不可能となる。このため、端末アプリの端末間移動や改ざんによる実行を防止することができる。また、実行許可情報を端末に置くことで、実行ごとに制御サーバにアクセスする必要が無く端末及びサーバで情報処理と通信の負荷が削減できる。   In the present invention, the execution permission information essential for the execution of the terminal application is encrypted with the hash value of the terminal application and the terminal identification information and placed on the terminal, and is decrypted with the hash value of the terminal application and the terminal identification information of the terminal each time it is executed. When the terminal application is converted and provided to the terminal application, the execution permission information cannot be decoded and the terminal application cannot be executed unless the terminal application is falsified and moved between terminals. For this reason, it is possible to prevent the terminal application from being executed due to movement between terminals or tampering. Also, by placing the execution permission information in the terminal, it is not necessary to access the control server for each execution, and the load of information processing and communication can be reduced at the terminal and the server.

本発明の他の態様(2)である端末は、上記いずれかの態様において、生成された前記ハッシュ値と、前記端末アプリを識別するアプリ識別情報と、を含む確認要求を所定の制御サーバへ送信する確認要求送信手段と、送信された前記確認要求に対応して前記制御サーバから送信され前記端末アプリの実行に必要となる実行許可情報を受信する許可情報受信手段と、受信された前記実行許可情報を、前記確認要求に係る前記ハッシュ値と、この端末の端末識別情報と、で暗号化し暗号化データとする暗号化手段と、を有することを特徴とする。   In any one of the above aspects, the terminal according to another aspect (2) of the present invention sends a confirmation request including the generated hash value and application identification information for identifying the terminal application to a predetermined control server. Confirmation request transmitting means for transmitting, permission information receiving means for receiving execution permission information transmitted from the control server in response to the transmitted confirmation request and required for execution of the terminal application, and the received execution The permission information includes encryption means that encrypts the permission information with the hash value related to the confirmation request and the terminal identification information of the terminal to obtain encrypted data.

本発明の他の態様(5)である制御サーバは、端末への提供に係る端末アプリであって利用権原が存在するものについて、アプリ識別情報と、ハッシュ値と、端末での実行で必要となる実行許可情報と、を記憶しているアプリ情報記憶手段と、端末から送信された端末アプリに係る確認要求から取得するハッシュ値と、その端末アプリについて前記アプリ情報記憶手段に記憶されている前記ハッシュ値と、の照合によりその端末アプリが改ざんされていないことを確認する改ざん確認手段と、前記確認要求から取得するアプリ識別情報と、前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記アプリ識別情報と、の照合によりその端末アプリについて利用権原が存在することを確認する利用権原確認手段と、前記改ざんされていないこと及び前記利用権原が存在することが確認された前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記実行許可情報を、前記確認要求の送信元である前記端末へ送信する許可送信手段と、を有することを特徴とする。   The control server according to another aspect (5) of the present invention is required for application identification information, a hash value, and execution on a terminal for a terminal application related to provision to a terminal that has a right of use. The application permission information stored in the application information storage means, the hash value acquired from the confirmation request related to the terminal application transmitted from the terminal, and the terminal application stored in the application information storage means Falsification confirmation means for confirming that the terminal application has not been falsified by comparison with the hash value, application identification information acquired from the confirmation request, and the terminal application stored in the application information storage means A right-of-use confirmation means for confirming that the right of use exists for the terminal application by collating with the application identification information; Permission transmitting means for transmitting the execution permission information stored in the application information storage means to the terminal that is the transmission source of the confirmation request with respect to the terminal application that has been confirmed not to exist and that the right of use right exists. It is characterized by having.

本発明の他の態様(11)であるアプリ保護方法は、上記態様を方法のカテゴリで捉えたもので、端末への提供に係る端末アプリであって利用権原が存在するものについて、アプリ識別情報と、ハッシュ値と、端末での実行で必要となる実行許可情報と、を記憶しているアプリ情報記憶手段を有する制御サーバのコンピュータが、端末から送信された端末アプリに係る確認要求から取得するハッシュ値と、その端末アプリについて前記アプリ情報記憶手段に記憶されている前記ハッシュ値と、の照合によりその端末アプリが改ざんされていないことを確認する改ざん確認処理と、前記確認要求から取得するアプリ識別情報と、前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記アプリ識別情報と、の照合によりその端末アプリについて利用権原が存在することを確認する利用権原確認処理と、前記改ざんされていないこと及び前記利用権原が存在することが確認された前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記実行許可情報を、前記確認要求の送信元である前記端末へ送信する許可送信処理と、を実行することを特徴とする。   An application protection method according to another aspect (11) of the present invention is an application identification information regarding a terminal application related to provision to a terminal and having a right of use, which is obtained by capturing the above aspect in a method category. And the control server computer having the application information storage means storing the hash value and the execution permission information necessary for execution on the terminal, obtain from the confirmation request relating to the terminal application transmitted from the terminal A falsification confirmation process for confirming that the terminal application has not been falsified by collating the hash value with the hash value stored in the application information storage unit for the terminal application, and an application acquired from the confirmation request The terminal information is checked by comparing the identification information with the application identification information stored in the application information storage means for the terminal application. The usage right source confirmation process for confirming that the right of use right exists for the device and the terminal application that has been confirmed not to have been tampered with and the right of use right is stored in the application information storage means A permission transmission process for transmitting execution permission information to the terminal that is the transmission source of the confirmation request.

これらの態様では、先に述べた本発明の作用効果に加え、特に、端末からの確認要求により制御サーバが、端末アプリの無改ざん性と正当権原の存在を確認のうえ実行許可情報を提供し、この実行許可情報はハッシュ値と端末識別情報で暗号化した暗号化データとして端末で記憶しておく。これにより、端末アプリのダウンロード提供時点では、制御サーバが実行許可情報を端末識別情報で暗号化して端末に送信する負荷が不要となるうえ、ダウンロード時点では端末アプリが端末に直ちには固定されない。このため、ユーザの都合のよい任意の端末で端末アプリを初回起動し確認要求を行えば、以降、その端末上のみで端末アプリを利用可能となり、柔軟な使い勝手が実現される。   In these aspects, in addition to the operational effects of the present invention described above, in particular, the control server provides the execution permission information after confirming the non-tampering property of the terminal application and the existence of the legitimate right by the confirmation request from the terminal. The execution permission information is stored in the terminal as encrypted data encrypted with the hash value and the terminal identification information. This eliminates the need for the control server to encrypt the execution permission information with the terminal identification information and send it to the terminal at the time of downloading the terminal application, and the terminal application is not immediately fixed to the terminal at the time of downloading. For this reason, if the terminal application is activated for the first time at any terminal convenient for the user and a confirmation request is made, the terminal application can be used only on that terminal thereafter, and flexible usability is realized.

本発明の他の態様(3)は、端末に関連する上記いずれかの態様において、生成された前記ハッシュ値と、前記端末アプリを識別するアプリ識別情報と、端末の端末識別情報と、を含む確認要求を所定の制御サーバへ送信する確認要求送信手段と、送信された前記確認要求に対応して前記制御サーバから送信され前記端末アプリの実行に必要となる実行許可情報であって、前記確認要求に含まれる前記ハッシュ値及び前記端末識別情報と、で暗号化された暗号化データを受信する暗号許可受信手段と、を有することを特徴とする。   Another aspect (3) of the present invention includes the generated hash value, application identification information for identifying the terminal application, and terminal identification information of the terminal in any one of the aspects related to the terminal. Confirmation request transmitting means for transmitting a confirmation request to a predetermined control server, and execution permission information transmitted from the control server in response to the transmitted confirmation request and necessary for execution of the terminal application, the confirmation And encryption permission receiving means for receiving encrypted data encrypted with the hash value and the terminal identification information included in the request.

本発明の他の態様(6)である制御サーバは、端末への提供に係る端末アプリであって利用権原が存在するものについて、アプリ識別情報と、ハッシュ値と、端末での実行で必要となる実行許可情報と、を記憶しているアプリ情報記憶手段と、端末から送信された端末アプリに係る確認要求から取得するハッシュ値と、その端末アプリについて前記アプリ情報記憶手段に記憶されている前記ハッシュ値と、の照合によりその端末アプリが改ざんされていないことを確認する改ざん確認手段と、前記確認要求から取得するアプリ識別情報と、前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記アプリ識別情報と、の照合によりその端末アプリについて利用権原が存在することを確認する利用権原確認手段と、前記改ざんされていないこと及び前記利用権原が存在することが確認された前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記実行許可情報を、前記確認要求から取得する前記ハッシュ値及び前記端末識別情報で暗号化し暗号化データとする暗号化手段と、暗号化された前記暗号化データを、前記確認要求の送信元である前記端末へ送信する許可送信手段と、を有することを特徴とする。   The control server according to another aspect (6) of the present invention is necessary for execution of the terminal identification information, the hash value, and the terminal application related to provision to the terminal and having the right of use. The application permission information stored in the application information storage means, the hash value acquired from the confirmation request related to the terminal application transmitted from the terminal, and the terminal application stored in the application information storage means Falsification confirmation means for confirming that the terminal application has not been falsified by comparison with the hash value, application identification information acquired from the confirmation request, and the terminal application stored in the application information storage means A right-of-use confirmation means for confirming that the right of use exists for the terminal application by collating with the application identification information; The execution permission information stored in the application information storage means for the terminal application for which it is confirmed that the usage right source is not present and is encrypted with the hash value acquired from the confirmation request and the terminal identification information And encrypting means for generating encrypted data, and permission transmitting means for transmitting the encrypted encrypted data to the terminal that is the transmission source of the confirmation request.

本発明の他の態様(12)であるアプリ保護方法は、上記態様を方法のカテゴリで捉えたもので、端末への提供に係る端末アプリであって利用権原が存在するものについて、アプリ識別情報と、ハッシュ値と、端末での実行で必要となる実行許可情報と、を記憶しているアプリ情報記憶手段を有する制御サーバのコンピュータが、端末から送信された端末アプリに係る確認要求から取得するハッシュ値と、その端末アプリについて前記アプリ情報記憶手段に記憶されている前記ハッシュ値と、の照合によりその端末アプリが改ざんされていないことを確認する改ざん確認処理と、前記確認要求から取得するアプリ識別情報と、前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記アプリ識別情報と、の照合によりその端末アプリについて利用権原が存在することを確認する利用権原確認処理と、前記改ざんされていないこと及び前記利用権原が存在することが確認された前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記実行許可情報を、前記確認要求から取得する前記ハッシュ値及び前記端末識別情報で暗号化し暗号化データとする暗号化処理と、暗号化された前記暗号化データを、前記確認要求の送信元である前記端末へ送信する許可送信処理と、を実行することを特徴とする。   An application protection method according to another aspect (12) of the present invention captures the above aspect in a method category, and is application identification information for a terminal application related to provision to a terminal that has a right of use. And the control server computer having the application information storage means storing the hash value and the execution permission information necessary for execution on the terminal, obtain from the confirmation request relating to the terminal application transmitted from the terminal A falsification confirmation process for confirming that the terminal application has not been falsified by collating the hash value with the hash value stored in the application information storage unit for the terminal application, and an application acquired from the confirmation request The terminal information is checked by comparing the identification information with the application identification information stored in the application information storage means for the terminal application. The usage right source confirmation process for confirming that the right of use right exists for the device and the terminal application that has been confirmed not to have been tampered with and the right of use right is stored in the application information storage means Encrypting the execution permission information with the hash value acquired from the confirmation request and the terminal identification information to obtain encrypted data, and the encrypted encrypted data is the transmission source of the confirmation request And a permission transmission process for transmitting to the terminal.

これらの態様では、先に述べた作用効果に加え、特に、端末からの確認要求により制御サーバが、端末アプリの無改ざん性と正当権原の存在を確認のうえ実行許可情報を提供し、この実行許可情報はハッシュ値と端末識別情報で暗号化した暗号化データとして端末で記憶しておく。これにより、端末アプリのダウンロード提供時点では、制御サーバが実行許可情報を端末識別情報で暗号化して端末に送信する負荷が不要となるうえ、ダウンロード時点では端末アプリが端末に直ちには固定されない。このため、ユーザの都合のよい任意の端末で端末アプリを初回起動し確認要求を行えば、以降、その端末上のみで端末アプリを利用可能となり、柔軟な使い勝手が実現される。
特に、暗号化を端末側で行う態様(2、5)では、暗号化に要するサーバ負荷が軽減され、一方、暗号化をサーバ側で行う態様(3、6)では、処理能力の限られた端末の負荷が軽減されるうえ、端末アプリ実行の鍵となる実行許可情報を暗号化前に通信ネットワーク経由などで送信するためにSSLなど他に暗号化の手段を用意する必要が無いので、少ない負担でセキュリティを維持できる。
In these aspects, in addition to the operation and effect described above, in particular, the control server provides the execution permission information after confirming that the terminal application has not been tampered with and the existence of the legitimate title in response to a confirmation request from the terminal. The permission information is stored in the terminal as encrypted data encrypted with the hash value and the terminal identification information. This eliminates the need for the control server to encrypt the execution permission information with the terminal identification information and send it to the terminal at the time of downloading the terminal application, and the terminal application is not immediately fixed to the terminal at the time of downloading. For this reason, if the terminal application is activated for the first time at any terminal convenient for the user and a confirmation request is made, the terminal application can be used only on that terminal thereafter, and flexible usability is realized.
In particular, in the modes (2, 5) in which encryption is performed on the terminal side, the server load required for encryption is reduced, while in the modes (3, 6) in which encryption is performed on the server side, processing capacity is limited. In addition to reducing the load on the terminal, there is no need to prepare other encryption means such as SSL in order to transmit execution permission information, which is a key for executing the terminal application, via a communication network before encryption. Security can be maintained at a burden.

本発明の他の態様(4)は、端末へ端末アプリを提供する制御サーバであって、前記端末アプリの実行に必要となる所定の実行許可情報を、その端末アプリに係るハッシュ値と、前記端末から受信する端末識別情報と、で暗号化し暗号化データとする暗号化手段と、アプリ保護プログラムを組み込んだ端末アプリ及び前記暗号化データを端末に提供する提供手段と、を有し、前記アプリ保護プログラムは前記端末に、前記端末において前記端末アプリを実行しようとするときに、その端末アプリから前記ハッシュ生成手段が生成するハッシュ値と、その端末の端末識別情報と、により、その端末アプリに対応付けて所定の暗号許可記憶手段に記憶されている前記暗号化データから前記実行許可情報を復号化してその端末アプリに提供させることを特徴とする。   Another aspect (4) of the present invention is a control server for providing a terminal application to a terminal, wherein predetermined execution permission information necessary for the execution of the terminal application includes a hash value related to the terminal application, Terminal identification information received from a terminal, encryption means encrypted with encrypted data, terminal application incorporating an application protection program, and provision means for providing the encrypted data to the terminal, the application When the protection program tries to execute the terminal application on the terminal, the protection program uses the hash value generated by the hash generation unit from the terminal application and the terminal identification information of the terminal, to the terminal application. The execution permission information is decrypted from the encrypted data stored in the predetermined encryption permission storage means in association with the terminal data and provided to the terminal application. The features.

本発明の他の態様(10)であるアプリ保護方法は、上記態様を方法のカテゴリで捉えたもので、端末へ端末アプリを提供する制御サーバのコンピュータが、前記端末アプリの実行に必要となる所定の実行許可情報を、その端末アプリに係るハッシュ値と、前記端末から受信する端末識別情報と、で暗号化し暗号化データとする暗号化処理と、アプリ保護プログラムを組み込んだ端末アプリ及び前記暗号化データを端末に提供する提供処理と、を実行し、前記アプリ保護プログラムは前記端末に、前記端末において前記端末アプリを実行しようとするときに、その端末アプリから前記ハッシュ生成手段が生成するハッシュ値と、その端末の端末識別情報と、により、その端末アプリに対応付けて所定の暗号許可記憶手段に記憶されている前記暗号化データから前記実行許可情報を復号化してその端末アプリに提供させることを特徴とする。   The application protection method according to another aspect (10) of the present invention is based on the above-described aspect in the category of the method, and a computer of a control server that provides the terminal application to the terminal is necessary for the execution of the terminal application. Encryption processing for encrypting predetermined execution permission information with a hash value related to the terminal application and terminal identification information received from the terminal to obtain encrypted data, a terminal application incorporating an application protection program, and the encryption Providing processing for providing the data to the terminal, and when the application protection program tries to execute the terminal application on the terminal, the hash generation unit generates the hash from the terminal application. The value and the terminal identification information of the terminal are stored in a predetermined encryption permission storage means in association with the terminal application. Characterized in that to provide to the terminal application from the No. of data by decoding the execution permission information.

これらの態様では、先に述べた作用効果に加え、特に、制御サーバからアプリ保護プログラムを組み込んだ端末アプリと共に、ハッシュ値と端末識別情報で暗号化した暗号化データも端末に提供することにより、以降、端末アプリの初回起動時を含め端末では確認要求等の処理は不要となるので、ユーザの使い勝手に優れ、端末アプリを当初から特定の端末に確実に固定することができる。   In these aspects, in addition to the effects described above, in particular, by providing the terminal with encrypted data encrypted with the hash value and the terminal identification information, together with the terminal application incorporating the application protection program from the control server, Thereafter, since processing such as a confirmation request is not required at the terminal including when the terminal application is activated for the first time, it is excellent in user convenience and the terminal application can be reliably fixed to a specific terminal from the beginning.

本発明の他の態様(8)であるアプリ保護システムは、端末に関連する上記いずれかの態様と、制御サーバに関連する上記いずれかの態様と、を有することを特徴とする。   An application protection system according to another aspect (8) of the present invention has any one of the above aspects related to a terminal and any one of the above aspects related to a control server.

本発明の他の態様(7)は、制御サーバに関連する上記いずれかの態様において、アプリ保護プログラムを構成する共通モジュールを端末に提供する共通提供手段と、前記共通モジュールとともに前記アプリ保護プログラムを実現する個別モジュールを組み込んだ端末アプリを端末に提供する個別提供手段と、を有し、前記共通モジュールは前記端末に、前記端末に導入された前記端末アプリからハッシュ値を生成させ、生成された前記ハッシュ値と前記端末アプリを識別するアプリ識別情報とを含む確認要求を所定の制御サーバへ送信させ、送信された前記確認要求に対応して前記制御サーバから送信され前記端末アプリの実行に必要となる実行許可情報であって、前記確認要求に係る前記ハッシュ値及びこの端末の端末識別情報とで暗号化し暗号化データとしたものを所定の暗号許可記憶手段に記憶させ、前記個別モジュールは前記端末に、その個別モジュールを組み込んだ端末アプリが前記端末で初回に起動されるとき、前記共通モジュールに、その端末アプリに含まれる前記アプリ識別情報を渡して前記確認要求を指示させ、前記端末において前記端末アプリを再度実行しようとするときに、その端末アプリから前記ハッシュ生成手段が生成するハッシュ値と、その端末の端末識別情報と、により、その端末アプリに対応付けて前記暗号許可記憶手段に記憶されている前記暗号化データから前記実行許可情報を復号化してその端末アプリに提供させることを特徴とする。   According to another aspect (7) of the present invention, in any one of the aspects related to the control server, a common providing means for providing a common module constituting the application protection program to the terminal, and the application protection program together with the common module. An individual providing means for providing a terminal application incorporating an individual module to be realized to the terminal, and the common module is generated by causing the terminal to generate a hash value from the terminal application installed in the terminal. A confirmation request including the hash value and application identification information for identifying the terminal application is transmitted to a predetermined control server, and is transmitted from the control server in response to the transmitted confirmation request and is necessary for executing the terminal application. Execution permission information which is encrypted with the hash value related to the confirmation request and the terminal identification information of the terminal. Then, the encrypted data is stored in a predetermined encryption permission storage means, and when the terminal module that incorporates the individual module is started for the first time on the terminal, the individual module is Passing the application identification information included in the terminal application, instructing the confirmation request, and when the terminal application is to be executed again on the terminal, a hash value generated by the hash generation unit from the terminal application; According to the terminal identification information of the terminal, the execution permission information is decrypted from the encrypted data stored in the encryption permission storage means in association with the terminal application, and is provided to the terminal application. To do.

この態様では、先に述べた作用効果に加え、確認要求と暗号化の部分を共通モジュールとして端末にインストールすることにより、確認要求や暗号化の機能部分を端末アプリごとに重複して持つ必要がなくなるため、限られた記憶容量の圧迫が回避できるうえ、共通モジュール部分の改修や更新が一度の処理で迅速に完了する。さらに、全ての端末アプリに共通する単一のモジュールとしてアプリ保護プログラムを実現し端末にインストールしておく場合と比べ、個別具体的な端末アプリの特徴など事情に応じた機能を個別モジュールで自由に実装可能となる。   In this aspect, in addition to the above-described effects, it is necessary to install the confirmation request and the encryption part as a common module in the terminal, so that the confirmation request and the encryption functional part must be duplicated for each terminal application. As a result, the compression of the limited storage capacity can be avoided, and the repair and update of the common module portion can be completed quickly in one process. In addition, compared to the case where the application protection program is implemented as a single module common to all terminal applications and installed on the terminal, the functions according to the circumstances such as the characteristics of individual specific terminal applications can be freely controlled by individual modules. Can be implemented.

なお、上記の各態様は、その態様について明記しなかった他のカテゴリ(方法、プログラムなど)としても把握することができ、それら方法やプログラムのカテゴリについては、装置のカテゴリで示した「手段」を、「処理」や「ステップ」のように適宜読み替えるものとする。また、処理やステップの実行順序は本出願に直接明記するものに限定されず、適宜変更したりまとめて処理するなど変更可能であることも当然である。さらに、方法やプログラムのカテゴリにおいて、個々の処理やステップを実行する「コンピュータ」は共通でもよいし処理ごとに異なってもよい。加えて、本発明は、後述するさらに具体的な各態様を含むものである。   Each of the above aspects can be grasped as other categories (methods, programs, etc.) that are not clearly described with respect to the aspects, and the categories of the methods and programs are “means” indicated in the apparatus category. Are appropriately read as “processing” or “step”. In addition, the order of execution of the processes and steps is not limited to that specified directly in the present application, and it is natural that the order can be changed as appropriate or processed together. Furthermore, in the category of methods and programs, “computers” that execute individual processes and steps may be common or may be different for each process. In addition, the present invention includes more specific aspects described later.

本発明によれば、端末アプリの端末間移動や改ざんによる実行を防止することができる。   According to the present invention, it is possible to prevent a terminal application from being executed due to movement between terminals or alteration.

本発明の第1実施形態について構成を示す機能ブロック図。The functional block diagram which shows a structure about 1st Embodiment of this invention. 本発明の第1実施形態におけるデータ例を示す図。The figure which shows the example of data in 1st Embodiment of this invention. 本発明の第1実施形態における確認要求に関する処理手順を示すフローチャート。The flowchart which shows the process sequence regarding the confirmation request | requirement in 1st Embodiment of this invention. 本発明の第1実施形態における端末アプリ実行時の処理手順を示すフローチャート。The flowchart which shows the process sequence at the time of terminal application execution in 1st Embodiment of this invention. 本発明の第2実施形態について構成を示す機能ブロック図。The functional block diagram which shows a structure about 2nd Embodiment of this invention. 本発明の第3実施形態について構成を示す機能ブロック図。The functional block diagram which shows a structure about 3rd Embodiment of this invention.

次に、本発明の例として、本発明を実施するための形態(「実施形態」と呼ぶ)について図に沿って説明する。なお、背景技術や課題などで既に述べた内容と共通の前提事項については適宜省略する。   Next, as an example of the present invention, a mode for carrying out the present invention (referred to as “embodiment”) will be described with reference to the drawings. It should be noted that assumptions common to those already described in the background art and problems are omitted as appropriate.

〔1.第1実施形態〕
〔1−1.第1実施形態の構成〕
本実施形態は、図1(構成図)に示すように、アプリ保護装置を兼ねる端末Tと、制御サーバ2(以下「サーバ2」又は「サーバ」とも呼ぶ)と、を有するアプリ保護システムに関するものである。
[1. First embodiment]
[1-1. Configuration of First Embodiment]
As shown in FIG. 1 (configuration diagram), the present embodiment relates to an application protection system having a terminal T that also serves as an application protection device and a control server 2 (hereinafter also referred to as “server 2” or “server”). It is.

上記のうちサーバ2は、図1に示すように、コンピュータの構成として少なくとも、CPUなどの演算制御部6と、主メモリや補助記憶装置等の記憶装置7と、通信ネットワークN(例えば、インターネット、移動通信網など)との通信手段8(通信ゲートウェイ装置、移動通信網との通信回路、無線LANアダプタなど)と、を有する。   As shown in FIG. 1, the server 2 includes at least an arithmetic control unit 6 such as a CPU, a storage device 7 such as a main memory and an auxiliary storage device, and a communication network N (for example, the Internet, as shown in FIG. 1). Communication means 8 (communication gateway device, communication circuit with mobile communication network, wireless LAN adapter, etc.).

また、端末Tは、端末アプリの実行及びその他の情報処理を行う電子情報機器で、スマートフォン、携帯電話端末、タブレットPCのほか、モバイルPC、据置型PCなどである。端末Tは、図示はしないが、上記のようなコンピュータの構成に加え、液晶表示パネルやタッチパネル、押ボタンなどを用いた入出力部を有する。端末Tは、図1では少数を模式的に示すが、実際はユーザ数に応じ多数存在する。   The terminal T is an electronic information device that executes a terminal application and performs other information processing. The terminal T is a mobile PC, a stationary PC, or the like in addition to a smartphone, a mobile phone terminal, and a tablet PC. Although not shown, the terminal T includes an input / output unit using a liquid crystal display panel, a touch panel, a push button, and the like in addition to the computer configuration as described above. Although a small number of terminals T are schematically shown in FIG. 1, there are actually a large number of terminals T according to the number of users.

そして、端末T及びサーバ2では、それぞれ、記憶装置7に記憶(インストール)した所定のコンピュータ・プログラム(端末Tにあってはアプリ保護プログラムを構成する共通モジュール及び個別モジュール)が演算制御部6を制御することで、図1に示す各手段などの要素(11ほか)を実現する。   In each of the terminal T and the server 2, predetermined computer programs (common modules and individual modules constituting an application protection program in the terminal T) stored in (installed in) the storage device 7 are connected to the arithmetic control unit 6. By controlling, the elements (11 and others) such as each means shown in FIG. 1 are realized.

それら要素のうち情報の記憶手段は、記憶装置7上のファイルなど任意のデータ形式で実現できるほか、ネットワークコンピューティング(クラウド)によるリモート記憶でもよい。また、記憶手段は、データの格納領域だけでなく、データの入出力や管理などの機能を含んでもよい。また、本出願に示す記憶手段の単位は説明上の便宜によるもので、適宜、構成を分けたり一体化できるほか、明示する記憶手段以外にも、各手段の処理データや処理結果などを記憶する記憶手段を適宜用いるものとする。   Among these elements, the information storage means can be realized in any data format such as a file on the storage device 7, or may be remote storage by network computing (cloud). The storage means may include not only a data storage area but also functions such as data input / output and management. In addition, the unit of the storage means shown in this application is for convenience of explanation, and the configuration can be divided or integrated as appropriate, and the processing data and processing results of each means are stored in addition to the explicit storage means. A storage means is used as appropriate.

そして、記憶手段のうち、暗号許可記憶手段41は、図2(1)に例示するように、端末アプリの実行で必要となる実行許可情報をその端末アプリのハッシュ値及び端末の端末識別情報とで暗号化した暗号化データを端末アプリに対応付けて記憶する手段である。実行許可情報は、端末アプリの実行必須の実行許可コードなどのデジタル情報であり、個々の端末アプリごとに異なってもよいし共通でもよい。   Among the storage means, the encryption permission storage means 41 includes, as illustrated in FIG. 2 (1), the execution permission information necessary for executing the terminal application, the hash value of the terminal application, and the terminal identification information of the terminal. This is means for storing the encrypted data encrypted in step 1 in association with the terminal application. The execution permission information is digital information such as an execution permission code required to execute the terminal application, and may be different for each terminal application or may be common.

また、アプリ情報記憶手段28は、図2(2)に例示するように、端末Tへの提供に係る端末アプリであって利用権原が存在するものについて、アプリ識別情報と、ハッシュ値と、端末での実行で必要となる実行許可情報と、を記憶している手段である。ここで「アプリ識別情報」は、個々の端末毎にダウンロード提供した端末アプリに固有のシリアル番号などで、同じ種類、バージョンの端末アプリでもユーザや端末ごとに異なるものとする。   In addition, as illustrated in FIG. 2B, the application information storage unit 28 includes application identification information, a hash value, a terminal, and a terminal application related to provision to the terminal T that have a right of use. It is a means for storing execution permission information necessary for execution in. Here, the “application identification information” is a serial number unique to the terminal application downloaded and provided for each individual terminal, and is different for each user or terminal even for terminal applications of the same type and version.

但し、アプリ識別情報は、端末アプリの実行ファイル自体に埋め込んだり、端末アプリの実行ファイル自体を少しずつ変えて一意に個性を持たせれば、そのようなファイルに基づくハッシュ値も異なることになるので、そのようなハッシュ値をアプリ識別情報として用いてもよい。また、「利用権原」は、有料アプリの購入履歴の他、販促用特典の取得履歴、テスト用IDの記録など、種類は問わない。   However, if the application identification information is embedded in the terminal application executable file itself, or if the terminal application executable file itself is changed little by little to make it unique, the hash values based on such files will also differ. Such a hash value may be used as application identification information. In addition to the purchase history of the paid application, the “use right” may be of any type, such as an acquisition history of a promotional privilege, a test ID record, and the like.

なお、図中(例えば図1)の矢印は、データや制御などの流れについて主要な方向を補助的に示すもので、方向の限定を意味するものではない。例えばデータをある方向に取得する場合、事前のデータリクエストや事後のアクノリッジ(ACK)が逆方向に送信される。また、記憶手段以外の各手段は、以下に説明するような情報処理の機能・作用を実現・実行する処理手段であるが、これらは説明のために整理した機能単位であり、実際のハードウェア要素やソフトウェアモジュールとの一致は問わない。   In addition, the arrow in the figure (for example, FIG. 1) supplementarily indicates a main direction in the flow of data, control, and the like, and does not mean the limitation of the direction. For example, when data is acquired in a certain direction, a prior data request and a subsequent acknowledge (ACK) are transmitted in the reverse direction. In addition, each means other than the storage means is a processing means for realizing and executing the functions and operations of information processing as described below, but these are functional units arranged for explanation, and actual hardware It doesn't matter if it matches elements or software modules.

〔1−2.第1実施形態の作用〕
上記のように構成された第1実施形態の作用を、図3のフローチャートに示す。
〔1−2−1.概要〕
作用の概要としては、アプリ保護プログラムが、端末アプリを問わない共通モジュールMXと、個々の端末アプリに組み込まれている個別モジュールM1と、の協働により構成される。そして、端末Tに事前インストールした共通モジュールMXが、端末アプリAの初回起動時にサーバ2へ確認要求を送信し、返信された実行許可情報を暗号化し端末アプリAの次回以降の起動時に復号化して用いる。以下、具体的に説明する。
[1-2. Operation of First Embodiment]
The operation of the first embodiment configured as described above is shown in the flowchart of FIG.
[1-2-1. Overview〕
As an outline of the operation, the application protection program is configured by cooperation of the common module MX regardless of the terminal application and the individual module M1 incorporated in each terminal application. Then, the common module MX preinstalled in the terminal T transmits a confirmation request to the server 2 when the terminal application A is activated for the first time, encrypts the returned execution permission information, and decrypts it when the terminal application A is activated next time. Use. This will be specifically described below.

〔1−2−2.共通モジュールの事前インストール〕
まず、端末Tには予め、アプリ保護プログラムを構成する共通モジュールMXを、製造時に組み込み又はユーザがダウンロードしてインストールしておく(ステップS1)。ユーザがサーバ2からダウンロードする際、サーバ2の共通提供手段25が、アプリ保護プログラムを構成する共通モジュールMXを、予め記憶している所定の共通モジュール記憶手段24などから読み出して端末Tに送信することで提供する(ステップS21)。
[1-2-2. Common module pre-installation)
First, the common module MX constituting the application protection program is preinstalled in the terminal T at the time of manufacture or is downloaded and installed by the user (step S1). When the user downloads from the server 2, the common provision unit 25 of the server 2 reads the common module MX constituting the application protection program from the predetermined common module storage unit 24 stored in advance and transmits it to the terminal T. (Step S21).

ダウンロード提供された共通モジュールMXは、端末Tの仕様に応じて、端末アプリの一つとして、又はデバイスドライバのようなオプションのシステムモジュール、アドイン、ダイナミック・リンク・ライブラリなど適宜な形式で、端末Tにインストール(導入)される。上記のように共通モジュールMXがインストールされた端末Tは、個々の端末アプリAを実行できる実行環境となる。   Depending on the specifications of the terminal T, the download-provided common module MX is one of the terminal applications or an optional system module such as a device driver, an add-in, a dynamic link library, or the like in an appropriate format. Installed (introduced). The terminal T in which the common module MX is installed as described above becomes an execution environment in which each terminal application A can be executed.

〔1−2−3.端末アプリの提供〕
そして、個々の端末アプリAについては、アプリ購入などに際しての端末Tからのダウンロードの要求アクセスに対して(ステップS2)、サーバ2の個別提供手段27が、共通モジュールMXとともにアプリ保護プログラムを実現する個別モジュールM1を組み込んだ端末アプリAとして、端末Tに提供する(ステップS22)。端末アプリAは、図1では一つを示すが、端末Tの記憶容量の許す限り多数を利用でき、個々の端末アプリAは端末Tにインストールされると、アイコンなどで起動可能となる。
[1-2-3. (Provision of terminal application)
Then, for each terminal application A, the individual providing means 27 of the server 2 implements an application protection program together with the common module MX in response to a download request access from the terminal T when purchasing an application (step S2). It is provided to the terminal T as the terminal application A incorporating the individual module M1 (step S22). Although one terminal application A is shown in FIG. 1, a large number of terminal applications A can be used as long as the storage capacity of the terminal T permits, and when each terminal application A is installed in the terminal T, it can be activated with an icon or the like.

なお、個別モジュールM1は、所定のアプリ等記憶手段26などにおいて、予め端末アプリAに組み込んだ状態で記憶しておけばダウンロード提供時に端末アプリAに組み込む処理負荷が軽減できる。一方、ダウンロード提供時に端末アプリAにその場で組み込むようにすれば、共通モジュールMXについて端末Tにおける記憶容量の重複が回避できるうえ、更新時も全ての組込済の端末アプリAを作成し直す負担が避けられる。   If the individual module M1 is stored in the terminal application A in advance in a predetermined application storage unit 26 or the like, the processing load incorporated in the terminal application A at the time of providing the download can be reduced. On the other hand, if it is incorporated in the terminal application A on the spot at the time of providing the download, it is possible to avoid duplication of storage capacity in the terminal T for the common module MX and to recreate all the built-in terminal applications A at the time of updating. The burden is avoided.

〔1−2−4.確認要求の送信〕
そして、個別モジュールM1を組み込んだ端末アプリAが端末Tで起動され(ステップS3)、その起動が初回の場合(ステップS4:「YES」)、個別モジュールM1は端末Tの特に演算制御部6を制御することにより確認要求指示手段11として、共通モジュールMXに、その端末アプリAに含まれるアプリ識別情報を渡して確認要求を指示させる(ステップS5)。
[1-2-4. Send confirmation request)
Then, when the terminal application A incorporating the individual module M1 is activated on the terminal T (step S3) and the activation is the first time (step S4: “YES”), the individual module M1 activates the arithmetic control unit 6 of the terminal T in particular. By controlling, as the confirmation request instruction means 11, the common module MX is passed the application identification information included in the terminal application A to instruct a confirmation request (step S5).

この際、個別モジュールM1から共通モジュールMXを動作させるために、オペレーティングシステムなどの基本ソフトウェアに代表されるソフトウェアの構成上、具体的にどのような種類の連携手段を採用するかは基本ソフトウェアの種類や仕様に応じて自由に選択すればよいが、一例として、モジュール間でのパラメータ受渡しを伴う呼び出しを用いることが考えられる。   At this time, in order to operate the common module MX from the individual module M1, what kind of linkage means is specifically adopted in the configuration of software represented by basic software such as an operating system is the type of basic software However, as an example, it is conceivable to use a call that involves parameter passing between modules.

このとき、個別モジュールM1は端末アプリAに組み込まれているので、端末アプリの一種である共通モジュールMXからみると、他の端末アプリAから制御を渡されることになるが、基本ソフトウェアの仕様上、端末アプリA自身の参照(どの端末アプリを処理対象とするかを特定するポインタなどの情報)を端末アプリ間で引き渡せない場合も考えられる。このような場合、端末アプリAのファイルパス(端末アプリAの実行ファイルが置かれている端末T上のファイルディレクトリやフォルダを特定する文字列などの情報)を渡せばよい。   At this time, since the individual module M1 is incorporated in the terminal application A, when viewed from the common module MX, which is a type of terminal application, control is passed from the other terminal application A. It is also conceivable that the reference of the terminal application A itself (information such as a pointer specifying which terminal application is a processing target) cannot be transferred between the terminal applications. In such a case, the file path of the terminal application A (information such as a character string specifying a file directory or a folder on the terminal T where the execution file of the terminal application A is placed) may be passed.

また、ファイルパスを渡しても共通モジュールMXによるアプリ識別情報の取得が困難である場合、アプリ識別情報についてもパラメータとして引き継ぐことが考えられる。なお、個別モジュールM1と共通モジュールMXの間で、どちらにどの機能を置くかは自由であり(後述)、端末アプリAのハッシュ値の生成を個別モジュールM1で行う場合、先述のように個別モジュールM1から共通モジュールMXへファイルパスに代えて、生成したハッシュ値を渡してもよい。   If it is difficult to acquire application identification information by the common module MX even if the file path is passed, the application identification information may be taken over as a parameter. Which function is placed between the individual module M1 and the common module MX is free (described later). When the hash value of the terminal application A is generated by the individual module M1, the individual module as described above is used. Instead of the file path from M1 to the common module MX, a generated hash value may be passed.

いずれにしても、確認要求の指示を個別モジュールM1から受けて共通モジュールMXでは、まず、ハッシュ生成手段X1が、端末アプリAのプログラムファイルから、その時点におけるハッシュ値すなわちダイジェストを生成する(ステップS6)。   In any case, upon receiving the confirmation request instruction from the individual module M1, in the common module MX, first, the hash generation means X1 generates a hash value, that is, a digest at that time, from the program file of the terminal application A (step S6). ).

ここで、ハッシュ値を生成する基礎となるファイルなどデータの範囲は、個別モジュールM1を除く端末アプリA正味の部分に限定すれば処理の負荷と時間が抑制でき、一方、個別モジュールM1を含む端末アプリA全体を対象とすれば個別モジュールM1部分の改ざんにも対応できるので処理精度が改善する。そして、上記のように生成されたハッシュ値と、端末アプリAを識別するアプリ識別情報と、を含む確認要求を確認要求送信手段X2がサーバ2へ送信する(ステップS7)。   Here, if the range of data such as a file used as a basis for generating the hash value is limited to the net part of the terminal application A excluding the individual module M1, the processing load and time can be suppressed, while the terminal including the individual module M1. If the entire application A is targeted, it is possible to cope with tampering of the individual module M1 portion, so that the processing accuracy is improved. And the confirmation request transmission means X2 transmits the confirmation request containing the hash value produced | generated as mentioned above and the application identification information which identifies the terminal application A to the server 2 (step S7).

〔1−2−5.確認要求に対する処理〕
サーバ2では、改ざん確認手段31が、端末Tから送信された端末アプリAに係る確認要求から取得するハッシュ値と、その端末アプリAについてアプリ情報記憶手段28に記憶されているハッシュ値と、の照合によりその端末アプリAが改ざんされていないことを確認する(ステップS23)。また、利用権原確認手段32が、確認要求から取得するアプリ識別情報と、端末アプリAについてアプリ情報記憶手段28に記憶されているアプリ識別情報と、の照合によりその端末アプリAについて利用権原が存在することを確認する(ステップS24)。なお、利用権原確認手段32は、アプリ識別情報を用いた照合により利用権原が存在することを確認したが、端末識別情報、ユーザを識別するユーザ識別情報、及びこれらの組み合わせを用いた照合により利用権原が存在することを確認することもできる。この場合、確認要求送信手段X2はこれらの情報を含む確認要求をサーバ2に送信する。また、アプリ情報記憶手段28は、アプリ識別情報のほか、端末識別情報、ユーザ識別情報を記憶する。
[1-2-5. (Processing for confirmation request)
In the server 2, the tampering confirmation means 31 includes a hash value acquired from the confirmation request related to the terminal application A transmitted from the terminal T, and a hash value stored in the application information storage means 28 for the terminal application A. It is confirmed by verification that the terminal application A has not been tampered with (step S23). Further, the usage right source exists for the terminal application A by collating the application identification information acquired from the confirmation request by the usage right source confirmation unit 32 with the application identification information stored in the application information storage unit 28 for the terminal application A. It confirms that it does (step S24). The usage right source confirmation unit 32 has confirmed that the usage right source exists by collation using the application identification information. However, the usage right source confirmation unit 32 uses the terminal identification information, user identification information for identifying the user, and a collation using a combination thereof. You can also confirm that the title exists. In this case, the confirmation request transmitting unit X2 transmits a confirmation request including these pieces of information to the server 2. The application information storage means 28 stores terminal identification information and user identification information in addition to application identification information.

そして、改ざんされていないこと(ステップS23:「YES」)及び利用権原が存在すること(ステップS24:「YES」)が確認された端末アプリAについては、許可送信手段33が、アプリ情報記憶手段28に記憶されている実行許可情報を、確認要求の送信元である端末Tへ送信する(ステップS25)。一方、改ざんされているか(ステップS23:「NO」)又は利用権原が無い(ステップS24:「NO」)端末アプリについてはエラーコードなど否定的な応答を許可送信手段33が返信する(ステップS26)。   And about the terminal application A with which it was confirmed that it was not tampered (step S23: "YES") and the right of use exists (step S24: "YES"), the permission transmission means 33 is the application information storage means. The execution permission information stored in 28 is transmitted to the terminal T that is the transmission source of the confirmation request (step S25). On the other hand, the permission transmission means 33 replies a negative response such as an error code for the terminal application whether it has been tampered (step S23: “NO”) or has no right to use (step S24: “NO”) (step S26). .

〔1−2−6.暗号化データの記憶〕
端末Tでは、確認要求への返信として送信され受信した応答が肯定的で、すなわち実行許可情報であれば(ステップS8:「OK」)それを記憶し(ステップS9)、エラーコードなど否定的な応答であれば(ステップS8:「NG」)、エラー表示のうえ端末アプリを終了するなど所定の動作を行う(ステップS10)。
[1-2-6. (Encrypted data storage)
In the terminal T, the response transmitted and received as a reply to the confirmation request is affirmative, that is, if it is execution permission information (step S8: “OK”), it is stored (step S9), and an error code or the like is negative. If it is a response (step S8: “NG”), a predetermined operation is performed such as displaying an error and ending the terminal application (step S10).

応答が肯定的な場合については、許可情報受信手段X3が、送信された確認要求に対応してサーバ2から送信され端末アプリAの実行に必要となる実行許可情報であって、確認要求に係るハッシュ値及びこの端末Tの端末識別情報とで暗号化し暗号化データとしたものを、所定の暗号許可記憶手段41に記憶させる。   When the response is affirmative, the permission information receiving means X3 is the execution permission information that is transmitted from the server 2 in response to the transmitted confirmation request and is necessary for the execution of the terminal application A, and relates to the confirmation request. What is encrypted with the hash value and the terminal identification information of the terminal T to be encrypted data is stored in a predetermined encryption permission storage means 41.

具体的には、ハッシュ値と端末識別番号によりサーバ2側で暗号化済の暗号化データを端末Tで受信し記憶させる態様も考えられるが(後述)、ここでは、他の暗号化技術(SSLなど)で保護している実行許可情報を受信し(ステップS8:「OK」)、受信された実行許可情報を暗号化手段X4が、確認要求に係るハッシュ値と、この端末の端末識別情報と、で暗号化して暗号化データとし、暗号許可記憶手段41に記憶させるものとする(ステップS9)。   Specifically, a mode in which encrypted data that has been encrypted on the server 2 side by the hash value and the terminal identification number is received and stored by the terminal T is also conceivable (described later), but here, another encryption technique (SSL Etc.) (step S8: “OK”), and the encryption means X4 encrypts the received execution permission information with the hash value related to the confirmation request, the terminal identification information of this terminal, The encrypted data is encrypted and stored in the encryption permission storage means 41 (step S9).

なお、端末識別情報は、端末Tの物理的な個体製造番号や、契約者に紐付いた端末IDなどであり、端末アプリは、オペレーティングシステムなどの基本ソフトウェアから取得できる。そして、上記のように暗号化を端末T側で行うことにより、暗号化に要するサーバ負荷が軽減され、また、暗号化に用いる端末識別情報を通信ネットワークN上で伝送するセキュリティリスクなどの負荷が回避できる。   The terminal identification information is a physical individual manufacturing number of the terminal T, a terminal ID associated with the contractor, and the terminal application can be acquired from basic software such as an operating system. By performing encryption on the terminal T side as described above, the server load required for encryption is reduced, and there is a load such as security risk for transmitting terminal identification information used for encryption on the communication network N. Can be avoided.

〔1−2−7.端末アプリ実行時の処理〕
上記のように暗号化データが端末Tで記憶された状態で、端末アプリAが続行され又は自動再起動もしくはユーザ操作などで改めて起動されることにより、以下のような処理で端末アプリ本来の機能を実行できる。すなわち、暗号化データを記憶済の端末Tにおいて端末アプリAを改めて起動するなどして実行しようとするとき、端末アプリAの起動は(ステップS3)初回ではなく2度目以降であり(ステップS4:「NO」)、図中、円で示す端子Eから図4のフローチャートへ進む。
[1-2-7. (Processing during terminal application execution)
When the encrypted data is stored in the terminal T as described above, the terminal application A is continued or is started again by automatic restart or user operation. Can be executed. That is, when trying to execute the terminal application A by starting the terminal application A again on the terminal T in which the encrypted data has been stored, the terminal application A is not started (step S3) but the first time (step S4: "NO"), the process proceeds from the terminal E indicated by a circle to the flowchart of FIG.

そして、まず、個別モジュールM1は端末Tにハッシュ生成手段50として、端末アプリAのファイルから、その時点におけるハッシュ値すなわちダイジェストを生成させる(ステップS11)。また、個別モジュールM1は端末Tに復号化手段60として、その端末アプリAからハッシュ生成手段50が生成したハッシュ値及びこの端末Tの端末識別情報(例えば個体製造番号など)とにより、その端末アプリAに対応付けて暗号許可記憶手段41に記憶されている暗号化データから、実行許可情報を復号化してその端末アプリAに提供させる(ステップS12)。なお、ハッシュ生成手段X1とハッシュ生成手段50は、実際のプログラム上では同じルーチンやモジュールなどを使うことができる。   First, the individual module M1 causes the terminal T to generate the hash value, that is, the digest at that time from the file of the terminal application A as the hash generation means 50 (step S11). Further, the individual module M1 uses the terminal application as the decryption means 60 based on the hash value generated by the hash generation means 50 from the terminal application A and the terminal identification information (for example, the individual production number) of the terminal T. The execution permission information is decrypted from the encrypted data stored in the encryption permission storage means 41 in association with A, and is provided to the terminal application A (step S12). Note that the hash generation means X1 and the hash generation means 50 can use the same routines and modules on the actual program.

起動された端末アプリAは、上記のように提供される実行許可情報をチェックし(ステップS13)、予め設定されている真正な実行許可情報と確認できれば(ステップS13:「OK」)動作を継続し(ステップS14)、確認できなければ(ステップS13:「NG」)エラー表示を行って端末アプリを終了する(ステップS15)などして、本来の動作を回避する。   The activated terminal application A checks the execution permission information provided as described above (step S13), and continues to operate if it can be confirmed as authentic execution permission information set in advance (step S13: “OK”). If it cannot be confirmed (step S13: “NG”), an error is displayed and the terminal application is terminated (step S15) to avoid the original operation.

〔1−3.第1実施形態の効果〕
以上のような第1実施形態の基本的効果としては、端末アプリAの実行に必須の実行許可情報について、端末アプリAのハッシュ値及び端末識別情報で暗号化して端末Tに置き(例えば図3)、実行の都度、端末アプリAのハッシュ値と端末の端末識別情報で復号化して端末アプリAに提供することにより(例えば図4)、端末アプリAが改ざんされておらず、かつ、端末間で移動されてもいない場合以外は、実行許可情報の復号と端末アプリ実行が不可能となる。このため、端末アプリAの端末間移動や改ざんによる実行を防止することができる。また、実行許可情報を端末Tに置くことで、実行ごとにサーバ2にアクセスする必要が無く端末T及びサーバ2で情報処理と通信の負荷が削減できる。また、端末とサーバとの間の通信が不可能な状態(オフライン)であっても、端末アプリが正当に実行されるよう管理することができる。
[1-3. Effects of the first embodiment]
As a basic effect of the first embodiment as described above, execution permission information essential for execution of the terminal application A is encrypted with the hash value and terminal identification information of the terminal application A and placed on the terminal T (for example, FIG. 3). ) By performing decryption with the hash value of the terminal application A and the terminal identification information of the terminal and providing it to the terminal application A (for example, FIG. 4), the terminal application A has not been tampered with and In other cases, the execution permission information cannot be decrypted and the terminal application cannot be executed. For this reason, it is possible to prevent the terminal application A from being executed due to movement between terminals or tampering. Further, by placing the execution permission information in the terminal T, it is not necessary to access the server 2 for each execution, and the load on information processing and communication can be reduced in the terminal T and the server 2. Further, even when communication between the terminal and the server is not possible (offline), it is possible to manage the terminal application to be executed properly.

特に、第1実施形態では、端末Tからの確認要求によりサーバ2が、端末アプリAの無改ざん性と正当権原の存在を確認のうえ実行許可情報を提供し、この実行許可情報はハッシュ値と端末識別情報で暗号化した暗号化データとして端末Tで記憶しておく。これにより、端末アプリAのダウンロード提供時点では、サーバ2が実行許可情報を端末識別情報で暗号化して端末Tに送信する負荷が不要となるうえ、ダウンロード時点では端末アプリAが端末Tに直ちには固定されない。このため、ユーザの都合のよい任意の端末で端末アプリAを初回起動し確認要求を行えば、以降、その端末上のみで端末アプリAを利用可能となり、柔軟な使い勝手が実現される。   In particular, in the first embodiment, the server 2 provides the execution permission information after confirming the non-tampering property of the terminal application A and the existence of the right source in response to the confirmation request from the terminal T. The execution permission information includes the hash value, The data is stored in the terminal T as encrypted data encrypted with the terminal identification information. This eliminates the need for the server 2 to encrypt the execution permission information with the terminal identification information and transmit it to the terminal T at the time of downloading the terminal application A, and at the time of downloading, the terminal application A is immediately applied to the terminal T. Not fixed. For this reason, if the terminal application A is activated for the first time at any terminal convenient for the user and a confirmation request is made, the terminal application A can be used only on the terminal thereafter, and flexible usability is realized.

また、第1実施形態では、上記の基本的効果に加え、確認要求と暗号化の部分を共通モジュールMXとして端末Tにインストールすることにより(例えば図1)、確認要求や暗号化の機能部分を端末アプリAごとに重複して持つ必要がなくなるため、限られた記憶容量の圧迫が回避できるうえ、共通モジュールMX部分の改修や更新が一度の処理で迅速に完了する。さらに、アプリ保護プログラム全体を、全ての端末アプリAに共通する単一のモジュールとして実現し端末Tにインストールしておく場合と比べ、個別具体的な端末アプリAの特徴など事情に応じた機能を個別モジュールM1で自由に実装可能となる。   In the first embodiment, in addition to the basic effects described above, the confirmation request and the encryption functional part are installed in the terminal T as the common module MX (for example, FIG. 1), so that the confirmation request and the encryption functional part are provided. Since there is no need to have each terminal application A redundantly, it is possible to avoid the compression of the limited storage capacity, and the repair and update of the common module MX portion can be completed quickly in one process. Furthermore, compared with the case where the entire application protection program is realized as a single module common to all terminal applications A and installed in the terminal T, functions according to circumstances such as the characteristics of the specific terminal application A are provided. The individual module M1 can be freely mounted.

〔2.第2実施形態〕
上記第1実施形態では、端末アプリAの初回起動時に端末Tからサーバ2への確認要求により実行許可情報を取得したが、実行許可情報は端末アプリAのダウンロード提供時に端末アプリAと共に端末Tに提供してもよい。このような第2実施形態の構成を図5に示す。
[2. Second Embodiment]
In the first embodiment, the execution permission information is acquired by a confirmation request from the terminal T to the server 2 when the terminal application A is activated for the first time. However, the execution permission information is transmitted to the terminal T together with the terminal application A when the terminal application A is provided for download. May be provided. Such a configuration of the second embodiment is shown in FIG.

この場合、サーバ20は、端末T2へ端末アプリBを提供する制御サーバであって、図5に示す次の手段を備える。すなわち、暗号化手段72は、端末アプリ(例えば端末アプリB)の実行に必要となる所定の実行許可情報を、その端末アプリBに係るハッシュ値と、端末T2から受信する端末識別情報と、で暗号化し暗号化データとする。そして、提供手段73が、アプリ保護プログラムPを組み込んだ端末アプリBと、前記暗号化データと、を端末T2に提供する。図5において、暗号化データを記憶している暗号許可記憶手段42は、例えば、アプリ保護プログラムPの内部データなどとしても実現できる。   In this case, the server 20 is a control server that provides the terminal application B to the terminal T2, and includes the following means shown in FIG. That is, the encryption means 72 includes predetermined execution permission information necessary for execution of a terminal application (for example, terminal application B) by using a hash value related to the terminal application B and terminal identification information received from the terminal T2. Encrypt and use as encrypted data. Then, the providing means 73 provides the terminal application B incorporating the application protection program P and the encrypted data to the terminal T2. In FIG. 5, the encryption permission storage means 42 storing the encrypted data can be realized as internal data of the application protection program P, for example.

第2実施形態におけるアプリ保護プログラムPは、個別モジュールと共通モジュールに分かれておらず、端末T2において端末アプリBを実行しようとするときにその端末T2に、次の処理を行わせる。すなわち、アプリ保護プログラムPは端末T2に、その端末アプリBからハッシュ生成手段52が生成するハッシュ値と、その端末T2の端末識別情報と、により、復号化手段60として、その端末アプリBに対応付けて所定の暗号許可記憶手段42に記憶されている上記の暗号化データから実行許可情報を復号化してその端末アプリBに提供させる。端末アプリBは提供された実行許可情報が真正であれば動作を継続する。   The application protection program P in the second embodiment is not divided into individual modules and common modules, and causes the terminal T2 to perform the following process when attempting to execute the terminal application B in the terminal T2. That is, the application protection program P corresponds to the terminal application B as the decryption means 60 based on the hash value generated by the hash generation means 52 from the terminal application B and the terminal identification information of the terminal T2. In addition, the execution permission information is decrypted from the encrypted data stored in the predetermined encryption permission storage means 42 and provided to the terminal application B. The terminal application B continues the operation if the provided execution permission information is authentic.

この第2実施形態では、先に述べた第1実施形態の基本的効果に加え、特に、サーバ20からアプリ保護プログラムPを組み込んだ端末アプリBと共に、ハッシュ値と端末識別情報で暗号化した暗号化データも端末T2に提供することにより、以降、端末アプリBの初回起動時を含め端末T2では確認要求等の処理は不要となるので、ユーザの使い勝手に優れ、端末アプリBを当初から特定の端末T2に確実に固定することができる。   In the second embodiment, in addition to the basic effects of the first embodiment described above, in particular, the encryption that is encrypted with the hash value and the terminal identification information together with the terminal application B incorporating the application protection program P from the server 20. Since the terminal T2 including the first activation of the terminal application B does not require processing such as a confirmation request or the like since the terminal application B is also provided to the terminal T2, the user application is easy to use. It can be securely fixed to the terminal T2.

〔2.第3実施形態〕
また、第1実施形態では、実行許可情報を端末側で暗号化したが、暗号化は制御サーバの側で行ってもよく、また、このような構成においても、アプリ保護プログラムが個別モジュールと共通モジュールに分かれていることは必須ではない。このような構成例を第3実施形態として図6に示す。この例は、第2実施形態より第1実施形態に近いが、図1(第1実施形態)と比較すると、アプリ保護プログラムP2が個別モジュールと共通モジュールに分かれておらず、それに関連して、制御サーバ30には共通モジュール記憶手段と共通提供手段はなく、暗号化手段Z4が制御サーバ30の側にある。
[2. Third Embodiment]
In the first embodiment, the execution permission information is encrypted on the terminal side. However, the encryption may be performed on the control server side. Also in such a configuration, the application protection program is shared with the individual modules. It is not essential to be divided into modules. Such a configuration example is shown in FIG. 6 as a third embodiment. This example is closer to the first embodiment than the second embodiment, but compared to FIG. 1 (first embodiment), the application protection program P2 is not divided into individual modules and common modules. The control server 30 has no common module storage means and common provision means, and the encryption means Z4 is on the control server 30 side.

第3実施形態では、提供手段37は、アプリ保護プログラムP2を組み込んだ端末アプリCを端末T3へ提供し、そのアプリ保護プログラムP2の確認要求送信手段Z2は、端末アプリCの初回起動時、制御サーバ30へ送信する確認要求に、ハッシュ生成手段X1により生成されたハッシュ値と、端末アプリCを識別するアプリ識別情報と、を含める点は第1実施形態と同様であるが、さらに、端末T3の端末識別情報も含める。   In the third embodiment, the providing means 37 provides the terminal application C incorporating the application protection program P2 to the terminal T3, and the confirmation request transmitting means Z2 of the application protection program P2 controls the terminal application C at the first activation. The point that the confirmation request transmitted to the server 30 includes the hash value generated by the hash generation means X1 and the application identification information for identifying the terminal application C is the same as in the first embodiment, but further, the terminal T3 Terminal identification information.

制御サーバ30において、アプリ情報記憶手段28、改ざん確認手段31及び利用権原確認手段32は第1実施形態に準じるが、第2実施形態では、暗号化手段Z4が、改ざんされていないこと及び利用権原が存在することが確認された端末アプリCについてアプリ情報記憶手段28に記憶されている実行許可情報を、確認要求から取得するハッシュ値及び端末識別情報で暗号化し暗号化データとし、許可送信手段83が、暗号化された前記暗号化データを、確認要求の送信元である端末T3へ送信する。   In the control server 30, the application information storage unit 28, the tampering confirmation unit 31, and the usage right source confirmation unit 32 are the same as those in the first embodiment, but in the second embodiment, the encryption unit Z4 has not been tampered with and the usage right source. The execution permission information stored in the application information storage unit 28 for the terminal application C that has been confirmed to exist is encrypted with the hash value and the terminal identification information acquired from the confirmation request to obtain encrypted data, and the permission transmission unit 83 Transmits the encrypted encrypted data to the terminal T3 that is the transmission source of the confirmation request.

この場合、端末T3では、暗号許可受信手段Z3が、送信された確認要求に対応して上記のように制御サーバ30から送信され端末アプリCの実行に必要となる実行許可情報であって、確認要求に含まれるハッシュ値及び端末識別情報と、で暗号化された暗号化データを受信し、暗号許可記憶手段41に記憶させる。   In this case, in the terminal T3, the encryption permission receiving unit Z3 is the execution permission information that is transmitted from the control server 30 and is necessary for the execution of the terminal application C in response to the transmitted confirmation request. Encrypted data encrypted with the hash value and terminal identification information included in the request is received and stored in the encryption permission storage means 41.

このような第3実施形態では、暗号化を制御サーバ30で行うことにより、処理能力の限られた端末T3の負荷が軽減されるうえ、端末アプリ実行の鍵となる実行許可情報を暗号化前に通信ネットワーク経由などで送信するためにSSLなど他に暗号化の手段を用意する必要が無いので、少ない負担でセキュリティを維持できる。   In such a third embodiment, the encryption is performed by the control server 30 to reduce the load on the terminal T3 with limited processing capability, and the execution permission information that is the key for executing the terminal application is not encrypted. Therefore, it is not necessary to prepare other encryption means such as SSL for transmission via a communication network, so that security can be maintained with a small burden.

〔4.他の実施形態〕
なお、上記各実施形態は例示に過ぎず、本発明は、以下に例示するものやそれ以外の他の実施態様も含むものである。例えば、本出願における構成図、データの図、フローチャートなどは例示に過ぎず、各要素の有無、その配置や処理実行などの順序、具体的内容などは適宜変更可能である。一例として、第1実施形態において個別モジュールM1と共通モジュールMXに分けて示した各機能の手段を、第2実施形態や第3実施形態のようにモジュールに分けずに実現してもよい。この場合、端末アプリ自身の参照とファイルパスが同一アプリのものであり詐称でないこと(同一性)を保証する手段を設けることで、より確実に、端末アプリの端末間移動や改ざんによる実行を防止することが望ましい。
[4. Other embodiments]
In addition, said each embodiment is only an illustration, and this invention includes what is illustrated below and other embodiment other than that. For example, the configuration diagrams, data diagrams, flowcharts, and the like in the present application are merely examples, and the presence / absence of each element, the order of the arrangement and processing execution, and the specific contents can be changed as appropriate. As an example, the means of each function separately shown in the first embodiment for the individual module M1 and the common module MX may be realized without being divided into modules as in the second embodiment or the third embodiment. In this case, by providing a means to ensure that the terminal application's own reference and file path are of the same application and are not misrepresented (identity), the terminal application can be more reliably prevented from being moved or tampered with. It is desirable to do.

また、アプリ保護プログラムを個別モジュールと共通モジュールに分ける場合、どの機能をどちらに設けるかは自由である。例えば、実行許可情報を暗号化データにする暗号化は、共通モジュールで行う例(例えば第1実施形態)や制御サーバで行う例(第3実施形態)以外にも、個別モジュールで行うようにしてもよい。また、暗号許可記憶手段による暗号化データの記憶、ハッシュの生成や復号化も共通モジュールで行い、共通モジュールの持つ具体的機能を呼び出す機能だけを個別モジュールに持たせてもよい。このように、機能の振分けや、個別モジュールと共通モジュールとの間で授受するパラメータの種類は、スマートフォンのプラットフォームの種類や仕様などに合わせて自由に定めることができる。   In addition, when the application protection program is divided into individual modules and common modules, which function is provided in which is free. For example, the encryption that makes the execution permission information encrypted data is performed by an individual module in addition to an example performed by a common module (for example, the first embodiment) and an example performed by a control server (third embodiment). Also good. Alternatively, the encryption module may store encrypted data, generate a hash, and decrypt the encrypted data using the common module, and the individual module may have only a function for calling a specific function of the common module. As described above, the function distribution and the types of parameters exchanged between the individual modules and the common module can be freely determined according to the type and specifications of the smartphone platform.

また、図1などに示した制御サーバにおける個々の手段を、相互に別個独立の設備で実現する構成も一般的であり、例えば、端末アプリの配信と、確認要求の対応を、相互に異なるサーバで処理するなどが考えられる。また、制御サーバでも端末でも機能によっては、外部のプラットフォーム等をAPI(アプリケーション・プログラム・インタフェース)やネットワークコンピューティング(いわゆるクラウドなど)で呼び出して実現するなど、構成は柔軟に変更できる。さらに、本発明に関する手段などの各要素は、コンピュータの演算制御部に限らず物理的な電子回路など他の情報処理機構で実現してもよい。   In addition, a configuration in which the individual means in the control server shown in FIG. 1 and the like are realized by separate and independent facilities is also common. For example, the distribution of the terminal application and the response to the confirmation request are different from each other. It is possible to process with. Depending on the functions of the control server and the terminal, the configuration can be changed flexibly, for example, by calling an external platform or the like with an API (application program interface) or network computing (so-called cloud). Furthermore, each element such as means relating to the present invention may be realized by other information processing mechanisms such as a physical electronic circuit as well as a computer control unit.

1 本装置
6 演算制御部
7 記憶装置
8 通信手段
11 確認要求指示手段
41,42 暗号許可記憶手段
15 データ記憶手段
2,20,30 制御サーバ(サーバ)
24 共通モジュール記憶手段
25 共通提供手段
26 アプリ等記憶手段
27 個別提供手段
28 アプリ情報記憶手段
31 確認手段
32 利用権原確認手段
33,83 許可送信手段
37,73 提供手段
50,52,X1 ハッシュ生成手段
60,72 暗号化手段
A,B,C 端末アプリ
E 端子
M1 個別モジュール
MX 共通モジュール
N 通信ネットワーク
P,P2 アプリ保護プログラム
T,T2,T3 端末
X2,Z2 確認要求送信手段
X3 許可情報受信手段
X4,Z4 暗号化手段
Z3 暗号許可受信手段
DESCRIPTION OF SYMBOLS 1 This apparatus 6 Operation control part 7 Storage apparatus 8 Communication means 11 Confirmation request instruction means 41, 42 Encryption permission storage means 15 Data storage means 2, 20, 30 Control server (server)
24 common module storage means 25 common provision means 26 application storage means 27 individual provision means 28 application information storage means 31 confirmation means 32 usage right source confirmation means 33, 83 permission transmission means 37, 73 provision means 50, 52, X1 hash generation means 60, 72 Encryption means A, B, C Terminal application E Terminal M1 Individual module MX Common module N Communication network P, P2 Application protection program T, T2, T3 Terminal X2, Z2 Confirmation request transmission means X3 Permission information reception means X4 Z4 encryption means Z3 encryption permission receiving means

Claims (13)

端末アプリの実行及びその他の情報処理を行う端末であって、
端末アプリの実行で必要となる実行許可情報をその端末アプリのハッシュ値及び端末の端末識別情報とで暗号化した暗号化データを端末アプリに対応付けて記憶する暗号許可記憶手段と、
端末アプリからハッシュ値を生成するハッシュ生成手段と、
端末アプリを実行しようとするとき、その端末アプリから前記ハッシュ生成手段が生成したハッシュ値及びこの端末の端末識別情報とにより、その端末アプリに対応付けて前記暗号許可記憶手段に記憶されている前記暗号化データから、前記実行許可情報を復号化してその端末アプリに提供する復号化手段と、
を有することを特徴とする端末。
A terminal that executes a terminal application and performs other information processing,
Encryption permission storage means for storing encrypted data obtained by encrypting execution permission information necessary for execution of the terminal application with the hash value of the terminal application and the terminal identification information of the terminal in association with the terminal application;
A hash generation means for generating a hash value from the terminal application;
When trying to execute a terminal application, the hash value generated by the hash generation unit from the terminal application and the terminal identification information of the terminal are stored in the encryption permission storage unit in association with the terminal application. Decryption means for decrypting the execution permission information from encrypted data and providing it to the terminal application;
A terminal characterized by comprising:
生成された前記ハッシュ値と、前記端末アプリを識別するアプリ識別情報と、を含む確認要求を所定の制御サーバへ送信する確認要求送信手段と、
送信された前記確認要求に対応して前記制御サーバから送信され前記端末アプリの実行に必要となる実行許可情報を受信する許可情報受信手段と、
受信された前記実行許可情報を、前記確認要求に係る前記ハッシュ値と、この端末の端末識別情報と、で暗号化し暗号化データとする暗号化手段と、
を有することを特徴とする請求項1記載の端末。
Confirmation request transmission means for transmitting a confirmation request including the generated hash value and application identification information for identifying the terminal application to a predetermined control server;
Permission information receiving means for receiving execution permission information transmitted from the control server and required for execution of the terminal application in response to the transmitted confirmation request;
Encrypting means for encrypting the received execution permission information with the hash value related to the confirmation request and the terminal identification information of the terminal to obtain encrypted data;
The terminal according to claim 1, further comprising:
生成された前記ハッシュ値と、前記端末アプリを識別するアプリ識別情報と、端末の端末識別情報と、を含む確認要求を所定の制御サーバへ送信する確認要求送信手段と、
送信された前記確認要求に対応して前記制御サーバから送信され前記端末アプリの実行に必要となる実行許可情報であって、前記確認要求に含まれる前記ハッシュ値及び前記端末識別情報と、で暗号化された暗号化データを受信する暗号許可受信手段と、
を有することを特徴とする請求項1記載の端末。
Confirmation request transmitting means for transmitting a confirmation request including the generated hash value, application identification information for identifying the terminal application, and terminal identification information of the terminal to a predetermined control server;
Execution permission information transmitted from the control server in response to the transmitted confirmation request and necessary for execution of the terminal application, wherein the hash value and the terminal identification information included in the confirmation request are encrypted. Encryption permission receiving means for receiving encrypted encrypted data;
The terminal according to claim 1, further comprising:
端末へ端末アプリを提供する制御サーバであって、
前記端末アプリの実行に必要となる所定の実行許可情報を、その端末アプリに係るハッシュ値と、前記端末から受信する端末識別情報と、で暗号化し暗号化データとする暗号化手段と、
アプリ保護プログラムを組み込んだ端末アプリ及び前記暗号化データを端末に提供する提供手段と、
を有し、
前記アプリ保護プログラムは前記端末に、
前記端末において前記端末アプリを実行しようとするときに、その端末アプリから前記ハッシュ生成手段が生成するハッシュ値と、その端末の端末識別情報と、により、その端末アプリに対応付けて所定の暗号許可記憶手段に記憶されている前記暗号化データから前記実行許可情報を復号化してその端末アプリに提供させる
ことを特徴とする制御サーバ。
A control server that provides a terminal application to a terminal,
Encryption means for encrypting predetermined execution permission information necessary for execution of the terminal application with a hash value related to the terminal application and terminal identification information received from the terminal;
A terminal application incorporating an application protection program and a providing means for providing the encrypted data to the terminal;
Have
The application protection program is
When the terminal application is to be executed in the terminal, a predetermined encryption permission is associated with the terminal application based on the hash value generated by the hash generation means from the terminal application and the terminal identification information of the terminal A control server, wherein the execution permission information is decrypted from the encrypted data stored in a storage means and provided to the terminal application.
端末への提供に係る端末アプリであって利用権原が存在するものについて、アプリ識別情報と、ハッシュ値と、端末での実行で必要となる実行許可情報と、を記憶しているアプリ情報記憶手段と、
端末から送信された端末アプリに係る確認要求から取得するハッシュ値と、その端末アプリについて前記アプリ情報記憶手段に記憶されている前記ハッシュ値と、の照合によりその端末アプリが改ざんされていないことを確認する改ざん確認手段と、
前記確認要求から取得するアプリ識別情報と、前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記アプリ識別情報と、の照合によりその端末アプリについて利用権原が存在することを確認する利用権原確認手段と、
前記改ざんされていないこと及び前記利用権原が存在することが確認された前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記実行許可情報を、前記確認要求の送信元である前記端末へ送信する許可送信手段と、
を有することを特徴とする制御サーバ。
Application information storage means for storing application identification information, hash values, and execution permission information necessary for execution on a terminal for a terminal application related to provision to a terminal that has a usage right When,
Check that the terminal application has not been tampered with by comparing the hash value acquired from the confirmation request related to the terminal application transmitted from the terminal and the hash value stored in the application information storage unit for the terminal application. Tampering confirmation means to confirm,
Usage right source confirmation for confirming that the right of use exists for the terminal application by collating the application identification information acquired from the confirmation request with the application identification information stored in the application information storage unit for the terminal application. Means,
The execution permission information stored in the application information storage unit for the terminal application that has been confirmed not to be tampered with and the right to use is transmitted to the terminal that is the transmission source of the confirmation request Permission transmission means to perform,
A control server comprising:
端末への提供に係る端末アプリであって利用権原が存在するものについて、アプリ識別情報と、ハッシュ値と、端末での実行で必要となる実行許可情報と、を記憶しているアプリ情報記憶手段と、
端末から送信された端末アプリに係る確認要求から取得するハッシュ値と、その端末アプリについて前記アプリ情報記憶手段に記憶されている前記ハッシュ値と、の照合によりその端末アプリが改ざんされていないことを確認する改ざん確認手段と、
前記確認要求から取得するアプリ識別情報と、前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記アプリ識別情報と、の照合によりその端末アプリについて利用権原が存在することを確認する利用権原確認手段と、
前記改ざんされていないこと及び前記利用権原が存在することが確認された前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記実行許可情報を、前記確認要求から取得する前記ハッシュ値及び前記端末識別情報で暗号化し暗号化データとする暗号化手段と、
暗号化された前記暗号化データを、前記確認要求の送信元である前記端末へ送信する許可送信手段と、
を有することを特徴とする制御サーバ。
Application information storage means for storing application identification information, hash values, and execution permission information necessary for execution on a terminal for a terminal application related to provision to a terminal that has a usage right When,
Check that the terminal application has not been tampered with by comparing the hash value acquired from the confirmation request related to the terminal application transmitted from the terminal and the hash value stored in the application information storage unit for the terminal application. Tampering confirmation means to confirm,
Usage right source confirmation for confirming that the right of use exists for the terminal application by collating the application identification information acquired from the confirmation request with the application identification information stored in the application information storage unit for the terminal application. Means,
The hash value and the terminal for acquiring the execution permission information stored in the application information storage means for the terminal application that has been confirmed not to be falsified and to have the usage right source from the confirmation request An encryption means for encrypting with identification information to obtain encrypted data;
Permission transmission means for transmitting the encrypted encrypted data to the terminal that is the transmission source of the confirmation request;
A control server comprising:
アプリ保護プログラムを構成する共通モジュールを端末に提供する共通提供手段と、
前記共通モジュールとともに前記アプリ保護プログラムを実現する個別モジュールを組み込んだ端末アプリを端末に提供する個別提供手段と、
を有し、
前記共通モジュールは前記端末に、
前記端末に導入された前記端末アプリからハッシュ値を生成させ、
生成された前記ハッシュ値と前記端末アプリを識別するアプリ識別情報とを含む確認要求を所定の制御サーバへ送信させ、
送信された前記確認要求に対応して前記制御サーバから送信され前記端末アプリの実行に必要となる実行許可情報であって、前記確認要求に係る前記ハッシュ値及びこの端末の端末識別情報とで暗号化し暗号化データとしたものを所定の暗号許可記憶手段に記憶させ、
前記個別モジュールは前記端末に、
その個別モジュールを組み込んだ端末アプリが前記端末で初回に起動されるとき、前記共通モジュールに、その端末アプリに含まれる前記アプリ識別情報を渡して前記確認要求を指示させ、
前記端末において前記端末アプリを再度実行しようとするときに、その端末アプリから前記ハッシュ生成手段が生成するハッシュ値と、その端末の端末識別情報と、により、その端末アプリに対応付けて前記暗号許可記憶手段に記憶されている前記暗号化データから前記実行許可情報を復号化してその端末アプリに提供させる
ことを特徴とする請求項5又は6記載の制御サーバ。
A common providing means for providing the terminal with a common module constituting the application protection program;
An individual providing means for providing a terminal with a terminal application that incorporates an individual module for realizing the application protection program together with the common module;
Have
The common module is connected to the terminal.
Generate a hash value from the terminal application installed in the terminal,
Transmitting a confirmation request including the generated hash value and application identification information for identifying the terminal application to a predetermined control server;
Execution permission information transmitted from the control server corresponding to the transmitted confirmation request and necessary for execution of the terminal application, wherein the hash value related to the confirmation request and the terminal identification information of the terminal are encrypted. The encrypted data is stored in a predetermined encryption permission storage means,
The individual module is connected to the terminal.
When the terminal application that incorporates the individual module is started for the first time on the terminal, the common module is caused to pass the application identification information included in the terminal application to instruct the confirmation request,
When the terminal application is to be executed again on the terminal, the encryption permission is associated with the terminal application based on the hash value generated by the hash generation means from the terminal application and the terminal identification information of the terminal. The control server according to claim 5 or 6, wherein the execution permission information is decrypted from the encrypted data stored in a storage means and provided to the terminal application.
請求項1から3のいずれか一項に記載の端末Tと、
請求項4から7のいずれか一項に記載の制御サーバと、
を有することを特徴とするアプリ保護システム。
Terminal T according to any one of claims 1 to 3,
A control server according to any one of claims 4 to 7;
An application protection system comprising:
端末アプリの実行及びその他の情報処理を行う端末におけるアプリ保護方法であって、
端末アプリの実行で必要となる実行許可情報をその端末アプリのハッシュ値及び端末の端末識別情報とで暗号化した暗号化データを端末アプリに対応付けて記憶する暗号許可記憶手段を有するコンピュータが、
端末アプリからハッシュ値を生成するハッシュ生成処理と、
端末アプリを実行しようとするとき、その端末アプリから前記ハッシュ生成手段が生成したハッシュ値及びこの端末の端末識別情報とにより、その端末アプリに対応付けて前記暗号許可記憶手段に記憶されている前記暗号化データから、前記実行許可情報を復号化してその端末アプリに提供する復号化処理と、
を行うことを特徴とするアプリ保護方法。
An application protection method in a terminal that executes a terminal application and performs other information processing,
A computer having encryption permission storage means for storing encrypted data obtained by encrypting execution permission information necessary for execution of a terminal application with a hash value of the terminal application and terminal identification information of the terminal in association with the terminal application,
A hash generation process for generating a hash value from the terminal application;
When trying to execute a terminal application, the hash value generated by the hash generation unit from the terminal application and the terminal identification information of the terminal are stored in the encryption permission storage unit in association with the terminal application. A decryption process for decrypting the execution permission information from the encrypted data and providing the decrypted execution permission information to the terminal application;
An application protection method characterized by:
端末へ端末アプリを提供する制御サーバのコンピュータが、
前記端末アプリの実行に必要となる所定の実行許可情報を、その端末アプリに係るハッシュ値と、前記端末から受信する端末識別情報と、で暗号化し暗号化データとする暗号化処理と、
アプリ保護プログラムを組み込んだ端末アプリ及び前記暗号化データを端末に提供する提供処理と、
を実行し、
前記アプリ保護プログラムは前記端末に、
前記端末において前記端末アプリを実行しようとするときに、その端末アプリから前記ハッシュ生成手段が生成するハッシュ値と、その端末の端末識別情報と、により、その端末アプリに対応付けて所定の暗号許可記憶手段に記憶されている前記暗号化データから前記実行許可情報を復号化してその端末アプリに提供させる
ことを特徴とするアプリ保護方法。
The computer of the control server that provides the terminal application to the terminal
An encryption process for encrypting predetermined execution permission information necessary for execution of the terminal application with a hash value related to the terminal application and terminal identification information received from the terminal;
A terminal application incorporating an application protection program and a providing process for providing the encrypted data to the terminal;
Run
The application protection program is
When the terminal application is to be executed in the terminal, a predetermined encryption permission is associated with the terminal application based on the hash value generated by the hash generation means from the terminal application and the terminal identification information of the terminal An application protection method, comprising: decrypting the execution permission information from the encrypted data stored in a storage means and providing the decrypted execution information to the terminal application.
端末への提供に係る端末アプリであって利用権原が存在するものについて、アプリ識別情報と、ハッシュ値と、端末での実行で必要となる実行許可情報と、を記憶しているアプリ情報記憶手段を有する制御サーバのコンピュータが、
端末から送信された端末アプリに係る確認要求から取得するハッシュ値と、その端末アプリについて前記アプリ情報記憶手段に記憶されている前記ハッシュ値と、の照合によりその端末アプリが改ざんされていないことを確認する改ざん確認処理と、
前記確認要求から取得するアプリ識別情報と、前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記アプリ識別情報と、の照合によりその端末アプリについて利用権原が存在することを確認する利用権原確認処理と、
前記改ざんされていないこと及び前記利用権原が存在することが確認された前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記実行許可情報を、前記確認要求の送信元である前記端末へ送信する許可送信処理と、
を実行することを特徴とするアプリ保護方法。
Application information storage means for storing application identification information, hash values, and execution permission information necessary for execution on a terminal for a terminal application related to provision to a terminal that has a usage right A control server computer having
Check that the terminal application has not been tampered with by comparing the hash value acquired from the confirmation request related to the terminal application transmitted from the terminal and the hash value stored in the application information storage unit for the terminal application. Falsification confirmation processing to be confirmed,
Usage right source confirmation for confirming that the right of use exists for the terminal application by collating the application identification information acquired from the confirmation request with the application identification information stored in the application information storage unit for the terminal application. Processing,
The execution permission information stored in the application information storage unit for the terminal application that has been confirmed not to be tampered with and the right to use is transmitted to the terminal that is the transmission source of the confirmation request Permission transmission processing to
The application protection method characterized by performing.
端末への提供に係る端末アプリであって利用権原が存在するものについて、アプリ識別情報と、ハッシュ値と、端末での実行で必要となる実行許可情報と、を記憶しているアプリ情報記憶手段を有する制御サーバのコンピュータが、
端末から送信された端末アプリに係る確認要求から取得するハッシュ値と、その端末アプリについて前記アプリ情報記憶手段に記憶されている前記ハッシュ値と、の照合によりその端末アプリが改ざんされていないことを確認する改ざん確認処理と、
前記確認要求から取得するアプリ識別情報と、前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記アプリ識別情報と、の照合によりその端末アプリについて利用権原が存在することを確認する利用権原確認処理と、
前記改ざんされていないこと及び前記利用権原が存在することが確認された前記端末アプリについて前記アプリ情報記憶手段に記憶されている前記実行許可情報を、前記確認要求から取得する前記ハッシュ値及び前記端末識別情報で暗号化し暗号化データとする暗号化処理と、
暗号化された前記暗号化データを、前記確認要求の送信元である前記端末へ送信する許可送信処理と、
を実行することを特徴とするアプリ保護方法。
Application information storage means for storing application identification information, hash values, and execution permission information necessary for execution on a terminal for a terminal application related to provision to a terminal that has a usage right A control server computer having
Check that the terminal application has not been tampered with by comparing the hash value acquired from the confirmation request related to the terminal application transmitted from the terminal and the hash value stored in the application information storage unit for the terminal application. Falsification confirmation processing to be confirmed,
Usage right source confirmation for confirming that the right of use exists for the terminal application by collating the application identification information acquired from the confirmation request with the application identification information stored in the application information storage unit for the terminal application. Processing,
The hash value and the terminal for acquiring the execution permission information stored in the application information storage means for the terminal application that has been confirmed not to be falsified and to have the usage right source from the confirmation request Encryption processing encrypted with identification information and used as encrypted data;
Permission transmission processing for transmitting the encrypted encrypted data to the terminal that is the transmission source of the confirmation request;
The application protection method characterized by performing.
端末アプリの実行及びその他の情報処理を行う端末のためのアプリ保護プログラムであって、
前記プログラムは、端末アプリの実行で必要となる実行許可情報をその端末アプリのハッシュ値及び端末の端末識別情報とで暗号化した暗号化データを端末アプリに対応付けて記憶する暗号許可記憶手段を有するコンピュータを制御することにより
端末アプリからハッシュ値を生成させ、
端末アプリを実行しようとするとき、その端末アプリから前記ハッシュ生成手段に生成させたハッシュ値及びこの端末の端末識別情報とにより、その端末アプリに対応付けて前記暗号許可記憶手段に記憶されている前記暗号化データから、前記実行許可情報を復号化させてその端末アプリに提供させる
ことを特徴とするアプリ保護プログラム。
An application protection program for a terminal that executes a terminal application and performs other information processing,
The program includes encryption permission storage means for storing encrypted data obtained by encrypting execution permission information necessary for execution of a terminal application with a hash value of the terminal application and terminal identification information of the terminal in association with the terminal application. By generating a hash value from the terminal application by controlling the computer
When trying to execute a terminal application, the hash value generated by the hash generation unit from the terminal application and the terminal identification information of the terminal are stored in the encryption permission storage unit in association with the terminal application. An application protection program, wherein the execution permission information is decrypted from the encrypted data and provided to the terminal application.
JP2011181078A 2011-08-23 2011-08-23 Terminal, application protection method, and program Pending JP2013046122A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011181078A JP2013046122A (en) 2011-08-23 2011-08-23 Terminal, application protection method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011181078A JP2013046122A (en) 2011-08-23 2011-08-23 Terminal, application protection method, and program

Publications (1)

Publication Number Publication Date
JP2013046122A true JP2013046122A (en) 2013-03-04

Family

ID=48009716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011181078A Pending JP2013046122A (en) 2011-08-23 2011-08-23 Terminal, application protection method, and program

Country Status (1)

Country Link
JP (1) JP2013046122A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017506778A (en) * 2014-01-28 2017-03-09 クアルコム,インコーポレイテッド Authenticating the use of applications by computing devices
KR101885146B1 (en) * 2017-11-22 2018-08-03 (유)아홉 Method and apparatus for protecting an application

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008016013A (en) * 2006-06-07 2008-01-24 Ricoh Co Ltd Image forming device, license management method, and license managing program
JP2009080772A (en) * 2007-09-27 2009-04-16 Toppan Printing Co Ltd Software starting system, software starting method and software starting program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008016013A (en) * 2006-06-07 2008-01-24 Ricoh Co Ltd Image forming device, license management method, and license managing program
JP2009080772A (en) * 2007-09-27 2009-04-16 Toppan Printing Co Ltd Software starting system, software starting method and software starting program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017506778A (en) * 2014-01-28 2017-03-09 クアルコム,インコーポレイテッド Authenticating the use of applications by computing devices
KR101885146B1 (en) * 2017-11-22 2018-08-03 (유)아홉 Method and apparatus for protecting an application

Similar Documents

Publication Publication Date Title
US8966653B2 (en) Method and apparatus for provisioning a mobile application
EP2628125B1 (en) Method and apparatus for downloading drm module
WO2017177383A1 (en) Remote management method and device
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN111143869B (en) Application package processing method and device, electronic equipment and storage medium
KR101881303B1 (en) Apparatas and method of protecting for application data in a portable terminal
JP5126447B1 (en) Application program execution method
TWI420339B (en) Software authorization system and method
CN109992987B (en) Script file protection method and device based on Nginx and terminal equipment
EP2051181A1 (en) Information terminal, security device, data protection method, and data protection program
KR20200000448A (en) Systems and methods for software activation and license tracking
CN102289632A (en) Method for encrypting executable file under condition of unknown software source code
US20150277887A1 (en) Tamperproof installation of building control software in approved runtime environments
US10025575B2 (en) Method for installing security-relevant applications in a security element of a terminal
CN114880011A (en) OTA (over the air) upgrading method and device, electronic equipment and readable storage medium
CN105187410A (en) Application self-upgrading method and system
JP2021118444A (en) Information processing device, information processing method, and program
JP2006514321A (en) Architecture for installing encrypted applications
CN107995230B (en) A kind of method for down loading and terminal
JP2013046122A (en) Terminal, application protection method, and program
CN101645893A (en) Network trading method, device and system
KR20140089703A (en) Method and apparatus for security of mobile data
KR101711024B1 (en) Method for accessing temper-proof device and apparatus enabling of the method
JP5182445B1 (en) Application program falsification detection method
US20130219510A1 (en) Drm/cas service device and method using security context

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140512

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140909