JP3463963B2 - Software analysis protection method - Google Patents

Software analysis protection method

Info

Publication number
JP3463963B2
JP3463963B2 JP10517795A JP10517795A JP3463963B2 JP 3463963 B2 JP3463963 B2 JP 3463963B2 JP 10517795 A JP10517795 A JP 10517795A JP 10517795 A JP10517795 A JP 10517795A JP 3463963 B2 JP3463963 B2 JP 3463963B2
Authority
JP
Japan
Prior art keywords
software
terminal
center
protection method
memory
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.)
Expired - Fee Related
Application number
JP10517795A
Other languages
Japanese (ja)
Other versions
JPH0816385A (en
Inventor
浩伸 奥山
健治 森保
敦 金井
延久 三宅
敦 寺内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP10517795A priority Critical patent/JP3463963B2/en
Publication of JPH0816385A publication Critical patent/JPH0816385A/en
Application granted granted Critical
Publication of JP3463963B2 publication Critical patent/JP3463963B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、センタと複数の端末か
らなるシステムにおいて端末で保存され実行されるアプ
リケーションプログラム等のソフトウェアが端末で解析
されないように保護して端末におけるアプリケーション
プログラム等のソフトウェアの不正利用を防止するソフ
トウェア解析保護方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention protects software such as application programs stored and executed in a terminal so as not to be analyzed by the terminal in a system including a center and a plurality of terminals. The present invention relates to a software analysis protection method for preventing unauthorized use.

【0002】[0002]

【従来の技術】一般に、端末上にあるソフトウェアに対
しては、悪意のある端末使用者による不正利用(ソフト
ウェア解析/改ざん)がありうる。ソフトウェアの不正
利用は、デバッガなどのツールによってメモリ上、ディ
スク上のソフトウェアを解析することから始まる。この
ソフトウェア解析を困難にするには、ソフトウェア自体
を複雑にする方法がある。しかしながら、この方法の効
力は程度の問題であると同時に、この方法は短いソフト
ウェアに適用することができず、万全とはいえない。ま
た、ソフトウェアを暗号化する方法は、そのソフトウェ
アを復号化する機構が必要となるが、その機構自身は暗
号化することができないため、その出力部分を解析する
ことにより、生のソフトウェアが明らかになってしまう
という欠点がある。
2. Description of the Related Art In general, malicious software (software analysis / falsification) may be used by a malicious user of a terminal. Unauthorized use of software begins with analyzing the software on memory and disk using a tool such as a debugger. To make this software analysis difficult, there is a method of making the software itself complicated. However, the effectiveness of this method is a matter of degree, and at the same time, this method cannot be applied to short software and is not perfect. In addition, the method of encrypting software requires a mechanism for decrypting the software, but since the mechanism itself cannot encrypt, the output software is analyzed to reveal the raw software. It has the drawback of becoming

【0003】[0003]

【発明が解決しようとする課題】上述したように、端末
上のソフトウェアの不正利用を防止するために、ソフト
ウェア自体を複雑にする方法や暗号化する方法が考えら
れるが、複雑化する方法は程度の問題であるとともに短
いソフトウェアには適用することができないという問題
があり、また暗号化する方法はソフトウェアを複合化す
る機構が必要となり、この機構自身は暗号化できないた
め、その出力部分を解析することによりソフトウェアが
明らかになってしまうという問題があり、いずれの方法
も問題がある。
As described above, in order to prevent illegal use of software on the terminal, a method of complicating the software itself or a method of encrypting the software can be considered. There is a problem that it can not be applied to short software, and the encryption method requires a mechanism for decrypting software, and since this mechanism itself cannot encrypt, the output part is analyzed. There is a problem that software is revealed by this, and both methods have problems.

【0004】本発明は、上記に鑑みてなされたもので、
その目的とするところは、ソフトウェア自体を複雑にす
ることなく、また暗号化することもなく、その解析を困
難にし、ソフトウェアの不正利用を適確に防止するソフ
トウェア解析保護方法を提供することにある。
The present invention has been made in view of the above,
The purpose is to provide a software analysis protection method that makes it difficult to analyze software without complicating it or encrypting it, and appropriately prevents unauthorized use of the software. .

【0005】[0005]

【課題を解決するための手段】上記目的を達成するた
め、本発明(請求項1)は、センタと、該センタに接続
された複数の端末で構成されたシステムにおいて、端末
で使用されるソフトウェアが端末で解析されないように
保護するソフトウェア解析保護方法であって、端末で使
用されるソフトウェアを分割したソフトウェア部分を端
末とセンタとに分配して保持し、端末において前記ソフ
トウェアを使用する毎に、端末からセンタに保持された
ソフトウェア部分を要求し、端末からの要求に応じてセ
ンタに保持されたソフトウェア部分を端末に送信し、セ
ンタから送信されたソフトウェア部分をメモリ上の端末
に保持されたソフトウェア部分中の欠落部分にロードす
ることにより、前記ソフトウェアの前記メモリ上に展開
された配置パターンを前記ソフトウェアが端末で使用さ
れる毎に変更しながら、前記ソフトウェアを端末上で動
作可能とし、前記メモリ上に展開された前記ソフトウェ
アを端末上で動作させる、ことからなるソフトウェア解
析保護方法。
In order to achieve the above object, the present invention (claim 1) provides a software used in a terminal in a system comprising a center and a plurality of terminals connected to the center. Is a software analysis protection method for protecting the terminal from being analyzed, wherein a software portion obtained by dividing the software used in the terminal is distributed and held between the terminal and the center, and each time the terminal uses the software, The terminal requests the software part held in the center, sends the software part held in the center to the terminal in response to the request from the terminal, and the software part sent from the center is stored in the terminal on the memory. Arrangement pattern developed on the memory of the software by loading a missing part in the part While changing each time the software is used in the terminal, the software is operable on the terminal, to operate the software developed on the memory on the terminal, software analysis protection method which consists in.

【0006】又、本発明(請求項2)は、上記のソフト
ウェア解析保護方法において、センタに保持されたソフ
トウェア部分は異なる機能を持った複数のソフトウェア
部分の組を含み、センタは端末に送信する一つのソフト
ウェア部分の組を端末からの要求又はセンタの判断によ
り選択することにより、端末で動作させる前記ソフトウ
ェアの機能を変更することを特徴とする。
Further, according to the present invention (claim 2), in the above software analysis protection method, the software part held in the center includes a set of a plurality of software parts having different functions, and the center transmits to the terminal. It is characterized in that the function of the software operated in the terminal is changed by selecting one set of software parts according to a request from the terminal or the judgment of the center.

【0007】又、本発明(請求項3)は、上記のソフト
ウェア解析保護方法において、センタに保持されたソフ
トウェア部分は同じ機能を持った複数のソフトウェア部
分の組を含み、センタは端末に送信する一つのソフトウ
ェア部分の組を乱数に基づいて選択することにより、前
記ソフトウェアの前記メモリ上に展開された配置パター
ンを前記ソフトウェアが端末で使用される毎に変更する
ことを特徴とする。
According to the present invention (claim 3), in the above software analysis and protection method, the software part held in the center includes a set of a plurality of software parts having the same function, and the center transmits to the terminal. By selecting one set of software parts based on a random number, the arrangement pattern of the software expanded on the memory is changed every time the software is used by the terminal.

【0008】又、本発明(請求項4)は、上記のソフト
ウェア解析保護方法において、センタに保持されたソフ
トウェア部分は複数のソフトウェア部分の組を含み、セ
ンタは端末に送信する一つのソフトウェア部分の組を選
択し、前記ソフトウェアはセンタから送信された該ソフ
トウェア部分の組が前記メモリ上の対応する欠落部分に
ロードされた時に端末上で少なくとも部分的に動作可能
となることを特徴とする。
According to the present invention (claim 4), in the above software analysis and protection method, the software part held in the center includes a set of a plurality of software parts, and the center contains one software part to be transmitted to the terminal. Selecting a set, the software being at least partially operable on the terminal when the set of software parts sent from the center is loaded into the corresponding missing part on the memory.

【0009】又、本発明(請求項5)は、上記のソフト
ウェア解析保護方法において、センタは前記複数のソフ
トウェア部分の組を、前記ソフトウェアの動作の進行に
伴う端末からの要求に応じて順次送信することを特徴と
する。
Further, according to the present invention (claim 5), in the above software analysis protection method, the center sequentially transmits a set of the plurality of software parts in response to a request from a terminal as the operation of the software progresses. It is characterized by doing.

【0010】又、本発明(請求項6)は、上記のソフト
ウェア解析保護方法において、欠落部分にロードされた
ソフトウェア部分は前記ソフトウェアの使用終了後に前
記メモリからクリアされることを特徴とする。
Further, the present invention (claim 6) is characterized in that, in the above software analysis protection method, the software part loaded in the missing part is cleared from the memory after the use of the software is completed.

【0011】又、本発明(請求項7)は、上記のソフト
ウェア解析保護方法において、欠落部分にロードされた
ソフトウェア部分は前記ソフトウェアの以降の動作に不
必要となるに従い前記ソフトウェアの動作中に順次前記
メモリからクリアされることを特徴とする。
Further, according to the present invention (claim 7), in the above software analysis and protection method, the software portion loaded in the missing portion becomes unnecessary during the subsequent operation of the software, so that the software portion is sequentially operated during the operation of the software. It is characterized in that it is cleared from the memory.

【0012】又、本発明(請求項8)は、上記のソフト
ウェア解析保護方法において、欠落部分にロードされた
ソフトウェア部分は端末に保持されたソフトウェア部分
に設けられたコマンドにより前記メモリからクリアされ
ることを特徴とする。
According to the present invention (claim 8), in the above software analysis protection method, the software portion loaded in the missing portion is cleared from the memory by a command provided in the software portion held in the terminal. It is characterized by

【0013】又、本発明(請求項9)は、上記のソフト
ウェア解析保護方法において、欠落部分にロードされた
ソフトウェア部分はセンタに保持され欠落部分にロード
されたソフトウェア部分に設けられたコマンドにより前
記メモリからクリアされることを特徴とする。
According to the present invention (claim 9), in the above software analysis protection method, the software part loaded in the missing part is held in the center and the command is provided in the software part loaded in the missing part. It is characterized by being cleared from memory.

【0014】又、本発明(請求項10)は、上記のソフ
トウェア解析保護方法において、センタに保持された各
ソフトウェア部分は既知の該各ソフトウェア部分の最大
使用回数と、該各ソフトウェア部分の実使用回数のカウ
ントとを有し、欠落部分にロードされた該各ソフトウェ
ア部分は前記実使用回数のカウントが前記最大使用回数
に達した時に前記メモリからクリアされることを特徴と
する。
Further, according to the present invention (claim 10), in the above software analysis and protection method, each software part held in the center is known the maximum number of times each software part is used, and the actual use of each software part. And a count of the number of times, each software portion loaded in the missing portion is cleared from the memory when the count of the actual number of times of use reaches the maximum number of times of use.

【0015】又、本発明(請求項11)は、上記のソフ
トウェア解析保護方法において、端末に保持されたソフ
トウェア部分は前記ソフトウェア中の複数の非連続なブ
ロックであることを特徴とする。
Further, the present invention (claim 11) is characterized in that, in the above-mentioned software analysis protection method, the software portion held in the terminal is a plurality of non-contiguous blocks in the software.

【0016】又、本発明(請求項12)は、上記のソフ
トウェア解析保護方法において、センタに保持されたソ
フトウェア部分は前記ソフトウェア中の複数の非連続な
ブロックであり、センタに保持されたソフトウェア部分
の非連続なブロックは該非連続なブロック同志間の順序
と異なる順番で送信されることを特徴とする。
According to the present invention (claim 12), in the above-mentioned software analysis protection method, the software portion held in the center is a plurality of non-contiguous blocks in the software, and the software portion held in the center is The non-contiguous blocks of are transmitted in an order different from the order between the non-contiguous blocks.

【0017】又、本発明(請求項13)は、上記のソフ
トウェア解析保護方法において、センタに保持された各
ソフトウェア部分はそれがセンタに保持されたソフトウ
ェア部分であることを示す或る固定値を返す或るコード
を該各ソフトウェア部分内の所定のアドレスに有し、前
記メモリ上の各欠落部分はそれが欠落部分であることを
示す別の固定値を返す別のコードを該各欠落部分内の所
定のアドレスに有し、端末上で前記ソフトウェアの動作
中に前記別の固定値が返された時に前記ソフトウェアの
動作が中断されることを特徴とする。
According to the present invention (claim 13), in the above software analysis and protection method, each software part held in the center has a fixed value indicating that it is a software part held in the center. Within each missing part, there is a code to return at a predetermined address in each software part, and each missing part on the memory returns another fixed value indicating that it is a missing part. , And the operation of the software is interrupted when the other fixed value is returned while the software is operating on the terminal.

【0018】更に本発明は、本発明(請求項14)は、
センタと、該センタに接続された複数の端末で構成され
たシステムにおいて、端末で使用されるソフトウェアが
端末で解析されないように保護するソフトウェア解析保
護方法であって、端末で使用されるソフトウェアを分割
したソフトウェア部分を端末とセンタとに分配して保持
し、センタに保持されたソフトウェア部分を端末に送信
し、センタから送信されたソフトウェア部分をメモリ上
の端末に保持されたソフトウェア部分中の欠落部分にロ
ードすることにより、前記ソフトウェアを端末上で動作
可能とし、前記メモリ上に展開された前記ソフトウェア
を端末上で動作させる、ことからなるソフトウェア解析
保護方法を提供する。
Further, the present invention is based on the present invention (claim 14).
In a system composed of a center and a plurality of terminals connected to the center, a software analysis protection method for protecting software used in the terminal from being analyzed by the terminal, and dividing the software used in the terminal The distributed software part is distributed and retained between the terminal and the center, the software part retained in the center is transmitted to the terminal, and the software part transmitted from the center is the missing part in the software part retained in the terminal on the memory. To enable the software to operate on the terminal, and to cause the software loaded on the memory to operate on the terminal.

【0019】又、本発明(請求項15)は、上記のソフ
トウェア解析保護方法において、センタに保持されたソ
フトウェア部分は端末において前記ソフトウェアを使用
する毎に、端末からの要求に応じてセンタから端末に送
信されることを特徴とする。
According to the present invention (claim 15), in the above software analysis and protection method, the software portion held in the center is sent from the center to the terminal in response to a request from the terminal every time the terminal uses the software. It is transmitted to.

【0020】又、本発明(請求項16)は、上記のソフ
トウェア解析保護方法において、センタに保持されたソ
フトウェア部分は複数のブロックに分けて送信されるこ
とを特徴とする。
Further, the present invention (claim 16) is characterized in that, in the above-mentioned software analysis protection method, the software part held in the center is divided into a plurality of blocks and transmitted.

【0021】又、本発明(請求項17)は、上記のソフ
トウェア解析保護方法において、前記ソフトウェアの前
記メモリ上に展開された配置パターンは前記ソフトウェ
アが端末で使用される毎に変更されることを特徴とす
る。
According to the present invention (claim 17), in the above software analysis and protection method, the arrangement pattern of the software expanded on the memory is changed every time the software is used by a terminal. Characterize.

【0022】又、本発明(請求項18)は、上記のソフ
トウェア解析保護方法において、センタに保持されたソ
フトウェア部分は複数のソフトウェア部分の組を含み、
センタは端末に送信する一つのソフトウェア部分の組を
選択し、前記ソフトウェアはセンタから送信された該ソ
フトウェア部分の組が前記メモリ上の対応する欠落部分
にロードされた時に端末上で少なくとも部分的に動作可
能となることを特徴とする。
Further, according to the present invention (claim 18), in the above software analysis protection method, the software part held in the center includes a set of a plurality of software parts,
The center selects one set of software parts to send to the terminal, the software at least partially on the terminal when the set of software parts sent from the center is loaded into the corresponding missing part on the memory. It is characterized by being operable.

【0023】又、本発明(請求項19)は、上記のソフ
トウェア解析保護方法において、欠落部分にロードされ
たソフトウェア部分は前記ソフトウェアの使用終了後に
前記メモリからクリアされることを特徴とする。
Further, the present invention (claim 19) is characterized in that, in the above software analysis protection method, the software part loaded in the missing part is cleared from the memory after the use of the software is completed.

【0024】又、本発明(請求項20)は、上記のソフ
トウェア解析保護方法において、欠落部分にロードされ
たソフトウェア部分は前記ソフトウェアの以降の動作に
不必要となるに従い前記ソフトウェアの動作中に順次前
記メモリからクリアされることを特徴とする。
According to the present invention (claim 20), in the above software analysis and protection method, the software portion loaded in the missing portion becomes unnecessary during the subsequent operation of the software, so that the software portion is sequentially operated during the operation of the software. It is characterized in that it is cleared from the memory.

【0025】[0025]

【作用】本発明のソフトウェア解析保護方法では、端末
で使用されるソフトウェアを端末とセンタの両方で分割
して保持し、ソフトウェア使用時にセンタの保持してい
る部分を端末に送信し使用する。このときメモリ上の端
末で使用されるソフトウェアの配置を使用する度に異な
らせ、あるいはユーザの要求やセンタの判断によりソフ
トウェアの機能を変更し、また端末で使用されるソフト
ウェアのうちセンタから送信された部分で必要のなくな
ったものについては逐次クリアすることで同時にメモリ
上にソフトウェアイメージが展開される機会を最小限に
する。さらにソフトウェアの使用終了後は必ずセンタか
ら送信された部分はクリアする。
In the software analysis protection method of the present invention, the software used in the terminal is divided and held by both the terminal and the center, and when the software is used, the portion held by the center is transmitted to the terminal for use. At this time, the arrangement of the software used in the terminal on the memory is changed each time it is used, or the function of the software is changed according to the user's request or the judgment of the center, and the software used in the terminal is transmitted from the center. If there is no longer a need for the software, it is sequentially cleared to minimize the chance that the software image will be developed on the memory at the same time. Furthermore, after the software is used, the part transmitted from the center is always cleared.

【0026】[0026]

【実施例】以下、図面を用いて本発明の実施例を説明す
る。
Embodiments of the present invention will be described below with reference to the drawings.

【0027】図1は、本発明の一実施例に係わるソフト
ウェア解析保護方法を実施するシステムの構成を示す図
である。本システムは、センタ1と、該センタ1と公衆
回線2を介して接続された複数の端末3とから構成され
ている。
FIG. 1 is a diagram showing the configuration of a system for implementing a software analysis protection method according to an embodiment of the present invention. The system is composed of a center 1 and a plurality of terminals 3 connected to the center 1 via a public line 2.

【0028】各端末3で使用されるアプリケーションプ
ログラム等のソフトウェアは、端末3とセンタ1とに分
割されて保存され、この分割されて保存され端末3で使
用されるソフトウェアのうち、端末3に保存され端末3
で使用されるソフトウェアの一部を端末サブソフトウェ
アと称し、センタ1に保存され端末3で使用されるソフ
トウェアの一部をセンタサブソフトウェアと称すること
にする。ここで、センタサブソフトウェアは、端末サブ
ソフトウェアを補完するソフトウェアである。
Software such as an application program used in each terminal 3 is divided and stored in the terminal 3 and the center 1, and among the software stored in the divided and stored in the terminal 3, the software is stored in the terminal 3. The terminal 3
A part of the software used in 1. is called terminal sub software, and a part of the software stored in the center 1 and used in the terminal 3 is called center sub software. Here, the center sub software is software that complements the terminal sub software.

【0029】ここで、上述した端末3で使用されるソフ
トウェアとは、センタ1と端末3間のデータ転送を制御
するプロトコル制御ソフトウェアの主要部分を除く全て
のソフトウェアを対象とする。例えば、端末3で使用さ
れる各種アプリケーションプログラム、あるいは転送制
御の主要部分を除くオペレーションシステムレベルのプ
ログラム、データベースなどに使用されるデータ等を意
味しており、これらは全て本発明の適用対象となる。
Here, the software used in the terminal 3 mentioned above is all software except for the main part of the protocol control software for controlling the data transfer between the center 1 and the terminal 3. For example, it means various application programs used in the terminal 3, programs at the operating system level excluding the main part of transfer control, data used in databases, and the like, all of which are subject to application of the present invention. .

【0030】また本発明が適用され得るセンタ1と端末
3とからなるシステムとは、例えばパソコン通信ネット
ワークの場合もあり、センタ1側からアプリケーション
ソフトウェアを配送するシステムである場合もある。
The system comprising the center 1 and the terminal 3 to which the present invention can be applied may be, for example, a personal computer communication network, or may be a system for delivering application software from the center 1 side.

【0031】特に本発明は、アプリケーションソフトウ
ェアシステムを使用のたび毎に端末3に配送し、使用料
を徴収するようなソフトウェア流通システムに好適なも
のである。
In particular, the present invention is suitable for a software distribution system in which an application software system is delivered to the terminal 3 each time it is used and a usage fee is collected.

【0032】図1に示すように、センタ1はセンタサブ
ソフトウェアを格納するセンタサブソフトウェア格納部
11、このセンタサブソフトウェア格納部11に格納さ
れたセンタサブソフトウェアを選択するセンタサブソフ
トウェア選択部12、乱数発生部13、および公衆回線
2を介して端末3と通信するための通信制御部14を有
し、また端末3は公衆回線2を介してセンタ1と通信す
るための通信制御部31および端末サブソフトウェアメ
モリ32を有する。
As shown in FIG. 1, the center 1 includes a center sub software storage unit 11 for storing center sub software, a center sub software selection unit 12 for selecting the center sub software stored in the center sub software storage unit 11, It has a random number generator 13 and a communication controller 14 for communicating with the terminal 3 via the public line 2, and the terminal 3 has a communication controller 31 and a terminal for communicating with the center 1 via the public line 2. It has a sub software memory 32.

【0033】初期状態において、端末サブソフトウェア
は、複数の非連続なブロックとしてある程度の大きさの
領域を複数箇所空けてメモリ32上に展開される。図2
はこの様子を示しているが、番地A000,B000,
C000,D000,E000で始まる斜線を施したエ
リア(以下では、欠落パートと称する)がそれに当た
る。このように、端末サブソフトウェアは欠落パートを
有しているため、この端末サブソフトウェアだけを実行
しても、アプリケーションソフトウェアとしては正常な
動作をしない。
In the initial state, the terminal sub-software is expanded on the memory 32 as a plurality of non-contiguous blocks with a plurality of regions each having a certain size. Figure 2
Shows this situation, but addresses A000, B000,
The shaded area starting with C000, D000, and E000 (hereinafter referred to as the missing part) corresponds to this. As described above, since the terminal sub-software has a missing part, even if only this terminal sub-software is executed, the application software does not operate normally.

【0034】端末3上の欠落パートを含む端末サブソフ
トウェアは、例えば、フロッピーディスクやCD−RO
Mの形で配布され端末3のドライブからロードしたり、
センタ1からのファイル転送で配布される方法がある。
あるいは端末3のハードディスク上にあらかじめ記憶し
ておき、システム立上げ時やソフトウェア起動時にメモ
リ上に配置される場合もある。なお、ここでメモリ上の
欠落パートのアドレスと各パートのエリアの大きさのデ
ータは、センタ1側にあらかじめ設定されている。
The terminal sub-software including the missing part on the terminal 3 is, for example, a floppy disk or a CD-RO.
It is distributed in the form of M and can be loaded from the drive of terminal 3,
There is a method of distribution by file transfer from the center 1.
Alternatively, it may be stored in advance on the hard disk of the terminal 3 and placed in the memory at system startup or software startup. The address of the missing part and the size of the area of each part on the memory are preset in the center 1 side.

【0035】端末サブソフトウェアの欠落パートに入る
ソフトウェアは、センタ1に非連続なブロックの形でセ
ンタサブソフトウェアとして保持されており、これらが
端末3の欠落パートにロードされることにより、アプリ
ケーションソフトウェアは完全なものとなる。しかしア
プリケーションソフトウェアは、全ての欠落パートにそ
れに対応するセンタサブソフトウェアが入らなければ動
作しないという訳ではない。
The software that enters the missing part of the terminal sub-software is held in the center 1 in the form of non-contiguous blocks as center sub-software, and by loading these into the missing part of the terminal 3, the application software becomes It will be perfect. However, the application software does not operate unless all the missing parts include the corresponding center sub software.

【0036】全センタサブソフトウェア分の欠落パート
を設ける方法では、センタ1側から全センタサブソフト
ウェアを一括して転送する方法もあるが、全ての欠落パ
ートにそれに対応するセンタサブソフトウェアが入らな
くても動作する構成にする方法もある。
In the method of providing the missing parts for all the center sub-softwares, there is also a method of transferring all the center sub-softwares from the center 1 side at a time, but the center sub-softwares corresponding to the missing parts are not included in all the missing parts. There is also a way to make it work.

【0037】例えば、センタサブソフトウェアが、アプ
リケーションの基本機能のソフトウェア部と拡張機能の
ソフトウェア部とを含んでいた場合、少なくとも基本機
能のソフトウェア部が端末3のメモリ上に格納されれ
ば、端末3のアプリケーションソフトウェアが使用可能
となる構成方法がある。
For example, when the center sub software includes the software part of the basic function of the application and the software part of the extended function, if at least the software part of the basic function is stored in the memory of the terminal 3, the terminal 3 There is a configuration method by which the application software of can be used.

【0038】あるいは、ある特定の欠落パート(の組)
が埋められれば、端末3のアプリケーションソフトウェ
アは使用可能となる構成方法がある。
Alternatively, (a set of) a specific missing part
There is a configuration method in which the application software of the terminal 3 can be used if is filled.

【0039】すなわち、図2のように番地A000から
始まる欠落パートと番地C000から始まる欠落パート
とがセンタサブソフトウェアで埋まるか、あるいは番地
B000から始まる欠落パートと番地D000から始ま
る欠落パートと番地E000から始まる欠落パートとが
センタサブソフトウェアで埋まるかのいずれの場合にも
動作する、という構成方法である。
That is, as shown in FIG. 2, the missing part starting from the address A000 and the missing part starting from the address C000 are filled with the center sub-software, or the missing part starting from the address B000 and the missing part starting from the address D000 and the address E000. It is a configuration method that operates even when the missing part that starts is filled with center sub software.

【0040】ここで番地A000用と番地C000用の
センタサブソフトウェアの組と、番地B000用と番地
D000用と番地E000用のセンタサブソフトウェア
の組とは、各々サブソフトウェアの機能として完結して
おり、ソフトウェアの他の部分に影響がないインプリメ
ントであれば、機能的には同等でも異なっていても構わ
ない。
Here, the set of center sub software for the addresses A000 and C000 and the set of center sub software for the addresses B000, D000 and E000 are completed as the functions of the sub software. As long as the implementation does not affect other parts of the software, the functionality may be the same or different.

【0041】機能的に同等なセンタサブソフトウェアの
組をいくつか用意するのは、メモリ上に展開されるアプ
リケーションのイメージが毎回変わることで、イメージ
からの解析の解析の危険性を低減するためである。
Several functionally equivalent sets of center sub-software are prepared in order to reduce the risk of analysis from the image because the image of the application loaded on the memory changes every time. is there.

【0042】いずれの組がダウンロードされるかは、セ
ンタ1側が決定し、その方法は例えばセンタ1側の乱数
計算による。一般にセンタサブソフトウェアの組がN個
ある場合は、あらかじめ各組に0からN−1の番号が与
えられており、乱数発生部13で発生した乱数をmod
Nで計算し、それに対応するセンタサブソフトウェア
の組をダウンロードする。
The center 1 side determines which set is downloaded, and the method is based on random number calculation on the center 1 side, for example. In general, when there are N sets of center sub software, each set is given a number from 0 to N−1 in advance, and the random number generated by the random number generation unit 13 is mod.
Calculate with N and download the corresponding set of center sub software.

【0043】センタサブソフトウェアの組によって機能
が異なる場合も各センタサブソフトウェアの組には番号
が与えられている。センタ1側がどの機能のサブソフト
ウェアの組を端末3側に送信するかをユーザ側の要求、
あるいはセンタ1側の判断により決定することになる。
Even when the function differs depending on the set of center sub software, a number is given to each set of center sub software. A request from the user side as to which function of the sub software of which the center 1 side transmits to the terminal 3 side,
Alternatively, it is decided by the judgment on the side of the center 1.

【0044】この場合、最初のダウンロードで基本的な
機能がダウンロードされ、後に端末3からの要求があっ
た場合、順次拡張機能をダウンロードしていく構成も可
能である。
In this case, the basic function may be downloaded in the first download, and when the terminal 3 requests later, the extended function may be sequentially downloaded.

【0045】機能的に異なるセンタサブソフトウェアの
組をいくつか用意するのは、似ているが異なった部分も
持ついくつかのアプリケーションについて、異なった部
分のみをセンタサブソフトウェアとすることで必要な機
能をダウンロードして、ソフトウェアの保護と同時に資
源の有効化を計るためである。
The provision of some functionally different sets of center sub-software is necessary for some applications having similar but different parts, by making only different parts the center sub-software. Is to download and download the software to protect the software and at the same time enable the resources.

【0046】各センタサブソフトウェアの組に与えられ
た番号を以下ではセンタサブソフトウェア番号と呼ぶ。
これは端末3の通信制御部31が、どのセンタサブソフ
トウェアの組がダウンロードされたかを認識し、メモリ
上のどの位置の欠落パートに展開するかを決定するため
に使用される。
The number given to each set of center sub software is hereinafter referred to as a center sub software number.
This is used by the communication control unit 31 of the terminal 3 for recognizing which set of center sub software has been downloaded and for deciding which position on the memory to develop the missing part.

【0047】以下では各センタサブソフトウェアの組
が、互いに同じ機能を持つ場合について述べる。
In the following, a case will be described in which each center sub-software set has the same function.

【0048】すなわち図2において、太い矢印で示すダ
ウンロードかまたは点線の矢印で示すダウンロードのい
ずれかが行なわれれば同じ機能を持つようなアプリケー
ションソフトウェアが使用される。
That is, in FIG. 2, application software having the same function is used if either download indicated by a thick arrow or download indicated by a dotted arrow is performed.

【0049】それぞれのセンタサブソフトウェアの組、
すなわち番地A000用と番地C000用のセンタサブ
ソフトウェアの組と、番地B000用と番地D000用
と番地E000用のセンタサブソフトウェアの組の、い
ずれがダウンロードされるかは、例えばセンタ1側の乱
数計算による。
A set of each center sub software,
That is, which one of the set of center sub software for the address A000 and the address C000, and the set of center sub software for the address B000, the address D000, and the address E000 is downloaded is, for example, the random number calculation on the center 1 side. by.

【0050】あらかじめ前者を0番、後者を1番として
おき、発生した乱数をmod 2で剰余計算する。これ
が0か1かにより、対応する番号の欠落パートの組を選
びダウンロードする。
The former is set to 0 and the latter is set to 1, and the generated random numbers are modulo 2 modulo. Depending on whether this is 0 or 1, a pair of missing parts with corresponding numbers is selected and downloaded.

【0051】図2の状態で、端末3がアプリケーション
ソフトウェアの使用を開始した場合、欠落パート部にセ
ンタサブソフトウェアが格納されているのか、あるいは
空きエリアであるのかを判定するためには以下の方法が
ある。
In the state shown in FIG. 2, when the terminal 3 starts using the application software, the following method is used to determine whether the center sub software is stored in the missing part section or is an empty area. There is.

【0052】例えば、端末サブソフトウェアを端末3の
メモリに格納する初期設定時、欠落パート部の全ての領
域あるいは先頭番地などの特定の固定番地に“0”など
の固定値をリターンするコードを設定しておく。
For example, at the time of initial setting for storing the terminal sub-software in the memory of the terminal 3, a code for returning a fixed value such as "0" is set to a specific fixed address such as the entire area of the missing part or the head address. I'll do it.

【0053】又、センタサブソフトウェアの各ブロック
の固定番地、例えば先頭番地や最終番地などには、
“1”などの固定値をリターンするコードを設定してお
く。
Further, the fixed address of each block of the center sub software, for example, the first address or the last address,
Set a code that returns a fixed value such as "1".

【0054】このような設定により、センタ1から端末
3へセンタサブソフトウェアが転送され欠落パートに格
納されると、前記の欠落パートの内容がセンタサブソフ
トウェアに書き換えられることとなる。端末3内の端末
サブソフトウェアでは、センタサブソフトウェアの格納
エリア(番地A000や番地B000)内の固定番地か
らのデータやリターンされた値を調べ、センタサブソフ
トウェアが格納されていることを示す固定値(例えば
“1”)であればソフトウェアの使用を続行し、欠落パ
ートであることを示す固定値(例えば“0”)であれば
ソフトウェア使用を中止する。
With this setting, when the center sub software is transferred from the center 1 to the terminal 3 and stored in the missing part, the contents of the missing part are rewritten to the center sub software. In the terminal sub-software in the terminal 3, a fixed value indicating that the center sub-software is stored by checking the data and the returned value from the fixed address in the storage area (address A000 or address B000) of the center sub-software. If (for example, "1"), the use of software is continued, and if it is a fixed value (for example, "0") that indicates a missing part, use of software is stopped.

【0055】例えば、端末サブソフトウェアの構造とし
ては、番地A000,番地B000は必ず”0”,”
1”のいずれかを返すとした場合、以下のものが考えら
れる。 if A000=“1” run from A000 if A000=“0” go to B000 if B000=“1” run from B000 if B000=“0” end この設定を行なうことで、正常に動作するためのパート
が欠落している場合に、システムが異常な動作を行なう
こと無しに、アプリケーションソフトウェアの動作を途
中で停止することができる。
For example, as the structure of the terminal sub software, the address A000 and the address B000 are always "0", "
If any one of "1" is returned, the following is considered: if A000 = "1" run from A000 if A000 = "0" go to B000 if B000 = "1" run from B000 if B000 = "0". "End" By making this setting, the operation of the application software can be stopped on the way without abnormal operation of the system when a part for normal operation is missing.

【0056】さらに端末サブソフトウェアは、センタサ
ブソフトウェアの内それ以降の動作に必要のない部分を
ソフトウェアの動作中に逐次クリアする。
Further, the terminal sub-software sequentially clears the part of the center sub-software that is not necessary for the subsequent operations during the operation of the software.

【0057】例えば図2において、センタサブソフトウ
ェアが番地A000から始まる欠落パートと番地C00
0から始まる欠落パートとにダウンロードされたとき、
端末3においてアプリケーションソフトウェアが使用さ
れ、番地A000から始まる欠落パートのセンタサブソ
フトウェアが使用完了すると、この欠落パートのセンタ
サブソフトウェアはクリアされる。これによりアプリケ
ーションソフトウェア全体がなるべくメモリ上に同時に
展開されないようにする。
For example, in FIG. 2, the center sub-software has a missing part starting from address A000 and an address C00.
When downloaded to a missing part starting from 0,
When the application software is used in the terminal 3 and the center sub software of the missing part starting from the address A000 is completely used, the center sub software of the missing part is cleared. This prevents the entire application software from being simultaneously developed on the memory as much as possible.

【0058】一方、センタサブソフトウェアとして、ソ
フトウェア使用時の最大使用回数が事前に分かるような
性質を持つものを設定しておくと共に、それぞれ自分自
身の使用回数をカウントする領域を設ける。そしてソフ
トウェア使用時に、カウントが事前に設定された最大使
用回数に達すると、そのセンタサブソフトウェアをクリ
アする構造にしておく。このようにして、センタサブソ
フトウェアの内以降のソフトウェアの使用に不必要な部
分をメモリ上から順次クリアすることができる。
On the other hand, as the center sub software, one having a property that the maximum number of times of use of the software is known in advance is set, and an area for counting the number of times of use of each one is provided. Then, when the software is used, when the count reaches a preset maximum number of times of use, the center sub software is cleared. In this way, it is possible to sequentially clear, from the memory, portions of the center sub software that are unnecessary for the use of the software thereafter.

【0059】最大使用回数が事前に分かるような性質を
持つサブソフトウェアとしては次のようなものがある。 (1)ソフトウェアの構成上、明らかにある回数以上は
使用されないもの。
The following are sub-softwares having a property that the maximum number of times of use can be known in advance. (1) Due to the structure of software, it is clearly not used more than a certain number of times.

【0060】一回の実行について冒頭の一回だけ呼び出
されるソフトウェアの初期化機能の部分など。 (2)著作権管理者の要求として、ある回数以上は使用
させたくないもの。
The part of the initialization function of the software which is called only once at the beginning for one execution. (2) As the copyright manager's request, he / she does not want to use it more than a certain number of times.

【0061】一つのソフトウェアの使用中に呼び出され
るサブソフトウェアで、動画・静止画・音声・ゲームプ
ログラム等を使用回数に応じて料金を徴収する場合、あ
るいは試用ソフトウェアで使用回数を制限したい場合な
ど。尚、上記のようなセンタサブソフトウェアのクリア
の方法には次の二つがある。
Sub software called during the use of one software to collect a fee for moving images, still images, voices, game programs, etc. according to the number of times of use, or to limit the number of times of use with trial software. There are the following two methods for clearing the center sub software as described above.

【0062】一つは図3に示すようにセンタサブソフト
ウェア自身が自分を消す方法である。この方法では、セ
ンタサブソフトウェアの最終行の一行前に自分自身のク
リア命令が記述されており、最終行に端末サブソフトウ
ェアへ戻る命令が書かれている。この方法では最終行の
みはクリアされず残ることとなる。
One is a method in which the center sub software itself erases itself as shown in FIG. In this method, the clear command of the self is written one line before the last line of the center sub software, and the command to return to the terminal sub software is written in the last line. With this method, only the last line is left unclear.

【0063】もう一つは図4に示すように端末サブソフ
トウェアがセンタサブソフトウェアを消去する方法であ
る。
The other is a method in which the terminal sub software erases the center sub software as shown in FIG.

【0064】以上のようにしてソフトウェアの使用が終
わった時、ダウンロードされた全てのセンタサブソフト
ウェアは消去され、ダウンロード前の状態に初期化され
る。
When the use of the software is completed as described above, all the downloaded center sub software are erased and initialized to the state before the download.

【0065】ここで初期化されるとは、欠落パートをセ
ンタサブソフトウェアが展開される前の状態に戻すこと
である。これは例えば、欠落パートの全ての領域あるい
は先頭番地等の特定の固定番地に、欠落パートであるこ
とを示す“0”などの固定値をリターンするコードが再
び設定されることを意味する。
The initialization here is to return the missing part to the state before the center sub software was developed. This means, for example, that a code that returns a fixed value such as "0" indicating a missing part is set again in all areas of the missing part or a specific fixed address such as the head address.

【0066】以下では、図5のシーケンスチャートに従
い上記のシステム全体の動作例を示す。
Below, an example of the operation of the above-mentioned entire system will be shown according to the sequence chart of FIG.

【0067】端末サブソフトウェアは起動後、センタ1
に接続され、”センタソフトウェア要求信号”をセンタ
1に送る(S101)。”センタサブソフトウェア要求
信号”を受信したセンタ1は乱数発生部13で乱数を発
生させた後、センタサブソフトウェア選択部12にて発
生した乱数に基づき、どのセンタサブソフトウェアの組
を選択するかを決定し(S102)、センタサブソフト
ウェア格納部11から、そのメモリ展開位置とともに取
り出し、通信制御部14を通して端末3に“センタサブ
ソフトウェア信号”としダウンロードする(S10
3)。
After starting the terminal sub software, the center 1
And sends a "center software request signal" to the center 1 (S101). Upon receiving the "center sub software request signal", the center 1 causes the random number generator 13 to generate a random number, and then, based on the random number generated by the center sub software selector 12, determines which center sub software set to select. It is determined (S102), extracted from the center sub software storage unit 11 together with its memory expansion position, and downloaded as a "center sub software signal" to the terminal 3 through the communication control unit 14 (S10).
3).

【0068】端末3の通信制御部31は、送信されてき
たセンタサブソフトウェアを、センタサブソフトウェア
番号に応じてメモリ上に展開し、使用する(S10
4)。
The communication control unit 31 of the terminal 3 expands the transmitted center sub software on the memory according to the center sub software number and uses it (S10).
4).

【0069】拡張機能としての別のセンタサブソフトウ
ェアの組が必要な時は、再度”センタサブソフトウェア
要求信号”をセンタ1に送りダウンロードを行ない、ソ
フトウェアを使用する(S105,S106,S10
7,S108)。
When another set of center sub software as an extended function is required, the "center sub software request signal" is sent again to the center 1 to download and use the software (S105, S106, S10).
7, S108).

【0070】ソフトウェアの使用中に必要なくなったセ
ンタサブソフトウェアは使用中に随時クリアされる。ま
た、ダウンロードされたセンタサブソフトウェアで、ソ
フトウェア使用終了後に消去されていなかったものは全
てクリアされる(S109)。そしてセンタサブソフト
ウェアが消去された欠落パートは初期化される。
The center sub software which is no longer needed during the use of the software is cleared at any time during the use. Further, all the downloaded center sub-software that has not been erased after the use of the software is cleared (S109). Then, the missing part in which the center sub software is erased is initialized.

【0071】[0071]

【発明の効果】本発明によれば、アプリケーションソフ
トウェアは端末とセンタの両方に分割されて保持され、
端末上のソフトウェアは単独で動作することができなた
め、ソフトウェアが動作していない時に、端末において
解析しただけでは、アプリケーションソフトウェア全体
の構成を知ることは不可能である。
According to the present invention, the application software is divided and held in both the terminal and the center,
Since the software on the terminal cannot operate independently, it is impossible to know the configuration of the entire application software only by analyzing the software on the terminal when the software is not operating.

【0072】また端末利用者がアプリケーションソフト
ウェアを動作させる時には必ずセンタと回線を利用して
接続し、センタ上のソフトウェアをダウンロードして端
末上のソフトウェアと結合する必要があるとともに、ダ
ウンロードされるソフトウェアは毎回異なるように設定
され、結合された結果のソフトウェア配置も毎回異な
り、さらにメモリ上の使用済みの部分は適宜消去される
ため、ソフトウェア解析を困難なものとしている。
When the terminal user operates the application software, he / she must connect to the center by using a line, download the software on the center and combine it with the software on the terminal. It is set to be different every time, the software arrangement of the combined result is also different every time, and the used part on the memory is appropriately deleted, which makes software analysis difficult.

【0073】このためアプリケーションソフトウェアの
構造自体を複雑にすることなく、また暗号化することな
く、アプリケーションソフトウェアの解析を困難にし、
端末におけるアプリケーションソフトウェアの不正利用
を防止することができる。
Therefore, it is difficult to analyze the application software without complicating the structure itself of the application software and without encrypting it.
It is possible to prevent illegal use of application software in the terminal.

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

【図1】本発明の一実施例に係わるソフトウェア解析保
護方法を実施するシステムの構成を示すブロック図であ
る。
FIG. 1 is a block diagram showing the configuration of a system that implements a software analysis protection method according to an embodiment of the present invention.

【図2】上記実施例において端末サブソフトウェアとセ
ンタサブソフトウェアの関係を示す模式図である。
FIG. 2 is a schematic diagram showing a relationship between terminal sub software and center sub software in the above embodiment.

【図3】上記実施例において、センタサブソフトウェア
をクリアする方法の一例を示す模式図である。
FIG. 3 is a schematic diagram showing an example of a method of clearing center sub software in the above embodiment.

【図4】上記実施例において、センタサブソフトウェア
をクリアする方法の他の例を示す模式図である。
FIG. 4 is a schematic diagram showing another example of the method of clearing the center sub software in the above embodiment.

【図5】上記実施例におけるシステム全体の動作例を示
すシーケンスチャートである。
FIG. 5 is a sequence chart showing an operation example of the entire system in the above embodiment.

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

1 センタ 2 公衆回線 3 端末 11 センタサブソフトウェア格納部 12 センタサブソフトウェア選択部 13 乱数発生部 14,31 通信制御部 32 端末サブソフトウェアメモリ 1 center 2 public line 3 terminals 11 Center sub software storage 12 Center sub software selection section 13 Random number generator 14,31 Communication control unit 32 terminal sub software memory

───────────────────────────────────────────────────── フロントページの続き (72)発明者 三宅 延久 東京都千代田区内幸町1丁目1番6号 日本電信電話株式会社内 (72)発明者 寺内 敦 東京都千代田区内幸町1丁目1番6号 日本電信電話株式会社内 (56)参考文献 特開 平4−117548(JP,A) 特開 平4−54529(JP,A) 特開 昭58−151762(JP,A) 特開 平4−98424(JP,A) 特開 平4−223530(JP,A) 特開 平7−262001(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 G06F 15/00 G06F 12/14 G06F 9/30 - 9/36 G06F 9/40 - 9/42 G06F 9/46 G06F 15/16 G06F 13/00 G06F 11/00 G06F 1/00 G09C 1/00 JSTファイル(JOIS) CSDB(日本国特許庁) INSPEC(DIALOG) WPI/L(DIALOG)─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Nobuhisa Miyake 1-6, Uchisaiwaicho, Chiyoda-ku, Tokyo Nippon Telegraph and Telephone Corporation (72) Inventor Atsushi Terauchi 1-1-6, Uchisaiwaicho, Chiyoda-ku, Tokyo Japan (56) References JP-A-4-117548 (JP, A) JP-A-4-54529 (JP, A) JP-A-58-151762 (JP, A) JP-A-4-98424 ( JP, A) JP 4-223530 (JP, A) JP 7-262001 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) G06F 9/06 G06F 15/00 G06F 12/14 G06F 9/30-9/36 G06F 9/40-9/42 G06F 9/46 G06F 15/16 G06F 13/00 G06F 11/00 G06F 1/00 G09C 1/00 JST file (JOIS) CSDB (Japan Patent Office) INSPEC (DIALOG) WPI / L (DIALOG)

Claims (19)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 センタと、該センタに接続された複数の
端末で構成されたシステムにおいて、端末で使用される
ソフトウェアが端末で解析されないように保護するソフ
トウェア解析保護方法であって、 端末で使用されるソフトウェアを分割したソフトウェア
部分を端末とセンタとに分配して保持し、 端末において前記ソフトウェアを使用する毎に、端末か
らセンタに保持されたソフトウェア部分を要求し、 端末からの要求に応じてセンタに保持されたソフトウェ
ア部分を端末に送信し、センタから送信されたソフトウ
ェア部分をメモリ上の端末に保持されたソフトウェア部
分中の欠落部分にロードすることにより、前記ソフトウ
ェアの前記メモリ上に展開された配置パターンを前記ソ
フトウェアが端末で使用される毎に変更しながら、前記
ソフトウェアを端末上で動作可能とし、 前記メモリ上に展開された前記ソフトウェアを端末上で
動作させることからなり、 センタに保持されたソフトウェア部分は同じ機能を持っ
た複数のソフトウェア部分の組を含み、センタは端末に
送信する一つのソフトウェア部分の組を乱数に基づいて
選択することにより、前記ソフトウェアの前記メモリ上
に展開された配置パターンを前記ソフトウェアが端末で
使用される毎に変更することを特徴とするソフトウェア
解析保護方法。
1. A software analysis protection method for protecting a software used in a terminal from being analyzed in a system comprising a center and a plurality of terminals connected to the center. The divided software part is divided into the terminal and the center and held, and each time the terminal uses the software, the terminal requests the software part held in the center and responds to the request from the terminal. The software portion held in the center is transmitted to the terminal, and the software portion transmitted from the center is loaded on the missing portion of the software portion held in the terminal on the memory, whereby the software is expanded on the memory. The layout pattern is changed every time the software is used on the terminal, Software can be operated on the terminal, and the software expanded on the memory is operated on the terminal, and the software part held in the center includes a set of a plurality of software parts having the same function, The center selects a set of one software portion to be transmitted to the terminal based on a random number, thereby changing the arrangement pattern of the software developed on the memory each time the software is used by the terminal. And software analysis protection method.
【請求項2】 センタに保持されたソフトウェア部分は
異なる機能を持った複数のソフトウェア部分の組を含
み、センタは端末に送信する一つのソフトウェア部分の
組を端末からの要求またはセンタの判断により選択する
ことにより、端末で動作させる前記ソフトウェアの機能
を変更することを特徴とする請求項1記載のソフトウェ
ア解析保護方法。
2. The software part held in the center includes a set of a plurality of software parts having different functions, and the center selects one set of software parts to be transmitted to the terminal according to a request from the terminal or the judgment of the center. The software analysis protection method according to claim 1, wherein the function of the software operated in the terminal is changed by performing the above.
【請求項3】 センタに保持されたソフトウェア部分は
複数のソフトウェア部分の組を含み、センタは端末に送
信する一つのソフトウェア部分の組を選択し、前記ソフ
トウェアはセンタから送信された該ソフトウェア部分の
組が前記メモリ上の対応する欠落部分にロードされた時
に端末上で少なくとも部分的に動作可能となることを特
徴とする請求項1記載のソフトウェア解析保護方法。
3. The software part held in the center includes a plurality of sets of software parts, the center selects one set of software parts to be transmitted to the terminal, and the software is one of the software parts transmitted from the center. 2. The software analysis protection method according to claim 1, wherein the set is at least partially operable on the terminal when the set is loaded into the corresponding missing portion on the memory.
【請求項4】 センタは前記複数のソフトウェア部分の
組を、前記ソフトウェアの動作の進行に伴う端末からの
要求に応じて順次送信することを特徴とする請求項3記
載のソフトウェア解析保護方法。
4. The software analysis protection method according to claim 3, wherein the center sequentially transmits the set of the plurality of software parts in response to a request from a terminal as the operation of the software progresses.
【請求項5】 欠落部分にロードされたソフトウェア部
分は前記ソフトウェアの使用終了後に前記メモリからク
リアされることを特徴とする請求項1記載のソフトウェ
ア解析保護方法。
5. The software analysis protection method according to claim 1, wherein the software portion loaded in the missing portion is cleared from the memory after the use of the software is finished.
【請求項6】 欠落部分にロードされたソフトウェア部
分は前記ソフトウェアの以降の動作に不必要となるに従
い前記ソフトウェアの動作中に順次前記メモリからクリ
アされることを特徴とする請求項1記載のソフトウェア
解析保護方法。
6. The software according to claim 1, wherein the software portion loaded in the missing portion is sequentially cleared from the memory during the operation of the software as it becomes unnecessary for the subsequent operation of the software. Analysis protection method.
【請求項7】 欠落部分にロードされたソフトウェア部
分は端末に保持されたソフトウェア部分に設けられたコ
マンドにより前記メモリからクリアされることを特徴と
する請求項1記載のソフトウェア解析保護方法。
7. The software analysis protection method according to claim 1, wherein the software part loaded in the missing part is cleared from the memory by a command provided in the software part held in the terminal.
【請求項8】 欠落部分にロードされたソフトウェア部
分はセンタに保持され欠落部分にロードされたソフトウ
ェア部分に設けられたコマンドにより前記メモリからク
リアされることを特徴とする請求項1記載のソフトウェ
ア解析保護方法。
8. The software analysis according to claim 1, wherein the software portion loaded in the missing portion is held in the center and cleared from the memory by a command provided in the software portion loaded in the missing portion. How to protect.
【請求項9】 センタに保持された各ソフトウェア部分
は基地の該各ソフトウェア部分の最大使用回数と、該各
ソフトウェア部分の実使用回数のカウントとを有し、欠
落部分にロードされた該各ソフトウェア部分は実使用回
数のカウントが前記最大使用回数に達した時に前記メモ
リからクリアされることを特徴とする請求項1記載のソ
フトウェア解析保護方法。
9. Each software part held in the center has a maximum number of times of use of each software part of the base and a count of the number of times of actual use of each software part, and each of the software loaded in the missing part. 2. The software analysis protection method according to claim 1, wherein the part is cleared from the memory when the count of the actual number of times of use reaches the maximum number of times of use.
【請求項10】 端末に保持されたソフトウェア部分は
前記ソフトウェア中の複数の非連続なブロックであるこ
とを特徴とする請求項1記載のソフトウェア解析保護方
法。
10. The software analysis protection method according to claim 1, wherein the software part held in the terminal is a plurality of non-contiguous blocks in the software.
【請求項11】 センタに保持されたソフトウェア部分
は前記ソフトウェア中の複数の非連続なブロックであ
り、センタに保持されたソフトウェア部分の非連続なブ
ロックは該非連続なブロック同士間の順序と異なる順番
で送信されることを特徴とする請求項1記載のソフトウ
ェア解析保護方法。
11. The software part held in the center is a plurality of non-contiguous blocks in the software, and the non-contiguous blocks of the software part held in the center are in an order different from the order between the non-contiguous blocks. The software analysis and protection method according to claim 1, wherein the software analysis and protection method is transmitted as follows.
【請求項12】 センタに保持された各ソフトウェア部
分はそれがセンタに保持されたソフトウェア部分である
ことを示す或る固定値を返す或るコードを該各ソフトウ
ェア部分内の所定のアドレスに有し、前記メモリ上の各
欠落部分はそれが欠落部分であることを示す別の固定値
を返す別のコードを該各欠落部分内の所定のアドレスに
有し、端末上で前記ソフトウェアの動作中に前記別の固
定値が返された時に前記ソフトウェアの動作が中断され
ることを特徴とする請求項1記載のソフトウェア解析保
護方法。
12. Each center-held software portion has a code at a predetermined address within each software portion that returns a fixed value indicating that it is a center-held software portion. , Each missing part on the memory has another code at a given address in each missing part that returns another fixed value indicating that it is a missing part, and while the software is running on the terminal 2. The software analysis protection method according to claim 1, wherein the operation of the software is interrupted when the other fixed value is returned.
【請求項13】 センタと、該センタに接続された複数
の端末で構成されたシステムにおいて、端末で使用され
るソフトウェアが端末で解析されないように保護するソ
フトウェア解析保護方法であって、 端末で使用されるソフトウェアを分割したソフトウェア
部分を端末とセンタとに分配して保持し、 センタに保持されたソフトウェア部分を端末に送信し、
センタから送信されたソフトウェア部分をメモリ上の端
末に保持されたソフトウェア部分中の欠落部分にロード
することにより、前記ソフトウェアを端末上で動作可能
とし、 前記メモリ上に展開された前記ソフトウェアを端末上で
動作させることからなり、 センタに保持されたソフトウェア部分は同じ機能を持っ
た複数のソフトウェア部分の組を含み、センタは端末に
送信する一つのソフトウェア部分の組を乱数に基づいて
選択することにより、前記ソフトウェアの前記メモリ上
に展開された配置パターンを前記ソフトウェアが端末で
使用される毎に変更することを特徴とするソフトウェア
解析保護方法。
13. A software analysis protection method for protecting a software used in a terminal from being analyzed by the terminal in a system including a center and a plurality of terminals connected to the center, the method being used in the terminal. The divided software part is distributed to the terminal and the center and held, and the software part held at the center is transmitted to the terminal,
By loading the software portion transmitted from the center into the missing portion of the software portion held in the terminal on the memory, the software can be operated on the terminal, and the software expanded on the memory can be loaded on the terminal. The software part held in the center includes a set of software parts having the same function, and the center selects one set of software parts to send to the terminal based on a random number. A software analysis and protection method characterized in that the arrangement pattern of the software expanded on the memory is changed every time the software is used in a terminal.
【請求項14】 センタに保持されたソフトウェア部分
は端末において前記ソフトウェアを使用する毎に、端末
からの要求に応じてセンタから端末に送信されることを
特徴とする請求項13記載のソフトウェア解析保護方
法。
14. The software analysis protection according to claim 13, wherein the software portion held in the center is transmitted from the center to the terminal in response to a request from the terminal each time the terminal uses the software. Method.
【請求項15】 センタに保持されたソフトウェア部分
は複数のブロックに分けて送信されることを特徴とする
請求項13記載のソフトウェア解析保護方法。
15. The software analysis and protection method according to claim 13, wherein the software portion held in the center is transmitted in a plurality of blocks.
【請求項16】 前記ソフトウェアの前記メモリ上に展
開された配置パターンは前記ソフトウェアが端末で使用
される毎に変更されることを特徴とする請求項13記載
のソフトウェア解析保護方法。
16. The software analysis protection method according to claim 13, wherein the arrangement pattern of the software expanded on the memory is changed every time the software is used in a terminal.
【請求項17】 センタに保持されたソフトウェア部分
は複数のソフトウェア部分の組を含み、センタは端末に
送信する一つのソフトウェア部分の組を選択し、前記ソ
フトウェアはセンタから送信された該ソフトウェア部分
の組が前記メモリ上の対応する欠落部分にロードされた
時に端末上で少なくとも部分的に動作可能となることを
特徴とする請求項13記載のソフトウェア解析保護方
法。
17. The software portion retained in the center includes a plurality of sets of software portions, the center selects one set of software portions to send to the terminal, the software of the software portions transmitted from the center. 14. The software analysis protection method according to claim 13, wherein the set is at least partially operable on the terminal when the set is loaded into the corresponding missing portion on the memory.
【請求項18】 欠落部分にロードされたソフトウェア
部分は前記ソフトウェアの使用終了後に前記メモリから
クリアされることを特徴とする請求項13記載のソフト
ウェア解析保護方法。
18. The software analysis protection method according to claim 13, wherein the software portion loaded in the missing portion is cleared from the memory after the use of the software is completed.
【請求項19】 欠落部分にロードされたソフトウェア
部分は前記ソフトウェアの以降の動作に不必要となるに
従い前記ソフトウェアの動作中に順次前記メモリからク
リアされることを特徴とする請求項13記載のソフトウ
ェア解析保護方法。
19. The software according to claim 13, wherein the software portion loaded in the missing portion is sequentially cleared from the memory during the operation of the software as it becomes unnecessary for the subsequent operation of the software. Analysis protection method.
JP10517795A 1994-04-28 1995-04-28 Software analysis protection method Expired - Fee Related JP3463963B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10517795A JP3463963B2 (en) 1994-04-28 1995-04-28 Software analysis protection method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9213494 1994-04-28
JP6-92134 1994-04-28
JP10517795A JP3463963B2 (en) 1994-04-28 1995-04-28 Software analysis protection method

Publications (2)

Publication Number Publication Date
JPH0816385A JPH0816385A (en) 1996-01-19
JP3463963B2 true JP3463963B2 (en) 2003-11-05

Family

ID=26433612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10517795A Expired - Fee Related JP3463963B2 (en) 1994-04-28 1995-04-28 Software analysis protection method

Country Status (1)

Country Link
JP (1) JP3463963B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3586560B2 (en) * 1998-04-28 2004-11-10 シャープ株式会社 Data processing device
JP2003271255A (en) * 2002-03-12 2003-09-26 Ntt Comware Corp Executable program creation system, program therefor, recording medium therefor and executable program sales method
ATE509442T1 (en) 2003-12-11 2011-05-15 Irdeto Bv BLOCK CIPHERIZER SYSTEM USING PERMUTATIONS TO HIDE THE CORE CIPHERIZER FUNCTION OF EACH ENCRYPTION ROUND
JP4514473B2 (en) 2004-02-23 2010-07-28 富士通株式会社 Computer system, central apparatus, and program execution method
JP4048382B1 (en) 2006-09-01 2008-02-20 富士ゼロックス株式会社 Information processing system and program
JP2010250444A (en) * 2009-04-13 2010-11-04 Ccr Co Ltd Optional code execution system for prevention of analysis and operation of computer executable code
KR101566142B1 (en) * 2014-10-21 2015-11-06 숭실대학교산학협력단 User Terminal and Method for Protecting Core Codes of Applications Using the same

Also Published As

Publication number Publication date
JPH0816385A (en) 1996-01-19

Similar Documents

Publication Publication Date Title
US6457126B1 (en) Storage device, an encrypting/decrypting device and method of accessing a non-volatile memory
JP3638770B2 (en) Storage device with test function
JP4860619B2 (en) Memory card, application program holding method, and holding program
US8407488B2 (en) Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method
US7380140B1 (en) Providing a protected volume on a data storage device
US5699512A (en) Software analysis protection method for changing the software pattern on the memory of a user terminal
JPH08305558A (en) Ciphering program arithmetic unit
US20030126458A1 (en) Method for sharing encrypted data region among processes in tamper resistant processor
US20010044902A1 (en) Secure software system and related techniques
CN111143247B (en) Storage device data integrity protection method, controller thereof and system on chip
JP3463963B2 (en) Software analysis protection method
JP2001356963A (en) Semiconductor device and its control device
US11550474B2 (en) Data storage device and method for rewriting parameters thereof
EP1830240A1 (en) Memory information protecting system, semiconductor memory, and method for protecting memory information
US20060129845A1 (en) Memory information protection system and methods
US20070143630A1 (en) Method and device for protecting a program comprising a functional block
EP2187314B1 (en) Download security system
US7000144B2 (en) Information management apparatus, information management system, and information management software
KR100346411B1 (en) Automatic Encryption and Decrytion Method of File and Moving Method of File Pointer Using Thereof, and Computer Readable Recording Medium Having Thereon Programmed Automatic Encryption and Decrytion Method of File and Moving Method of File Pointer Using Thereof
JP2004503860A (en) Data processing method and apparatus for execution of protected instructions
JP3034118B2 (en) IC card system and IC card
JP2007026105A (en) Device, method, and program for file management
JPH05274498A (en) Ic card and erasing method for its data storage memory
JP5339860B2 (en) Removable non-volatile auxiliary storage device
US20060242274A1 (en) Protecting system for data used by java applications

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080822

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees