JPH09185501A - Software execution control system - Google Patents

Software execution control system

Info

Publication number
JPH09185501A
JPH09185501A JP7343820A JP34382095A JPH09185501A JP H09185501 A JPH09185501 A JP H09185501A JP 7343820 A JP7343820 A JP 7343820A JP 34382095 A JP34382095 A JP 34382095A JP H09185501 A JPH09185501 A JP H09185501A
Authority
JP
Japan
Prior art keywords
execution
software
random number
recording medium
decryption
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
JP7343820A
Other languages
Japanese (ja)
Inventor
Natsume Matsuzaki
なつめ 松崎
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP7343820A priority Critical patent/JPH09185501A/en
Publication of JPH09185501A publication Critical patent/JPH09185501A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a software execution control system which executes software obtained by means of executing decoding with a software key and prevents the illegal use of the software key and the frequencies of execution when the frequency of execution satisfies a prescribed condition. SOLUTION: An execution unit 2 stores random numbers in a random number storage part 3 where reading and writing are difficult and a recording medium 1 stores ciphering software and ciphering software key execution frequencies. The execution unit 2 acquires the ciphering software key execution frequencies decodes them with the random numbers, decodes ciphering software with the software key, and executes software when the execution frequency satisfies the prescribed condition. The execution unit 2 updates the execution frequencies and the random numbers, ciphers the software key and the updated number of execution times with the updated random numbers and stores them in the recording medium 1. Thus, the copied ciphering software key execution frequency cannot be decoded by updating the random numbers whenever software is executed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、ソフトウェア実行
制御システムに関し、より特定的には、ソフトウェアの
不正使用を防止するためのソフトウェア実行制御システ
ムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software execution control system, and more particularly to a software execution control system for preventing unauthorized use of software.

【0002】[0002]

【従来の技術】近年、種々のマルチメディア機器が開発
され、ゲームや教育用のソフトウェアをはじめとする多
くの有償マルチメディアソフトウェアが販売されてい
る。ところが、それらのソフトウェアの保護は不完全で
あり、不正コピーのソフトウェアが数多く出回っている
のが現状である。ソフトウェアの不正使用を防ぐため
に、特許法や著作権法等の、法律による規制があるが、
同時に、不正にコピーされたソフトウェアを実行できな
いようにする実行制御システムが開発されている。
2. Description of the Related Art In recent years, various multimedia devices have been developed and many paid multimedia software such as games and educational software have been sold. However, the protection of such software is incomplete, and there is a lot of illegally copied software in the current situation. In order to prevent unauthorized use of software, there are legal restrictions such as patent law and copyright law,
At the same time, execution control systems are being developed that prevent the execution of illegally copied software.

【0003】例えば、特開昭61−145642号公報
に、ソフトウェアの実行に必要なソフト鍵を実行器に固
有の情報で暗号化することにより、ソフトウェアの不正
使用を防止する方法が提案されている。ここで開示され
ている構成の一部を変更して第1の従来例とする。さら
に、この第1の従来例において、実行回数を制限された
ソフトウェアの不正使用を防止する方法を第2の従来例
とする。また、例えば、特公平3−32813号公報
に、ソフトウェアの実行を制御するためのコプロッセサ
を実行器に接続する方法が提示されている。この方法
を、実行回数を制限するよう構成の一部を変更して第3
の従来例とする。
For example, Japanese Unexamined Patent Publication No. 61-145642 proposes a method for preventing unauthorized use of software by encrypting a soft key necessary for executing the software with information unique to the executor. . A part of the configuration disclosed here is modified to be a first conventional example. Furthermore, in this first conventional example, a method for preventing unauthorized use of software whose execution count is limited will be referred to as a second conventional example. Further, for example, Japanese Patent Publication No. 3-32813 discloses a method of connecting a coprocessor for controlling execution of software to an executor. This method was modified by changing part of the configuration to limit the number of executions.
The conventional example of

【0004】(第1の従来例)図9は、第1の従来例に
係るソフトウェア実行制御システムの構成を示すブロッ
ク図である。図9において、実行器101は、あるソフ
トウェアSoftAを実行することを許可された、特定
の実行器である。実行器101は、自己に固有の秘密情
報Sx(固有鍵)を格納するための固有鍵格納部102
を内蔵する。固有鍵格納部102は、実行器101の外
部からは、読み出しおよび書き込みができないものとす
る。図では、こうした領域はハッチングをかけて表され
ている。記録媒体103は、実行器101で実行するソ
フトウェアを格納するための記録媒体である。鍵Kによ
りデータDを暗号化することをE(K,D)と表すこと
にすると、記録媒体103には、ソフト鍵Kで暗号化さ
れた暗号化ソフトE(K,SoftA)、および実行器
101の固有鍵Sxで暗号化された暗号化ソフト鍵E
(Sx,K)が格納されている。ソフトウェアSoft
Aを実行する際には、実行器101は、最初、記録媒体
103から暗号化ソフト鍵E(Sx,K)を得て、得た
暗号化ソフト鍵E(Sx,K)を、復号部104におい
て、固有鍵格納部102から獲得した固有鍵Sxで復号
してソフト鍵Kを求める。次に、実行器101は、記録
媒体103から暗号化ソフトE(K,SoftA)を得
て、復号部105において、求めたソフト鍵Kで復号し
てソフトウェアSoftAを求め、これを実行する。
(First Conventional Example) FIG. 9 is a block diagram showing the configuration of a software execution control system according to the first conventional example. In FIG. 9, an executor 101 is a specific executor who is permitted to execute a certain software SoftA. The executor 101 has a unique key storage unit 102 for storing the private information Sx (unique key) unique to itself.
Built-in. The unique key storage unit 102 cannot be read or written from outside the executor 101. In the figure, these regions are represented by hatching. The recording medium 103 is a recording medium for storing software executed by the executor 101. When the encryption of the data D by the key K is expressed as E (K, D), the recording medium 103 includes the encryption software E (K, SoftA) encrypted by the soft key K, and the execution unit. Encrypted soft key E encrypted with the unique key Sx of 101
(Sx, K) is stored. Software Soft
When executing A, the executor 101 first obtains the encrypted soft key E (Sx, K) from the recording medium 103, and uses the obtained encrypted soft key E (Sx, K) in the decryption unit 104. At, the soft key K is obtained by decrypting with the unique key Sx obtained from the unique key storage unit 102. Next, the executor 101 obtains the encrypted software E (K, SoftA) from the recording medium 103, decrypts it with the obtained soft key K in the decryption unit 105 to obtain the software SoftA, and executes this.

【0005】本従来例では、記録媒体に格納されている
暗号化ソフトE(K,SoftA)および暗号化ソフト
鍵E(Sx,K)をコピーしても、固有鍵Sxを保有し
ている実行器以外では暗号化ソフト鍵E(Sx,K)を
復号できないため、ソフトウェアの実行はできない。ま
た、固有鍵Sxが格納されている固有鍵格納部102
は、実行器101による以外は読み出しおよび書き込み
ができない領域なので、固有鍵Sxの複製はできない。
これにより、不正にコピーされたソフトウェアの実行を
防止している。
In the conventional example, even if the encryption software E (K, SoftA) and the encryption software key E (Sx, K) stored in the recording medium are copied, the execution is still carried out with the unique key Sx. The software cannot be executed because the encrypted soft key E (Sx, K) cannot be decrypted by other devices. Further, the unique key storage unit 102 storing the unique key Sx.
Is an area that cannot be read or written except by the executor 101, so the unique key Sx cannot be duplicated.
This prevents the execution of illegally copied software.

【0006】ところで、本従来例は、初めに一度料金を
支払って実行器101用の暗号化ソフト鍵を入手すれ
ば、実行器101は、そのソフトウェアを何度でも実行
できる場合を想定している。ソフトウェアの購入形態と
しては、このいわゆる「買取り制」以外に、ソフトウェ
アの使用量に応じて料金を支払う「従量制」の形態があ
る。さらに、この「従量制」を実現する方法は大きく分
けて2つあって、その第1は、ソフトウェアを実行する
回数や有効期限などの条件を予めソフト販売者とユーザ
との間で契約し、その範囲で実行を許可する「実行制御
方法」であり、第2は、実行器におけるソフトウェアの
実行履歴に関する情報を蓄積し、後日、それに応じた料
金を支払う方法である。
By the way, in this conventional example, if the paying fee is first paid to obtain the encrypted soft key for the executor 101, the executor 101 can execute the software any number of times. . In addition to the so-called "purchase system", there are other forms of software purchase that include a "pay-as-you-go" system in which a fee is paid according to the amount of software used. Furthermore, there are roughly two methods for realizing this "pay-as-you-go" system. The first is to contract the software seller and the user in advance for conditions such as the number of times the software is executed and the expiration date. This is an "execution control method" that permits execution within that range, and the second is a method of accumulating information about the execution history of software in the executor and paying a fee according to it at a later date.

【0007】本従来例の不正防止方法は、上記のような
「従量制」の形態のソフトウェアに対応する機能を備え
ていない。そこで、「従量制」の形態のソフトウェアに
ついても不正使用を防止できるようにした方法が、以下
に説明する第2の従来例である。ただし、第2の従来例
は、上記の2つの方法のうち、「実行制御方法」を採用
しており、簡単のために、ソフトウェアを実行する回数
を制限する場合に限定している。なお、後に説明する第
3の従来例ならびに第1および第2の実施形態において
も同様に、ソフトウェアの実行に関する制限を、実行回
数の制限に限定している。また、ソフト販売者とユーザ
との間で契約し、ユーザが得る情報を「実行許可情報」
と呼ぶことにし、ユーザは、この実行許可情報の範囲内
で、ソフトウェアを実行することができるものとする。
従って、以下では、「実行許可情報」とは、ソフトウェ
アを所定の回数実行する権利を意味する。
The fraud prevention method of the conventional example does not have a function corresponding to the above-mentioned "pay-as-you-go" software. Therefore, the second conventional example described below is a method for preventing unauthorized use of software in a "pay-as-you-go" form. However, the second conventional example adopts the “execution control method” of the above two methods, and for the sake of simplicity, it is limited to the case where the number of times software is executed is limited. In the third conventional example and the first and second embodiments, which will be described later, similarly, the limitation on the execution of software is limited to the limitation on the number of times of execution. In addition, a contract is signed between the software seller and the user, and the information obtained by the user is "execution permission information".
It is assumed that the user can execute the software within the range of the execution permission information.
Therefore, in the following, “execution permission information” means the right to execute the software a predetermined number of times.

【0008】(第2の従来例)図10は、第2の従来例
に係るソフトウェア実行制御システムの構成を示すブロ
ック図である。図10において、ソフト鍵Kおよび実行
回数nを実行器101の固有鍵Sxで暗号化した暗号化
ソフト鍵/実行回数E(Sx,(K,n))が、暗号化
ソフトE(K,SoftA)と共に記録媒体103に格
納されている。ここで、実行回数とは、残りの実行可能
な回数を意味する(以下においても同様である)。ソフ
トウェアSoftAを実行する際には、実行器101
は、最初、記録媒体103から暗号化ソフト鍵/実行回
数E(Sx,(K,n))を獲得し、これを復号部10
4において固有鍵Sxで復号して、ソフト鍵Kおよび実
行回数nを求める。次に、実行器101は、復号部10
5において、ソフト鍵Kにより暗号化ソフトE(K,S
oftA)を復号して、ソフトウェアSoftAを求め
る一方、実行回数検査部106において、実行回数nが
1以上であるか否かを検査する。nが1以上であれば、
実行器101は、復号したソフトウェアSoftAを実
行する。ソフトウェアSoftAの実行後、実行器10
1は、実行回数更新部107において実行回数nを1減
少してn’(=n−1)に更新し、続いて、暗号部10
8において、このn’をソフト鍵Kと共に固有鍵Sxで
暗号化する。そして、実行器101は、この更新された
暗号化ソフト鍵/実行回数E(Sx,(K,n’))を
記録媒体103に再び格納する。
(Second Conventional Example) FIG. 10 is a block diagram showing the configuration of a software execution control system according to the second conventional example. In FIG. 10, the encrypted soft key / execution count E (Sx, (K, n)) obtained by encrypting the soft key K and the execution count n with the unique key Sx of the executor 101 is the encryption software E (K, SoftA ) Are stored in the recording medium 103. Here, the number of times of execution means the remaining number of times of execution (the same applies to the following). When executing the software SoftA, the execution unit 101
First obtains the encrypted soft key / number of executions E (Sx, (K, n)) from the recording medium 103, and decrypts this.
In step 4, the soft key K and the execution count n are obtained by decrypting with the unique key Sx. Next, the executor 101 includes the decoding unit 10
5, the encryption software E (K, S
While software (AftA) is decoded to obtain software SoftA, the execution count inspecting unit 106 inspects whether or not the execution count n is 1 or more. If n is 1 or more,
The executor 101 executes the decrypted software SoftA. After executing the software SoftA, the executor 10
1, the execution count updating unit 107 reduces the execution count n by 1 to update to n ′ (= n−1), and then the encryption unit 10
At 8, the n'is encrypted with the soft key K by the unique key Sx. Then, the executor 101 stores the updated encrypted soft key / number of executions E (Sx, (K, n ′)) in the recording medium 103 again.

【0009】(第3の従来例)図11は、第3の従来例
に係るソフトウェア実行制御システムの構成を示すブロ
ック図である。図11において、このソフトウェア実行
システムは、読み出し専用の記録媒体110と、ソフト
ウェアを実行する実行器111と、実行器111に接続
されてソフトウェアの実行制御を行い、かつ、外部から
は情報の読み出しおよび書き込みの困難なコプロセッサ
112とを備えている。コプロセッサ112に含まれる
固有鍵格納部113に、実行器111に固有の鍵Syが
格納されており、記録媒体110には、第2の従来例と
同様に、ソフト鍵Kで暗号化された暗号化ソフトE
(K,SoftA)と、固有鍵Syで暗号化された暗号
化ソフト鍵/実行回数E(Sy,(K,n))とが格納
されている。
(Third Conventional Example) FIG. 11 is a block diagram showing the configuration of a software execution control system according to the third conventional example. In FIG. 11, the software execution system includes a read-only recording medium 110, an executing unit 111 that executes software, an execution unit 111 that is connected to the executing unit 111 to control execution of the software, and read out information from the outside. And a coprocessor 112 that is difficult to write. The unique key storage unit 113 included in the coprocessor 112 stores the unique key Sy of the executor 111, and the recording medium 110 is encrypted with the soft key K as in the second conventional example. Encryption software E
(K, SoftA) and the encrypted soft key encrypted with the unique key Sy / number of executions E (Sy, (K, n)) are stored.

【0010】本従来例では、最初、ユーザは、記録媒体
110に格納された情報を、コプロセッサ112にイン
ストールする。コプロセサ112は、インストールされ
た暗号化ソフト鍵/実行回数E(Sy,(K,n))
を、復号部114において固有鍵Syで復号し、ソフト
鍵Kおよび実行回数nを求め、求めたソフト鍵Kおよび
実行回数nを、自己の内部のソフト鍵格納部115およ
び実行回数格納部116にそれぞれ格納する。次に、コ
プロセサ112は、インストールされた暗号化ソフトE
(K,SoftA)を、復号部117において求めたソ
フト鍵Kで復号し、実行回数検査部119において、実
行回数nが1以上であることを検査する。実行回数nが
1以上であれば、実行器111は、ソフトウェアSof
tAを実行する。この際、コプロセッサ112は、実行
回数更新部118において、実行回数nを1減少して
n’とし、このn’を実行回数格納部116に格納す
る。なお、このインストールにより、記録媒体110の
暗号化ソフト鍵/実行回数E(Sy,(K,n))に関
する部分は無効化され、再びインストールすることはで
きない。
In this conventional example, first, the user installs the information stored in the recording medium 110 in the coprocessor 112. Coprocessor 112 is the installed encrypted soft key / number of executions E (Sy, (K, n))
Is decrypted with the unique key Sy in the decryption unit 114 to obtain the soft key K and the execution count n. Store each. Next, the coprocessor 112 uses the installed encryption software E.
(K, SoftA) is decrypted with the soft key K obtained by the decryption unit 117, and the execution count inspection unit 119 inspects that the execution count n is 1 or more. If the execution count n is 1 or more, the execution unit 111 determines that the software Sof
Perform tA. At this time, in the coprocessor 112, the execution count updating unit 118 decrements the execution count n by 1 to n ′, and stores this n ′ in the execution count storage unit 116. By this installation, the portion related to the encrypted soft key / execution count E (Sy, (K, n)) of the recording medium 110 is invalidated and cannot be installed again.

【0011】[0011]

【発明が解決しようとする課題】上記第1の従来例に、
実行回数を制限する機能を加えた上記第2の従来例で
は、以下に述べる二つの問題がある。その第一は、ユー
ザが、実行回数nが0になる以前の記録媒体をコピーし
ておけば、コピーのソフトウェアを、コピーした時点で
の実行回数分だけ実行することができるという問題であ
る。コピーのコピーを実行することも可能であり、従っ
て、実質的にソフトウェアは無限回実行可能となる(以
下ではこれを第1の攻撃と呼ぶことにする)。
DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention
The above-mentioned second conventional example in which the function of limiting the number of executions is added has the following two problems. The first problem is that if the user copies a recording medium before the execution count n becomes 0, the copy software can be executed by the execution count at the time of copying. It is also possible to perform a copy of a copy, thus allowing the software to be executed virtually indefinitely (hereinafter referred to as the first attack).

【0012】その第二は、実行の度に実行回数nを1ず
つ減少してn’とし、これに伴って更新した暗号化ソフ
ト鍵/実行回数E(Sx,(K,n’))を記録媒体に
書き込むが、この書き込みを妨害することにより、実行
回数の制限を実質的に無効にすることができるという問
題である。すなわち、記録媒体に格納されている実行許
可情報に含まれる実行回数nは、実行しても減少しない
(以下ではこれを第2の攻撃と呼ぶことにする)。
Secondly, the number of executions n is decreased by 1 each time it is executed to n ', and the encrypted soft key / the number of executions E (Sx, (K, n')) updated accordingly is updated. Writing on the recording medium is a problem that the limitation of the number of executions can be substantially invalidated by interfering with the writing. That is, the number of executions n included in the execution permission information stored in the recording medium does not decrease even if it is executed (hereinafter, this will be referred to as a second attack).

【0013】上記第1および第2の攻撃を防ぐため、上
記第3の従来例では、第2の従来例の実行制御に関わる
構成要素を、外部からは読み出しおよび書き込みができ
ないコプロセッサ内に設けるようにしている。ところ
が、こうした専用のコプロセッサを備えるとコストが高
くなるという問題がある。しかも、第2の従来例では、
ソフト鍵および実行回数を格納する場所は、ソフトウェ
アを格納している記録媒体であるのに対し、第3の従来
例では、第2の従来例の構成要素に加えて、ソフト鍵お
よび実行回数を格納するための記憶領域を、コプロセッ
サ内に、さらに備えることが必要である。特に、複数の
ソフトウェアを同時に扱う場合には、それぞれのソフト
ウェアについて、こうした記憶領域を確保しなければな
らないため、よりコスト高となる問題がある。
In order to prevent the above-mentioned first and second attacks, in the above-mentioned third conventional example, the components related to the execution control of the second conventional example are provided in the coprocessor which cannot be read or written from the outside. I am trying. However, the provision of such a dedicated coprocessor raises the cost. Moreover, in the second conventional example,
The place where the soft key and the execution count are stored is the recording medium that stores the software, whereas the third conventional example stores the soft key and the execution count in addition to the components of the second conventional example. It is necessary to further provide a storage area for storing in the coprocessor. In particular, when a plurality of pieces of software are handled at the same time, such a storage area must be secured for each piece of software, which causes a problem of higher cost.

【0014】したがって、本発明の目的は、実行回数を
制限されたソフトウェアに対する上記第1および第2の
攻撃を防止することである。さらに、本発明の他の目的
は、実行回数を制限されたソフトウェアを、同時に複数
取り扱う場合にも、上記第1および第2の攻撃を防止す
ると同時に、備える必要のある読み出しおよび書き込み
が困難な記憶領域を、できるだけ小さくすることであ
る。
Therefore, an object of the present invention is to prevent the above-mentioned first and second attacks on software whose execution frequency is limited. Further, another object of the present invention is to prevent the above first and second attacks even when a plurality of pieces of software whose execution times are limited are handled at the same time, and at the same time, it is necessary to provide a memory that is difficult to read and write. The area should be as small as possible.

【0015】[0015]

【課題を解決するための手段および発明の効果】以下に
は、上記目的を達成するための本発明の構成を示すが、
後述する実施形態との対応関係を明確にするために、本
発明で採用される各構成要素には、対応する部分の参照
番号を付しておく。ただし、この参照番号は、あくまで
も理解を容易にするためおよび参考のために付されるの
であって、本発明の請求の範囲を限定的に解釈するもの
ではないことを予め指摘しておく。
Means for Solving the Problems and Effects of the Invention The structure of the present invention for achieving the above object will be described below.
In order to clarify the correspondence relationship with the embodiments described later, each constituent element adopted in the present invention is provided with the corresponding reference numeral. However, it should be pointed out in advance that the reference numbers are given only for easy understanding and for reference, and do not limit the scope of the claims of the present invention.

【0016】第1の発明は、予め定められた実行許可情
報に従ってソフトウェアの実行を制御し、かつ当該実行
許可情報の不正な使用を防止するためのソフトウェア実
行制御システムであって、ソフトウェアおよび暗号化さ
れた実行許可情報を格納し、かつ情報の読み出しおよび
書き込みが可能な記録媒体(1)が、ソフトウェアを実
行する実行器(2)に情報伝達可能に接続され、実行器
(2)は、乱数を格納し、かつ自己の外部からは情報の
読み出しおよび書き込みが困難な乱数格納手段(3)
と、記録媒体(1)から暗号化された実行許可情報を獲
得して、乱数格納手段(3)から取得した乱数で復号す
る復号手段(4)と、記録媒体(1)からソフトウェア
を獲得して、復号手段(4)の復号によって得られた実
行許可情報に従って実行するソフト実行手段(7)と、
ソフトウェアの実行に関連して、乱数格納手段(3)に
格納された乱数を更新する乱数更新手段(9)と、復号
手段(4)の復号によって得られた実行許可情報を、ソ
フト実行手段(7)がソフトウェアを実行した後に、乱
数更新手段(9)によって更新された乱数で暗号化し
て、記録媒体(1)に格納する暗号化手段(10)とを
備えている。
A first aspect of the present invention is a software execution control system for controlling execution of software according to predetermined execution permission information and preventing unauthorized use of the execution permission information. A recording medium (1) that stores the executed execution permission information and is capable of reading and writing information is connected to an executor (2) that executes software so that information can be transmitted, and the executor (2) is a random number. Random number storage means (3) that stores information and is difficult to read and write information from outside
And a decryption means (4) for obtaining the encrypted execution permission information from the recording medium (1) and decrypting it with the random number obtained from the random number storage means (3), and the software from the recording medium (1). And software execution means (7) for executing according to the execution permission information obtained by the decryption by the decryption means (4),
In connection with the execution of the software, the random number updating means (9) for updating the random number stored in the random number storage means (3) and the execution permission information obtained by the decoding of the decoding means (4) are stored in the software execution means ( After the software 7) executes the software, it is provided with an encryption means (10) for encrypting with the random number updated by the random number updating means (9) and storing it in the recording medium (1).

【0017】上記のように、第1の発明は、ソフトウェ
アを実行する実行器と、ソフトウェアおよび暗号化され
た実行許可情報を格納している記録媒体とで構成されて
いる。最初、実行器に備えられた復号手段は、記録媒体
から暗号化された実行許可情報を獲得し、乱数格納手段
に格納された乱数で復号して実行許可情報を求める。次
に、ソフト実行手段は、求められた実行許可情報に従っ
てソフトウェアを実行する。ソフトウェアの実行に関連
して、乱数更新手段は乱数格納手段に格納された乱数を
更新する。次に、暗号化手段は、更新された実行許可情
報を、更新された乱数で暗号化して記録媒体に格納す
る。
As described above, the first aspect of the invention comprises the executor for executing the software and the recording medium storing the software and the encrypted execution permission information. First, the decryption unit included in the executor obtains the encrypted execution permission information from the recording medium and decrypts the encrypted execution permission information with the random number stored in the random number storage unit to obtain the execution permission information. Next, the software executing means executes the software according to the requested execution permission information. In connection with the execution of software, the random number updating means updates the random number stored in the random number storing means. Next, the encryption means encrypts the updated execution permission information with the updated random number and stores it in the recording medium.

【0018】このように、実行器の内部の、情報の読み
出しおよび書き込みが困難な乱数格納手段に乱数を格納
しておき、この乱数で実行許可情報を暗号化する。ソフ
トウェアの実行に関連して、乱数を更新することによ
り、正規の実行器以外の実行器でソフトウェアが不正に
実行されるのを防止することができる。また、第1の発
明では、読み出しおよび書き込みが困難な乱数格納手段
は、1個の乱数を格納するだけの大きさの領域を準備す
ればよく、実現するためのコストも最小にすることがで
きる。
As described above, the random number is stored in the random number storage means in the execution unit where it is difficult to read and write information, and the execution permission information is encrypted with this random number. By updating the random number in connection with the execution of the software, it is possible to prevent the software from being illegally executed by an execution unit other than the regular execution unit. Further, in the first aspect of the invention, the random number storage means that is difficult to read and write only needs to prepare an area large enough to store one random number, and the cost for realizing it can be minimized. .

【0019】第2の発明は、第1の発明において、ソフ
トウェアの実行にともなって、復号手段(4)の復号に
よって得られた実行許可情報を更新する実行許可情報更
新手段(8)をさらに備え、暗号化手段(10)は、実
行許可情報更新手段(8)によって更新された実行許可
情報を、乱数更新手段(9)によって更新された乱数で
暗号化して、記録媒体(2)に格納することを特徴とし
ている。
A second aspect of the present invention further comprises an execution permission information updating means (8) for updating the execution permission information obtained by the decryption of the decryption means (4) as the software is executed. The encryption means (10) encrypts the execution permission information updated by the execution permission information updating means (8) with the random number updated by the random number updating means (9) and stores it in the recording medium (2). It is characterized by that.

【0020】上記のように、第2の発明は、第1の発明
において、実行許可情報更新手段をさらに備えている。
実行許可情報更新手段は、ソフトウェアの実行にともな
って実行許可情報を更新し、暗号化手段は、実行許可情
報更新手段によって更新された実行許可情報を暗号化し
て記録媒体に格納する。これにより、第2の発明は、コ
ピーされた実行許可情報の不正使用を防止することがで
きる。すなわち、記録媒体に格納された、暗号化された
実行許可情報をある時点でコピーして保存しておき、1
回以上ソフトウェアを実行した後に、記録媒体に格納さ
れている暗号化された実行許可情報を、このコピーされ
た暗号化された実行許可情報に差し替える。このとき、
実行器の保有する乱数は実行に関連して更新されている
ため、実行器は、このコピーされた暗号化された実行許
可情報を復号することができない。また、第2の発明
は、更新された実行許可情報の記録媒体への書き込みを
妨害して、更新を事実上無効にする攻撃を防止すること
ができる。すなわち、実行器は、ソフトウェアの実行の
際、自己の保有する乱数を更新しているため、更新前の
暗号化された実行許可情報を、もはや復号することがで
きない。
As described above, the second aspect of the present invention further includes the execution permission information updating means in the first aspect of the invention.
The execution permission information updating means updates the execution permission information as the software is executed, and the encryption means encrypts the execution permission information updated by the execution permission information updating means and stores it in the recording medium. As a result, the second aspect of the present invention can prevent unauthorized use of the copied execution permission information. That is, the encrypted execution permission information stored in the recording medium is copied and saved at a certain point of time.
After the software is executed more than once, the encrypted execution permission information stored in the recording medium is replaced with the copied execution permission information. At this time,
Since the random number held by the executor is updated in association with the execution, the executor cannot decrypt the copied encrypted execution permission information. The second aspect of the present invention can prevent an attack that obstructs the writing of the updated execution permission information to the recording medium to effectively invalidate the update. That is, since the executor updates the random number held by itself when executing the software, it can no longer decrypt the encrypted execution permission information before the update.

【0021】第3の発明は、第1または第2の発明にお
いて、乱数更新手段(9)が、ソフトウェアの実行毎
に、乱数格納手段(3)に格納された乱数を更新するこ
とを特徴としている。
A third invention is characterized in that in the first or second invention, the random number updating means (9) updates the random number stored in the random number storing means (3) every time the software is executed. There is.

【0022】このように、第3の発明では、ソフト実行
手段がソフトウェアを実行するごとに、乱数更新手段は
乱数格納手段に格納された乱数を更新する。これによ
り、ソフトウェアの不正な使用の防止効果を最も大きく
することができる。
As described above, in the third invention, the random number updating means updates the random number stored in the random number storing means every time the software executing means executes the software. As a result, the effect of preventing unauthorized use of software can be maximized.

【0023】第4の発明は、第1または第2の発明にお
いて、乱数更新手段(9)が、予め決められた複数回の
ソフトウェアの実行に一度、乱数格納手段(3)に格納
された乱数を更新することを特徴としている。
In a fourth aspect based on the first or second aspect, the random number updating means (9) stores the random number stored in the random number storing means (3) once every predetermined plural times of execution of the software. It is characterized by updating.

【0024】このように、第4の発明では、ソフト実行
手段がソフトウェアを予め決められた複数回実行するご
とに一度、乱数更新手段は乱数格納手段に格納された乱
数を更新する。これにより、実行制御に要する処理の負
荷を軽減しながら、ソフトウェアの不正使用を効果的に
防止することができる。
As described above, in the fourth aspect, the random number updating means updates the random number stored in the random number storing means once every time the software executing means executes the software a plurality of predetermined times. As a result, it is possible to effectively prevent unauthorized use of software while reducing the processing load required for execution control.

【0025】第5の発明は、第1または第2の発明にお
いて、乱数更新手段(9)が、予め決められた可変の回
数のソフトウェアの実行に一度、乱数格納手段(3)に
格納された乱数を更新し、乱数の更新の間隔に関する情
報を、ソフトウェア使用者に秘密にすることを特徴とし
ている。
In a fifth aspect based on the first or second aspect, the random number updating means (9) is stored in the random number storing means (3) once every predetermined variable number of times the software is executed. The feature is that the random number is updated and the information about the interval for updating the random number is kept secret to the software user.

【0026】このように、第5の発明では、ソフト実行
手段がソフトウェアを予め決められた可変の回数実行す
るごとに一度、乱数更新手段は乱数格納手段に格納され
た乱数を更新する。これにより、乱数の更新の頻度に対
する不正防止の効果を高めることができる。
As described above, in the fifth aspect of the invention, the random number updating means updates the random number stored in the random number storing means once every time the software executing means executes the software a predetermined number of times. As a result, the effect of preventing fraud with respect to the frequency of updating the random numbers can be enhanced.

【0027】第6の発明は、第1または第2の発明にお
いて、乱数格納手段(3)は、実行器(2)に設けられ
る代わりに、記録媒体(1)に設けられることを特徴と
している。
A sixth invention is characterized in that, in the first or second invention, the random number storage means (3) is provided in the recording medium (1) instead of being provided in the executor (2). .

【0028】上記のように、第6の発明では、記録媒体
が乱数格納手段を備え、実行器は、ソフトウェアを実行
する際に、この乱数格納手段に格納された乱数を取得す
る。実行器は、取得した乱数で暗号化された実行許可情
報を復号して実行許可情報を求め、求めた実行許可情報
に従ってソフトウェアを実行する。次に、実行器は、乱
数を更新し、更新した乱数を記録媒体内の乱数格納手段
に格納する。このように、記録媒体に格納された暗号化
された実行許可情報を、当該記録媒体に格納された乱数
で復号するため、ソフトウェアを実行する実行器を特定
することなく、実行制御を行うことができる。
As described above, in the sixth aspect of the present invention, the recording medium includes the random number storage means, and the executor acquires the random number stored in the random number storage means when executing the software. The executor decrypts the execution permission information encrypted with the acquired random number to obtain the execution permission information, and executes the software according to the obtained execution permission information. Next, the executor updates the random number and stores the updated random number in the random number storage means in the recording medium. In this way, since the encrypted execution permission information stored in the recording medium is decrypted by the random number stored in the recording medium, execution control can be performed without specifying the executor that executes the software. it can.

【0029】第7の発明は、第1または第2の発明にお
いて、記録媒体(1)の代わりに、読み出し専用の第1
の記録媒体と、読み出しおよび書き込みが可能な第2の
記録媒体とが実行器(2)に接続され、第1の記録媒体
はソフトウェアを格納し、第2の記録媒体は暗号化され
た実行許可情報を格納することを特徴としている。
A seventh aspect of the invention is the read-only first aspect of the first or second aspect of the invention, instead of the recording medium (1).
Recording medium and a readable and writable second recording medium are connected to an executor (2), the first recording medium stores software, and the second recording medium is an encrypted execution permission. It is characterized by storing information.

【0030】このように、第7の発明では、読み出し専
用の記録媒体にソフトウェアを格納し、読み出しおよび
書き込みが可能な記録媒体には暗号化された実行許可情
報を格納する。これにより、乱数の更新にともなって書
き換えが必要な実行許可情報は、読み出しおよび書き込
みが可能な記録媒体に格納するが、更新の必要がないソ
フトウェアの格納には、読み出し専用の記録媒体を用い
ることができる。
As described above, in the seventh invention, the software is stored in the read-only recording medium, and the encrypted execution permission information is stored in the readable and writable recording medium. As a result, the execution permission information that needs to be rewritten when the random number is updated is stored in a readable and writable recording medium, but a read-only recording medium should be used for storing software that does not need updating. You can

【0031】第8の発明は、第1または第2の発明にお
いて、記録媒体(1)に格納されたソフトウェアは、暗
号化されており、ソフト実行手段(7)は、記録媒体
(1)から暗号化されたソフトウェアを獲得して、復号
手段(4)の復号によって得られた実行許可情報に従っ
て復号し、復号して得たソフトウェアを実行することを
特徴としている。
In an eighth aspect based on the first or second aspect, the software stored in the recording medium (1) is encrypted, and the software executing means (7) operates from the recording medium (1). It is characterized in that the encrypted software is acquired, decrypted according to the execution permission information obtained by the decryption of the decryption means (4), and the decrypted software is executed.

【0032】上記のように、第8の発明では、記録媒体
に格納されたソフトウェアは暗号化されており、ソフト
実行手段は、復号手段の復号によって得られた実行許可
情報に従って、暗号化されたソフトウェアを復号し、復
号して得たソフトウェアを実行する。このように、ソフ
トウェアを暗号化しておくことにより、さらに安全性を
高めることができる。
As described above, in the eighth invention, the software stored in the recording medium is encrypted, and the software executing means is encrypted according to the execution permission information obtained by the decryption of the decrypting means. Decrypt the software and execute the decrypted software. By thus encrypting the software, the security can be further enhanced.

【0033】第9の発明は、予め定められた実行許可情
報に従ってソフトウェアの実行を制御し、かつ当該実行
許可情報の不正な使用を防止するためのソフトウェア実
行制御システムであって、複数の、ソフトウェア、暗号
化された実行許可情報および暗号化された補助鍵を格納
し、かつ情報の読み出しおよび書き込みが可能な記録媒
体(20)が、ソフトウェアを実行する実行器(21)
に情報伝達可能に接続され、実行器(21)は、乱数を
格納し、かつ自己の外部からは情報の読み出しおよび書
き込みが困難な乱数格納手段(22)と、記録媒体(2
0)から暗号化された補助鍵を獲得して、乱数格納手段
(22)から取得した乱数で復号する第1の復号手段
(23)と、記録媒体(20)から暗号化された実行許
可情報を獲得して、第1の復号手段(23)の復号によ
って得られた補助鍵で復号する第2の復号手段(24)
と、記録媒体(20)から対応するソフトウェアを獲得
して、第2の復号手段(24)の復号によって得られた
実行許可情報に従って実行するソフト実行手段(29)
と、第2の復号手段(24)の復号によって得られた実
行許可情報を、ソフト実行手段(29)が対応するソフ
トウェアを実行した後に、第1の復号手段(23)の復
号によって得られた補助鍵で暗号化して、記録媒体(2
0)に格納する第1の暗号化手段(28)と、ソフトウ
ェアの実行に関連して、記録媒体(20)から全ての暗
号化された補助鍵を獲得して、乱数格納手段(22)に
格納された乱数で復号する第3の復号手段(30)と、
第3の復号手段(30)の復号に連携して、乱数格納手
段(22)に格納された乱数を更新する乱数更新手段
(31)と、第3の復号手段(30)の復号によって得
られた補助鍵を、乱数更新手段(31)によって更新さ
れた乱数で暗号化して、記録媒体(20)に格納する第
2の暗号化手段(32)とを備えている。
A ninth invention is a software execution control system for controlling execution of software according to predetermined execution permission information and preventing illegal use of the execution permission information. An executor (21) that executes software by a recording medium (20) that stores encrypted execution permission information and an encrypted auxiliary key and is readable and writable of information.
And a recording medium (2). The execution unit (21) stores a random number, and the random number storage unit (22) is difficult to read and write information from the outside.
0) to obtain the encrypted auxiliary key, and the first decryption means (23) to decrypt with the random number obtained from the random number storage means (22), and the execution permission information encrypted from the recording medium (20). Second decryption means (24) that obtains and decrypts with the auxiliary key obtained by the decryption of the first decryption means (23).
And software execution means (29) for acquiring the corresponding software from the recording medium (20) and executing it according to the execution permission information obtained by the decryption of the second decryption means (24).
And the execution permission information obtained by the decryption of the second decryption means (24) is obtained by the decryption of the first decryption means (23) after the software execution means (29) executes the corresponding software. Encrypt with the auxiliary key,
0) for storing the first encryption means (28) and all the encrypted auxiliary keys from the recording medium (20) in connection with the execution of the software, and store them in the random number storage means (22). Third decoding means (30) for decoding with the stored random number,
It is obtained by the random number updating means (31) for updating the random number stored in the random number storing means (22) in cooperation with the decoding by the third decoding means (30) and the decoding by the third decoding means (30). The auxiliary key is encrypted with the random number updated by the random number updating means (31) and is stored in the recording medium (20), and the second encryption means (32) is provided.

【0034】上記のように、第9の発明は、ソフトウェ
アを実行する実行器と、複数の、ソフトウェア、暗号化
された実行許可情報および暗号化された補助鍵が格納さ
れた記録媒体とで構成される。最初、実行器に備えられ
た第1の復号手段は、記録媒体から、実行すべきソフト
ウェアに対応する暗号化された補助鍵を獲得し、乱数格
納手段に格納された乱数で復号して補助鍵を求める。次
に、第2の復号手段は、記録媒体から当該ソフトウェア
に対応する暗号化された実行許可情報を獲得し、第1の
復号手段の復号によって求められた補助鍵で復号して、
実行許可情報を得る。ソフト実行手段は、得られた実行
許可情報に従って、当該ソフトウェアを実行する。続い
て、第1の暗号化手段は、第1の復号手段の復号によっ
て求められた補助鍵で、得られた実行許可情報を暗号化
して記録媒体に格納する。また、第3の復号手段は、ソ
フトウェアの実行に関連して、記録媒体から、全ての暗
号化された補助鍵を獲得し、乱数格納手段に格納された
乱数で復号して補助鍵を求める。第3の復号手段の復号
に連携して、乱数更新手段は乱数格納手段に格納された
乱数を更新する。第2の暗号化手段は、第3の復号手段
の復号によって求められた補助鍵を、更新された乱数で
暗号化して記録媒体に格納する。
As described above, the ninth invention comprises an executor for executing software, and a plurality of recording media in which software, encrypted execution permission information and encrypted auxiliary keys are stored. To be done. First, the first decryption means provided in the executor obtains the encrypted auxiliary key corresponding to the software to be executed from the recording medium, decrypts it with the random number stored in the random number storage means, and then the auxiliary key. Ask for. Next, the second decryption means acquires the encrypted execution permission information corresponding to the software from the recording medium, and decrypts it with the auxiliary key obtained by the decryption of the first decryption means,
Get execution permission information. The software executing means executes the software according to the obtained execution permission information. Then, the first encryption means encrypts the obtained execution permission information with the auxiliary key obtained by the decryption of the first decryption means and stores it in the recording medium. Further, the third decryption means obtains all the encrypted auxiliary keys from the recording medium in association with the execution of the software, and decrypts them with the random number stored in the random number storage means to obtain the auxiliary key. The random number updating means updates the random number stored in the random number storing means in cooperation with the decoding by the third decoding means. The second encryption means encrypts the auxiliary key obtained by the decryption of the third decryption means with the updated random number and stores it in the recording medium.

【0035】このように、一つの実行器で複数のソフト
ウェアを取り扱う場合には、ソフトウェア毎の実行許可
情報をそれぞれに専用の補助鍵で暗号化し、さらに、こ
れらの補助鍵を乱数で暗号化する。そして、ソフトウェ
アの実行に関連して乱数を更新することにより、第1の
発明と同様に、正規の実行器以外の実行器でソフトウェ
アが不正に実行されるのを防止することができる。ま
た、取り扱うソフトウェアの数に関わらず、使用する乱
数は一つだけでよため、乱数を格納するための読み出し
および書き込みが困難な記憶領域は、一つの乱数を格納
するだけの大きさを備えればよい。
As described above, when a plurality of software is handled by a single executor, the execution permission information for each software is encrypted with a dedicated auxiliary key for each software, and further, these auxiliary keys are encrypted with random numbers. . Then, by updating the random number in association with the execution of the software, it is possible to prevent the software from being illegally executed by an execution device other than the regular execution device, as in the first invention. Also, since only one random number is used, regardless of the number of software handled, the storage area for storing random numbers that is difficult to read and write must be large enough to store one random number. Good.

【0036】第10の発明は、第9の発明において、ソ
フトウェアの実行にともなって、第2の復号手段(2
4)の復号によって得られた実行許可情報を更新する実
行許可情報更新手段(27)をさらに備え、第1の暗号
化手段(28)は、実行許可情報更新手段(27)によ
って更新された実行許可情報を、第1の復号手段(2
3)の復号によって得られた補助鍵で暗号化して、記録
媒体(20)に格納することを特徴としている。
In a tenth aspect based on the ninth aspect, the second decoding means (2
4) further comprises execution permission information updating means (27) for updating the execution permission information obtained, and the first encryption means (28) executes the execution permission information updating means (27). The permission information is transferred to the first decryption means (2
It is characterized in that it is encrypted with the auxiliary key obtained by the decryption of 3) and stored in the recording medium (20).

【0037】上記のように、第10の発明では、実行許
可情報更新手段が、ソフトウェアの実行にともなって実
行許可情報を更新し、第1の暗号化手段は、実行許可情
報更新手段によって更新された実行許可情報を補助鍵で
暗号化する。これにより、第10の発明は、一つの実行
器で複数のソフトウェアを取り扱う場合にも、第2の発
明と同様にして、コピーされた実行許可情報の不正な使
用、および更新された実行許可情報の記録媒体への書き
込み妨害を防止することができる。
As described above, in the tenth invention, the execution permission information updating means updates the execution permission information as the software is executed, and the first encryption means is updated by the execution permission information updating means. The execution permission information is encrypted with the auxiliary key. Thus, in the tenth invention, even when a plurality of software is handled by one executor, similar to the second invention, the illegal use of the copied execution permission information and the updated execution permission information are performed. It is possible to prevent the write interference to the recording medium.

【0038】第11の発明は、第9または第10の発明
において、第3の復号手段(30)が、ソフトウェアの
実行毎に記録媒体(20)から全ての暗号化された補助
鍵を獲得して、乱数格納手段(22)に格納された乱数
で復号することを特徴としている。
An eleventh invention is the ninth or tenth invention, wherein the third decryption means (30) acquires all the encrypted auxiliary keys from the recording medium (20) every time the software is executed. Then, the decoding is performed by using the random number stored in the random number storage means (22).

【0039】このように、第11の発明では、ソフト実
行手段がソフトウェアを実行するごとに、第3の復号手
段は記録媒体から暗号化された補助鍵を獲得して、乱数
新手段に格納された乱数で復号する。これにより、ソフ
トウェアの不正な使用の防止効果を最も大きくすること
ができる。
As described above, in the eleventh aspect of the invention, each time the software execution means executes the software, the third decryption means acquires the encrypted auxiliary key from the recording medium and stores it in the random number new means. Decrypt with random numbers. As a result, the effect of preventing unauthorized use of software can be maximized.

【0040】第12の発明は、第9または第10の発明
において、第3の復号手段(30)が、予め決められた
複数回のソフトウェアの実行に一度、記録媒体(20)
から全ての暗号化された補助鍵を獲得して、乱数格納手
段(22)に格納された乱数で復号することを特徴とし
ている。
A twelfth invention is the recording medium (20) according to the ninth or tenth invention, wherein the third decryption means (30) executes the software once a predetermined plurality of times.
It is characterized in that all the encrypted auxiliary keys are acquired from and decrypted with the random numbers stored in the random number storage means (22).

【0041】上記のように、第12の発明では、ソフト
実行手段がソフトウェアを予め決められた複数回実行す
るごとに一度、第3の復号手段は記録媒体から全ての暗
号化された補助鍵を獲得して、乱数格納手段に格納され
た乱数で復号する。これにより、実行制御に要する処理
の負荷を軽減しながら、ソフトウェアの不正な使用を効
果的に防止することができる。
As described above, in the twelfth aspect of the invention, the third decryption means removes all encrypted auxiliary keys from the recording medium once every time the software execution means executes the software a plurality of predetermined times. It is acquired and decrypted by the random number stored in the random number storage means. This makes it possible to effectively prevent unauthorized use of software while reducing the processing load required for execution control.

【0042】第13の発明は、第9または第10の発明
において、第3の復号手段(30)は、予め決められた
可変の回数のソフトウェアの実行に一度、記録媒体(2
0)から全ての暗号化された補助鍵を獲得して、乱数格
納手段(22)に格納された乱数で復号し、暗号化され
た補助鍵の復号の間隔に関する情報をソフトウェア使用
者に秘密にすることを特徴としている。
In a thirteenth invention based on the ninth or tenth invention, the third decoding means (30) is arranged so that the recording medium (2) is executed once every predetermined variable number of times of software execution.
0) obtains all encrypted auxiliary keys, decrypts them with the random numbers stored in the random number storage means (22), and keeps information about the decryption interval of the encrypted auxiliary keys secret to the software user. It is characterized by doing.

【0043】上記のように、第13の発明では、ソフト
実行手段がソフトウェアを予め決められた可変の数回実
行するごとに一度、第3の復号手段は記録媒体から全て
の暗号化された補助鍵を獲得して、乱数格納手段に格納
された乱数で復号する。また、補助鍵の復号に関する情
報は、ソフトウェア使用者に秘密にされる。これによ
り、乱数の更新の頻度に対する不正防止の効果を高める
ことができる。
As described above, in the thirteenth invention, once every time the software execution means executes the software a predetermined number of times, the third decryption means causes all the encrypted auxiliary data from the recording medium. The key is obtained and decrypted with the random number stored in the random number storage means. Also, the information regarding the decryption of the auxiliary key is kept secret to the software user. As a result, the effect of preventing fraud with respect to the frequency of updating the random numbers can be enhanced.

【0044】第14の発明は、第9または第10の発明
において、乱数格納手段(22)は、実行器(21)に
設けられる代わりに、記録媒体(20)に設けられるこ
とを特徴としている。
The fourteenth invention is characterized in that, in the ninth or tenth invention, the random number storage means (22) is provided in the recording medium (20) instead of being provided in the executor (21). .

【0045】このように、第14の発明では、記録媒体
が乱数格納手段を備え、実行器は、ソフトウェアを実行
する際に、記録媒体から乱数を取得する。実行器は、取
得した乱数で、暗号化された実行許可情報を復号して実
行許可情報を求め、求めた実行許可情報に従ってソフト
ウェアを実行する。実行器は、ソフトウェアの実行に連
携して乱数を更新し、実行後に、更新した乱数を記録媒
体内の乱数格納手段に格納する。このように、記録媒体
に格納された暗号化された実行許可情報を当該記録媒体
に格納された乱数で復号するため、ソフトウェアを実行
する実行器を特定することなく、実行制御を行うことが
できる。
As described above, in the fourteenth aspect, the recording medium includes the random number storage means, and the executor acquires the random number from the recording medium when executing the software. The executor decrypts the encrypted execution permission information with the acquired random number to obtain the execution permission information, and executes the software according to the obtained execution permission information. The executor updates the random number in association with the execution of the software, and after the execution, stores the updated random number in the random number storage means in the recording medium. In this way, since the encrypted execution permission information stored in the recording medium is decrypted by the random number stored in the recording medium, execution control can be performed without specifying the executor that executes the software. .

【0046】第15の発明は、第9または第10の発明
において、記録媒体(20)の代わりに、読み出し専用
の第1の記録媒体と、読み出しおよび書き込みが可能な
第2の記録媒体とが実行器に接続され、第1の記録媒体
はソフトウェアを格納し、第2の記録媒体は暗号化され
た実行許可情報を格納し、乱数格納手段(22)は、実
行器(21)に設けられる代わりに、第2の記録媒体に
設けられることを特徴としている。
A fifteenth aspect of the invention is the ninth or tenth aspect of the invention, in which, instead of the recording medium (20), there is provided a read-only first recording medium and a readable and writable second recording medium. Connected to the executor, the first recording medium stores software, the second recording medium stores encrypted execution permission information, and the random number storage means (22) is provided in the executor (21). Instead, it is characterized in that it is provided in the second recording medium.

【0047】このように、第15の発明では、読み出し
専用の記録媒体にソフトウェアを格納し、読み出しおよ
び書き込みが可能な記録媒体には暗号化された実行許可
情報を格納する。これにより、乱数の更新にともなって
書き換えが必要な実行許可情報は、読み出しおよび書き
込みが可能な記録媒体に格納するが、更新の必要がない
ソフトウェアの格納には、読み出し専用の記録媒体を用
いることができる。また、第2の記録媒体に乱数格納手
段を設けることにより、第2の記録媒体に格納された暗
号化された実行許可情報を当該記録媒体に格納された乱
数で復号することになり、ソフトウェアを実行する実行
器を特定することなく、実行制御を行うことができる。
As described above, in the fifteenth invention, the software is stored in the read-only recording medium, and the encrypted execution permission information is stored in the readable and writable recording medium. As a result, the execution permission information that needs to be rewritten when the random number is updated is stored in a readable and writable recording medium, but a read-only recording medium should be used for storing software that does not need updating. You can Further, by providing the second recording medium with the random number storage means, the encrypted execution permission information stored in the second recording medium is decrypted by the random number stored in the recording medium, and the software is Execution control can be performed without specifying the executor to be executed.

【0048】第16の発明は、第9または第10の発明
において、記録媒体(20)に格納されたソフトウェア
は、それぞれ暗号化されており、ソフト実行手段(2
9)は、記録媒体(20)から、対応する暗号化された
ソフトウェアを獲得して、第2の復号手段(24)の復
号によって得られた実行許可情報に従って復号し、復号
して得たソフトウェアを実行することを特徴としてい
る。
A sixteenth invention is the ninth or tenth invention, wherein the software stored in the recording medium (20) is encrypted and the software executing means (2
9) is software obtained by acquiring the corresponding encrypted software from the recording medium (20), decrypting it according to the execution permission information obtained by the decryption of the second decrypting means (24), and decrypting it. It is characterized by performing.

【0049】上記のように、第16の発明では、記録媒
体に格納されたソフトウェアはそれぞれ暗号化されてお
り、ソフト実行手段は、第2の復号手段の復号によって
得られた実行許可情報に従って、対応する暗号化された
ソフトウェアを復号し、復号して得たソフトウェアを実
行する。このように、ソフトウェアをそれぞれ暗号化し
ておくことにより、さらに安全性を高めることができ
る。
As described above, in the sixteenth invention, the software stored in the recording medium is encrypted, and the software execution means follows the execution permission information obtained by the decryption of the second decryption means. Decrypt the corresponding encrypted software and execute the decrypted software. In this way, the security can be further enhanced by encrypting each software.

【0050】第17の発明は、ソフトウェアを実行する
実行器(2または21)と、当該実行器(2または2
1)に情報伝達可能に接続され、かつ情報の読み出しお
よび書き込みが可能な記録媒体(1または20)と、実
行器(2または21)の求めに応じて実行許可情報を配
布するソフト配布器(11)とからなり、ソフト配布器
(11)から配布される実行許可情報の不正な使用を防
止するためのソフトウェア実行制御システムであって、
ソフト配布器(11)は、実行許可情報を保有してお
り、記録媒体(1または20)は、ソフトウェアを格納
しており、実行器(2または21)は、自己の外部から
は情報の読み出しおよび書き込みが困難な記憶領域(3
または22)に、乱数を格納しており、実行許可情報の
配布を求める際、実行器(2または21)は、ソフト配
布器(11)に対して、格納している乱数を通知し、ソ
フト配布器(11)は、通知された乱数で実行許可情報
を暗号化して、実行器(2または21)へ配布し、実行
器(2または21)は、暗号化された実行許可情報の配
布を受けると、配布された暗号化された実行許可情報
を、格納している乱数で復号し、復号に連携して、格納
している乱数を更新することを特徴としている。
A seventeenth aspect of the present invention is an executor (2 or 21) for executing software, and the executor (2 or 2).
1) A recording medium (1 or 20) which is connected to be capable of transmitting information and capable of reading and writing information, and a software distributor (which distributes execution permission information in response to a request from an executor (2 or 21) ( And a software execution control system for preventing unauthorized use of the execution permission information distributed from the software distributor (11),
The software distributor (11) holds the execution permission information, the recording medium (1 or 20) stores the software, and the execution unit (2 or 21) reads the information from outside of itself. And storage areas that are difficult to write (3
Or 22) stores a random number, and when requesting distribution of the execution permission information, the executor (2 or 21) notifies the software distributor (11) of the stored random number, and The distributor (11) encrypts the execution permission information with the notified random number and distributes it to the executor (2 or 21), and the executor (2 or 21) distributes the encrypted execution permission information. When received, the distributed encrypted execution permission information is decrypted by the stored random number, and the stored random number is updated in cooperation with the decryption.

【0051】上記のように、第17の発明は、ソフトウ
ェアを実行する実行器と、実行器に接続され、かつ情報
の読み出しおよび書き込みが可能な記録媒体と、実行許
可情報を配布するソフト配布器とで構成されている。実
行器は、当該実行器の外部からは情報の読み出しおよび
書き込みが困難な記憶領域を備えており、この記憶領域
に乱数を格納している。記録媒体は、ソフトウェアを格
納しており、ソフト配布器は、実行許可情報を保有して
いる。実行器は、実行許可情報を入手するために、格納
している乱数をソフト配布器に対して通知する。ソフト
配布器は、乱数の通知を受けると、保有している実行許
可情報を、通知された乱数で暗号化して実行器に配布す
る。実行器は、最初、配布された暗号化された実行許可
情報を、格納している乱数で復号して実行許可情報を求
め、その後、格納している乱数を更新する。
As described above, the seventeenth aspect of the present invention is an execution unit that executes software, a recording medium that is connected to the execution unit and that can read and write information, and a software distribution unit that distributes execution permission information. It consists of and. The executor has a storage area in which it is difficult to read and write information from outside the executor, and stores random numbers in this storage area. The recording medium stores software, and the software distributor holds execution permission information. The execution unit notifies the software distribution unit of the stored random number in order to obtain the execution permission information. Upon receiving the notification of the random number, the software distributor encrypts the execution permission information that it holds with the notified random number and distributes it to the executor. The executor first decrypts the distributed encrypted execution permission information with the stored random number to obtain the execution permission information, and then updates the stored random number.

【0052】このように、ソフト配布器から配布される
実行許可情報を乱数で暗号化することにより、当該乱数
を保有している実行器以外の実行器では、ソフトウェア
を実行することができない。また、乱数は配布毎に更新
されるため、実行許可情報が実行量に関する制限を含む
ものである場合に、正規の実行器で、コピーされた実行
許可情報が繰り返し使用されるような不正を防ぐことも
できる。
As described above, by encrypting the execution permission information distributed from the software distributor with the random number, the execution device other than the execution device having the random number cannot execute the software. In addition, since the random number is updated for each distribution, if the execution permission information includes a limit regarding the execution amount, it is possible to prevent fraudulent use of the copied execution permission information by a legitimate execution device. it can.

【0053】第18の発明は、ソフトウェアを実行する
実行器(2または21)と、当該実行器(2または2
1)に情報伝達可能に接続され、かつ情報の読み出しお
よび書き込みが可能な記録媒体(1または20)と、実
行器(2または21)の求めに応じて実行許可情報を配
布するソフト配布器(11)とからなり、実行器(2ま
たは21)が保有している実行許可情報に、ソフト配布
器(11)から追加で配布される実行許可情報を加え、
かつ実行許可情報の不正な使用を防止するためのソフト
ウェア実行制御システムであって、実行器(2または2
1)は、自己の外部からは情報の読み出しおよび書き込
みが困難な記憶領域(3または22)に、第1および第
2の乱数を格納しており、記録媒体(1または20)
は、ソフトウェアおよび第1の暗号化された実行許可情
報を格納しており、ソフト配布器(11)は、第2の実
行許可情報を保有しており、実行器(2または21)
は、第2の実行許可情報の配布を求める際に、ソフト配
布器(11)に対して第2の乱数を通知し、ソフト配布
器(11)は、通知された第2の乱数で第2の実行許可
情報を暗号化して、実行器(2または21)に配布し、
実行器(2または21)は、第2の暗号化された実行許
可情報を受け取ると、受け取った第2の暗号化された実
行許可情報を、格納している第2の乱数で復号して、第
2の実行許可情報を求め、第2の暗号化された実行許可
情報の復号に連携して、格納している第2の乱数を更新
し、記録媒体(1または20)から第1の暗号化された
実行許可情報を獲得して、第1の乱数で復号して、第1
の実行許可情報を求め、第1の暗号化された実行許可情
報の復号に連携して、格納している第1の乱数を更新
し、求めた第1および第2の実行許可情報に基づいて、
第3の実行許可情報を作成し、作成した第3の実行許可
情報を、更新した第1の乱数で暗号化して、記録媒体
(1または20)に格納することを特徴としている。
The eighteenth invention is an executor (2 or 21) for executing software, and the executor (2 or 2).
1) A recording medium (1 or 20) which is connected to be capable of transmitting information and is capable of reading and writing information, and a software distributor (which distributes execution permission information in response to a request from an executing device (2 or 21) 11), and the execution permission information additionally distributed from the software distributor (11) is added to the execution permission information held by the execution unit (2 or 21),
A software execution control system for preventing unauthorized use of the execution permission information, the execution device (2 or 2
1) stores the first and second random numbers in a storage area (3 or 22) in which it is difficult to read and write information from outside the storage medium (1 or 20).
Stores the software and the first encrypted execution permission information, the software distributor (11) holds the second execution permission information, and the execution unit (2 or 21)
Notifies the software distributor (11) of the second random number when requesting the distribution of the second execution permission information, and the software distributor (11) uses the notified second random number to generate the second random number. The execution permission information of is encrypted and distributed to the executor (2 or 21),
When the execution unit (2 or 21) receives the second encrypted execution permission information, the execution unit (2 or 21) decrypts the received second execution permission information with the stored second random number, Obtaining the second execution permission information, updating the stored second random number in cooperation with the decryption of the second encrypted execution permission information, and executing the first encryption from the recording medium (1 or 20). The encrypted execution permission information is acquired, decrypted with the first random number, and the first
Based on the obtained first and second execution permission information, in cooperation with the decryption of the first encrypted execution permission information, the stored first random number is updated. ,
It is characterized in that the third execution permission information is created, the created third execution permission information is encrypted with the updated first random number, and is stored in the recording medium (1 or 20).

【0054】上記のように、第18の発明は、ソフトウ
ェアを実行する実行器と、実行器に接続され、かつ情報
の読み出しおよび書き込みが可能な記録媒体と、実行許
可情報を配布するソフト配布器とで構成されている。実
行器は、当該実行器の外部からは情報の読み出しおよび
書き込みが困難な記憶領域を備えており、この記憶領域
に第1および第2の乱数を格納している。記録媒体は、
ソフトウェアおよび第1の実行許可情報を格納してお
り、ソフト配布器は、第2の実行許可情報を保有してい
る。実行器は、第2の実行許可情報を入手するために、
保有している第2の乱数をソフト配布器に対して通知す
る。ソフト配布器は、第2の乱数の通知を受けると、保
有している実行許可情報を、通知された第2の乱数で暗
号化して実行器に配布する。実行器は、最初、配布され
た、第2の暗号化された実行許可情報を、保有している
第2の乱数で復号して第2の実行許可情報を求めるとと
もに、保有している第2の乱数を更新する。次に、実行
器は、記録媒体から第1の暗号化された実行許可情報を
獲得し、保有している第1の乱数で復号して第1の実行
許可情報を求めるとともに、保有している第1の乱数を
更新する。次に、実行器は、求めた第1および第2の実
行許可情報に基づいて第3の実行許可情報を作成し、作
成した第3の実行許可情報を、更新した第1の乱数で暗
号化して記録媒体に格納する。これにより、実行器は、
保有している実行許可情報にソフト配布器から入手した
他の実行許可情報加えた新しい実行許可情報を作成し、
その実行許可情報に基づいてソフトウェアを実行するこ
とができる。
As described above, the eighteenth aspect of the present invention is an executor that executes software, a recording medium that is connected to the executor and that can read and write information, and a software distributor that distributes execution permission information. It consists of and. The executor has a storage area in which it is difficult to read and write information from the outside of the executor, and the first and second random numbers are stored in this storage area. The recording medium is
The software and the first execution permission information are stored, and the software distributor holds the second execution permission information. The executor obtains the second execution permission information by
Notify the software distributor of the held second random number. Upon receiving the notification of the second random number, the software distributor encrypts the held execution permission information with the notified second random number and distributes it to the execution unit. The executor first decrypts the distributed second encrypted execution permission information with the stored second random number to obtain the second execution permission information, and holds the second execution permission information. Update the random number of. Next, the executor obtains the first encrypted execution permission information from the recording medium, decrypts it with the stored first random number to obtain the first execution permission information, and holds it. Update the first random number. Next, the executor creates third execution permission information based on the obtained first and second execution permission information, and encrypts the created third execution permission information with the updated first random number. And store it in a recording medium. This causes the executor to
Create new execution permission information by adding the other execution permission information obtained from the software distributor to the existing execution permission information.
The software can be executed based on the execution permission information.

【0055】第19の発明は、ソフトウェアを実行する
第1および第2の実行器(2または21)と、情報の読
み出しおよび書き込みが可能な記録媒体(1または2
0)とからなり、第1の実行器(2または21)が保有
している実行許可情報を第2の実行器(2または21)
へ譲渡し、かつ実行許可情報の不正な使用を防止するた
めのソフトウェア実行制御システムであって、第1の実
行器(2または21)は、自己の外部からは情報の読み
出しおよび書き込みが困難な記憶領域(3または22)
に、乱数を格納しており、記録媒体(1または20)
は、ソフトウェアおよび暗号化された実行許可情報を格
納しており、第1の実行器(2または21)から第2の
実行器(2または21)に対して、第1の実行器(2ま
たは21)が保有している実行許可情報を譲渡する際
に、第1の実行器(2または21)と第2の実行器(2
または21)とを情報伝達可能に接続し、第1の実行器
(2または21)は、自己の格納している乱数を第2の
実行器(2または21)に通知し、通知に連携して、自
己の格納している乱数を更新し、第2の実行器(2また
は21)は、乱数の通知を受けると、通知された乱数
を、自己の外部からは情報の読み出しおよび書き込みが
困難な記憶領域(3または22)に格納することを特徴
としている。
A nineteenth aspect of the present invention is directed to first and second executors (2 or 21) for executing software and a recording medium (1 or 2) capable of reading and writing information.
0) and the execution permission information held by the first executor (2 or 21) is stored in the second executor (2 or 21).
It is a software execution control system for transferring to the user and preventing the unauthorized use of the execution permission information, and it is difficult for the first executor (2 or 21) to read and write the information from outside of itself. Storage area (3 or 22)
The random number is stored in the recording medium (1 or 20)
Stores software and encrypted execution permission information, and the first executor (2 or 21) transfers the first executor (2 or 21) to the second executor (2 or 21). 21) when transferring the execution permission information held by the first execution device (2 or 21) and the second execution device (2).
Alternatively, the first executor (2 or 21) notifies the second executor (2 or 21) of the random number stored therein, and cooperates with the notification. When the second executor (2 or 21) receives the notification of the random number, it is difficult to read and write information from the outside of itself. It is characterized in that it is stored in a different storage area (3 or 22).

【0056】上記のように、第19の発明は、ソフトウ
ェアを実行する第1および第2の実行器と、実行器に情
報伝達可能に接続され、かつ情報の読み出しおよび書き
込みが可能な記録媒体とで構成されている。第1および
第2の実行器は、いずれも当該実行器の外部からは情報
の読み出しおよび書き込みが困難な記憶領域を備えてお
り、第1の実行器は、この記憶領域に乱数を格納してい
る。記録媒体は、ソフトウェアおよび暗号化された実行
許可情報を格納し、かつ第1の実行器に接続されてい
る。今、第1の実行器は、保有している乱数で、暗号化
された実行許可情報を復号して、ソフトウェアを実行す
ることができる。第1の実行器が、この実行許可情報を
第2の実行器に譲渡する際、第1の実行器は、最初、保
有している乱数を第2の実行器に通知し、次に、保有し
ている乱数を更新する。通知をうけて、第2の実行器
は、通知された乱数を自己に備わる記憶領域に格納す
る。これにより、第2の実行器は、第1の実行器に接続
されていた記録媒体を自己に接続し、記録媒体から暗号
化された実行許可情報を獲得して復号し、ソフトウェア
を実行することができる。
As described above, the nineteenth aspect of the present invention provides first and second execution units that execute software, and a recording medium that is connected to the execution units so that information can be transmitted and that can read and write information. It is composed of. Each of the first and second executors has a storage area in which it is difficult to read and write information from outside the executor, and the first executor stores a random number in this storage area. There is. The recording medium stores software and encrypted execution permission information, and is connected to the first executor. Now, the first executor can execute the software by decrypting the encrypted execution permission information with the stored random number. When the first executor transfers this execution permission information to the second executor, the first executor first notifies the second executor of the random number it holds and then holds the random number. Update the random number. In response to the notification, the second executor stores the notified random number in its own storage area. As a result, the second executor connects the recording medium connected to the first executor to itself, obtains the encrypted execution permission information from the recording medium, decrypts it, and executes the software. You can

【0057】第20の発明は、ソフトウェアを実行する
第1および第2の実行器(2または21)と、それぞれ
の実行器(2または21)に情報伝達可能に接続され、
かつ情報の読み出しおよび書き込みが可能な第1および
第2の記録媒体(1または20)とからなり、第1の実
行器(2または21)が保有している実行許可情報の一
部を第2の実行器(2または21)に譲渡し、かつ実行
許可情報の不正な使用を防止するためのソフトウェア実
行制御システムであって、第1の実行器(2または2
1)は、自己の外部からは情報の読み出しおよび書き込
みが困難な記憶領域(3または22)に、第1および第
2の乱数を格納しており、第1の記録媒体(1または2
0)は、ソフトウェアおよび暗号化された実行許可情報
を格納しており、第2の記録媒体(1または20)は、
ソフトウェアを格納しており、第1の実行器(2または
21)から第2の実行器(2または21)に対して、第
1の実行器(2または21)が保有している実行許可情
報の一部を譲渡する際に、第1の実行器(2または2
1)と第2の実行器(2または21)とを情報伝達可能
に接続し、第1の実行器(2または21)は、第1の記
録媒体(1または20)から暗号化された実行許可情報
を獲得して、格納している第1の乱数で復号し、復号に
連携して、格納している第1の乱数を更新し、復号して
求めた実行許可情報を、第1の実行許可情報と第2の実
行許可情報とに分割し、分割して得た第1の実行許可情
報を、更新した第1の乱数で暗号化して、第1の記録媒
体(1または20)に格納し、分割して得た第2の実行
許可情報を、格納している第2の乱数で暗号化し、第2
の乱数と、第2の暗号化された実行許可情報とを、第2
の実行器(2または21)に通知し、通知に連携して、
格納している第2の乱数を更新し、第2の実行器(2ま
たは21)は、第2の乱数と第2の暗号化された実行許
可情報とを受け取ると、第2の乱数を自己の外部からは
情報の読み出しおよび書き込みが困難な記憶領域(3ま
たは22)に、第2の暗号化された実行許可情報を第2
の記録媒体(1または20)に、それぞれ格納すること
を特徴としている。
A twentieth aspect of the invention is connected to the first and second executors (2 or 21) for executing software and the respective executors (2 or 21) so that information can be transmitted.
And a part of the execution permission information held by the first executor (2 or 21), which is composed of the first and second recording media (1 or 20) capable of reading and writing information. A software execution control system for transferring to the execution unit (2 or 21) of the first execution unit and preventing unauthorized use of the execution permission information, the first execution unit (2 or 2)
1) stores the first and second random numbers in a storage area (3 or 22) from which it is difficult to read and write information from outside, and the first recording medium (1 or 2).
0) stores software and encrypted execution permission information, and the second recording medium (1 or 20) is
Execution permission information that stores software and that the first executor (2 or 21) holds from the first executor (2 or 21) to the second executor (2 or 21) When transferring a part of the
1) and the second executor (2 or 21) are communicatively connected to each other, and the first executor (2 or 21) executes the encrypted execution from the first recording medium (1 or 20). The permission information is acquired, decrypted with the stored first random number, the stored first random number is updated in cooperation with the decryption, and the execution permission information obtained by the decryption is transferred to the first random number. It is divided into the execution permission information and the second execution permission information, the first execution permission information obtained by the division is encrypted with the updated first random number, and is encrypted in the first recording medium (1 or 20). The second execution permission information stored and divided and obtained is encrypted with the stored second random number, and the second execution permission information is encrypted.
Of the random number and the second encrypted execution permission information
Notify the executor (2 or 21) of
When the second executor (2 or 21) updates the stored second random number and receives the second random number and the second encrypted execution permission information, the second executor self-generates the second random number. The second encrypted execution permission information is stored in the storage area (3 or 22) where it is difficult to read and write information from outside.
It is characterized in that they are respectively stored in the recording medium (1 or 20).

【0058】上記のように、第20の発明は、ソフトウ
ェアを実行する第1および第2の実行器と、それぞれの
実行器に情報伝達可能に接続され、かつ情報の書き込み
および読み出しが可能な第1および第2の記録媒体とで
構成されている。第1および第2の実行器は、いずれも
当該実行器の外部からは情報の読み出しおよび書き込み
が困難な記憶領域を備えており、第1の実行器は、この
記憶領域に第1および第2の乱数を格納している。第1
の記録媒体はソフトウェアおよび暗号化された実行許可
情報を格納し、第2の実行器はソフトウェアを格納して
いる。今、第1の実行器は、保有している乱数で、暗号
化された実行許可情報を復号して、ソフトウェアを実行
することができる。第1の実行器は、この実行許可情報
の一部を第2の実行器に譲渡する際、最初、第1の記録
媒体から暗号化された実行許可情報を獲得し、保有して
いる第1の乱数で復号して実行許可情報を求め、次に、
保有している第1の乱数を更新するとともに、求めた実
行許可情報を第1および第2の実行許可情報に分割す
る。次に、第1の実行器は、第1の実行許可情報を、更
新した第1の乱数で暗号化して、第1の記録媒体に格納
し、第2の実行許可情報を、保有している第2の乱数で
暗号化して、第2の乱数と共に第2の実行器に通知す
る。この際、第1の実行器は、第2の乱数を更新する。
通知を受けた第2の実行器は、第2の乱数を自己に備わ
る、情報の読み出しおよび書き込みが困難な記憶領域
へ、第2の暗号化された実行許可情報を第2の記録媒体
へ、それぞれ格納する。これにより、分割して得られ
た、第1の暗号化された実行許可情報は第1の実行器
が、第2の暗号化された実行許可情報は第2の実行器
が、それぞれ復号することができる。
As described above, the twentieth aspect of the present invention is the first and second executors that execute software, and the first and second executors that are connected to the respective executors so as to be capable of transmitting information and capable of writing and reading information. It is composed of a first recording medium and a second recording medium. Each of the first and second executors has a storage area in which it is difficult to read and write information from outside the executor, and the first executor stores the first and second storage areas in this storage area. Stores the random number of. First
The recording medium stores software and encrypted execution permission information, and the second executor stores software. Now, the first executor can execute the software by decrypting the encrypted execution permission information with the stored random number. When the first execution unit transfers a part of the execution permission information to the second execution unit, first, the first execution unit acquires and holds the encrypted execution permission information from the first recording medium. To obtain the execution permission information by decrypting with a random number of
The held first random number is updated, and the obtained execution permission information is divided into first and second execution permission information. Next, the first executor encrypts the first execution permission information with the updated first random number, stores it in the first recording medium, and holds the second execution permission information. It is encrypted with the second random number and notified to the second executor together with the second random number. At this time, the first executor updates the second random number.
Upon receiving the notification, the second executor stores the second random number in a storage area in which it is difficult to read and write information, the second encrypted execution permission information in the second recording medium, Store each. As a result, the first encrypted execution permission information and the second encrypted execution permission information obtained by division are decrypted by the first execution unit and the second execution unit, respectively. You can

【0059】第21の発明は、ソフトウェアを実行する
にはソフト鍵を必要とし、かつソフト鍵の不正な使用を
防止するためのソフトウェア実行制御システムであっ
て、暗号化されたソフトウェアおよび暗号化されたソフ
ト鍵を格納し、かつ情報の読み出しおよび書き込みが可
能な記録媒体(1)が、ソフトウェアを実行する実行器
(2)に情報伝達可能に接続され、実行器(2)は、乱
数を格納し、かつ自己の外部からは情報の読み出しおよ
び書き込みが困難な乱数格納手段(3)と、記録媒体
(1)から暗号化されたソフト鍵を獲得して、乱数格納
手段(3)から取得した乱数で復号する第1の復号手段
(4)と、記録媒体(1)から暗号化されたソフトウェ
アを獲得して、第1の復号手段(4)の復号によって得
られたソフト鍵で復号する第2の復号手段(6)と、第
2の復号手段(6)の復号によって得られたソフトウェ
アを実行するソフト実行手段(7)と、ソフトウェアの
実行に関連して、乱数格納手段(3)に格納された乱数
を更新する乱数更新手段(9)と、第1の復号手段
(4)の復号によって得られたソフト鍵を、更新された
乱数で暗号化して、記録媒体(1)に格納する暗号化手
段(10)とを備えている。
The twenty-first aspect of the present invention is a software execution control system that requires a soft key to execute software, and prevents unauthorized use of the soft key. A recording medium (1) that stores a soft key and is capable of reading and writing information is connected to an execution unit (2) that executes software so that information can be transmitted, and the execution unit (2) stores a random number. In addition, the random number storage means (3) which makes it difficult to read and write information from the outside of itself and the encrypted soft key from the recording medium (1) are acquired from the random number storage means (3). First decryption means (4) for decrypting with a random number and encrypted software from the recording medium (1), and decryption with the soft key obtained by decryption by the first decryption means (4) Second decryption means (6), software execution means (7) for executing the software obtained by the decryption of the second decryption means (6), and random number storage means (3) in connection with the execution of the software. ). The random number updating means (9) for updating the random number stored in) and the soft key obtained by the decryption of the first decrypting means (4) are encrypted with the updated random number and recorded on the recording medium (1). And an encryption means (10) for storing.

【0060】上記のように、第21の発明は、ソフトウ
ェアを実行する実行器と、暗号化されたソフトウェアお
よび暗号化されたソフト鍵を格納している記録媒体とで
構成されている。ソフトウェアを実行する際、実行器に
備わる第1の復号手段は、記録媒体から暗号化されたソ
フト鍵を獲得し、乱数格納手段に格納された乱数で復号
してソフト鍵を求める。次に、第2の復号手段は、記録
媒体から暗号化されたソフトウェアを獲得し、求められ
たソフト鍵で復号してソフトウェアを得る。次に、ソフ
ト実行手段は、得られたソフトウェアを実行する。この
際、乱数更新手段は、乱数格納手段に格納された乱数を
更新する。続いて、暗号化手段は、更新された乱数でソ
フト鍵を暗号化して、記録媒体に格納する。このよう
に、ソフト鍵を暗号化するための鍵を乱数とし、実行毎
に更新することで、鍵を第三者に知られても、暗号化さ
れたソフト鍵を復号できないようにすることができる。
As described above, the twenty-first aspect of the invention comprises an executor that executes software, and a recording medium that stores encrypted software and an encrypted soft key. When executing the software, the first decryption unit included in the execution unit obtains the encrypted soft key from the recording medium and decrypts it with the random number stored in the random number storage unit to obtain the soft key. Next, the second decryption means obtains the encrypted software from the recording medium and decrypts it with the obtained soft key to obtain the software. Next, the software executing means executes the obtained software. At this time, the random number updating means updates the random number stored in the random number storing means. Then, the encryption means encrypts the soft key with the updated random number and stores it in the recording medium. In this way, by using a random number as the key for encrypting the soft key and updating it every time, it is possible to prevent the encrypted soft key from being decrypted even if the key is known to a third party. it can.

【0061】第22の発明は、実行回数が所定の条件を
満足する場合に、ソフトウェアを実行し、かつ当該実行
回数の不正な使用を防止するためのソフトウェア実行制
御システムであって、ソフトウェアおよび暗号化された
実行回数を格納し、かつ情報の読み出しおよび書き込み
が可能な記録媒体(1)が、ソフトウェアを実行する実
行器(2)に情報伝達可能に接続され、実行器(2)
は、乱数を格納し、かつ自己の外部からは情報の読み出
しおよび書き込みが困難な乱数格納手段(3)と、記録
媒体(1)から暗号化された実行回数を獲得して、乱数
格納手段(3)から取得した乱数で復号する復号手段
(4)と、復号手段(4)の復号によって得られた実行
回数が、所定の条件を満足するか否かを検査し、所定の
条件を満足する場合に、ソフトウェアの実行を指示する
実行回数検査手段(5)と、実行回数検査手段(5)か
らの指示に応答して、ソフトウェアを実行するソフト実
行手段(7)と、ソフトウェアの実行にともなって、復
号によって得られた実行回数を更新する実行回数更新手
段(8)と、ソフトウェアの実行に連携して、乱数格納
手段(3)に格納された乱数を更新する乱数更新手段
(9)と、更新された実行回数情報を、更新された乱数
で暗号化して、記録媒体(1)に格納する暗号化手段
(10)とを備えている。
A twenty-second aspect of the present invention is a software execution control system for executing software when the number of executions satisfies a predetermined condition and preventing unauthorized use of the number of executions. A recording medium (1) that stores the number of times of execution that has been converted and is capable of reading and writing information is connected to an execution unit (2) that executes software in an information-transmittable manner, and the execution unit (2)
Is a random number storing means (3) that stores random numbers and in which it is difficult to read and write information from the outside of itself, and obtains the encrypted execution count from the recording medium (1) to obtain the random number storing means ( It is checked whether the decoding means (4) for decoding with the random number acquired from 3) and the number of execution times obtained by the decoding of the decoding means (4) satisfy a predetermined condition, and the predetermined condition is satisfied. In this case, the execution number inspection means (5) for instructing the execution of the software, the software execution means (7) for executing the software in response to the instruction from the execution number inspection means (5), and the execution of the software. And an execution number updating means (8) for updating the execution number obtained by decryption, and a random number updating means (9) for updating the random number stored in the random number storage means (3) in cooperation with the execution of software. ,It has been updated Line number information, encrypted with the updated random number and an encryption means (10) for storing the recording medium (1).

【0062】上記のように、第22の発明は、ソフトウ
ェアを実行する実行器と、ソフトウェアおよび暗号化さ
れた実行回数を格納している記録媒体とで構成されてい
る。最初、実行器に備えられた復号手段は、記録媒体か
ら、暗号化された実行回数を獲得して、乱数格納手段に
格納された乱数で復号して実行回数を求める。次に、実
行回数検査手段は、求められた実行回数が所定の条件を
満足するか否かを検査し、満足すれば、ソフト実行手段
に対して、ソフトウェアの実行を指示する。ソフト実行
手段は、実行回数検査手段の指示を受けてソフトウェア
を実行し、乱数更新手段は、ソフトウェアの実行にとも
なって、乱数を更新する。次に、暗号化手段は、更新さ
れた実行回数を更新された乱数で暗号化して、記録媒体
に格納する。このように、実行回数を乱数で暗号化し、
実行毎に乱数を更新することにより、コピーされた、暗
号化された実行回数を復号不能にすることができる。ま
た、更新された実行回数を記録媒体へ書き込むのを妨害
する攻撃を防止することもできる。
As described above, the twenty-second aspect of the invention comprises an executor that executes software, and a recording medium that stores the software and the encrypted execution count. First, the decryption unit included in the executor obtains the encrypted execution count from the recording medium, and decrypts the encrypted execution count with the random number stored in the random number storage unit to obtain the execution count. Next, the execution number inspection means inspects whether or not the obtained execution number satisfies a predetermined condition, and if so, instructs the software execution means to execute the software. The software execution means executes the software in response to the instruction from the execution frequency inspection means, and the random number updating means updates the random number as the software is executed. Next, the encryption means encrypts the updated number of times of execution with the updated random number and stores it in the recording medium. In this way, the number of executions is encrypted with a random number,
By updating the random number for each execution, the copied and encrypted execution count can be made undecipherable. It is also possible to prevent an attack that prevents the updated execution count from being written to the recording medium.

【0063】第23の発明は、実行回数が所定の条件を
満足する場合に、ソフト鍵で復号して得られたソフトウ
ェアを実行し、かつ実行回数およびソフト鍵の不正な使
用を防止するためのソフトウェア実行制御システムであ
って、暗号化されたソフトウェアおよび暗号化されたソ
フト鍵/実行回数を格納し、かつ情報の読み出しおよび
書き込みが可能な記録媒体(1)が、ソフトウェアを実
行する実行器(2)に情報伝達可能に接続され、実行器
(2)は、乱数を格納し、かつ自己の外部からは情報の
読み出しおよび書き込みが困難な乱数格納手段(3)
と、記録媒体(1)から暗号化されたソフト鍵/実行回
数を獲得して、乱数格納手段(3)から取得した乱数で
復号する第1の復号手段(4)と、記録媒体(1)から
暗号化されたソフトウェアを獲得して、第1の復号手段
(4)の復号によって得られたソフト鍵で復号する第2
の復号手段(6)と、第1の復号手段(4)の復号によ
って得られた実行回数が、所定の条件を満足するか否か
を検査し、所定の条件を満足する場合に、ソフトウェア
の実行を指示する実行回数検査手段(5)と、実行回数
検査手段(5)からの指示に応答して、第2の復号手段
(6)の復号によって得られたソフトウェアを実行する
ソフト実行手段(7)と、ソフトウェアの実行に伴っ
て、復号によって得られた実行回数を更新する実行回数
更新手段(8)と、ソフトウェアの実行に連携して、乱
数格納手段(3)に格納された乱数を更新する乱数更新
手段(9)と、復号によって得られたソフト鍵と更新さ
れた実行回数とを、更新された乱数で暗号化して記録媒
体(1)に格納する暗号化手段(10)とを備えてい
る。
A twenty-third aspect of the invention is to execute software obtained by decrypting with a soft key when the number of executions satisfies a predetermined condition, and to prevent unauthorized use of the number of executions and the soft key. A software execution control system, wherein a recording medium (1) storing encrypted software and encrypted soft key / execution count, and capable of reading and writing information (executor) executes software ( The executor (2) is connected to 2) so that information can be transmitted, and the executor (2) stores random numbers, and it is difficult to read and write information from outside thereof.
A first decryption means (4) for obtaining the encrypted soft key / execution count from the recording medium (1) and decrypting it with the random number obtained from the random number storage means (3); and the recording medium (1) A second step of obtaining the encrypted software from the second step and decrypting it with the soft key obtained by the first decryption means (4);
It is checked whether the number of executions obtained by the decoding means (6) and the first decoding means (4) satisfies a predetermined condition. Execution frequency inspection means (5) for instructing execution, and software execution means (for executing the software obtained by the decryption of the second decryption means (6) in response to the instruction from the execution frequency inspection means (5) ( 7), the execution count updating means (8) for updating the execution count obtained by decryption as the software is executed, and the random number stored in the random number storage means (3) in cooperation with the execution of the software. A random number updating means (9) for updating, and an encryption means (10) for encrypting the soft key obtained by the decryption and the updated number of times of execution with the updated random number and storing it in the recording medium (1). I have it.

【0064】上記のように、第23の発明は、ソフトウ
ェアを実行する実行器と、ソフトウェアおよび暗号化さ
れたソフト鍵/実行回数を格納している記録媒体とで構
成されている。最初、実行器に備わる第1の復号手段
は、記録媒体から暗号化されたソフト鍵/実行回数を獲
得し、乱数格納手段に格納された乱数で復号して、ソフ
ト鍵および実行回数を求める。次に、第2の復号手段
が、記録媒体から暗号化されたソフトウェアを獲得し
て、求められたソフト鍵で復号し、実行回数検査手段
は、求められた実行回数が所定の条件を満足するか否か
を検査し、満足する場合にソフト実行手段に対してソフ
トウェアの実行を指示する。ソフト実行手段は、実行回
数検査手段の指示を受けて、ソフトウェアを実行する。
ソフトウェアの実行に伴って、実行回数更新手段が実行
回数を更新し、乱数更新手段は乱数格納手段に格納され
た乱数を更新する。続いて、暗号化手段は、ソフト鍵お
よび更新された実行回数を、更新された乱数で暗号化し
て記録媒体に格納する。
As described above, the twenty-third aspect of the invention comprises an executor for executing software and a recording medium storing the software and the encrypted soft key / execution count. First, the first decryption unit included in the executor obtains the encrypted soft key / execution number from the recording medium and decrypts it with the random number stored in the random number storage unit to obtain the soft key and the execution number. Next, the second decryption means obtains the encrypted software from the recording medium and decrypts it with the obtained soft key, and the execution count inspection means satisfies the predetermined execution count. If it is satisfied, the software execution means is instructed to execute the software. The software execution means executes the software in response to the instruction from the execution frequency inspection means.
With the execution of the software, the execution count updating means updates the execution count, and the random number updating means updates the random number stored in the random number storage means. Subsequently, the encryption unit encrypts the soft key and the updated execution count with the updated random number and stores the encrypted encryption key in the recording medium.

【0065】このように、実行回数を乱数で暗号化して
実行毎に乱数を更新することにより、コピーされた、暗
号化された実行回数を復号することができないように
し、また、更新された実行回数を記録媒体に書き込む書
き込み妨害する攻撃を防止することができる。また、ソ
フトウェアをソフト鍵で暗号化し、さらにソフト鍵を乱
数で暗号化して、ソフトウェアの実行毎に乱数を更新す
ることで、ソフト鍵が第三者に知られることによるソフ
トウェアの不正な使用を防止することもできる。
In this way, by encrypting the number of executions with a random number and updating the random number for each execution, the copied and encrypted number of executions cannot be decrypted, and the updated number of executions It is possible to prevent an attack that obstructs writing by writing the number of times to the recording medium. In addition, software is encrypted with a soft key, and the soft key is encrypted with a random number, and the random number is updated each time the software is executed, preventing unauthorized use of the software due to the soft key being known to a third party. You can also do it.

【0066】第24の発明は、実行回数が所定の条件を
満足する場合に、ソフト鍵で復号して得られたソフトウ
ェアを実行し、かつソフト鍵および実行回数の不正な使
用を防止するためのソフトウェア実行制御システムであ
って、複数の、暗号化されたソフトウェア、暗号化され
たソフト鍵/実行回数および暗号化された補助鍵が格納
され、かつ情報の読み出しおよび書き込みが可能な記録
媒体(20)が、ソフトウェアを実行する実行器(2
1)に情報伝達可能に接続され、実行器(21)は、乱
数を格納し、かつ自己の外部からは情報の読み出しおよ
び書き込みが困難な乱数格納手段(22)と、記録媒体
(20)から、当該ソフトウェアに専用の暗号化された
補助鍵を獲得して、乱数格納手段(22)から取得した
乱数で復号する第1の復号手段(23)と、記録媒体
(20)から、当該ソフトウェアに専用の暗号化された
ソフト鍵/実行回数を獲得して、第1の復号手段(2
3)の復号によって得られた補助鍵で復号する第2の復
号手段(24)と、記録媒体(20)から暗号化された
ソフトウェアを獲得して、第2の復号手段(24)の復
号によって得られたソフト鍵で復号する第3の復号手段
(25)と、第2の復号手段(24)の復号によって得
られた実行回数が、所定の条件を満足するか否かを検査
し、所定の条件を満足する場合に、当該ソフトウェアの
実行を指示する実行回数検査手段(26)と、実行回数
検査手段(26)からの指示に応答して、第3の復号手
段(25)の復号によって得られたソフトウェアを実行
するソフト実行手段(29)とソフトウェアの実行に伴
って、第2の復号手段(24)の復号によって得られた
実行回数を更新する実行回数更新手段(27)と、第2
の復号手段(24)の復号によって得られたソフト鍵
と、実行回数更新手段(27)によって更新された実行
回数とを、第1の復号手段(23)の復号によって得ら
れた補助鍵で暗号化して、記録媒体(20)に格納する
第1の暗号化手段(28)と、所定のタイミングで、記
録媒体(20)から全ての暗号化された補助鍵を獲得し
て、乱数格納手段(22)から取得した乱数で復号する
第4の復号手段(30)と、第4の復号手段(30)の
復号に連携して、乱数格納手段(22)に格納された乱
数を更新する乱数更新手段(31)と、第4の復号手段
(30)の復号によって得られた補助鍵を、乱数更新手
段(31)によって更新された乱数で暗号化して、記録
媒体(20)に格納する第2の暗号化手段(32)とを
備えている。
A twenty-fourth aspect of the present invention is for executing software obtained by decryption with a soft key when the execution count satisfies a predetermined condition, and for preventing unauthorized use of the soft key and the execution count. A software execution control system for storing a plurality of encrypted software, an encrypted soft key / execution count and an encrypted auxiliary key, and capable of reading and writing information (20 ) Is an executor (2) that executes software.
1) is communicatively connected, and the execution unit (21) stores random numbers, and a random number storage means (22) from which it is difficult to read and write information from outside, and a recording medium (20). , A first decryption means (23) for obtaining an encrypted auxiliary key dedicated to the software and decrypting it with a random number obtained from the random number storage means (22), and a recording medium (20) The exclusive encrypted soft key / execution count is acquired, and the first decryption means (2
By the second decryption means (24) for decryption by the auxiliary key obtained by the decryption of 3) and the encrypted software from the recording medium (20), the decryption by the second decryption means (24) It is checked whether the number of executions obtained by the third decryption means (25) for decryption with the obtained soft key and the second decryption means (24) satisfies a predetermined condition, and When the condition (4) is satisfied, the execution count inspection means (26) for instructing the execution of the software and the decryption by the third decryption means (25) in response to the instruction from the execution count inspection means (26). A software execution means (29) for executing the obtained software, and an execution count updating means (27) for updating the execution count obtained by the decoding of the second decoding means (24) along with the execution of the software; Two
The soft key obtained by decryption by the decryption means (24) and the execution count updated by the execution count update means (27) are encrypted with the auxiliary key obtained by the decryption by the first decryption means (23). And a random number storage means (28) that obtains all the encrypted auxiliary keys from the recording medium (20) at a predetermined timing with the first encryption means (28) that stores the encrypted auxiliary key in the recording medium (20). 22) and a fourth decoding means (30) for decoding with the random number acquired from 22), and a random number update for updating the random number stored in the random number storage means (22) in cooperation with the decoding of the fourth decoding means (30). Second means for encrypting the auxiliary key obtained by the decryption of the means (31) and the fourth decryption means (30) with the random number updated by the random number update means (31) and storing it in the recording medium (20). Encryption means (32).

【0067】上記のように、第24の発明は、ソフトウ
ェアを実行する実行器と、複数の、ソフトウェア、暗号
化されたソフト鍵/実行回数および暗号化された補助鍵
を格納している記録媒体とで構成されている。実行器に
備わる第1の復号手段は、最初、記録媒体から当該ソフ
トウェアに対応する暗号化された補助鍵を獲得し、乱数
格納手段に格納された乱数で復号して、補助鍵を求め
る。次に、第2の復号手段は、記録媒体から、暗号化さ
れたソフト鍵実行回数を獲得し、求められた補助鍵で復
号してソフト鍵および実行回数を得る。次に、第3の復
号手段が、記録媒体から暗号化されたソフトウェアを獲
得し、得られたソフト鍵で復号してソフトウェアを求
め、実行回数検査手段は、求められた実行回数が所定の
条件を満足するか否かを検査し、満足する場合にソフト
実行手段に対してソフトウェアの実行を指示する。ソフ
ト実行手段は、実行回数検査手段の指示を受けて、求め
られたソフトウェアを実行する。ソフトウェアの実行に
伴って、実行回数更新手段は実行回数を更新する。続い
て、第1の暗号化手段は、更新された実行回数を、求め
られた補助鍵で暗号化して記録媒体に格納する。第4の
復号手段は、所定のタイミングで、記録媒体から全ての
暗号化された補助鍵を獲得して、乱数格納手段に格納さ
れた乱数で復号して補助鍵を求める。乱数更新手段は、
第4の復号手段の復号に連携して、乱数格納手段に格納
された乱数を更新する。第2の暗号化手段は、第4の復
号手段の復号によって得られた補助鍵を、更新された乱
数で暗号化して記録媒体に格納する。
As described above, the twenty-fourth aspect of the present invention is an executor that executes software, and a recording medium that stores a plurality of software, an encrypted soft key / execution count and an encrypted auxiliary key. It consists of and. The first decryption unit included in the execution unit first obtains the encrypted auxiliary key corresponding to the software from the recording medium, decrypts it with the random number stored in the random number storage unit, and obtains the auxiliary key. Next, the second decryption unit obtains the encrypted soft key execution count from the recording medium and decrypts it with the obtained auxiliary key to obtain the soft key and the execution count. Next, the third decryption means obtains the encrypted software from the recording medium, decrypts it with the obtained soft key to obtain the software, and the execution count inspection means determines the obtained execution count under a predetermined condition. Is inspected, and if so, the software execution means is instructed to execute the software. The software executing means executes the requested software in response to the instruction from the execution frequency checking means. The execution count updating means updates the execution count as the software is executed. Subsequently, the first encryption means encrypts the updated execution count with the obtained auxiliary key and stores it in the recording medium. The fourth decryption means obtains all the encrypted auxiliary keys from the recording medium at a predetermined timing and decrypts them with the random numbers stored in the random number storage means to obtain the auxiliary keys. The random number updating means is
The random number stored in the random number storage means is updated in cooperation with the decryption of the fourth decryption means. The second encryption means encrypts the auxiliary key obtained by the decryption by the fourth decryption means with the updated random number and stores it in the recording medium.

【0068】このように、複数のソフトウェアを扱う場
合には、それぞれのソフト鍵および実行回数を専用の補
助鍵で暗号化し、さらに、これらの補助鍵を乱数で暗号
化する。そして、所定のタイミングで乱数を更新するこ
とにより、コピーされた、暗号化された実行回数を復号
することができないようにし、また、更新された実行回
数を記録媒体に書き込むのを妨害する攻撃を防ぐことが
できる。また、ソフト鍵が第三者に知られることによる
ソフトウェアの不正な使用を防止することもできる。さ
らに、実行器の外部からの情報の読み出しおよび書き込
みが困難な記憶領域は、ソフトウェアの数に関わらず、
1個の乱数を格納する大きさの領域があればよく、コス
トを低く押さえることもできる。
As described above, when a plurality of pieces of software are handled, each soft key and the number of times of execution are encrypted with a dedicated auxiliary key, and further, these auxiliary keys are encrypted with random numbers. Then, by updating the random number at a predetermined timing, it becomes impossible to decrypt the copied and encrypted execution count, and an attack that prevents the updated execution count from being written to the recording medium is performed. Can be prevented. It is also possible to prevent unauthorized use of software due to the soft key being known to a third party. Furthermore, it is difficult to read and write information from the outside of the execution unit, regardless of the number of software.
It is only necessary to have an area of a size for storing one random number, and the cost can be kept low.

【0069】[0069]

【発明の実施の形態】BEST MODE FOR CARRYING OUT THE INVENTION

(第1の実施形態)図1は、本発明の第1の実施形態に
係るソフトウェア実行制御システムの構成を示すブロッ
ク図である。図1において、本システムは、ソフトウェ
アを格納する記録媒体1と、ソフトウェアを実行する実
行器2とを備えている。実行器2は、乱数格納部3と、
第1の復号部4と、実行回数検査部5と、第2の復号部
6と、ソフト実行部7と、実行回数更新部8と、乱数更
新部9と、暗号部10とを含む。
(First Embodiment) FIG. 1 is a block diagram showing the configuration of a software execution control system according to the first embodiment of the present invention. In FIG. 1, the present system includes a recording medium 1 that stores software and an executor 2 that executes software. The executor 2 includes a random number storage unit 3,
It includes a first decryption unit 4, an execution count inspection unit 5, a second decryption unit 6, a software execution unit 7, an execution count update unit 8, a random number update unit 9, and an encryption unit 10.

【0070】図2は、図1のソフトウェア実行制御シス
テムの動作を示すフローチャートである。以下には、図
2を用いて、図1に示すシステムの動作を説明する。
今、乱数格納部3には、乱数Rが格納されており、記録
媒体1には、あるソフトウェアSoftAをソフト鍵K
で暗号化した暗号化ソフトE(K,SoftA)と、ソ
フト鍵Kおよび実行回数nを乱数Rで暗号化した暗号化
ソフト鍵/実行回数E(R,(K,n))とが格納され
ている。記録媒体1を実行器2に接続して、ソフトウェ
アSoftAを実行する際に、実行器2は、記録媒体1
から暗号化ソフトE(K,SoftA)と暗号化ソフト
鍵/実行回数E(R,(K,n))とを獲得する(ステ
ップS101)。次に、実行器2内の第1の復号部4
は、暗号化ソフト鍵/実行回数E(R,(K,n))を
乱数Rで復号して、ソフト鍵Kおよび実行回数nを求め
る(ステップS102)。次に、実行回数検査部5は、
求めた実行回数nが1以上であるか否かを検査し(ステ
ップS103)、nが1以上であればソフト実行部7に
対して、実行OKを通知し、nが0であれば、システム
の動作を終了させる。nが1以上の場合、第2の復号部
6は、暗号化ソフトE(K,SoftA)を、求めたソ
フト鍵Kで復号してソフトウェアSoftAを求める
(ステップS104)。次に、ソフト実行部7は、実行
回数検査部5から実行OKの通知を受けて、求めたソフ
トウェアSoftAを実行する(ステップS105)。
ソフトウェアSoftAを実行すると、実行回数更新部
8は、実行回数nを1減少してn’(=n−1)に更新
し(ステップS106)、乱数更新部9は、乱数格納部
3の乱数RをR’に更新する(ステップS107)。次
に、暗号部10は、更新された乱数R’で、ソフト鍵K
および実行回数n’を暗号化し(ステップS108)、
この更新された暗号化鍵/実行回数E(R’,(K,
n’))を記録媒体1に再び格納する(ステップS10
9)。
FIG. 2 is a flow chart showing the operation of the software execution control system of FIG. The operation of the system shown in FIG. 1 will be described below with reference to FIG.
Now, the random number R is stored in the random number storage unit 3, and a certain software SoftA is stored in the recording medium 1 as the soft key K.
The encrypted software E (K, SoftA) encrypted by and the encrypted soft key / execution count E (R, (K, n)) in which the soft key K and the execution count n are encrypted by the random number R are stored. ing. When the recording medium 1 is connected to the executor 2 and the software SoftA is executed, the executor 2 sets the recording medium 1
The encryption software E (K, SoftA) and the encryption software key / number of times of execution E (R, (K, n)) are acquired from (step S101). Next, the first decoding unit 4 in the executor 2
Determines the soft key K and the execution count n by decrypting the encrypted soft key / execution count E (R, (K, n)) with a random number R (step S102). Next, the execution count inspection unit 5
It is checked whether or not the obtained number of executions n is 1 or more (step S103). If n is 1 or more, the software execution unit 7 is notified of execution OK, and if n is 0, the system is executed. End the operation of. When n is 1 or more, the second decryption unit 6 decrypts the encrypted software E (K, SoftA) with the obtained soft key K to obtain the software SoftA (step S104). Next, the software execution unit 7 receives the notification of execution OK from the execution number inspection unit 5 and executes the obtained software SoftA (step S105).
When the software SoftA is executed, the execution count updating unit 8 decreases the execution count n by 1 and updates it to n '(= n-1) (step S106), and the random number updating unit 9 causes the random number R in the random number storage unit 3 to operate. To R '(step S107). Next, the encryption unit 10 uses the updated random number R ′ and the soft key K
And the number of executions n ′ is encrypted (step S108),
This updated encryption key / execution count E (R ', (K,
n ′)) is stored again in the recording medium 1 (step S10).
9).

【0071】ここで、記録媒体1および実行器2は、以
下の条件を満たしているものとする。 (1)記録媒体は、情報の読み出しおよび書き込みがで
きる。 (2)記録媒体と実行器との間では、情報の読み出しお
よび書き込みができる。 (3)実行器内の、動作中の各部の間を移動する情報
は、実行器の外部からは、読み出しおよび書き込みはで
きない。また、各部で動作中に求められ、利用される情
報は、実行器の内部のRAMに格納して利用し、動作後
には消去される。 (4)実行器内の乱数格納部は、実行制御を行なう特別
なシステムプログラム以外からは、情報の読み出しおよ
び書き込みはできない。
Here, it is assumed that the recording medium 1 and the executor 2 satisfy the following conditions. (1) The recording medium can read and write information. (2) Information can be read and written between the recording medium and the executor. (3) Information that moves between the operating units in the executor cannot be read or written from outside the executor. Further, the information obtained and used by each unit during operation is stored in the internal RAM of the executor and used, and is erased after the operation. (4) The random number storage unit in the executor cannot read or write information from other than a special system program that controls execution.

【0072】このとき、図1のソフトウェア実行制御シ
ステムは、次のようにして第1の攻撃を防ぐことができ
る。実行回数nが0になる前に、記録媒体1をコピーし
ておく。コピーの記録媒体には、暗号化ソフトE(K,
SoftA)、およびコピーした時点での暗号化ソフト
鍵/実行回数E(R,(K,n))が格納されている。
この暗号化ソフト鍵/実行回数E(R,(K,n))を
復号するには、暗号鍵である乱数Rが必要である。記録
媒体1に格納された実行許可情報の実行回数nが少なく
なった時点で、コピーに差し替えて再び実行を試みて
も、実行器2内の乱数は、すでにRとは異なる値に更新
されており、コピーに格納されている暗号化ソフト鍵/
実行回数E(R,(K,n))を復号してソフト鍵Kを
得ることができず、従って、ソフトウェアSoftAを
実行することができない。
At this time, the software execution control system of FIG. 1 can prevent the first attack as follows. The recording medium 1 is copied before the number of executions n becomes 0. Encryption software E (K,
SoftA), and the encrypted soft key / number of executions E (R, (K, n)) at the time of copying are stored.
To decrypt this encrypted soft key / number of executions E (R, (K, n)), a random number R that is an encryption key is required. When the number of executions n of the execution permission information stored in the recording medium 1 becomes small, even if the copy execution is replaced with a copy and the execution is tried again, the random number in the executor 2 is already updated to a value different from R. And the encrypted softkey stored in the copy /
The soft key K cannot be obtained by decrypting the execution count E (R, (K, n)), and therefore the software SoftA cannot be executed.

【0073】同時に、図1のソフトウェア実行制御シス
テムは、次のようにして第2の攻撃を防ぐことができ
る。更新された暗号化ソフト鍵/実行回数E(R’,
(K,n’))の、記録媒体1への書き込みを、記録媒
体と実行器との間で妨害する。実行器2内の乱数はRか
らR’に更新されているのにも関わらず、記録媒体1に
は更新前の乱数Rで暗号化された暗号化ソフト鍵/実行
回数E(R,(K,n))が格納されたままになってい
る。このため、次に実行を試みても、乱数R’では暗号
化ソフト鍵/実行回数E(R,(K,n))を復号する
ことができず、従って、ソフトウェアSoftAを実行
することができない。
At the same time, the software execution control system of FIG. 1 can prevent the second attack as follows. Updated encrypted soft key / number of executions E (R ',
The writing of (K, n ′)) to the recording medium 1 is disturbed between the recording medium and the executor. Even though the random number in the executor 2 is updated from R to R ′, the encrypted soft key encrypted by the random number R before update / the number of executions E (R, (K , N)) is still stored. Therefore, even if the next execution is attempted, the encrypted soft key / execution count E (R, (K, n)) cannot be decrypted with the random number R ′, and therefore the software SoftA cannot be executed. ..

【0074】なお、本実施形態では、実行可能な回数を
実行制御のためのパラメータとし、これを1ずつ減少し
ていく構成にしたが、実行の上限回数を設定しておき、
実行した回数をパラメータとして、これを1づつ増加し
ていく構成にしてもよい。あるいは、実行時間で制御す
ることもできる。このように、実行制御のためのパラメ
ータは、実行の分量を表すことのできる量であればよ
い。また、ソフトウェアの実行回数だけでなく、1つの
ソフトウェアの中で、項目を限定して、実行回数を制限
するよう拡張することもできる。もちろん、コンピュー
タソフトウェアだけでなく、ゲームやその他さまざまな
マルチメディアソフトウェアを対象としてもよい。
In the present embodiment, the number of times execution is possible is used as a parameter for execution control, and this is decreased by one. However, the upper limit number of executions is set beforehand,
The number of executions may be used as a parameter, and the number may be increased by one. Alternatively, it can be controlled by the execution time. As described above, the parameter for execution control may be an amount that can represent the amount of execution. Further, not only the number of times the software is executed, but also items within one software can be limited to extend the number of times the software is executed. Of course, not only computer software but also games and various other multimedia software may be targeted.

【0075】ところで、本実施形態では、ソフトの実行
毎に乱数を更新しているが、数回の実行毎に乱数を更新
するようにすれば、実行制御に要する処理の負荷を軽減
することができる。この場合には、同じ乱数Rを使用し
ている間は上記第1および第2の攻撃が可能であるが、
乱数の更新の頻度を適切に設定することにより、これら
を有効に防止することができる。
By the way, in the present embodiment, the random number is updated every time the software is executed. However, if the random number is updated every several times of execution, the processing load required for execution control can be reduced. it can. In this case, while the same random number R is used, the above-mentioned first and second attacks are possible,
By appropriately setting the frequency of updating the random numbers, these can be effectively prevented.

【0076】また、本実施形態において、乱数Rの更新
の間隔をまちまちにして、かつ、ユーザに秘密にするこ
とにより、更新の頻度に対する第1および第2の攻撃の
防止効果を高めることができる。
In this embodiment, the random number R is updated at different intervals and kept secret to the user, so that the effect of preventing the first and second attacks on the update frequency can be enhanced. .

【0077】さらにまた、本実施形態において、乱数を
格納する記憶領域を、実行器2にではなく、記録媒体1
に備えることにより、実行器を限定することなく、ソフ
トウェアの実行回数だけを制御するようにすることもで
きる。
Furthermore, in the present embodiment, the storage area for storing the random numbers is provided in the recording medium 1 rather than in the executor 2.
By preparing for, it is possible to control only the number of times software is executed without limiting the executor.

【0078】あるいは、本実施形態において、記録媒体
1に代えて、読み出し専用の第1の記録媒体と、読み出
しおよび書き込みが可能な第2の記録媒体とを備えるよ
うにし、暗号化ソフトは第1の記録媒体に、暗号化ソフ
ト鍵/実行回数は第2の記録媒体に、それぞれ格納する
ようにすることもできる。この際には、例えば、第1の
記録媒体はCD−ROM、第2の記録媒体は拡張メモリ
を用いればよい。
Alternatively, in the present embodiment, instead of the recording medium 1, a read-only first recording medium and a readable and writable second recording medium are provided, and the encryption software is the first. It is also possible to store the encrypted soft key / number of executions in the second recording medium. At this time, for example, a CD-ROM may be used as the first recording medium and an expansion memory may be used as the second recording medium.

【0079】図3は、本実施形態に係るソフトウェア実
行制御システムの、実行器がソフト配布器からソフトウ
ェアの配布を受ける際の構成を示すブロック図である。
図3において、本システムは、記録媒体1と、実行器2
と、ソフト配布器11とを備えている。ソフト配布器1
1は、暗号部12を備えており、実行器2は、図1にお
けるものに、さらに、第3の復号部13が追加されてい
るが、ここでは、必要な部分だけが表示されている。
FIG. 3 is a block diagram showing the configuration of the software execution control system according to this embodiment when the executor receives the distribution of software from the software distributor.
In FIG. 3, the present system includes a recording medium 1 and an executor 2.
And a software distributor 11. Soft distributor 1
1 includes an encryption unit 12, and the executor 2 further includes a third decryption unit 13 in addition to the one in FIG. 1, but here, only necessary portions are displayed.

【0080】図4は、図3に示すシステムの動作を示す
フローチャートである。図4を用いて、図3に示すシス
テムの動作を説明する。実行器2内の乱数格納部3に
は、実行制御のための乱数Rに加えて、実行許可情報の
移動を制御するための乱数rが格納されている。実行器
2は、ソフトウェアSoftAの配布を注文する際に、
ソフト配布器11に対して乱数rを通知する(ステップ
S201)。乱数rを通知されたソフト配布器11は、
最初、暗号部12において、ソフト鍵Kおよび実行回数
nをこの乱数rで暗号化する。次に、ソフト配布器11
は、この暗号化ソフト鍵/実行回数E(r,(K,
n))と、暗号化ソフトE(K,SoftA)とを、実
行器2に対して、記録媒体1に格納して送付、または通
信回線を介して送信する(ステップS202)。これら
を受け取った実行器2は、まず、第3の復号部13にお
いて、乱数格納部3に格納した乱数rで暗号化ソフト鍵
/実行回数E(r,(K,n))を復号して、ソフト鍵
Kおよび実行回数nを得る(ステップS203)。この
際、乱数更新部9は、乱数格納部3に格納された乱数r
をr’に更新する(ステップS204)。続いて、実行
器2は、暗号部10において、乱数格納部3に格納され
た乱数Rで、ソフト鍵Kおよび実行回数nを暗号化し
(ステップS205)、この暗号化ソフト鍵/実行回数
E(R,(K,n))を記録媒体1に格納する(ステッ
プS206)。
FIG. 4 is a flow chart showing the operation of the system shown in FIG. The operation of the system shown in FIG. 3 will be described with reference to FIG. In addition to the random number R for execution control, the random number storage unit 3 in the executor 2 stores a random number r for controlling movement of the execution permission information. The executor 2 is required to order the distribution of the software SoftA.
The software distributor 11 is notified of the random number r (step S201). The software distributor 11 notified of the random number r
First, the encryption unit 12 encrypts the soft key K and the execution count n with this random number r. Next, software distributor 11
Is the encrypted soft key / number of executions E (r, (K,
n)) and the encryption software E (K, SoftA) are stored in the recording medium 1 and sent to the executor 2, or sent via a communication line (step S202). Upon receiving these, the execution device 2 first decrypts the encrypted soft key / execution count E (r, (K, n)) with the random number r stored in the random number storage unit 3 in the third decryption unit 13. , The soft key K and the execution count n are obtained (step S203). At this time, the random number updating unit 9 uses the random number r stored in the random number storage unit 3.
To r '(step S204). Subsequently, the execution unit 2 encrypts the soft key K and the execution count n with the random number R stored in the random number storage unit 3 in the encryption unit 10 (step S205), and the encrypted soft key / execution count E ( R, (K, n)) is stored in the recording medium 1 (step S206).

【0081】上記のようにして配布されたソフトウェア
は、乱数rを保有しているもの以外の実行器では、実行
することができない。また、暗号鍵として乱数rを用い
ると、ソフト購入毎に乱数rが更新されるため、一度入
手した実行許可情報をコピーして繰り返し使用されるの
を防ぐことができる。
The software distributed as described above cannot be executed by an executor other than the one holding the random number r. Further, when the random number r is used as the encryption key, the random number r is updated every time the software is purchased, so that the execution permission information obtained once can be prevented from being copied and repeatedly used.

【0082】なお、上記の手順では、実行器2はソフト
配布器11に乱数rをそのまま通知しているが、乱数r
を暗号化することでより一層安全性を高めることができ
る。また、認証や署名の情報を付加すると、さらに安全
性が向上する。
In the above procedure, the executor 2 notifies the software distributor 11 of the random number r as it is.
By encrypting, the security can be further enhanced. Moreover, the security is further improved by adding the information of the authentication and the signature.

【0083】ところで、第1の実施形態において、複数
の実行器の間で、あるいはソフト配布器と実行器との間
で、実行許可情報の移動を伴う次の3つの場合について
のソフトウェア実行制御方法を説明する。 (1)ソフトウェアSoftAをN回実行することので
きる実行許可情報を、追加で購入する場合。 実行器2は、乱数Rおよびrを内部に保有している。ま
ず、実行器2は、乱数rをソフト配布器11に通知す
る。ソフト配布器11は、ソフト鍵Kおよび実行回数N
を、通知された乱数rで暗号化し、実行器2に送付す
る。実行器2は、送付された暗号化ソフト鍵/実行回数
E(r,(K,N))を乱数rで復号してソフト鍵Kお
よび実行回数Nを得ると同時に、自己の内部の乱数rを
r’に更新する。次に、実行器2は、記録媒体1から、
先に購入した暗号化ソフト鍵/実行回数E(R,(K,
n))を獲得し、乱数Rで復号してソフト鍵Kおよび実
行回数nを求めるとともに、乱数RをR’に更新する。
続いて、実行器2は、nにNを加算した実行回数n+N
とソフト鍵Kとを、更新した乱数R’で暗号化し、この
暗号化ソフト鍵/実行回数E(R’,(K,n+N))
を記録媒体1に格納する。このようにして、実行器2
は、更にn回実行する許可を得る。
By the way, in the first embodiment, the software execution control method for the following three cases involving movement of execution permission information between a plurality of execution units or between a software distribution unit and an execution unit. Will be explained. (1) In the case of additionally purchasing execution permission information that allows the software SoftA to be executed N times. The executor 2 internally holds the random numbers R and r. First, the executor 2 notifies the software distributor 11 of the random number r. The soft distributor 11 uses the soft key K and the execution count N.
Is encrypted with the notified random number r and sent to the executor 2. The executor 2 decrypts the sent encrypted soft key / execution count E (r, (K, N)) with the random number r to obtain the soft key K and the execution count N, and at the same time, the internal random number r To r ′. Next, the executor 2 reads from the recording medium 1
Previously purchased encryption soft key / number of executions E (R, (K,
n)) is obtained and decrypted with the random number R to obtain the soft key K and the number of executions n, and the random number R is updated to R ′.
Subsequently, the executor 2 executes the number of executions n + N in which N is added to N.
And the soft key K with the updated random number R ', and this encrypted soft key / number of executions E (R', (K, n + N))
Are stored in the recording medium 1. In this way, the executor 2
Gets permission to run n more times.

【0084】(2)第1の実行器が所有する実行許可情
報を、第2の実行器に譲渡する場合。 内部に乱数Rを保有している第1の実行器に、第2の実
行器を接続する。第1の実行器は、乱数Rを第2の実行
器に通知すると同時に、自己の保有する乱数RをR’に
更新する。第2の実行器は、第1の実行器から通知され
た乱数Rを内部に格納する。第2の実行器は、記録媒体
に格納された暗号化ソフト鍵/実行回数E(R,(K,
n))を復号して、ソフトウェアSoftAを実行する
ことができる。このようにして、第1の実行器の保有し
ていた実行許可情報は、第2の実行器に譲渡され、第1
の実行器は実行する権利を失う。
(2) When the execution permission information possessed by the first executor is transferred to the second executor. The second executor is connected to the first executor which internally holds the random number R. The first executor notifies the second executor of the random number R and, at the same time, updates the random number R held by itself to R ′. The second executor internally stores the random number R notified from the first executor. The second executor uses the encrypted soft key / execution count E (R, (K,
n)) can be decrypted and the software SoftA can be executed. In this way, the execution permission information held by the first executor is transferred to the second executor,
Executor loses the right to execute.

【0085】(3)第1の実行器が所有する実行許可情
報を分割して、その一部を第2の実行器に譲渡する場
合。 第1の実行器は、内部に、乱数Rおよびrを保有してい
る。第1の実行器は、記録媒体から獲得した実行許可情
報を乱数Rで復号してソフト鍵Kおよび実行回数nを得
ると、nをn1とn2とに分割する。この際、第1の実
行器は、乱数RをR’に更新する。次に、ソフト鍵Kお
よび実行回数n1を、更新された乱数R’により暗号化
して、この暗号化ソフト鍵/実行回数E(R’,(K,
n1))を、自己と接続された記録媒体に格納する。同
時に、第1の実行器は、乱数rでソフト鍵Kおよび実行
回数n2を暗号化し、この暗号化ソフト鍵/実行回数E
(r,(K,n2))と乱数rとを第2の実行器に通知
した後、自己の内部の乱数rをr’に更新する。第2の
実行器は、これらを受け取ると、乱数rを自己の内部
に、暗号化ソフト鍵/実行回数E(r,(K,n2))
を自己に接続された記録媒体に、それぞれ格納する。こ
のようにして、第1の実行器の保有していた、ソフトウ
ェアSoftAをn回実行することのできる実行許可情
報のうち、n2回分の実行許可情報が第2の実行器に譲
渡され、第1の実行器には、n1回分の実行許可情報が
残される。
(3) When the execution permission information owned by the first executor is divided and a part of the information is transferred to the second executor. The first executor internally holds the random numbers R and r. When the first executor decrypts the execution permission information acquired from the recording medium with the random number R to obtain the soft key K and the execution count n, it divides n into n1 and n2. At this time, the first executor updates the random number R to R ′. Next, the soft key K and the number of executions n1 are encrypted by the updated random number R ', and this encrypted soft key / number of executions E (R', (K,
n1)) is stored in a recording medium connected to itself. At the same time, the first executor encrypts the soft key K and the execution count n2 with the random number r, and the encrypted soft key / execution count E
After notifying (r, (K, n2)) and the random number r to the second executor, the internal random number r is updated to r '. Upon receiving these, the second executor stores the random number r in itself inside the encrypted soft key / execution count E (r, (K, n2)).
Is stored in a recording medium connected to itself. In this way, among the execution permission information held by the first execution unit and capable of executing the software SoftA n times, the execution permission information for n2 times is transferred to the second execution unit. The execution permission information for n1 times is left in the executor.

【0086】なお、本実施形態では、ソフトウェアをソ
フト鍵で暗号化する構成になっているが、ソフトウェア
を暗号化しない構成でも、目的を達成することができ
る。
Although the software is encrypted with the soft key in this embodiment, the object can be achieved even if the software is not encrypted.

【0087】ところで、本実施形態のソフトウェア実行
制御システムは、一つの実行器につき一つのソフトウェ
アを扱っている。本システムにおいて、一つの実行器で
複数のソフトを扱えるようにするには、実行制御のため
の乱数をソフト毎に用意し、実行器の内部に格納してお
く必要がある。従って、実行器に、複数の乱数を格納可
能な大きさの記憶領域を設けることが必要である。そこ
で、次に述べる第2の実施形態では、一つの実行器で同
時に複数のソフトを扱う場合にも、当該実行器に、1つ
の乱数だけを格納可能な記憶領域を設ければよいような
ソフトウェア実行制御システムを提供する。
By the way, the software execution control system of the present embodiment handles one software for one executor. In this system, in order for one execution unit to handle multiple software, it is necessary to prepare a random number for execution control for each software and store it inside the execution unit. Therefore, it is necessary to provide the executor with a storage area having a size capable of storing a plurality of random numbers. Therefore, in the second embodiment described below, even when one execution unit handles a plurality of software at the same time, the execution unit needs to be provided with a storage area capable of storing only one random number. Provide an execution control system.

【0088】(第2の実施形態)図5は、本発明の第2
の実施形態に係るソフトウェア実行制御システムの構成
を示すブロック図である。図5において、本システム
は、ソフトウェアを格納する記録媒体20と、ソフトウ
ェアを実行する実行器21とを備えている。実行器21
は、乱数格納部22と、第1の復号部23と、第2の復
号部24と、第3の復号部25と、実行回数検査部26
と、実行回数更新部27と、第1の暗号部28と、ソフ
ト実行部29とを含む。
(Second Embodiment) FIG. 5 shows a second embodiment of the present invention.
3 is a block diagram showing a configuration of a software execution control system according to the exemplary embodiment. FIG. In FIG. 5, the system includes a recording medium 20 that stores software and an executor 21 that executes software. Executor 21
Is a random number storage unit 22, a first decryption unit 23, a second decryption unit 24, a third decryption unit 25, and an execution count inspection unit 26.
An execution count updating unit 27, a first encryption unit 28, and a software execution unit 29.

【0089】図6は、図5のソフトウェア実行制御シス
テムの動作を示すフローチャートである。図6を用い
て、図5に示すシステムの動作を説明する。記録媒体2
0には、ソフトウェアSoftAに関する情報として、
暗号化ソフトE(KA,SoftA)と、暗号化ソフト
鍵/実行回数E(RA,(KA,nA))と、暗号化補
助鍵E(R,RA)とが、ソフトウェアSoftBに関
する情報として、暗号化ソフトE(KB,SoftB)
と、暗号化ソフト鍵/実行回数E(RB,(KB,n
B))と、暗号化補助鍵E(R,RB)とが、格納され
ている。ここで、RAおよびRBは、それぞれソフトウ
ェアSoftAおよびソフトウェアSoftBに専用の
補助鍵であり、E(R,RA)およびE(R,RB)
は、これらをそれぞれ乱数Rで暗号化したものである。
FIG. 6 is a flow chart showing the operation of the software execution control system of FIG. The operation of the system shown in FIG. 5 will be described with reference to FIG. Recording medium 2
In 0, as information about software SoftA,
The encryption software E (KA, SoftA), the encryption software key / number of executions E (RA, (KA, nA)), and the encryption auxiliary key E (R, RA) are encrypted as information about the software SoftB. Software E (KB, SoftB)
And the encryption soft key / number of executions E (RB, (KB, n
B)) and the encryption auxiliary key E (R, RB) are stored. Here, RA and RB are auxiliary keys dedicated to the software SoftA and software SoftB, respectively, and are E (R, RA) and E (R, RB).
Are each encrypted with a random number R.

【0090】乱数格納部22は、図1における乱数格納
部3と同様に、読み出しおよび書き込みの困難な領域で
あり、乱数Rを格納している。実行器21は、記録媒体
20からソフトウェアSoftAに関する情報を獲得す
ると(ステップS301)、第1の復号部23におい
て、乱数Rによって、暗号化補助鍵E(R,RA)を復
号し、補助鍵RAを得る(ステップS302)。続い
て、実行器21は、第2の復号部24において、この補
助鍵RAにより、暗号化ソフト鍵/実行回数E(RA,
(KA,nA))を復号し、ソフト鍵KAおよび実行回
数nAを得る(ステップS303)。さらに、実行器2
1は、第3の復号部25において、ソフト鍵KAによ
り、暗号化ソフトE(KA,SoftA)を復号し、ソ
フトウェアSoftAを得る(ステップS304)。同
時に、実行器21は、実行回数検査部26において、実
行回数nAが1以上であるか否かを検査し(ステップS
305)、nAが1以上であればソフト実行部29に対
して実行OKを通知し、この通知を受けて、ソフト実行
部29はソフトウェアSoftAを実行する(ステップ
S306)。この後、実行回数更新部27は、実行回数
nAを1減少してnA’(=nA−1)に更新する(ス
テップS307)。実行回数nA’は、第1の暗号部2
8において、ソフト鍵KAと共に補助鍵RAで暗号化さ
れ(ステップS308)、この暗号化ソフト鍵/実行回
数E(RA,(KA,nA’))が、記録媒体20に再
び格納される(ステップS309)。ソフトウェアSo
ftBについても、同様にして実行される。
Like the random number storage unit 3 in FIG. 1, the random number storage unit 22 is an area that is difficult to read and write, and stores the random number R. When the executor 21 obtains the information about the software SoftA from the recording medium 20 (step S301), the first decryption unit 23 decrypts the encrypted auxiliary key E (R, RA) with the random number R, and the auxiliary key RA. Is obtained (step S302). Subsequently, in the second decryption unit 24, the executor 21 uses the auxiliary key RA to execute the encrypted soft key / execution count E (RA,
(KA, nA)) is decrypted to obtain the soft key KA and the execution count nA (step S303). Furthermore, the executor 2
The first decryption unit 1 decrypts the encrypted software E (KA, SoftA) with the soft key KA in the third decryption unit 25 to obtain the software SoftA (step S304). At the same time, the executor 21 checks whether the number of executions nA is 1 or more in the number-of-executions inspection unit 26 (step S
305), if nA is 1 or more, the software execution unit 29 is notified of execution OK, and in response to this notification, the software execution unit 29 executes the software SoftA (step S306). After that, the execution count updating unit 27 decrements the execution count nA by 1 and updates it to nA ′ (= nA−1) (step S307). The number of executions nA ′ is determined by the first encryption unit 2
In step 8, the data is encrypted with the auxiliary key RA together with the soft key KA (step S308), and the encrypted soft key / number of executions E (RA, (KA, nA ')) is stored again in the recording medium 20 (step S308). S309). Software So
The same applies to ftB.

【0091】図7は、本実施形態において、所定のタイ
ミングで乱数Rを更新する際の、ソフトウェア実行シス
テムの構成を示すブロック図である。図7において、記
録媒体20は、図5におけるものと同様の情報を格納し
ている。実行器21は、図5におけるものに加えて、第
4の復号部30と、乱数更新部31と、第2の暗号部3
2とを更に含むが、図には必要な部分だけが表示されて
いる。
FIG. 7 is a block diagram showing the configuration of the software execution system when the random number R is updated at a predetermined timing in this embodiment. In FIG. 7, the recording medium 20 stores the same information as that in FIG. The executor 21 includes the fourth decryption unit 30, the random number update unit 31, and the second encryption unit 3 in addition to those in FIG.
2 is included, but only the necessary parts are shown in the figure.

【0092】図8は、図7に示すシステムの、所定のタ
イミングで乱数Rを更新する際の動作を示すフローチャ
ートである。図8を用いて、図7に示すシステムの動作
を説明する。実行器21は、記録媒体20から暗号化補
助鍵E(R,RA)およびB(R,RB)を獲得すると
(ステップS401)、第4の復号部30において乱数
Rで復号して、補助鍵RAおよびRBを得る(ステップ
S402)。この際、実行器21は、乱数更新部31に
おいて、乱数格納部22に格納された乱数RをR’に更
新する(ステップS403)。続いて、実行器21は、
第2の暗号部32において、乱数R’で補助鍵RAおよ
びRBをそれぞれ暗号化し(ステップS404)、これ
らの暗号化補助鍵E(R’,RA)およびE(R’,R
B)を記録媒体20に再び格納する(ステップS40
5)。
FIG. 8 is a flowchart showing the operation of the system shown in FIG. 7 when updating the random number R at a predetermined timing. The operation of the system shown in FIG. 7 will be described with reference to FIG. When the executor 21 obtains the encrypted auxiliary keys E (R, RA) and B (R, RB) from the recording medium 20 (step S401), the fourth decryption unit 30 decrypts the auxiliary keys by the random number R. RA and RB are obtained (step S402). At this time, the executor 21 updates the random number R stored in the random number storage unit 22 to R ′ in the random number update unit 31 (step S403). Then, the executor 21
In the second encryption unit 32, the auxiliary keys RA and RB are each encrypted with the random number R ′ (step S404), and these encrypted auxiliary keys E (R ′, RA) and E (R ′, R) are encrypted.
B) is stored again in the recording medium 20 (step S40).
5).

【0093】このように、第2の実施形態では、ソフト
鍵および実行回数を暗号化するための各ソフトウェア毎
の補助鍵と、それらの補助鍵を束ねてそれぞれ暗号化す
るための乱数Rとを用意して、乱数格納部には乱数Rだ
けを格納するようにしている。このため、読み出しおよ
び書き込みのできない領域の大きさを最小にすることが
できて、実現コストも低く抑えることができる。
As described above, in the second embodiment, the auxiliary key for each software for encrypting the soft key and the number of executions, and the random number R for bundling the auxiliary keys and performing the encryption respectively. Only the random number R is stored in the random number storage section prepared. Therefore, the size of the unreadable and writable area can be minimized and the implementation cost can be kept low.

【0094】なお、乱数Rの更新は、できるだけ頻繁に
行なうほうが、先に述べた第1および第2の攻撃に対す
る防御効果は大きいが、記録媒体に格納されているソフ
トウェアの数が多い場合には、特に処理の負荷が大きく
なってしまう。そのため、更新の頻度は、トレードオフ
を考慮して決定する。また、第1の実施形態でも述べた
通り、更新の間隔を可変にし、かつ秘密にすることも、
安全性を高める上で有効である。
It is to be noted that updating the random number R as frequently as possible has a greater effect of protecting against the above-mentioned first and second attacks, but when the number of software stored in the recording medium is large. Especially, the processing load becomes large. Therefore, the update frequency is determined in consideration of the trade-off. Also, as described in the first embodiment, the update interval can be made variable and secret,
It is effective in improving safety.

【0095】また、本実施形態では、ソフトウェアをソ
フト鍵で暗号化する構成になっているが、ソフトウェア
を暗号化しない構成でも、目的を達成することができ
る。
Further, in the present embodiment, the software is configured to be encrypted with the soft key, but the object can be achieved even if the software is not encrypted.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施形態に係るソフトウェア実
行制御システムの、ソフトウェアを実行する際の構成を
示すブロック図である。
FIG. 1 is a block diagram showing a configuration when executing software of a software execution control system according to a first embodiment of the present invention.

【図2】図1のソフトウェア実行制御システムの動作を
示すフローチャートである。
FIG. 2 is a flowchart showing an operation of the software execution control system of FIG.

【図3】本発明の第1の実施形態に係るソフトウェア実
行制御システムの、実行器がソフト配布器からソフトウ
ェアの配布を受ける際の構成を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of the software execution control system according to the first exemplary embodiment of the present invention when an executor receives distribution of software from a software distributor.

【図4】図3のソフトウェア実行制御システムの動作を
示すフローチャートである。
FIG. 4 is a flowchart showing an operation of the software execution control system of FIG.

【図5】本発明の第2の実施形態に係るソフトウェア実
行制御システムの、ソフトウェアを実行する際の構成を
示すブロック図である。
FIG. 5 is a block diagram showing a configuration when executing software of a software execution control system according to a second exemplary embodiment of the present invention.

【図6】図5のソフトウェア実行制御システムの動作を
示すフローチャートである。
6 is a flowchart showing the operation of the software execution control system of FIG.

【図7】本発明の第2の実施形態に係るソフトウェア実
行制御システムの、乱数を更新する際の構成を示すブロ
ック図である。
FIG. 7 is a block diagram showing a configuration of a software execution control system according to a second embodiment of the present invention when updating a random number.

【図8】図7のソフトウェア実行制御システムの動作を
示すフローチャートである。
8 is a flowchart showing an operation of the software execution control system of FIG.

【図9】第1の従来例に係るソフトウェア実行制御シス
テムの構成を示すブロック図である。
FIG. 9 is a block diagram showing a configuration of a software execution control system according to a first conventional example.

【図10】第2の従来例に係るソフトウェア実行制御シ
ステムの構成を示すブロック図である。
FIG. 10 is a block diagram showing a configuration of a software execution control system according to a second conventional example.

【図11】第3の従来例に係るソフトウェア実行制御シ
ステムの構成を示すブロック図である。
FIG. 11 is a block diagram showing a configuration of a software execution control system according to a third conventional example.

【符号の説明】[Explanation of symbols]

1、20、103、110 記録媒体 2、21、101、111 実行器 3、22 乱数格納部 4、23 第1の復号部 5、26、106、119 実行回数検査部 6、24 第2の復号部 7、29 ソフト実行部 8、27、107、118 実行回数更新部 9、31 乱数更新部 10、108 暗号部 11 ソフト配布器 13、25 第3の復号部 28 第1の暗号部 30 第4の復号部 32 第2の暗号部 102、113 固有鍵格納部 104、105、114、117 復号部 112 コプロセッサ 115 ソフト鍵格納部 116 実行回数格納部 1, 20, 103, 110 recording medium 2, 21, 101, 111 executor 3, 22 random number storage unit 4, 23 first decoding unit 5, 26, 106, 119 execution count checking unit 6, 24 second decoding Part 7, 29 Software execution unit 8, 27, 107, 118 Execution count update unit 9, 31 Random number update unit 10, 108 Cryptographic unit 11 Soft distributor 13, 25 Third decryption unit 28 First cryptographic unit 30 Fourth Decryption unit 32 Second encryption unit 102, 113 Unique key storage unit 104, 105, 114, 117 Decryption unit 112 Coprocessor 115 Soft key storage unit 116 Execution count storage unit

Claims (24)

【特許請求の範囲】[Claims] 【請求項1】 予め定められた実行許可情報に従ってソ
フトウェアの実行を制御し、かつ当該実行許可情報の不
正な使用を防止するためのソフトウェア実行制御システ
ムであって、 ソフトウェアおよび暗号化された実行許可情報を格納
し、かつ情報の読み出しおよび書き込みが可能な記録媒
体が、ソフトウェアを実行する実行器に情報伝達可能に
接続され、 前記実行器は、 乱数を格納し、かつ自己の外部からは情報の読み出しお
よび書き込みが困難な乱数格納手段と、 前記記録媒体から暗号化された実行許可情報を獲得し
て、前記乱数格納手段から取得した乱数で復号する復号
手段と、 前記記録媒体からソフトウェアを獲得して、前記復号手
段の復号によって得られた実行許可情報に従って実行す
るソフト実行手段と、 ソフトウェアの実行に関連して、前記乱数格納手段に格
納された乱数を更新する乱数更新手段と、 前記復号手段の復号によって得られた実行許可情報を、
前記ソフト実行手段がソフトウェアを実行した後に、前
記乱数更新手段によって更新された乱数で暗号化して、
前記記録媒体に格納する暗号化手段とを備える、ソフト
ウェア実行制御システム。
1. A software execution control system for controlling execution of software according to predetermined execution permission information and preventing unauthorized use of the execution permission information, wherein the software and encrypted execution permission are included. A recording medium that stores information and is capable of reading and writing information is connected to an execution unit that executes software so that information can be transmitted. The execution unit stores random numbers and stores information from outside of itself. Random number storage means that is difficult to read and write, decryption means that obtains encrypted execution permission information from the recording medium, and decrypts with the random number obtained from the random number storage means, and software is obtained from the recording medium. And software execution means for executing according to the execution permission information obtained by decryption by the decryption means, and execution of software In connection with, the random number updating means for updating the random number stored in the random number storage means, and the execution permission information obtained by the decoding of the decoding means,
After the software executing means executes the software, the software is encrypted with the random number updated by the random number updating means,
A software execution control system, comprising: an encryption means for storing in the recording medium.
【請求項2】 ソフトウェアの実行にともなって、前記
復号手段の復号によって得られた実行許可情報を更新す
る実行許可情報更新手段をさらに備え、 前記暗号化手段は、前記実行許可情報更新手段によって
更新された実行許可情報を、前記乱数更新手段によって
更新された乱数で暗号化して、前記記録媒体に格納する
ことを特徴とする、請求項1に記載のソフトウェア実行
制御システム。
2. The apparatus further comprises execution permission information updating means for updating the execution permission information obtained by the decryption of the decryption means as the software is executed, and the encryption means is updated by the execution permission information updating means. The software execution control system according to claim 1, wherein the executed permission information is encrypted by the random number updated by the random number updating unit and stored in the recording medium.
【請求項3】 前記乱数更新手段は、ソフトウェアの実
行毎に、前記乱数格納手段に格納された乱数を更新する
ことを特徴とする、請求項1または2に記載のソフトウ
ェア実行制御システム。
3. The software execution control system according to claim 1, wherein the random number updating means updates the random number stored in the random number storing means every time the software is executed.
【請求項4】 前記乱数更新手段は、予め決められた複
数回のソフトウェアの実行に一度、前記乱数格納手段に
格納された乱数を更新することを特徴とする、請求項1
または2に記載のソフトウェア実行制御システム。
4. The random number updating means updates the random number stored in the random number storing means once every predetermined plural times of execution of the software.
Alternatively, the software execution control system described in 2.
【請求項5】 前記乱数更新手段は、予め決められた可
変の回数のソフトウェアの実行に一度、前記乱数格納手
段に格納された乱数を更新し、 乱数の更新の間隔に関する情報を、ソフトウェア使用者
に秘密にすることを特徴とする、請求項1または2に記
載のソフトウェア実行制御システム。
5. The random number updating means updates the random number stored in the random number storing means once every time a predetermined number of times of execution of the software is executed, and the information about the update interval of the random number is provided to the software user. The software execution control system according to claim 1, wherein the software execution control system is kept secret.
【請求項6】 前記乱数格納手段は、前記実行器に設け
られる代わりに、前記記録媒体に設けられることを特徴
とする、請求項1または2に記載のソフトウェア実行制
御システム。
6. The software execution control system according to claim 1, wherein the random number storage means is provided in the recording medium instead of being provided in the executor.
【請求項7】 前記記録媒体の代わりに、読み出し専用
の第1の記録媒体と、読み出しおよび書き込みが可能な
第2の記録媒体とが前記実行器に接続され、 前記第1の記録媒体はソフトウェアを格納し、前記第2
の記録媒体は暗号化された実行許可情報を格納すること
を特徴とする、請求項1または2に記載のソフトウェア
実行制御システム。
7. A read-only first recording medium and a readable / writable second recording medium are connected to the executor instead of the recording medium, and the first recording medium is software. Store the second
The software execution control system according to claim 1 or 2, wherein the recording medium stores the encrypted execution permission information.
【請求項8】 前記記録媒体に格納されたソフトウェア
は、暗号化されており、 前記ソフト実行手段は、前記記録媒体から暗号化された
ソフトウェアを獲得して、前記復号手段の復号によって
得られた実行許可情報に従って復号し、復号して得たソ
フトウェアを実行することを特徴とする、請求項1また
は2に記載のソフトウェア実行制御システム。
8. The software stored in the recording medium is encrypted, and the software executing means obtains the encrypted software from the recording medium and is obtained by decryption by the decrypting means. 3. The software execution control system according to claim 1, wherein the software execution control system decrypts the software according to the execution permission information and executes the software obtained by the decryption.
【請求項9】 予め定められた実行許可情報に従ってソ
フトウェアの実行を制御し、かつ当該実行許可情報の不
正な使用を防止するためのソフトウェア実行制御システ
ムであって、 複数の、ソフトウェア、暗号化された実行許可情報およ
び暗号化された補助鍵を格納し、かつ情報の読み出しお
よび書き込みが可能な記録媒体が、ソフトウェアを実行
する実行器に情報伝達可能に接続され、 前記実行器は、 乱数を格納し、かつ自己の外部からは情報の読み出しお
よび書き込みが困難な乱数格納手段と、 前記記録媒体から暗号化された補助鍵を獲得して、前記
乱数格納手段から取得した乱数で復号する第1の復号手
段と、 前記記録媒体から暗号化された実行許可情報を獲得し
て、前記第1の復号手段の復号によって得られた補助鍵
で復号する第2の復号手段と、 前記記録媒体から対応するソフトウェアを獲得して、前
記第2の復号手段の復号によって得られた実行許可情報
に従って実行するソフト実行手段と、 前記第2の復号手段の復号によって得られた実行許可情
報を、前記ソフト実行手段がソフトウェアを実行した後
に、前記第1の復号手段の復号によって得られた補助鍵
で暗号化して、前記記録媒体に格納する第1の暗号化手
段と、 ソフトウェアの実行に関連して、前記記録媒体から全て
の暗号化された補助鍵を獲得して、前記乱数格納手段に
格納された乱数で復号する第3の復号手段と、 前記第3の復号手段の復号に連携して、前記乱数格納手
段に格納された乱数を更新する乱数更新手段と、 前記第3の復号手段の復号によって得られた補助鍵を、
前記乱数更新手段によって更新された乱数で暗号化し
て、前記記録媒体に格納する第2の暗号化手段とを備え
る、ソフトウェア実行制御システム。
9. A software execution control system for controlling execution of software according to predetermined execution permission information, and preventing unauthorized use of the execution permission information, comprising a plurality of software, encrypted A recording medium that stores the execution permission information and the encrypted auxiliary key and is capable of reading and writing information is connected to an execution unit that executes software in an information transferable manner, and the execution unit stores a random number. In addition, the first random number storing means that is difficult to read and write information from outside the self and the encrypted auxiliary key are obtained from the recording medium and are decrypted by the random number obtained from the random number storing means. A decryption unit, and a first decryption unit that obtains encrypted execution permission information from the recording medium and decrypts with the auxiliary key obtained by the decryption of the first decryption unit. Decryption means, software execution means for obtaining corresponding software from the recording medium, and executing the software according to the execution permission information obtained by the decryption by the second decryption means, and decryption means for the second decryption means. A first encryption unit that encrypts the obtained execution permission information with the auxiliary key obtained by the decryption of the first decryption unit after the software execution unit executes the software, and stores the encrypted information in the recording medium. A third decryption unit that obtains all encrypted auxiliary keys from the recording medium and decrypts them with the random number stored in the random number storage unit in association with execution of software; A random number updating means for updating the random number stored in the random number storage means in cooperation with the decryption by the means, and an auxiliary key obtained by the decryption by the third decryption means,
A software execution control system comprising: a second encryption unit that encrypts the random number updated by the random number updating unit and stores the encrypted random number in the recording medium.
【請求項10】 ソフトウェアの実行にともなって、前
記第2の復号手段の復号によって得られた実行許可情報
を更新する実行許可情報更新手段をさらに備え、 前記第1の暗号化手段は、前記実行許可情報更新手段に
よって更新された実行許可情報を、前記第1の復号手段
の復号によって得られた補助鍵で暗号化して、前記記録
媒体に格納することを特徴とする、請求項9に記載のソ
フトウェア実行制御システム。
10. The apparatus further comprises execution permission information updating means for updating the execution permission information obtained by the decryption of the second decryption means as the software is executed, and the first encryption means is adapted to execute the execution. 10. The execution permission information updated by the permission information updating unit is encrypted with the auxiliary key obtained by the decryption of the first decryption unit and stored in the recording medium. Software execution control system.
【請求項11】 前記第3の復号手段は、ソフトウェア
の実行毎に、前記記録媒体から全ての暗号化された補助
鍵を獲得して、前記乱数格納手段に格納された乱数で復
号することを特徴とする、請求項9または10に記載の
ソフトウェア実行制御システム。
11. The third decryption means obtains all encrypted auxiliary keys from the recording medium every time the software is executed, and decrypts them with the random number stored in the random number storage means. Software execution control system according to claim 9 or 10, characterized in that
【請求項12】 前記第3の復号手段は、予め決められ
た複数回のソフトウェアの実行に一度、前記記録媒体か
ら全ての暗号化された補助鍵を獲得して、前記乱数格納
手段に格納された乱数で復号することを特徴とする、請
求項9または10に記載のソフトウェア実行制御システ
ム。
12. The third decryption means obtains all encrypted auxiliary keys from the recording medium once every predetermined plural times of software execution, and stores them in the random number storage means. 11. The software execution control system according to claim 9, wherein the software execution control system is configured to perform decoding with a random number.
【請求項13】 前記第3の復号手段は、予め決められ
た可変の回数のソフトウェアの実行に一度、前記記録媒
体から全ての暗号化された補助鍵を獲得して、前記乱数
格納手段に格納された乱数で復号し、 暗号化された補助鍵の復号の間隔に関する情報をソフト
ウェア使用者に秘密にすることを特徴とする、請求項9
または10に記載のソフトウェア実行制御システム。
13. The third decryption means obtains all encrypted auxiliary keys from the recording medium once for execution of a predetermined variable number of times of software, and stores them in the random number storage means. 10. The information is decrypted with the generated random number, and information regarding the decryption interval of the encrypted auxiliary key is kept secret to the software user.
Alternatively, the software execution control system according to item 10.
【請求項14】 前記乱数格納手段は、前記実行器に設
けられる代わりに、前記記録媒体に設けられることを特
徴とする、請求項9または10に記載のソフトウェア実
行制御システム。
14. The software execution control system according to claim 9, wherein the random number storage means is provided in the recording medium instead of being provided in the executor.
【請求項15】 前記記録媒体の代わりに、読み出し専
用の第1の記録媒体と、読み出しおよび書き込みが可能
な第2の記録媒体とが前記実行器に接続され、 前記第1の記録媒体はソフトウェアを格納し、前記第2
の記録媒体は暗号化された実行許可情報を格納し、 前記乱数格納手段は、前記実行器に設けられる代わり
に、前記第2の記録媒体に設けられることを特徴とす
る、請求項9または10に記載のソフトウェア実行制御
システム。
15. A read-only first recording medium and a readable / writable second recording medium are connected to the execution unit instead of the recording medium, and the first recording medium is software. Store the second
11. The recording medium according to claim 9 stores encrypted execution permission information, and the random number storage means is provided in the second recording medium instead of being provided in the executor. The software execution control system described in.
【請求項16】 前記記録媒体に格納されたソフトウェ
アは、それぞれ暗号化されており、 前記ソフト実行手段は、前記記録媒体から、対応する暗
号化されたソフトウェアを獲得して、前記第2の復号手
段の復号によって得られた実行許可情報に従って復号
し、復号して得たソフトウェアを実行することを特徴と
する、請求項9または10に記載のソフトウェア実行制
御システム。
16. The software stored in the recording medium is encrypted, and the software executing means obtains the corresponding encrypted software from the recording medium to perform the second decryption. 11. The software execution control system according to claim 9 or 10, wherein the software is decrypted according to the execution permission information obtained by the decryption by the means, and the software obtained by the decryption is executed.
【請求項17】 ソフトウェアを実行する実行器と、当
該実行器に情報伝達可能に接続され、かつ情報の読み出
しおよび書き込みが可能な記録媒体と、実行器の求めに
応じて実行許可情報を配布するソフト配布器とからな
り、ソフト配布器から配布される実行許可情報の不正な
使用を防止するためのソフトウェア実行制御システムで
あって、 前記ソフト配布器は、実行許可情報を保有しており、 前記記録媒体は、ソフトウェアを格納しており、 前記実行器は、自己の外部からは情報の読み出しおよび
書き込みが困難な記憶領域に、乱数を格納しており、 実行許可情報の配布を求める際、前記実行器は、前記ソ
フト配布器に対して、格納している乱数を通知し、 前記ソフト配布器は、通知された乱数で実行許可情報を
暗号化して、前記実行器へ配布し、 前記実行器は、暗号化された実行許可情報の配布を受け
ると、 配布された暗号化された実行許可情報を、格納している
乱数で復号し、 復号に連携して、格納している乱数を更新することを特
徴とする、ソフトウェア実行制御システム。
17. An execution unit that executes software, a recording medium that is connected to the execution unit so that information can be transmitted, and is capable of reading and writing information, and execution permission information is distributed in response to a request from the execution unit. A software execution control system comprising a software distributor for preventing unauthorized use of execution permission information distributed from the software distributor, wherein the software distributor holds execution permission information, and The recording medium stores software, the executor stores random numbers in a storage area where it is difficult to read and write information from outside, and when the execution permission information is requested to be distributed, The execution unit notifies the software distribution unit of the stored random number, and the software distribution unit encrypts the execution permission information with the notified random number, Upon distribution of the encrypted execution permission information, the execution unit decrypts the distributed execution permission information with the stored random number, and stores it in cooperation with the decryption. A software execution control system characterized by updating a random number being generated.
【請求項18】 ソフトウェアを実行する実行器と、当
該実行器に情報伝達可能に接続され、かつ情報の読み出
しおよび書き込みが可能な記録媒体と、実行器の求めに
応じて、実行許可情報を配布するソフト配布器とからな
り、実行器が保有している実行許可情報に、ソフト配布
器から追加で配布される実行許可情報を加え、かつ実行
許可情報の不正な使用を防止するためのソフトウェア実
行制御システムであって、 前記実行器は、自己の外部からは情報の読み出しおよび
書き込みが困難な記憶領域に、第1および第2の乱数を
格納しており、 前記記録媒体は、ソフトウェアおよび第1の暗号化され
た実行許可情報を格納しており、 前記ソフト配布器は、第2の実行許可情報を保有してお
り、 前記実行器は、前記第2の実行許可情報の配布を求める
際に、前記ソフト配布器に対して前記第2の乱数を通知
し、 前記ソフト配布器は、通知された第2の乱数で前記第2
の実行許可情報を暗号化して、前記実行器に配布し、 前記実行器は、第2の暗号化された実行許可情報を受け
取ると、 受け取った第2の暗号化された実行許可情報を、格納し
ている第2の乱数で復号して、第2の実行許可情報を求
め、 第2の暗号化された実行許可情報の復号に連携して、格
納している第2の乱数を更新し、 前記記録媒体から第1の暗号化された実行許可情報を獲
得して、格納している第1の乱数で復号して、第1の実
行許可情報を求め、 第1の暗号化された実行許可情報の復号に連携して、格
納している第1の乱数を更新し、 求めた第1および第2の実行許可情報に基づいて、第3
の実行許可情報を作成し、 作成した第3の実行許可情報を、更新した第1の乱数で
暗号化して、前記記録媒体に格納することを特徴とす
る、ソフトウェア実行制御システム。
18. An execution unit that executes software, a recording medium that is connected to the execution unit so that information can be transmitted, and is capable of reading and writing information, and execution permission information is distributed according to the request of the execution unit. The software execution is performed by adding the execution permission information additionally distributed from the software distributor to the execution permission information held by the execution unit, and preventing the unauthorized use of the execution permission information. In the control system, the executor stores the first and second random numbers in a storage area where it is difficult to read and write information from outside the self, and the recording medium is software and the first random number. Encrypted execution permission information is stored, the software distributor holds second execution permission information, and the execution unit distributes the second execution permission information. In determining the soft notifies the second random number with respect to distributor, the soft distributor is notified the second with the second random number
Of the execution permission information is distributed to the execution unit, and when the execution unit receives the second encrypted execution permission information, the execution unit stores the received second encrypted execution permission information. The second random number being stored is decrypted to obtain the second execution permission information, and the stored second random number is updated in cooperation with the decryption of the second encrypted execution permission information. The first encrypted execution permission information is obtained from the recording medium, decrypted with the stored first random number to obtain the first execution permission information, and the first encrypted execution permission information is obtained. In cooperation with the decryption of information, the stored first random number is updated, and the third random number is updated based on the obtained first and second execution permission information.
The software execution control system is characterized in that the execution permission information is created, the created third execution permission information is encrypted with the updated first random number, and is stored in the recording medium.
【請求項19】 ソフトウェアを実行する第1および第
2の実行器と、情報の読み出しおよび書き込みが可能な
記録媒体とからなり、第1の実行器が保有している実行
許可情報を第2の実行器へ譲渡し、かつ実行許可情報の
不正な使用を防止するためのソフトウェア実行制御シス
テムであって、 前記第1の実行器は、自己の外部からは情報の読み出し
および書き込みが困難な記憶領域に、乱数を格納してお
り、 前記記録媒体は、ソフトウェアおよび暗号化された実行
許可情報を格納しており、 前記第1の実行器から前記第2の実行器に対して、前記
第1の実行器が保有している実行許可情報を譲渡する際
に、前記第1の実行器と前記第2の実行器とを情報伝達
可能に接続し、 前記第1の実行器は、 自己の格納している乱数を前記第2の実行器に通知し、 通知に連携して、自己の格納している乱数を更新し、 前記第2の実行器は、乱数の通知を受けると、通知され
た乱数を、自己の外部からは情報の読み出しおよび書き
込みが困難な記憶領域に格納することを特徴とする、ソ
フトウェア実行制御システム。
19. The first and second execution units for executing software, and a recording medium capable of reading and writing information, wherein the execution permission information held by the first execution unit is stored in the second execution unit. A software execution control system for transferring to an execution unit and preventing unauthorized use of execution permission information, wherein the first execution unit is a storage area in which it is difficult to read and write information from outside of itself. A random number is stored in the recording medium, the recording medium stores software and encrypted execution permission information, and the first execution unit sends the first execution unit to the second execution unit. When the execution permission information held by the executor is transferred, the first executor and the second executor are connected to each other so that information can be transmitted, and the first executor stores its own information. Random number that is the second execution When the second execution unit receives the notification of the random number, the second execution unit receives the notification of the random number and reads the information from the outside of itself. And a software execution control system characterized by storing in a storage area where writing is difficult.
【請求項20】 ソフトウェアを実行する第1および第
2の実行器と、それぞれの実行器に情報伝達可能に接続
され、かつ情報の読み出しおよび書き込みが可能な第1
および第2の記録媒体とからなり、前記第1の実行器が
保有している実行許可情報の一部を前記第2の実行器に
譲渡し、かつ、実行許可情報の不正な使用を防止するた
めのソフトウェア実行制御システムであって、 前記第1の実行器は、自己の外部からは情報の読み出し
および書き込みが困難な記憶領域に、第1および第2の
乱数を格納しており、 前記第1の記録媒体は、ソフトウェアおよび暗号化され
た実行許可情報を格納しており、 前記第2の記録媒体は、ソフトウェアを格納しており、 前記第1の実行器から前記第2の実行器に対して、前記
第1の実行器が保有している実行許可情報の一部を譲渡
する際に、前記第1の実行器と前記第2の実行器とを情
報伝達可能に接続し、 前記第1の実行器は、 前記第1の記録媒体から暗号化された実行許可情報を獲
得して、格納している第1の乱数で復号し、 復号に連携して、格納している第1の乱数を更新し、 復号して求めた実行許可情報を、第1の実行許可情報と
第2の実行許可情報とに分割し、 分割して得た第1の実行許可情報を、更新した第1の乱
数で暗号化して、前記第1の記録媒体に格納し、 分割して得た第2の実行許可情報を、格納している第2
の乱数で暗号化し、 前記第2の乱数と、第2の暗号化された実行許可情報と
を、前記第2の実行器に通知し、 通知に連携して、格納している第2の乱数を更新し、 前記第2の実行器は、第2の乱数と第2の暗号化された
実行許可情報とを受け取ると、前記第2の乱数を自己の
外部からは情報の読み出しおよび書き込みが困難な記憶
領域に、第2の暗号化された実行許可情報を第2の記録
媒体に、それぞれ格納することを特徴とする、ソフトウ
ェア実行制御システム。
20. First and second executors that execute software, and a first readable and writable information connected to each executor so that information can be transmitted.
And a second recording medium, part of the execution permission information held by the first execution device is transferred to the second execution device, and unauthorized use of the execution permission information is prevented. The first execution unit stores the first and second random numbers in a storage area in which it is difficult to read and write information from outside, and the first execution unit stores the first and second random numbers. The first recording medium stores software and encrypted execution permission information, the second recording medium stores software, and the first execution unit changes from the second execution unit to the second execution unit. On the other hand, when a part of the execution permission information held by the first execution unit is transferred, the first execution unit and the second execution unit are connected so that information can be transmitted, 1 execution unit is encrypted from the first recording medium. Obtained execution permission information, and decrypts it with the stored first random number. In cooperation with the decryption, the stored first random number is updated, and the obtained execution permission information is decrypted. The first execution permission information is divided into the first execution permission information and the second execution permission information, and the first execution permission information obtained by the division is encrypted with the updated first random number and stored in the first recording medium. , The second execution permission information obtained by division is stored in the second
The second random number and the second encrypted execution permission information are notified to the second executor, and the stored second random number is linked to the notification. And the second executor receives the second random number and the second encrypted execution permission information, it is difficult to read and write the second random number from outside the self. Software execution control system, wherein the second encrypted execution permission information is stored in the second recording medium in each storage area.
【請求項21】 ソフトウェアを実行するにはソフト鍵
を必要とし、かつソフト鍵の不正な使用を防止するため
のソフトウェア実行制御システムであって、 暗号化されたソフトウェアおよび暗号化されたソフト鍵
を格納し、かつ情報の読み出しおよび書き込みが可能な
記録媒体が、ソフトウェアを実行する実行器に情報伝達
可能に接続され、 前記実行器は、 乱数を格納し、かつ自己の外部からは情報の読み出しお
よび書き込みが困難な乱数格納手段と、 前記記録媒体から暗号化されたソフト鍵を獲得して、前
記乱数格納手段から取得した乱数で復号する第1の復号
手段と、 前記記録媒体から暗号化されたソフトウェアを獲得し
て、前記第1の復号手段の復号によって得られたソフト
鍵で復号する第2の復号手段と、 前記第2の復号手段の復号によって得られたソフトウェ
アを実行するソフト実行手段と、 ソフトウェアの実行に関連して、前記乱数格納手段に格
納された乱数を更新する乱数更新手段と、 前記第1の復号手段の復号によって得られたソフト鍵
を、更新された乱数で暗号化して、前記記録媒体に格納
する暗号化手段とを備える、ソフトウェア実行制御シス
テム。
21. A software execution control system which requires a soft key to execute software, and which prevents unauthorized use of the soft key, the encrypted software and the encrypted soft key. A recording medium that is capable of storing and reading and writing information is connected to an execution unit that executes software so that information can be transmitted. The execution unit stores a random number and can read and write information from outside of itself. A random number storage means that is difficult to write; a first decryption means that obtains an encrypted soft key from the recording medium and decrypts it with the random number obtained from the random number storage means; Second decryption means for obtaining software and decrypting with the soft key obtained by decryption by the first decryption means; Software executing means for executing the software obtained by the program, a random number updating means for updating the random number stored in the random number storing means in association with the execution of the software, and A software execution control system, comprising: an encryption unit that encrypts the soft key with an updated random number and stores the encrypted soft key in the recording medium.
【請求項22】 実行回数が所定の条件を満足する場合
に、ソフトウェアを実行し、かつ当該実行回数の不正な
使用を防止するためのソフトウェア実行制御システムで
あって、 ソフトウェアおよび暗号化された実行回数を格納し、か
つ情報の読み出しおよび書き込みが可能な記録媒体が、
ソフトウェアを実行する実行器に情報伝達可能に接続さ
れ、 前記実行器は、 乱数を格納し、かつ自己の外部からは情報の読み出しお
よび書き込みが困難な乱数格納手段と、 前記記録媒体から暗号化された実行回数を獲得して、前
記乱数格納手段から取得した乱数で復号する復号手段
と、 前記復号手段の復号によって得られた実行回数が、所定
の条件を満足するか否かを検査し、所定の条件を満足す
る場合に、ソフトウェアの実行を指示する実行回数検査
手段と、 前記実行回数検査手段からの指示に応答して、ソフトウ
ェアを実行するソフト実行手段と、 ソフトウェアの実行にともなって、復号によって得られ
た実行回数を更新する実行回数更新手段と、 ソフトウェアの実行に連携して、前記乱数格納手段に格
納された乱数を更新する乱数更新手段と、 更新された実行回数情報を、更新された乱数で暗号化し
て、前記記録媒体に格納する暗号化手段とを備える、ソ
フトウェア実行制御システム。
22. A software execution control system for executing software when the number of executions satisfies a predetermined condition, and preventing unauthorized use of the number of executions. A recording medium that can store the number of times and read and write information is
Information is communicatively connected to an execution unit that executes software, and the execution unit stores random numbers, and random number storage means that makes it difficult to read and write information from outside the self, and is encrypted from the recording medium. And a decoding unit for decoding the random number obtained from the random number storage unit and the number of executions obtained by the decoding of the decoding unit to check whether a predetermined condition is satisfied, When the condition of is satisfied, execution count checking means for instructing execution of software, software execution means for executing software in response to the instruction from the execution count checking means, and decoding for software execution And a random number for updating the random number stored in the random number storage means in cooperation with execution of software A software execution control system comprising: an updating unit; and an encrypting unit that encrypts updated execution count information with an updated random number and stores the encrypted execution number information in the recording medium.
【請求項23】 実行回数が所定の条件を満足する場合
に、ソフト鍵で復号して得られたソフトウェアを実行
し、かつ実行回数およびソフト鍵の不正な使用を防止す
るためのソフトウェア実行制御システムであって、 暗号化されたソフトウェアおよび暗号化されたソフト鍵
/実行回数を格納し、かつ情報の読み出しおよび書き込
みが可能な記録媒体が、ソフトウェアを実行する実行器
に情報伝達可能に接続され、 前記実行器は、 乱数を格納し、かつ自己の外部からは情報の読み出しお
よび書き込みが困難な乱数格納手段と、 前記記録媒体から暗号化されたソフト鍵/実行回数を獲
得して、前記乱数格納手段から取得した乱数で復号する
第1の復号手段と、 前記記録媒体から暗号化されたソフトウェアを獲得し
て、前記第1の復号手段の復号によって得られたソフト
鍵で復号する第2の復号手段と、 前記第1の復号手段の復号によって得られた実行回数
が、所定の条件を満足するか否かを検査し、所定の条件
を満足する場合に、ソフトウェアの実行を指示する実行
回数検査手段と、 前記実行回数検査手段からの指示に応答して、前記第2
の復号手段の復号によって得られたソフトウェアを実行
するソフト実行手段と、 ソフトウェアの実行に伴って、復号によって得られた実
行回数を更新する実行回数更新手段と、 ソフトウェアの実行に連携して、前記乱数格納手段に格
納された乱数を更新する乱数更新手段と、 復号によって得られたソフト鍵と更新された実行回数と
を、更新された乱数で暗号化して前記記録媒体に格納す
る暗号化手段とを備える、ソフトウェア実行制御システ
ム。
23. A software execution control system for executing software obtained by decryption with a soft key and preventing unauthorized use of the execution count and soft key when the execution count satisfies a predetermined condition. A recording medium that stores encrypted software and encrypted soft key / execution count, and is capable of reading and writing information is connected to an execution unit that executes software in an information transferable manner. The executor stores a random number and stores a random number in which it is difficult to read and write information from outside, and an encrypted soft key / execution count is acquired from the recording medium to store the random number. First decryption means for decrypting the random number obtained from the means, and decryption of the first decryption means by obtaining encrypted software from the recording medium. Therefore, it is checked whether the second decryption means for decrypting with the obtained soft key and the number of execution times obtained by the decryption by the first decryption means satisfy a predetermined condition, and the predetermined condition is satisfied. In the case of performing, the execution count inspecting means for instructing execution of the software, and the second count in response to the instruction from the execution count inspecting means.
The software execution means for executing the software obtained by the decryption of the decryption means, the execution count updating means for updating the execution count obtained by the decryption as the software is executed, and the software execution means Random number updating means for updating the random number stored in the random number storage means, and encryption means for encrypting the soft key obtained by decryption and the updated number of executions with the updated random number and storing it in the recording medium. A software execution control system including.
【請求項24】 実行回数が所定の条件を満足する場合
に、ソフト鍵で復号して得られたソフトウェアを実行
し、かつソフト鍵および実行回数の不正な使用を防止す
るためのソフトウェア実行制御システムであって、 複数の、暗号化されたソフトウェア、暗号化されたソフ
ト鍵/実行回数および暗号化された補助鍵が格納され、
かつ情報の読み出しおよび書き込みが可能な記録媒体
が、ソフトウェアを実行する実行器に情報伝達可能に接
続され、 前記実行器は、 乱数を格納し、かつ自己の外部からは情報の読み出しお
よび書き込みが困難な乱数格納手段と、 前記記録媒体から、当該ソフトウェアに専用の暗号化さ
れた補助鍵を獲得して、前記乱数格納手段から取得した
乱数で復号する第1の復号手段と、 前記記録媒体から、当該ソフトウェアに専用の暗号化さ
れたソフト鍵/実行回数を獲得して、前記第1の復号手
段の復号によって得られた補助鍵で復号する第2の復号
手段と、 前記記録媒体から暗号化されたソフトウェアを獲得し
て、前記第2の復号手段の復号によって得られたソフト
鍵で復号する第3の復号手段と、 前記第2の復号手段の復号によって得られた実行回数
が、所定の条件を満足するか否かを検査し、所定の条件
を満足する場合に、当該ソフトウェアの実行を指示する
実行回数検査手段と、 前記実行回数検査手段からの指示に応答して、前記第3
の復号手段の復号によって得られたソフトウェアを実行
するソフト実行手段とソフトウェアの実行に伴って、前
記第2の復号手段の復号によって得られた実行回数を更
新する実行回数更新手段と、 前記第2の復号手段の復号によって得られたソフト鍵
と、前記実行回数更新手段によって更新された実行回数
とを、前記第1の復号手段の復号によって得られた補助
鍵で暗号化して、前記記録媒体に格納する第1の暗号化
手段と、 所定のタイミングで、前記記録媒体から全ての暗号化さ
れた補助鍵を獲得して、前記乱数格納手段から取得した
乱数で復号する第4の復号手段と、 前記第4の復号手段の復号に連携して、前記乱数格納手
段に格納された乱数を更新する乱数更新手段と、 前記第4の復号手段の復号によって得られた補助鍵を、
前記乱数更新手段によって更新された乱数で暗号化し
て、前記記録媒体に格納する第2の暗号化手段とを備え
る、ソフトウェア実行制御システム。
24. A software execution control system for executing software obtained by decrypting with a soft key when the number of executions satisfies a predetermined condition, and preventing unauthorized use of the soft key and the number of executions. Where a plurality of encrypted software, encrypted soft keys / execution times and encrypted auxiliary keys are stored,
In addition, a recording medium capable of reading and writing information is connected to an execution unit that executes software so that information can be transmitted, and the execution unit stores random numbers, and it is difficult to read and write information from outside of itself. A random number storage unit, a first decryption unit that obtains an encrypted auxiliary key dedicated to the software from the recording medium, and decrypts with the random number obtained from the random number storage unit; and from the recording medium, A second decryption unit that obtains an encrypted soft key / execution count dedicated to the software, and decrypts it with the auxiliary key obtained by the decryption of the first decryption unit; Third decryption means for obtaining the software and decrypting it with the soft key obtained by the decryption by the second decryption means; and decryption by the second decryption means. The number of executions checks whether or not a predetermined condition is satisfied, and when the predetermined number of times is satisfied, an execution count inspection means for instructing execution of the software, and a response to the instruction from the execution count inspection means And the third
Software execution means for executing the software obtained by the decryption of the decryption means, and execution count updating means for updating the execution count obtained by the decryption of the second decryption means in association with the execution of the software; The soft key obtained by the decryption of the decryption means and the execution count updated by the execution count update means are encrypted by the auxiliary key obtained by the decryption of the first decryption means, and are recorded on the recording medium. A first encryption means for storing; a fourth decryption means for acquiring all the encrypted auxiliary keys from the recording medium at a predetermined timing and decrypting them with the random number acquired from the random number storage means; A random number updating means for updating the random number stored in the random number storing means in cooperation with the decryption by the fourth decrypting means, and an auxiliary key obtained by the decrypting by the fourth decrypting means,
A software execution control system comprising: a second encryption unit that encrypts the random number updated by the random number updating unit and stores the encrypted random number in the recording medium.
JP7343820A 1995-12-28 1995-12-28 Software execution control system Pending JPH09185501A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7343820A JPH09185501A (en) 1995-12-28 1995-12-28 Software execution control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7343820A JPH09185501A (en) 1995-12-28 1995-12-28 Software execution control system

Publications (1)

Publication Number Publication Date
JPH09185501A true JPH09185501A (en) 1997-07-15

Family

ID=18364495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7343820A Pending JPH09185501A (en) 1995-12-28 1995-12-28 Software execution control system

Country Status (1)

Country Link
JP (1) JPH09185501A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001016195A (en) * 1999-04-27 2001-01-19 Matsushita Electric Ind Co Ltd Information utilization controller
JP2002542672A (en) * 1999-04-13 2002-12-10 トムソン ライセンシング ソシエテ アノニム Digital home network and method for creating and updating digital home network
JP2004507017A (en) * 2000-08-16 2004-03-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and apparatus for controlling distribution and use of digital creations
US7506367B1 (en) 1998-09-17 2009-03-17 Sony Corporation Content management method, and content storage system
JP2010198727A (en) * 2001-05-22 2010-09-09 Uqe Llc Method for limiting access, method for writing information in record carrier, the record carrier, and computer system

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506367B1 (en) 1998-09-17 2009-03-17 Sony Corporation Content management method, and content storage system
JP2002542672A (en) * 1999-04-13 2002-12-10 トムソン ライセンシング ソシエテ アノニム Digital home network and method for creating and updating digital home network
US8345872B2 (en) 1999-04-13 2013-01-01 Thomson Licensing Digital local network, notably digital home network, and method for creating and updating such a network
JP2001016195A (en) * 1999-04-27 2001-01-19 Matsushita Electric Ind Co Ltd Information utilization controller
US7076668B1 (en) 1999-04-27 2006-07-11 Matsushita Electric Industrial Co., Ltd. Data usage controlling apparatus that prevents the unauthorized use of main data by updating a type 1 and a type 2 key used for protecting the main data in accordance with usage of the main data
JP2004507017A (en) * 2000-08-16 2004-03-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and apparatus for controlling distribution and use of digital creations
JP2011123995A (en) * 2000-08-16 2011-06-23 Uqe Llc Method and device of controlling distribution and use of digital work
JP2013093096A (en) * 2000-08-16 2013-05-16 Koninkl Philips Electronics Nv Method and device for controlling circulation and use of digital creation
JP2010198727A (en) * 2001-05-22 2010-09-09 Uqe Llc Method for limiting access, method for writing information in record carrier, the record carrier, and computer system
JP2011181179A (en) * 2001-05-22 2011-09-15 Uqe Llc Record carrier, method for writing information on record carrier and computer system
JP2013109826A (en) * 2001-05-22 2013-06-06 Uqe Llc Writing method and computer system
JP2013140666A (en) * 2001-05-22 2013-07-18 Uqe Llc Record carrier

Similar Documents

Publication Publication Date Title
CN101523398B (en) System and method for managing access to add-on data files
CN100359425C (en) Apparatuses and methods for decrypting encrypted data and locating the decrypted data in a memory space used for execution
EP0768601B1 (en) Device for executing enciphered program
CN101427222B (en) Data processing device, method, program, integrated circuit, and program generating device
JP4073913B2 (en) Open general-purpose attack-resistant CPU and its application system
US5392351A (en) Electronic data protection system
US7788487B2 (en) Data processing apparatus
EP1630998A1 (en) User terminal for receiving license
JP2004228786A (en) Data access control method by tamper-resistant microprocessor and cache memory mount processor
JPH0383132A (en) Software protection control system
KR100755708B1 (en) Method and apparatus for consuming contents using temporary license
KR20060015552A (en) Method of updating revocation list
US20080104368A1 (en) Storage element having data protection functionality
EA006661B1 (en) Method and device for protecting information against unauthorized use
JP3624971B2 (en) Software usage control method
JPH09185501A (en) Software execution control system
JPH1124916A (en) Device and method for managing software licence
JP2001016195A (en) Information utilization controller
KR100467571B1 (en) Security service method for digital content and system therefor
JP4850520B2 (en) In-vehicle device, revocation management device, and revocation management system
JP2010231623A (en) Cache memory control device and method
JP2005346150A (en) Information processor, information processing method, program, and recording medium
US11748459B2 (en) Reducing software release date tampering by incorporating software release date information into a key exchange protocol
KR100298506B1 (en) System for preventing illegal installation according to cooperation between integrated circuit card and program
JP3184192B2 (en) Storage medium for electronic data transfer