JP2006048446A - Program execution control device and method for transferring execution right information - Google Patents

Program execution control device and method for transferring execution right information Download PDF

Info

Publication number
JP2006048446A
JP2006048446A JP2004229844A JP2004229844A JP2006048446A JP 2006048446 A JP2006048446 A JP 2006048446A JP 2004229844 A JP2004229844 A JP 2004229844A JP 2004229844 A JP2004229844 A JP 2004229844A JP 2006048446 A JP2006048446 A JP 2006048446A
Authority
JP
Japan
Prior art keywords
information
execution right
execution
right information
program
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.)
Granted
Application number
JP2004229844A
Other languages
Japanese (ja)
Other versions
JP4545517B2 (en
Inventor
Masayuki Terada
雅之 寺田
Kensaku Mori
謙作 森
Kazuhiko Ishii
一彦 石井
Setsuyuki Hongo
節之 本郷
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2004229844A priority Critical patent/JP4545517B2/en
Publication of JP2006048446A publication Critical patent/JP2006048446A/en
Application granted granted Critical
Publication of JP4545517B2 publication Critical patent/JP4545517B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program execution control device and a method for transferring execution right information that enable to transfer an execution right without requiring a server for central control, such as a license issuing system. <P>SOLUTION: Execution right information that indicates the execution right enabling the execution of an application program is stored in an IC card 20 and a verifying part 11 verifies that the execution right information is legitimate. A control part 12 enables the execution of the application program. A transfer part 23 of the IC card 20 encrypts the execution right information stored in a storage part 21 and creates execution right transfer information. The execution right transfer information created is transferred to another terminal without the intervention of a server. A receiving side decrypts and stores the execution right transfer information received. The receiving side then enables the application program to be started by use of the execution right information. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、ライセンス情報などの実行権情報を用いてプログラムを実行可能に制御するプログラム実行制御装置および実行権情報の移送方法に関する。   The present invention relates to a program execution control device that controls execution of a program using execution right information such as license information and a method for transferring execution right information.

近年、市販プログラムなどが不正に複製されて、使用されることを防止するための技術が存在する。例えば、ドングルと呼ばれる外部機器(以下、「ドングル」と称する)を、パソコンなどのプログラムを実行する装置のUSBポートなどの接続インターフェース部に接続し、このドングルが接続されている場合のみプログラムを実行する技術が知られている。   In recent years, there are techniques for preventing commercial programs and the like from being illegally copied and used. For example, an external device called a dongle (hereinafter referred to as a “dongle”) is connected to a connection interface unit such as a USB port of a device that executes a program such as a personal computer, and the program is executed only when this dongle is connected. The technology to do is known.

しかしながら、ドングルを利用する技術においては、物理的にドングルを輸送して、プログラムの実行権を与える必要がある。例えば、インターネットなどでプログラムを販売することは一般的であるが、ドングルを用いて実行制御を行う場合は、別途郵送などによりドングルを購入者に郵送する必要がある。また、プログラムを転売若しくは譲渡する場合も同様にドングルを輸送する必要がある。   However, in the technology using the dongle, it is necessary to physically transport the dongle and give the right to execute the program. For example, it is common to sell a program on the Internet or the like, but when performing execution control using a dongle, it is necessary to mail the dongle separately to the purchaser by mail. Similarly, it is necessary to transport the dongle when reselling or transferring the program.

また、このドングルのような物理的なハードウエアを接続することなく、電子情報であるライセンス情報をユーザに与えることによりプログラムを実行させることができる技術が知られている。例えば、特許文献1に記載の技術のように、サーバ(ライセンス発行システム)が通信回線を介してユーザシステムにライセンス情報を与え、ユーザがライセンス情報を受けたときにアプリケーションプログラムを実行する技術が知られている。
特開平10−149283号公報
In addition, a technique is known in which a program can be executed by giving license information, which is electronic information, to a user without connecting physical hardware such as a dongle. For example, a technique is known in which a server (license issuing system) provides license information to a user system via a communication line and executes an application program when the user receives the license information, as in the technique described in Patent Document 1. It has been.
Japanese Patent Laid-Open No. 10-149283

しかしながら、特許文献1に記載の技術においては、実行権情報を移送する際には、ライセンス情報を発行するサーバが既に実行権を与えている端末装置から実行権情報を消去して、別の端末に実行権情報を与えることにより、実質的に実行権情報の移送を可能にしている。よって、実行権を移送しようとする端末はサーバと接続する必要があり、実行権の移送が制限される場合がある。また、サーバ側でライセンス情報などの実行権情報を集中管理することが必要と考えられ、その管理のためのセキュリティなどの様々な処理が必要である。よって、システム全体としての構成が複雑になる。   However, in the technique described in Patent Document 1, when transferring the execution right information, the server issuing the license information deletes the execution right information from the terminal device to which the execution right has already been given, and another terminal The execution right information can be substantially transferred by providing the execution right information. Therefore, a terminal that wants to transfer execution rights needs to connect to the server, and transfer of execution rights may be restricted. Further, it is considered necessary to centrally manage execution right information such as license information on the server side, and various processes such as security for the management are necessary. Therefore, the configuration of the entire system becomes complicated.

そこで、本発明は、ライセンス情報などの実行権を他の端末に移送する際には、ライセンス発行システムのような集中管理のためのサーバを必要とすることなく、実行権の移送を可能とするプログラム実行制御装置および実行権情報の移送方法を提供することを目的とする。   Therefore, the present invention makes it possible to transfer execution rights without requiring a server for centralized management such as a license issuing system when transferring execution rights such as license information to another terminal. It is an object of the present invention to provide a program execution control device and a method for transferring execution right information.

上述の課題を解決するため、本発明のプログラム実行制御装置は、プログラムを実行可能とする実行権を示す実行権情報を記憶する記憶手段と、前記実行権情報が正当なものであることを検証する検証手段と、前記検証手段による検証に基づいてプログラムを起動させる制御を行う制御手段とを備えるプログラム実行制御装置において、実行権情報の送信先が入力される操作手段と、前記記憶手段に記憶されている実行権情報を含む情報を暗号化することで、または当該実行権情報を含む情報に電子署名を付加することで、実行権移送情報を生成する実行権移送情報生成手段と、前記実行権移送情報生成手段により生成された実行権移送情報を、前記操作手段により入力された送信先に送信する送信手段と、を備えている。   In order to solve the above-described problem, the program execution control apparatus of the present invention verifies that the execution right information is valid, and storage means for storing execution right information indicating an execution right that enables execution of the program. In a program execution control device comprising: a verification unit that performs a control based on verification performed by the verification unit; and a control unit that performs control for starting the program. An operation unit to which a transmission destination of execution right information is input; Execution right transfer information generating means for generating execution right transfer information by encrypting information including execution right information that has been executed, or by adding an electronic signature to information including the execution right information, and the execution Transmission means for transmitting the execution right transfer information generated by the right transfer information generation means to the transmission destination input by the operation means.

また、本発明の実行権情報の移送方法は、プログラムを実行可能とする実行権を示す実行権情報を記憶し、前記実行権情報が正当なものであることを検証することによってプログラムの実行を制御するプログラム実行制御装置における実行権情報の移送方法であって、前記実行権情報の送信先の入力を受け付ける入力ステップと、前記実行権情報を含む情報を暗号化することで、または当該実行権情報を含む情報に電子署名を付加することで、実行権移送情報を生成する実行権移送情報生成ステップと、前記実行権移送情報を、入力された前記送信先に送信する送信ステップと、を備えている。   The execution right information transfer method of the present invention stores execution right information indicating an execution right that enables execution of the program, and executes the program by verifying that the execution right information is valid. A method for transferring execution right information in a program execution control device to be controlled, wherein an input step for receiving an input of a transmission destination of the execution right information and encrypting the information including the execution right information, or the execution right An execution right transfer information generating step for generating execution right transfer information by adding an electronic signature to information including information, and a transmission step for transmitting the execution right transfer information to the input destination. ing.

この発明によれば、プログラムを実行可能とさせる実行権情報を含む情報が暗号化されて、または実行権情報を含む情報に電子署名が付加されて、生成された実行権移送情報が他の端末にサーバを介することなく送信されることにより、実行権情報をサーバなどで集中管理することなく他の端末に送信することができる。   According to the present invention, information including execution right information that enables execution of a program is encrypted, or an electronic signature is added to information including execution right information, and the generated execution right transfer information is transferred to another terminal. Thus, the execution right information can be transmitted to other terminals without being centrally managed by the server or the like.

また、本発明のプログラム実行制御装置の上記記憶手段、上記送信手段、およ
び上記実行権移送情報生成手段は、耐タンパ装置内に構成されることも好ましい。
Moreover, it is preferable that the said memory | storage means, the said transmission means, and the said execution right transfer information generation means of the program execution control apparatus of this invention are comprised in a tamper resistant apparatus.

この発明によれば、実行権情報を扱う記憶手段、送信手段、および実行権移送情報生成手段をICカードなどの耐タンパ装置に組み込むことにより、実行権情報の不正な複製や改竄を防止することができる。   According to the present invention, the storage means for handling execution right information, the transmission means, and the execution right transfer information generation means are incorporated in a tamper-proof device such as an IC card, thereby preventing unauthorized duplication or falsification of the execution right information. Can do.

また、本発明のプログラム実行制御装置の上記実行権情報は、上記プログラムのハッシュ値とすることも好ましい。   The execution right information of the program execution control device of the present invention is preferably a hash value of the program.

この発明によれば、MD5またはSHA−1などの公知のハッシュ関数によるハッシュ値を用いて実行権情報の正当性を判断させることにより、プログラムが改竄された際にその実行を未然に防止することができる。   According to the present invention, the execution right information is judged by using a hash value by a known hash function such as MD5 or SHA-1, thereby preventing the execution of the program when it is falsified. Can do.

また、本発明のプログラム実行制御装置の上記実行権情報は、数値で表される度数情報を含み、上記プログラムが起動するたびに、上記度数情報から所定数を減算し、または上記度数情報に所定数を加算する第1演算手段と、上記第1演算手段により演算された結果、上記度数情報が予め定めた基準値に達した場合、上記実行権情報を削除する第1削除手段と、を備えることも好ましい。   Further, the execution right information of the program execution control device of the present invention includes frequency information represented by numerical values, and every time the program is started, a predetermined number is subtracted from the frequency information or the frequency information is predetermined. First calculating means for adding a number, and first deleting means for deleting the execution right information when the frequency information reaches a predetermined reference value as a result of calculation by the first calculating means. It is also preferable.

この発明によれば、実行権情報に含まれる度数情報に対して、プログラムが起動するごとに所定数を加算または減算していって、予め定めた基準値に達すると、実行権情報を削除することにより、実行権情報を使用することのできる回数を制限することができる。よって、実行権情報の不正な複製や改竄を行わせる機会を少なくすることができる。   According to the present invention, a predetermined number is added to or subtracted from the frequency information included in the execution right information every time the program is started, and the execution right information is deleted when a predetermined reference value is reached. As a result, the number of times the execution right information can be used can be limited. As a result, the chances of unauthorized duplication or falsification of execution right information can be reduced.

また、本発明のプログラム実行制御装置の上記実行権情報は、数値で表される度数情報を含み、上記送信手段による実行権移送情報が送信されるたびに、上記度数情報から所定数を減算し、または上記度数情報に所定数を加算する第2演算手段と、上記第2演算手段により減算または加算された結果、上記度数情報が予め定めた基準値に達した場合、上記実行権情報を削除する第2削除手段と、をさらに備え、上記実行権移送情報生成手段は、減算又は加算した数値を度数とした実行権情報を含む情報を暗号化し、または減算又は加算した数値を度数とした実行権情報を含む情報に電子署名を付加し、上記送信手段は、生成された実行権移送情報を送信することも好ましい。   Further, the execution right information of the program execution control device of the present invention includes frequency information represented by numerical values, and every time execution right transfer information is transmitted by the transmission means, a predetermined number is subtracted from the frequency information. Or the second calculation means for adding a predetermined number to the frequency information and the execution right information is deleted when the frequency information reaches a predetermined reference value as a result of subtraction or addition by the second calculation means. The execution right transfer information generating means encrypts information including execution right information with a numerical value obtained by subtraction or addition as a frequency, or executes with a numerical value obtained by subtraction or addition as a frequency. It is also preferable that an electronic signature is added to information including right information, and the transmission means transmits the generated execution right transfer information.

この発明によれば、実行権情報に含まれる度数情報に対して、暗号化された実行権移送情報が送信される際、所定数を加算または減算し、加算または減算された数値を度数として実行権情報を含む情報を暗号化して、または当該実行権情報を含む情報に電子署名を付加して、生成された実行権移送情報を送信することにより、送信元に実行権情報を保持したまま他の端末に実行権情報を送信することができ、実行権情報の分割を行うことができる。また、度数情報が予め定めた基準値に達した場合には、実行権情報を削除することにより、実質的に実行権情報の移動を可能とする。   According to the present invention, when encrypted execution right transfer information is transmitted to the frequency information included in the execution right information, a predetermined number is added or subtracted, and the added or subtracted numerical value is executed as the frequency. By encrypting the information including the right information or adding the electronic signature to the information including the right information, and transmitting the generated right transfer information, it is possible to keep the right information at the transmission source. The execution right information can be transmitted to the terminal, and the execution right information can be divided. In addition, when the frequency information reaches a predetermined reference value, the execution right information can be substantially moved by deleting the execution right information.

また、本発明のプログラム実行制御装置は、他の端末から実行権移送情報を受信する受信手段と、上記受信手段により受信された実行権移送情報を復号化することで、または実行権移送情報に付加された電子署名の正当性を判断することで、実行権情報を含む情報を生成する実行権情報生成手段と、をさらに備え、上記記憶手段は、上記実行権情報生成手段により生成された実行権情報を記憶することも好ましい。   The program execution control apparatus of the present invention also includes a receiving unit that receives execution right transfer information from another terminal, and decrypts the execution right transfer information received by the receiving unit, or converts the execution right transfer information into execution right transfer information. Execution right information generating means for generating information including execution right information by determining the validity of the added electronic signature, and the storage means is the execution right generated by the execution right information generating means. It is also preferable to store the right information.

この発明によれば、実行権移送情報を受信して、これを復号化してまたは電子署名の正当性を判断して、当該実行権移送情報から取得された実行権情報を記憶手段に記憶することにより、実行権情報を他の端末から得ることができる。   According to the present invention, the execution right transfer information is received and decrypted or the validity of the electronic signature is judged, and the execution right information acquired from the execution right transfer information is stored in the storage means. Thus, the execution right information can be obtained from another terminal.

また、本発明のプログラム実行制御装置の上記受信手段は、度数を含んだ実行権移送情報を受信し、上記実行権情報生成手段により生成された実行権情報と同じ実行権情報が、既に上記記憶手段に記憶されている場合、既に上記記憶手段に記憶されている実行権情報の度数に、上記受信手段により受信した実行権情報の度数を加算した実行権情報を上記記憶手段が記憶するよう構成することも好ましい。   Further, the receiving means of the program execution control device of the present invention receives the execution right transfer information including the frequency, and the execution right information same as the execution right information generated by the execution right information generating means is already stored in the storage. If stored in the means, the storage means stores the execution right information obtained by adding the frequency of the execution right information received by the receiving means to the frequency of the execution right information already stored in the storage means. It is also preferable to do.

この発明によれば、実行権情報に含まれる度数を受領側で加算して、加算した度数を実行権情報の度数とすることにより、度数を追加することができる。   According to the present invention, the frequency can be added by adding the frequency included in the execution right information on the receiving side and setting the added frequency as the frequency of the execution right information.

本発明は、プログラムを実行可能とさせる実行権情報を含む情報が暗号化されることにより、または当該実行権情報を含む情報に電子署名が付加されることにより実行権移送情報が生成され、生成された実行権移送情報が他の端末にサーバを介することなく送信されることにより、実行権情報をサーバなどで集中管理することなく他の端末に送信することができる。   The present invention generates and generates execution right transfer information by encrypting information including execution right information that makes a program executable, or by adding an electronic signature to information including the execution right information. By transmitting the executed right transfer information to another terminal without going through the server, the execution right information can be transmitted to the other terminal without centralized management by the server or the like.

以下、本発明のプログラム実行制御装置およびプログラム実行制御方法の実施の形態について、添付図面を参照しながら説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。   Embodiments of a program execution control device and a program execution control method according to the present invention will be described below with reference to the accompanying drawings. Where possible, the same parts are denoted by the same reference numerals, and redundant description is omitted.

まず、本実施形態のプログラム実行制御装置について説明する。図1は、プログラム実行制御装置1のブロック構成図である。プログラム実行制御装置1は、情報処理装置10およびICカード20から構成されており、情報処理装置10に形成されているICカード挿入口にICカード20が挿入された状態で、プログラム実行制御装置1は動作する。情報処理装置10は、検証部11(検証手段)、制御部12(制御手段)、アプリケーション格納部13、および通信部14を含んで構成される。また、ICカード20は、格納部21(記憶手段)、減算部22(第1演算手段、第2演算手段、第1削除手段、および第2削除手段)、移送部23(実行権移送情報生成手段および送信手段)、および受領部24(実行権情報生成手段および受信手段)を含んで構成されるものであり、外部からの違法なアクセスを禁止し、またメモリの内容を読み出すことのできない、いわゆる耐タンパ装置である。耐タンパ装置としては、ICカードのほか、スティック状のICメモリなどがある。なお、通信部14および移送部23は、本発明の送信手段として機能し、通信部14および受領部24は、本発明の受信手段として機能する。以下、各構成について説明する。   First, the program execution control device of this embodiment will be described. FIG. 1 is a block diagram of the program execution control device 1. The program execution control device 1 includes an information processing device 10 and an IC card 20, and the program execution control device 1 with the IC card 20 inserted into an IC card insertion slot formed in the information processing device 10. Works. The information processing apparatus 10 includes a verification unit 11 (verification unit), a control unit 12 (control unit), an application storage unit 13, and a communication unit 14. In addition, the IC card 20 includes a storage unit 21 (storage unit), a subtraction unit 22 (first calculation unit, second calculation unit, first deletion unit, and second deletion unit), transfer unit 23 (execution right transfer information generation). Means and transmitting means), and receiving unit 24 (execution right information generating means and receiving means), prohibiting illegal access from the outside, and reading the contents of the memory, This is a so-called tamper resistant device. Examples of the tamper resistant device include an IC card and a stick-shaped IC memory. The communication unit 14 and the transfer unit 23 function as a transmission unit of the present invention, and the communication unit 14 and the reception unit 24 function as a reception unit of the present invention. Each configuration will be described below.

検証部11は、アプリケーションプログラムの起動指示がなされたときに、起動するアプリケーションプログラムのハッシュ値を計算し、これを予め記憶されているハッシュ値と等しいか否かを検証する検証手段である。ハッシュ値の計算方法としては、例えばハッシュ関数の一種であるSHA−1(Secure Hash Algorithm 1)、またはMD5(Message Digest 5)などが挙げられる。検証部11は、格納部21に格納された実行権情報のハッシュ値が計算したハッシュ値と等しいかを検証し、格納部21に複数の実行権情報が記憶されている場合には、ハッシュ値が等しいものが見つかるまで繰り返し検証処理を行う。そして、制御部12は検証部11の検証結果に基づいて、さらに、後述する減算部22の減算結果に基づいてアプリケーションプログラムの動作を可能か、否かを判断することができる。   The verification unit 11 is a verification unit that calculates a hash value of an application program to be activated when an application program activation instruction is issued, and verifies whether the hash value is equal to a hash value stored in advance. Examples of the hash value calculation method include SHA-1 (Secure Hash Algorithm 1), which is a kind of hash function, or MD5 (Message Digest 5). The verification unit 11 verifies whether the hash value of the execution right information stored in the storage unit 21 is equal to the calculated hash value, and if a plurality of execution right information is stored in the storage unit 21, the hash value The verification process is repeated until an equal number is found. Then, the control unit 12 can determine whether or not the operation of the application program is possible based on the verification result of the verification unit 11 and further based on the subtraction result of the subtraction unit 22 described later.

制御部12は、検証部11の検証結果に基づいてアプリケーション格納部13に記憶されているアプリケーションを起動する制御手段として機能する。   The control unit 12 functions as a control unit that activates an application stored in the application storage unit 13 based on the verification result of the verification unit 11.

アプリケーション格納部13は、アプリケーションを記憶するメモリである。   The application storage unit 13 is a memory that stores applications.

通信部14は、LANまたはインターネットなどのネットワークと接続する接続インターフェースである。この通信部14は、IDとIPアドレスとを対応付けて記憶する管理サーバと通信し、またICカード20の移送部23および受領部24を用いて実行権情報の送受信を行う。   The communication unit 14 is a connection interface that connects to a network such as a LAN or the Internet. The communication unit 14 communicates with a management server that stores an ID and an IP address in association with each other, and transmits / receives execution right information using the transfer unit 23 and the reception unit 24 of the IC card 20.

操作部15は、ユーザによる入力操作、またはアプリケーションプログラムの起動指示が行われる操作手段であり、ユーザによるICカード20のIDの入力または起動指示を受け付けることができる。なお、ICカード20のIDの代わりに、送信先のIPアドレスを直接入力することもできる。   The operation unit 15 is an operation unit for performing an input operation by a user or an instruction to start an application program, and can accept an input of an ID of the IC card 20 or an instruction to start by the user. Note that the IP address of the transmission destination can be directly input instead of the ID of the IC card 20.

格納部21は、実行権情報を記憶する記憶手段である。実行権情報は、アプリケーションプログラムに基づいて生成されたハッシュ値(ハッシュ値の計算方法としては上述と同様にSHA−1、およびMD5がある)と、数値で表される度数情報とから構成される。このうち度数情報は、実行権情報が有効であることを示す情報であり、アプリケーションプログラムが実行されるたびに、または実行権情報が移送されるたびに、Nずつ減算される数値情報である(Nは1以上の整数)。そして、度数が0未満になると、実行権情報は無効とされ、アプリケーションプログラムの起動ができなくなる。   The storage unit 21 is a storage unit that stores execution right information. The execution right information is composed of a hash value generated based on the application program (the hash value calculation method includes SHA-1 and MD5 as described above) and frequency information represented by a numerical value. . The frequency information is information indicating that the execution right information is valid, and is numerical information that is subtracted by N each time the application program is executed or the execution right information is transferred ( N is an integer of 1 or more. When the frequency is less than 0, the execution right information is invalidated and the application program cannot be started.

この実行権情報の概念図を図2に示す。図2は、実行権情報の概念図であり、アプリケーションプログラムに基づいて生成されたハッシュ値、および度数情報から構成されている。このハッシュ値、および度数情報の初期値は、プログラム実行制御装置の通信部14を使ってネットワーク上に配置されるライセンスサーバから取得される情報であり、ライセンスサーバでハッシュ値、および度数が予め生成されている。なお、ライセンスサーバとの接続は初期値を取得するときのみであり、実行権情報の移送時には接続されない。   A conceptual diagram of this execution right information is shown in FIG. FIG. 2 is a conceptual diagram of execution right information, and is composed of a hash value generated based on an application program and frequency information. The initial value of the hash value and the frequency information is information acquired from a license server arranged on the network using the communication unit 14 of the program execution control device, and the hash value and the frequency are generated in advance by the license server. Has been. The connection with the license server is only when the initial value is acquired, and is not connected when the execution right information is transferred.

図1に戻り、引き続き説明する。減算部22は、格納部21に記憶される度数情報を減算して、度数>0、度数=0、または度数<0のいずれの状態であるか判断するものである。   Returning to FIG. 1, the description will be continued. The subtracting unit 22 subtracts the frequency information stored in the storage unit 21 to determine whether the frequency is greater than 0, the frequency is 0, or the frequency is less than 0.

減算部22は、格納部21に記憶されている度数情報からNずつ減算する処理を実行する第1減算手段および第2減算手段として機能する。そして、減算して得た結果が0より大であるか、0より小であるか、または0であるか、いずれかを判断する。アプリケーションプログラムの起動時に、度数情報を減算して得た結果が0以上であると、減算部22が判断した場合は、検証部11にその旨の出力を行う。また、0より小である場合は、その旨の出力を行う。検証部11では、0以上であるとの出力を受けるとアプリケーションプログラムを起動させる。なお、減算部22が、減算して得た結果が0であると判断した場合は、該当する実行権情報を削除する。よって減算部22は第1削除手段としても機能する。   The subtracting unit 22 functions as a first subtracting unit and a second subtracting unit that perform a process of subtracting N from the frequency information stored in the storage unit 21. Then, it is determined whether the result obtained by subtraction is greater than 0, less than 0, or 0. When the subtraction unit 22 determines that the result obtained by subtracting the frequency information is 0 or more when the application program is activated, the subtraction unit 22 outputs a message to that effect to the verification unit 11. If it is smaller than 0, an output to that effect is output. When the verification unit 11 receives an output indicating that the value is 0 or more, the verification unit 11 starts the application program. When the subtraction unit 22 determines that the result obtained by subtraction is 0, the corresponding execution right information is deleted. Therefore, the subtraction unit 22 also functions as a first deletion unit.

また、実行権情報を移送する際に度数情報を減算して得た結果が0以上であると、減算部22が判断した場合は、移送部23に対して実行権情報の移送を行うよう指示を出力する。また、0より小である場合は、実行権情報の移送の指示を出力しない。なお、減算部22が、減算して得た結果が0であると判断した場合は、該当する実行権情報を削除する。よって減算部22は第2削除手段としても機能する。   In addition, when the subtraction unit 22 determines that the result obtained by subtracting the frequency information when transferring the execution right information is 0 or more, the transfer unit 23 is instructed to transfer the execution right information. Is output. On the other hand, if it is smaller than 0, no instruction to transfer the execution right information is output. When the subtraction unit 22 determines that the result obtained by subtraction is 0, the corresponding execution right information is deleted. Therefore, the subtraction unit 22 also functions as a second deletion unit.

移送部23は、格納部21に記憶される実行権情報を抽出し、抽出した実行権情報を暗号化して実行権移送情報を生成し、生成された実行権移送情報を送信するものであって、実行権移送情報生成手段および送信手段として機能する。また、暗号化処理の代わりに或いは必要に応じて、電子署名を実行権情報に付加することにより、実行権移送情報を生成して、生成された実行権移送情報を送信先に送信することもできる。なお、実行権移送情報には、アプリケーションを実行させるための実行権情報以外に、例えばリプレーアタックを防止するための乱数情報など、他の情報が含まれる場合もある。   The transfer unit 23 extracts the execution right information stored in the storage unit 21, encrypts the extracted execution right information to generate execution right transfer information, and transmits the generated execution right transfer information. It functions as an execution right transfer information generating means and a transmitting means. Also, instead of encryption processing or as necessary, an execution right transfer information may be generated by adding an electronic signature to the execution right information, and the generated execution right transfer information may be transmitted to a transmission destination. it can. The execution right transfer information may include other information such as random number information for preventing replay attack in addition to the execution right information for executing the application.

ここで、実行権移送情報の概念図について説明する。図3は、実行権移送情報の概念図である。図3に示すとおり、実行権移送情報は、暗号化された(または電子署名が付加された)実行権情報である。実行権移送情報は、受領側(ネットワーク上に配置される他の端末)で復号化できるように受領側と共有した暗号鍵を用いて暗号化された情報である。なお、共有化した暗号鍵を用いて暗号化する代わりに、秘密鍵を用いて暗号化するとともに、Diffie-Hellman鍵交換方式を用いてこの秘密鍵を受領側に通知するようにしても良い。   Here, a conceptual diagram of the execution right transfer information will be described. FIG. 3 is a conceptual diagram of execution right transfer information. As shown in FIG. 3, the execution right transfer information is execution right information encrypted (or added with an electronic signature). The execution right transfer information is information encrypted using an encryption key shared with the receiving side so that it can be decrypted by the receiving side (other terminals arranged on the network). Instead of encrypting using a shared encryption key, encryption may be performed using a secret key, and the secret key may be notified to the receiving side using a Diffie-Hellman key exchange method.

受領部24は、通信部14を介して接続した他のプログラム実行制御装置から暗号化された実行権情報である実行権移送情報を復号化して受信することで実行権情報を生成するものであって、実行権情報生成手段および受信手段として機能する。また、実行権情報の送信元から電子署名を受信するとこれを解析してその正当性を判断することを行うこともできる。受領部24は、受信した実行権移送情報を送信側のプログラム実行制御装置と共有化した暗号鍵を用いて復号化して、実行権情報を取得する。受領部24は、取得した実行権情報を格納部21に登録する。なお、電子署名が付加された実行権情報を取得した場合は、電子署名の正当性を確認した後に、受信した実行権情報を格納部21に登録するようにする。また、受領部24は、格納部21に実行権情報を登録する際、以下の処理を行うよう構成しても良い。   The receiving unit 24 generates execution right information by decrypting and receiving execution right transfer information that is encrypted execution right information from another program execution control device connected via the communication unit 14. Thus, it functions as an execution right information generation unit and a reception unit. Further, when an electronic signature is received from a source of execution right information, it can be analyzed to determine its validity. The receiving unit 24 decrypts the received execution right transfer information using an encryption key shared with the program execution control device on the transmission side, and acquires execution right information. The receiving unit 24 registers the acquired execution right information in the storage unit 21. When the execution right information to which the electronic signature is added is acquired, the received execution right information is registered in the storage unit 21 after confirming the validity of the electronic signature. The receiving unit 24 may be configured to perform the following processing when registering execution right information in the storage unit 21.

受領部24は、復号化された実行権情報と等しい実行権情報(度数以外の実行権情報の部分)が既に格納部に記憶されているか、否かを、判断する。具体的には、ハッシュ値が同じ実行権情報の有無を判断する。そして、受領部24では、ハッシュ値が同じ実行権情報が存在すると、受信した実行権情報の度数を抽出し、抽出した度数を、すでに格納部に記憶している実行権情報の度数に加算する。加算して得られた実行権情報を格納する。これより、実行権情報の度数を追加することができる。   The receiving unit 24 determines whether or not execution right information (part of execution right information other than frequency) equal to the decrypted execution right information is already stored in the storage unit. Specifically, the presence / absence of execution right information having the same hash value is determined. If the execution right information having the same hash value exists, the receiving unit 24 extracts the frequency of the received execution right information, and adds the extracted frequency to the frequency of the execution right information already stored in the storage unit. . The execution right information obtained by the addition is stored. Thus, the frequency of execution right information can be added.

他のプログラム実行制御装置は、上述のプログラム実行制御装置と同じ構成とされているため、その説明を省略する。   The other program execution control devices have the same configuration as the above-described program execution control device, and thus description thereof is omitted.

次に、このプログラム実行制御装置1の動作について説明する。まず、ICカード20に格納されている実行権情報を用いてアプリケーションを起動して動作させるときの処理について説明する。図4は、実行権情報を用いてアプリケーションを起動させるときの処理を示すフローチャートである。   Next, the operation of the program execution control device 1 will be described. First, processing when an application is activated and operated using the execution right information stored in the IC card 20 will be described. FIG. 4 is a flowchart showing processing when starting an application using execution right information.

まず、ユーザの操作によりアプリケーション格納部13に格納されたアプリケーションプログラムの起動操作が行われる(S101)。そして、検証部11によりアプリケーションプログラムのハッシュ値が計算される(S102)。次に、検証部11により、計算されたハッシュ値とICカード20に格納されている実行権情報のハッシュ値とが比較される(S103)。検証部11により、計算されたハッシュ値とICカード20に格納されている実行権情報のハッシュ値とが一致したと判断された場合(S104)、減算部22により、格納部21に記憶されている度数情報からNだけ減算する。なお、ここではNを1とするが、Nを2以上の数値としてもよい。また、S104において、ハッシュ値一致しなかった場合、その処理を終了する。   First, an activation operation of an application program stored in the application storage unit 13 is performed by a user operation (S101). Then, the hash value of the application program is calculated by the verification unit 11 (S102). Next, the verification unit 11 compares the calculated hash value with the hash value of the execution right information stored in the IC card 20 (S103). When the verification unit 11 determines that the calculated hash value matches the hash value of the execution right information stored in the IC card 20 (S104), the subtraction unit 22 stores the stored hash value in the storage unit 21. N is subtracted from the existing frequency information. Here, N is 1, but N may be a numerical value of 2 or more. If the hash values do not match in S104, the process ends.

減算した(度数情報−N)が、0より大であるか、0より小であるか、または0であるか、が減算部22により判断される(S106)。ここで、(度数情報−N)<0であると判断される場合、アプリケーションプログラムを実行するための度数が足りなかったとして、アプリケーションプログラムを起動することなく、処理が終了する。なお、ここでは、実行権情報を削除することはしない。これは、上述したNが2以上である場合は、度数が少なくとも1つ残っている場合があり、のちに度数のみを追加することにより、実行権情報を実質的に有効にすることができるからである。   The subtraction unit 22 determines whether the subtraction (frequency information-N) is greater than 0, less than 0, or 0 (S106). Here, when it is determined that (frequency information−N) <0, it is determined that the frequency for executing the application program is insufficient, and the process ends without starting the application program. Here, the execution right information is not deleted. This is because when the above-mentioned N is 2 or more, at least one frequency may remain, and the execution right information can be substantially made effective by adding only the frequency later. It is.

また、(度数情報−N)>0であると判断される場合、減算して得られた数値を度数情報とする(S107)。これは次回アプリケーションを起動するときには、減算して得られた数値に置き換えられた度数情報に基づいて判断させるためである。度数情報を、減算して得られた数値とした後、プログラムが起動する(S109)。   If it is determined that (frequency information−N)> 0, a numerical value obtained by subtraction is set as frequency information (S107). This is because the next time the application is started, a determination is made based on the frequency information replaced with the numerical value obtained by subtraction. After the frequency information is set to a numerical value obtained by subtraction, the program is started (S109).

また、(度数情報−N)=0であると判断される場合、実行権情報を削除する(S108)。度数が残っている場合と異なり、実行権情報を度数情報とともに削除している。度数が残っている場合と異なって、実行権情報の全てを再登録する場合は、その再登録する処理に手間が変わらないからである。なお、度数情報のみを減算して0にし、実行権情報を削除しないよう制御することもできる。そして、実行権情報が削除されると、プログラムが起動する(S109)。   If it is determined that (frequency information−N) = 0, the execution right information is deleted (S108). Unlike the case where the frequency remains, the execution right information is deleted together with the frequency information. This is because, unlike the case where the frequency remains, when re-registering all of the execution right information, there is no change in the re-registration process. It is also possible to control so that only the frequency information is subtracted to 0 and the execution right information is not deleted. When the execution right information is deleted, the program is started (S109).

このように、実行権情報を判断することにより、アプリケーションの起動をしてよいか、否かを判断することができる。   In this way, by determining the execution right information, it is possible to determine whether or not the application can be activated.

次に、実行権情報を他のプログラム実行制御装置に移送するときの動作について説明する。図5は、他のプログラム実行制御装置に移送するときのプログラム実行制御装置1の処理を示すフローチャートである。   Next, the operation when transferring execution right information to another program execution control device will be described. FIG. 5 is a flowchart showing the processing of the program execution control device 1 when it is transferred to another program execution control device.

まず、ユーザによる実行権情報の移送の処理が行われる(S201)。ここでは、ユーザにより送信先である他のプログラム実行制御装置のICカードのIDを入力することにより、送信先が特定される。入力されたIDは、通信部14によりネットワークに配置されている管理サーバに送信され、管理サーバでは受信したIDに対応したIPアドレスを抽出して返信する。通信部14はこの返信を受信することにより、送信先のIPアドレスを本実施形態のプログラム実行制御装置は取得することができる。   First, execution rights information is transferred by the user (S201). Here, the transmission destination is specified by inputting the ID of the IC card of another program execution control apparatus as the transmission destination by the user. The input ID is transmitted to the management server arranged in the network by the communication unit 14, and the management server extracts and returns an IP address corresponding to the received ID. By receiving this reply, the communication unit 14 can acquire the IP address of the transmission destination by the program execution control device of this embodiment.

なお、IDとIPアドレスと対応関係を記憶する管理サーバは、ICカードを保持するユーザの操作により予めIDとIPアドレスとが対応付けて登録される。具体的には、ICカードがプログラム実行制御装置に挿入されたときにプログラム実行制御装置がこれを検知し、ICカードのIDを読み取って、読み取ったIDとプログラム実行制御装置のIPアドレスとを通信部14を用いて管理サーバに登録する。なお、このような処理をすることなく、IPアドレスを直接入力するようにしても良い。また、ユーザは送信先を入力するほか、実行権情報の度数を入力するようにしてもよい。これにより、ユーザは自らの意思に応じた値を入力することができ、実行権情報の全てを移送することができるようになる。   In the management server that stores the correspondence between the ID and the IP address, the ID and the IP address are registered in advance in association with the operation of the user holding the IC card. Specifically, when the IC card is inserted into the program execution control device, the program execution control device detects this, reads the ID of the IC card, and communicates the read ID with the IP address of the program execution control device. Register to the management server using the unit 14. Note that the IP address may be directly input without performing such processing. In addition to inputting the transmission destination, the user may input the frequency of the execution right information. Thereby, the user can input a value according to his / her intention, and can transfer all of the execution right information.

ユーザによる操作が行われ、送信先のIPアドレスが取得されると、IPアドレスを移送部に23に出力し、制御部12は移送部23にその旨の指示を行う(S202)。この指示を受けた移送部23は減算部22に対して度数の減算処理を指示する(S203)。そして、減算部22は(度数情報−N)を計算する(S204)。なお、ここでNは1以上の数値をとることができるが、ユーザの操作によりNとして大きな値を入力することができ、実質的に実行権の全てを移送すること、または実行権を分割することができる。   When the operation by the user is performed and the IP address of the transmission destination is acquired, the IP address is output to the transfer unit 23, and the control unit 12 instructs the transfer unit 23 to that effect (S202). Receiving this instruction, the transfer unit 23 instructs the subtraction unit 22 to perform a frequency subtraction process (S203). Then, the subtraction unit 22 calculates (frequency information-N) (S204). Here, N can take a numerical value of 1 or more, but a large value can be input as N by the user's operation, and substantially all of the execution right is transferred or the execution right is divided. be able to.

この演算式により、(度数情報−N)<0である場合(S205)、実行権情報の移送処理を行うことなく、処理を終了する。また、(度数情報−N)>0である場合(S205)、移送部23により、度数情報をNとした実行権情報が共有化された暗号鍵を用いて暗号化されることで実行権移送情報が生成される(S206)。そして、移送部23により、実行権移送情報が通信部14を介して接続される他のプログラム実行制御装置に送信される(S209)。送信後、(度数情報−N)で得た数値を新たな度数情報として格納部21はこの新たな度数情報を実行権情報として記憶する。そして、次回の実行権情報の移送処理時またはプログラムの起動処理時に、新たな度数情報が用いられ、この度数情報を基準に判断される。   If (frequency information−N) <0 by this arithmetic expression (S205), the process is terminated without performing the execution right information transfer process. If (frequency information-N)> 0 (S205), the transfer unit 23 encrypts the execution right information with the frequency information set to N using the shared encryption key, thereby transferring the execution right. Information is generated (S206). Then, the transfer unit 23 transmits the execution right transfer information to another program execution control device connected via the communication unit 14 (S209). After the transmission, the storage unit 21 stores the new frequency information as execution right information, with the numerical value obtained by (frequency information−N) as new frequency information. Then, new frequency information is used at the time of the next execution right information transfer process or program start process, and the determination is made based on this frequency information.

また、(度数情報−N)=0である場合(S205)、移送部23により、実行権情報の度数をNとして、この実行権情報が暗号化されて(または実行権情報に電子署名を付加して)実行権移送情報が生成される(S207)。そして、減算部22により実行権情報は格納部21から削除される(S208)。削除後、移送部23により、実行権移送情報が通信部14を介して接続される他のプログラム実行制御装置に送信される(S209)。送信後の処理は、上述とは異なり、実行権情報が削除されていることから何もせず終了する。   If (frequency information−N) = 0 (S205), the transfer unit 23 encrypts the execution right information with the frequency of the execution right information as N (or adds an electronic signature to the execution right information). The execution right transfer information is generated (S207). Then, the execution right information is deleted from the storage unit 21 by the subtraction unit 22 (S208). After the deletion, the transfer unit 23 transmits the execution right transfer information to another program execution control device connected via the communication unit 14 (S209). Unlike the above, the post-transmission processing ends without executing anything because the execution right information has been deleted.

受領側である他のプログラム実行制御装置は、サーバを介することなく実行権移送情報を受信する(S301)。受信した実行権移送情報は共有化された暗号鍵に基づいて復号化されることで、実行権情報が生成される(S302)。そして、生成された実行権情報は、他のプログラム実行制御装置におけるICカードの所定の格納部に記憶される(S303)。なお、格納部に格納するに際して、以下の処理を行っても良い。   The other program execution control device on the receiving side receives the execution right transfer information without going through the server (S301). The received execution right transfer information is decrypted based on the shared encryption key to generate execution right information (S302). Then, the generated execution right information is stored in a predetermined storage unit of the IC card in another program execution control device (S303). The following processing may be performed when storing in the storage unit.

復号化された実行権情報と等しい実行権情報(度数以外の実行権情報の部分)が、既に格納部に記憶されているか、否かを、受領側のICカードにおいて判断する。具体的には、ハッシュ値が同じ実行権情報の有無を判断する。ハッシュ値が同じ実行権情報が存在すると、受信した実行権情報の度数を抽出し、抽出した度数を、すでに格納部に記憶している実行権情報の度数に加算する。加算して得られた実行権情報を格納する。これより、実行権情報の度数を追加することができる。   The receiving IC card determines whether or not execution right information (part of execution right information other than the frequency) equal to the decrypted execution right information is already stored in the storage unit. Specifically, the presence / absence of execution right information having the same hash value is determined. If execution right information having the same hash value exists, the frequency of the received execution right information is extracted, and the extracted frequency is added to the frequency of the execution right information already stored in the storage unit. The execution right information obtained by the addition is stored. Thus, the frequency of execution right information can be added.

このように、移送される際には実行権情報は共有化された暗号鍵を用いて暗号化され、受領側では共有化された暗号鍵を用いて復号化して受信することができることから、実行権情報は改竄されることなく、同一性を担保しつつ、他の装置に安全に移送することができる。電子署名が付加された実行権情報についても同様に、同一性を担保しつつ、他の装置に安全に移送することができる。   In this way, execution right information is encrypted using a shared encryption key when transported, and can be received by the receiving side after decrypting using the shared encryption key. The right information can be safely transferred to another device while ensuring the identity without being falsified. Similarly, the execution right information to which the electronic signature is added can be safely transferred to another apparatus while ensuring the identity.

なお、実行権情報を移送するに際して、上述の暗号化する方法のほか、特開2001−143009号公報に記載されているとおり、データ全体をハッシュ関数によるハッシュ値に変換して送信する方法を採用することができる。   When transferring execution right information, in addition to the above-described encryption method, as described in Japanese Patent Laid-Open No. 2001-143209, a method of converting the entire data into a hash value using a hash function and transmitting it is adopted. can do.

また、上述のプログラム実行制御装置1は、度数情報がライセンスサーバから与えられた数値として、プログラムが起動するたびに、または実行権情報を移送するたびに度数情報からNずつを減算する処理をしているが、これに限るものではなく、初期値として度数を0とし、プログラムが起動するたびに、または実行権情報を移送するたびに度数情報にMを加算していき、所定数に達したときに、プログラムを実行し、また実行権情報の移送を可能とし、さらにMが加算された度数が所定値に達したときには、実行権情報を削除するようにしてもよい。   In addition, the program execution control device 1 performs a process of subtracting N from the frequency information every time the program is started or each time the execution right information is transferred, as the frequency information is given by the license server. However, it is not limited to this, the frequency is set to 0 as an initial value, and M is added to the frequency information every time the program is started or the execution right information is transferred, and the predetermined number is reached. Sometimes, the program is executed, execution right information can be transferred, and the execution right information may be deleted when the frequency obtained by adding M reaches a predetermined value.

次に、本実施形態のプログラム実行制御装置1の作用効果について説明する。本実施形態のプログラム実行制御装置1は、プログラムを実行可能とさせる実行権情報を含む情報を、移送部23が暗号化して、または実行権情報を含む情報に電子署名が付加されて、生成された実行権移送情報を他のプログラム実行制御装置にサーバを介することなく送信することにより、実行権情報をサーバなどで集中管理することなく他の端末に送信することができる。   Next, the effect of the program execution control apparatus 1 of this embodiment is demonstrated. The program execution control apparatus 1 according to the present embodiment is generated by encrypting information including execution right information that enables execution of a program, or by adding an electronic signature to information including execution right information. By transmitting the execution right transfer information to other program execution control devices without going through the server, the execution right information can be sent to other terminals without being centrally managed by the server or the like.

また、本実施形態のプログラム実行制御装置1は、実行権情報を扱う格納部21、移送部23をICカードなどの耐タンパ装置に組み込むことにより、実行権情報の不正な複製や改竄を防止することができる。また、あわせて受領部24を耐タンパ装置に組み込むこともできる。   In addition, the program execution control apparatus 1 according to the present embodiment prevents unauthorized duplication or falsification of execution right information by incorporating the storage unit 21 and the transfer unit 23 that handle execution right information into a tamper-resistant device such as an IC card. be able to. In addition, the receiving unit 24 can be incorporated into the tamper resistant device.

また、本実施形態のプログラム実行制御装置1は、MD5またはSHA−1などの公知のハッシュ関数によるハッシュ値を用いて実行権情報の正当性を判断させることにより、プログラムが改竄された際にその実行を未然に防止することができる。   In addition, the program execution control device 1 according to the present embodiment makes it possible to determine the legitimacy of the execution right information by using a hash value by a known hash function such as MD5 or SHA-1, so that when the program is tampered with, Execution can be prevented in advance.

また、本実施形態のプログラム実行制御装置1は、実行権情報に含まれる度数情報に対して、減算部22がプログラムが起動するごとに所定数を減算していって、予め定めた基準値に達すると、実行権情報を削除することにより、実行権情報を使用することのできる回数を有限にすることができる。よって、実行権情報の不正な複製や改竄を行わせる機会を少なくすることができる。なお、減算の代わりに加算するようにしてもよい。   In addition, the program execution control device 1 according to the present embodiment subtracts a predetermined number from the frequency information included in the execution right information every time the program is started by the subtracting unit 22, and sets the predetermined reference value. When it reaches, the number of times the execution right information can be used can be made finite by deleting the execution right information. As a result, the chances of unauthorized duplication or falsification of execution right information can be reduced. Note that addition may be performed instead of subtraction.

また、本実施形態のプログラム実行制御装置1は、実行権情報に含まれる度数情報に対して、暗号化されたまたは電子署名が付加された実行権移送情報が送信される際、減算部22により所定数を減算し、減算された数値を度数として実行権情報を含む情報を移送部24により暗号化して、または実行権情報を含む情報に電子署名を付加して、暗号化された、または電子署名が付加された実行権移送情報を送信することにより、送信元に実行権情報を保持したまま他の端末に実行権情報を送信することができ、実行権情報の分割を行うことができる。また、度数情報が予め定めた基準値に達した場合には、実行権情報を削除することにより、実質的に実行権情報の移動を可能とする。なお、減算の代わりに加算するようにしてもよい。   Further, the program execution control apparatus 1 according to the present embodiment allows the subtraction unit 22 to execute the execution right transfer information that is encrypted or has an electronic signature added to the frequency information included in the execution right information. The predetermined number is subtracted, and the information including the execution right information is encrypted by the transport unit 24 using the subtracted numerical value as the frequency, or the information including the execution right information is added to the information, and the encrypted or electronic By transmitting the execution right transfer information to which the signature is added, the execution right information can be transmitted to another terminal while holding the execution right information at the transmission source, and the execution right information can be divided. In addition, when the frequency information reaches a predetermined reference value, the execution right information can be substantially moved by deleting the execution right information. Note that addition may be performed instead of subtraction.

また、本実施形態のプログラム実行制御装置1は、受領部24により実行権移送情報を受信して、これを復号化してまたは電子署名の正当性を判断して、当該実行権情報を格納部21が記憶することにより、実行権情報を他の端末から得ることができる。   In addition, the program execution control apparatus 1 of the present embodiment receives the execution right transfer information by the receiving unit 24, decrypts the information or determines the validity of the electronic signature, and stores the execution right information in the storage unit 21. , The execution right information can be obtained from another terminal.

また、本実施形態のプログラム実行制御装置1は、受領部24により実行権情報に含まれる度数を受領側で加算して、加算した度数を実行権情報の度数とすることにより、度数を追加することができる。   Further, the program execution control apparatus 1 of the present embodiment adds the frequency by adding the frequency included in the execution right information by the receiving unit 24 on the receiving side, and setting the added frequency as the frequency of the execution right information. be able to.

プログラム実行制御装置のブロック構成図である。It is a block block diagram of a program execution control apparatus. 実行権情報の概念図である。It is a conceptual diagram of execution right information. 実行権移送情報の概念図である。It is a conceptual diagram of execution right transfer information. 実行権情報を用いてアプリケーションを起動させるときの処理を示すフローチャートである。It is a flowchart which shows a process when starting an application using execution right information. 他のプログラム実行制御装置に移送するときのプログラム実行制御装置の処理を示すフローチャートである。It is a flowchart which shows the process of a program execution control apparatus when transferring to another program execution control apparatus.

符号の説明Explanation of symbols

1・・・プログラム実行制御装置、10・・・情報処理装置、11・・・検証部、12・・・制御部、13・・・アプリケーション格納部、14・・・通信部、20・・・カード、21・・・格納部、22・・・減算部、23・・・移送部、24・・・受領部。 DESCRIPTION OF SYMBOLS 1 ... Program execution control apparatus, 10 ... Information processing apparatus, 11 ... Verification part, 12 ... Control part, 13 ... Application storage part, 14 ... Communication part, 20 ... Card, 21 ... storage unit, 22 ... subtraction unit, 23 ... transfer unit, 24 ... receiving unit.

Claims (8)

プログラムを実行可能とする実行権を示す実行権情報を記憶する記憶手段と、前記実行権情報が正当なものであることを検証する検証手段と、前記検証手段による検証に基づいてプログラムを起動させる制御を行う制御手段とを備えるプログラム実行制御装置において、
実行権情報の送信先が入力される操作手段と、
前記記憶手段に記憶されている実行権情報を含む情報を暗号化することで、または当該実行権情報を含む情報に電子署名を付加することで、実行権移送情報を生成する実行権移送情報生成手段と、
前記実行権移送情報生成手段により生成された実行権移送情報を、前記操作手段により入力された送信先に送信する送信手段と、
を備えるプログラム実行制御装置。
Storage means for storing execution right information indicating execution right that enables execution of the program, verification means for verifying that the execution right information is valid, and starting the program based on the verification by the verification means In a program execution control device comprising control means for performing control,
An operation means for inputting a destination of execution right information;
Execution right transfer information generation for generating execution right transfer information by encrypting information including execution right information stored in the storage means, or by adding an electronic signature to information including the execution right information. Means,
Transmitting means for transmitting the execution right transfer information generated by the execution right transfer information generating means to the transmission destination input by the operation means;
A program execution control device comprising:
前記記憶手段、前記送信手段、および前記実行権移送情報生成手段は、耐タンパ装置内に構成されていることを特徴とする請求項1記載のプログラム実行制御装置。 2. The program execution control device according to claim 1, wherein the storage unit, the transmission unit, and the execution right transfer information generation unit are configured in a tamper resistant device. 前記実行権情報は、前記プログラムのハッシュ値であることを特徴とする請求項1又は2に記載のプログラム実行制御装置。 The program execution control apparatus according to claim 1, wherein the execution right information is a hash value of the program. 前記実行権情報は、数値で表される度数情報を含み、
前記プログラムが起動するたびに、前記度数情報から所定数を減算し、または前記度数情報に所定数を加算する第1演算手段と、
前記第1演算手段により演算された結果、前記度数情報が予め定めた基準値に達した場合、前記実行権情報を削除する第1削除手段と、
をさらに備える請求項1〜3のいずれか1項に記載のプログラム実行制御装置。
The execution right information includes frequency information represented by a numerical value,
A first computing means for subtracting a predetermined number from the frequency information or adding a predetermined number to the frequency information each time the program is started;
When the frequency information reaches a predetermined reference value as a result of calculation by the first calculation means, first deletion means for deleting the execution right information;
The program execution control device according to claim 1, further comprising:
前記実行権情報は、数値で表される度数情報を含み、
前記送信手段による実行権移送情報が送信されるたびに、前記度数情報から所定数を減算し、または前記度数情報に所定数を加算する第2演算手段と、
前記第2演算手段により減算または加算された結果、前記度数情報が予め定めた基準値に達した場合、前記実行権情報を削除する第2削除手段と、をさらに備え、
前記実行権移送情報生成手段は、減算又は加算した数値を度数とした実行権情報を暗号化し、または減算又は加算した数値を度数とした実行権情報に電子署名を付加し、前記送信手段は、生成された実行権移送情報を送信することを特徴とする請求項1〜4のいずれか1項に記載のプログラム実行制御装置。
The execution right information includes frequency information represented by a numerical value,
A second calculation unit that subtracts a predetermined number from the frequency information or adds a predetermined number to the frequency information each time execution right transfer information is transmitted by the transmission unit;
A second deletion means for deleting the execution right information when the frequency information reaches a predetermined reference value as a result of subtraction or addition by the second calculation means;
The execution right transfer information generation means encrypts execution right information with a numerical value obtained by subtraction or addition, or adds an electronic signature to execution right information with a numerical value obtained by subtraction or addition, and the transmission means comprises: The program execution control apparatus according to claim 1, wherein the generated execution right transfer information is transmitted.
他の端末から実行権移送情報を受信する受信手段と、
前記受信手段により受信された実行権移送情報を復号化することで、または実行権移送情報に付加された電子署名の正当性を判断することで、実行権情報を含む情報を生成する実行権情報生成手段と、をさらに備え、
前記記憶手段は、前記実行権情報生成手段により生成された実行権情報を記憶することを特徴とする請求項1〜5のいずれか1項に記載のプログラム実行制御装置。
Receiving means for receiving execution right transfer information from another terminal;
Execution right information for generating information including execution right information by decrypting the execution right transfer information received by the receiving means or judging the validity of the electronic signature added to the execution right transfer information And generating means,
The program execution control apparatus according to claim 1, wherein the storage unit stores execution right information generated by the execution right information generation unit.
前記受信手段は、度数を含んだ実行権移送情報を受信し、
前記実行権情報生成手段により生成された実行権情報と同じ実行権情報が、既に前記記憶手段に記憶されている場合、既に前記記憶手段に記憶されている実行権情報の度数に、前記受信手段により受信された実行権情報の度数を加算した実行権情報を前記記憶手段が記憶することを特徴とする請求項6に記載のプログラム実行制御装置。
The receiving means receives execution right transfer information including frequency,
When the same execution right information as the execution right information generated by the execution right information generation unit is already stored in the storage unit, the reception unit is set to the frequency of the execution right information already stored in the storage unit. 7. The program execution control apparatus according to claim 6, wherein the storage unit stores execution right information obtained by adding the frequency of execution right information received by the storage unit.
プログラムを実行可能とする実行権を示す実行権情報を記憶し、前記実行権情報が正当なものであることを検証することによってプログラムの実行を制御するプログラム実行制御装置における実行権情報の移送方法であって、
前記実行権情報の送信先の入力を受け付ける入力ステップと、
前記実行権情報を含む情報を暗号化することで、または当該実行権情報を含む情報に電子署名を付加することで、実行権移送情報を生成する実行権移送情報生成ステップと、
前記実行権移送情報を、入力された前記送信先に送信する送信ステップと、
を備える実行権情報の移送方法。
Execution right information transfer method in a program execution control apparatus for storing execution right information indicating execution right that enables execution of a program and controlling execution of the program by verifying that the execution right information is valid Because
An input step for receiving an input of a transmission destination of the execution right information;
An execution right transfer information generating step for generating execution right transfer information by encrypting information including the execution right information or adding an electronic signature to the information including the execution right information;
A transmission step of transmitting the execution right transfer information to the input destination;
A method for transferring execution right information.
JP2004229844A 2004-08-05 2004-08-05 Program execution control device and execution right information transfer method Expired - Fee Related JP4545517B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004229844A JP4545517B2 (en) 2004-08-05 2004-08-05 Program execution control device and execution right information transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004229844A JP4545517B2 (en) 2004-08-05 2004-08-05 Program execution control device and execution right information transfer method

Publications (2)

Publication Number Publication Date
JP2006048446A true JP2006048446A (en) 2006-02-16
JP4545517B2 JP4545517B2 (en) 2010-09-15

Family

ID=36026919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004229844A Expired - Fee Related JP4545517B2 (en) 2004-08-05 2004-08-05 Program execution control device and execution right information transfer method

Country Status (1)

Country Link
JP (1) JP4545517B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013117911A (en) * 2011-12-05 2013-06-13 Internatl Business Mach Corp <Ibm> Information processing device, control method, and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997175A (en) * 1995-10-02 1997-04-08 Matsushita Electric Ind Co Ltd Software use control method
JPH11203128A (en) * 1998-01-09 1999-07-30 Canon Inc Digital software distribution system, terminal and recording medium
JP2003022143A (en) * 2001-07-09 2003-01-24 Yokogawa Electric Corp Accounting method for software
JP2003058510A (en) * 2001-08-15 2003-02-28 Fujitsu Ltd Method and system for transmitting and distributing license in online environment
JP2003174446A (en) * 2001-12-05 2003-06-20 Canon Inc Method for authenticating license of software

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997175A (en) * 1995-10-02 1997-04-08 Matsushita Electric Ind Co Ltd Software use control method
JPH11203128A (en) * 1998-01-09 1999-07-30 Canon Inc Digital software distribution system, terminal and recording medium
JP2003022143A (en) * 2001-07-09 2003-01-24 Yokogawa Electric Corp Accounting method for software
JP2003058510A (en) * 2001-08-15 2003-02-28 Fujitsu Ltd Method and system for transmitting and distributing license in online environment
JP2003174446A (en) * 2001-12-05 2003-06-20 Canon Inc Method for authenticating license of software

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013117911A (en) * 2011-12-05 2013-06-13 Internatl Business Mach Corp <Ibm> Information processing device, control method, and program

Also Published As

Publication number Publication date
JP4545517B2 (en) 2010-09-15

Similar Documents

Publication Publication Date Title
EP1942430B1 (en) Token Passing Technique for Media Playback Devices
KR100912276B1 (en) Electronic Software Distribution Method and System Using a Digital Rights Management Method Based on Hardware Identification
JP4622811B2 (en) Electronic document authenticity guarantee system
US8660964B2 (en) Secure device licensing
TW480397B (en) Secure memory
US8255333B2 (en) Method of generating license, and method and apparatus for providing contents using the same
EP1636664B1 (en) Proof of execution using random function
US20060064756A1 (en) Digital rights management system based on hardware identification
JP2009070397A (en) Method and system for using tamperproof hardware to provide copy protection and online security
MXPA06010778A (en) Digital rights management structure, portable storage device, and contents management method using the portable storage device.
WO2007086015A2 (en) Secure transfer of content ownership
JP4282472B2 (en) Microprocessor
JP2006262393A (en) Tamper-resistant device and file generating method
JP2008033512A (en) Security chip and platform
JP2011150524A (en) Software execution system
EP3455763B1 (en) Digital rights management for anonymous digital content sharing
JPH1124916A (en) Device and method for managing software licence
CN101008927A (en) Information processing device, portable terminal device and information processing execution control method
JP6939313B2 (en) Distributed authentication system
JP4545517B2 (en) Program execution control device and execution right information transfer method
JP2008147946A (en) Authentication method, authentication system, and external recording medium
US8176249B2 (en) Methods for embedding session secrets, within application instances
JP2011164858A (en) System and method for setting of license
JP2007304686A (en) Unauthorized copy prevention system, unauthorized copy prevention device and computer program
JP2004220436A (en) Ic card and ic card program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100609

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100609

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100629

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100630

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4545517

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees