JPS62236035A - Software protecting system - Google Patents

Software protecting system

Info

Publication number
JPS62236035A
JPS62236035A JP61079647A JP7964786A JPS62236035A JP S62236035 A JPS62236035 A JP S62236035A JP 61079647 A JP61079647 A JP 61079647A JP 7964786 A JP7964786 A JP 7964786A JP S62236035 A JPS62236035 A JP S62236035A
Authority
JP
Japan
Prior art keywords
unique code
program
processing program
hardware
code
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
JP61079647A
Other languages
Japanese (ja)
Inventor
Hideto Nishikawa
秀人 西川
Takao Ikoma
孝夫 生駒
Norimasa Yamaguchi
山口 則正
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP61079647A priority Critical patent/JPS62236035A/en
Publication of JPS62236035A publication Critical patent/JPS62236035A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To avoid the diversion of a processing program to another hardware by having collation between a proper code set in a processing program and a proper code set in a hardware and permitting the execution of a processing program only for the hardware that has its proper code coincident with that of the processing program. CONSTITUTION:A proper code set to a computer system is written to a nonvolatile memory 1 containing a backup power supply. A file 5 stores an inherent code producing program and a program which confirms both produced inherent codes. When the inherent code produced by the inherent code producing program is stored in the file 5, this program is destructed. A file 6 stores a processing program which is executed by this computer system. Then the inherent code is previously set to the processing program. This set inherent code is collated with that stored in the memory 1 and the processing program is carried our when the coincidence is secured between both inherent codes.

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明はコンピュータシステムのソフトウェアを他のコ
ンピュータシステムへ流用するこを不可能にしたソフト
ウェア保護方式に関する。
DETAILED DESCRIPTION OF THE INVENTION <Field of Industrial Application> The present invention relates to a software protection system that makes it impossible to divert software from a computer system to another computer system.

〈従来の技術〉 従来、この種のソフトウェア保護方式として、システム
の生産工程で固有コードを設定する方式やプログラムの
呼び出しを行なうハードウェアを限定する方式等がある
。前者では、生産工程が複雑化してシステムのコストア
ンプになるとともに、ハードウェアのトラブルによる交
換等で固有コードが変わってしまい、動作不能になる場
合がある。
<Prior Art> Conventionally, as this type of software protection method, there are a method of setting a unique code during the production process of the system, a method of limiting the hardware that calls a program, etc. In the former case, the production process becomes complicated, which increases the cost of the system, and the unique code may change due to replacement due to hardware trouble, which may cause the system to become inoperable.

また、後者では、処理速度が低下するとともに、複数の
ユーザが同時にシステムを利用して別のプログラムを実
行させる場合に障害となりやすい。
In addition, the latter reduces processing speed and is likely to cause problems when multiple users simultaneously use the system to execute different programs.

上述の欠点を解消する方式として、バックアップ電源付
メモリに固有コードを設定する方式があるが、従来のこ
の方式では、設定を行なう施行者自身が無断転用するこ
とに対して無防備であった。
As a method to solve the above-mentioned drawbacks, there is a method of setting a unique code in a memory with a backup power supply, but in this conventional method, the person who sets the code is vulnerable to unauthorized diversion.

〈発明の目的〉 本発明は上記事情に鑑みてなされたものであり、固有コ
ードを自動生成して設定すると、設定後は再び固有コー
ドを生成できないようにしたソフトウェア保護方式の提
供を目的とする。
<Purpose of the Invention> The present invention has been made in view of the above circumstances, and its purpose is to provide a software protection method that prevents the generation of a unique code again after the unique code is automatically generated and set. .

〈発明の要旨〉 本発明に係るソフトウェア保護方式は、ハードウェアに
対応した固有コードを生成するプログラムによりハード
ウェアに対して固有コードを設定すると、このプログラ
ムを破壊し、処理プログラムの実行に際して処理プログ
ラム中に設定された固有コードとハードウェアに対して
設定された固有コードとを比較照合し、固有コードが一
致すると処理プログラムの実行を可能にする。
<Summary of the Invention> The software protection method according to the present invention is such that when a unique code is set for hardware by a program that generates a unique code corresponding to the hardware, this program is destroyed, and when the processing program is executed, the processing program The unique code set in the hardware is compared with the unique code set for the hardware, and if the unique codes match, the processing program can be executed.

〈実施例〉 第1図は本実施例のソフトウェア保護方式を通用したコ
ンピュータシステムの構成を示す。1は、、     
/’(7クア“・ブ電源付メモ“J・2番ま表示装置・
3番よCPU、4はRAM、5はフロッピィディスク等
の取り外しが可能な記憶媒体に格納されたファイル、6
はハードディスク等の高速記憶媒体に格納されたファイ
ルである。
<Embodiment> FIG. 1 shows the configuration of a computer system that uses the software protection method of this embodiment. 1 is...
/'(7qua"・Memo with power supply"J・2nd ma display device・
Number 3 is the CPU, 4 is the RAM, 5 is the file stored on a removable storage medium such as a floppy disk, and 6
is a file stored on a high-speed storage medium such as a hard disk.

パックアンプ電源付メモリ1は、このコンピュータシス
テムに対して設定された固有コードが書き込まれる不揮
発性メモリである。ファイル5は、固有コードを生成す
るプログラム、生成された固有コード並びに設定後の固
有コードをm認するプログラムが格納される。このファ
イル5は、固有コード生成プログラムにより生成された
固有コードが格納されると、固有コード生成プログラム
は破壊される。ファイル6は、このコンピュータシステ
ムにおいて実行する処理プログラムが格納される。この
処理プログラムには、固有コードが予め設定される。
The pack amplifier power supply memory 1 is a nonvolatile memory into which a unique code set for this computer system is written. File 5 stores a program for generating a unique code, a program for recognizing the generated unique code, and the unique code after setting. When the unique code generated by the unique code generation program is stored in this file 5, the unique code generation program is destroyed. The file 6 stores a processing program to be executed in this computer system. A unique code is set in advance in this processing program.

RAM4は、コンピュータシステムに対スる固有コード
の設定時にはファイル5のプログラムがロードされ、処
理プログラムの実行時にはファイル6の処理プログラム
がロードされる。CPU3は、固有コード設定、処理プ
ログラムに設定された固有コードとの比較照合並びに処
理プログラムの実行を制御する。
The RAM 4 is loaded with a program in file 5 when setting a unique code for the computer system, and loaded with a processing program in file 6 when executing a processing program. The CPU 3 controls setting of the unique code, comparison and verification with the unique code set in the processing program, and execution of the processing program.

1更用者は、まずコンビエータシステムに対して固有コ
ードの設定を行なう。第2図はこの固有コード設定の処
理手順を示す。
The first user first sets a unique code for the combiator system. FIG. 2 shows the processing procedure for setting this unique code.

ファイル5に格納された固有コード生成プログラムを起
動する(#l)。この固有コード生成プログラムは、使
用者が入力する日付データ等の所定の数値に基づいて乱
数処理を行ない、このコンピュータシステムに対する固
有のコードを生成する(#2)。生成された固有コード
をバックアップ電源付メモリ1に格納する(#3)とと
もに、表示装置2にこの固有コードを表示する(#4)
Activate the unique code generation program stored in file 5 (#l). This unique code generation program performs random number processing based on predetermined numerical values such as date data input by the user, and generates a unique code for this computer system (#2). Store the generated unique code in the memory 1 with backup power supply (#3) and display this unique code on the display device 2 (#4)
.

生成した固有コードをファイル5に格納する(#5)。The generated unique code is stored in file 5 (#5).

その後、ファイル5の固有コード生成プログラムで自身
の固有コード生成プログラムを破壊し、この固有コード
の再度の生成を不可能にする(#6)。同時にRAM4
にロードした固有コード生成プログラムをクリアする。
Thereafter, the unique code generating program in file 5 destroys its own unique code generating program, making it impossible to generate this unique code again (#6). RAM4 at the same time
Clears the specific code generator loaded in .

使用者は、コンピュータシステムに設定した固有コード
を処理プログラムの製作者に連絡し、この固有コードが
設定された各種の処理プログラムの提供を受ける。した
がって、この処理プログラムは、使用者のコンピュータ
システムの専用のプログラムとなる。
The user notifies the processing program producer of the unique code set in the computer system, and receives various processing programs in which the unique code is set. Therefore, this processing program becomes a dedicated program for the user's computer system.

第3図は処理プログラムの実行時の処理手順を示す。FIG. 3 shows the processing procedure when the processing program is executed.

処理プログラムが起動される(#11)と、処理プログ
ラムに予め設定された固有コードとバックアップ電源付
メモリ1に格納された固有コードとを比較照合する(#
12)、両者の固有コードが一致すると、処理プログラ
ムの実行を可能とし、この処理プログラムを実行する。
When the processing program is started (#11), the unique code preset in the processing program is compared with the unique code stored in the memory 1 with backup power supply (#11).
12) When both unique codes match, execution of the processing program is enabled, and this processing program is executed.

(#13)。(#13).

処理プログラムには、バックアンプ電源付メモリlに設
けられたカウンタをカウントアツプするステップと、こ
のカウンタの内容が所定の値に達したかどうかをチェッ
クするステップが含まれている(#14)。カウンタが
所定値に達していないと、カウンタをカウントアツプし
く#15)、処理プログラムの実行を続ける。
The processing program includes a step of counting up a counter provided in the memory 1 with a backup amplifier power supply, and a step of checking whether the contents of this counter have reached a predetermined value (#14). If the counter has not reached the predetermined value, the counter is counted up (#15) and the processing program continues to be executed.

カウンタが所定値に達すると、処理プログラムの実行を
中断しく#16)、ファイル5の確認プログラムの実行
を使用者に対して要求する(#17)。使用者がこの確
認プログラムを起動すると、ファイル5の固有コードと
バックアップ電源付メモリ1の固有コードとの照合を行
ない、バンクアップ電源付メモリ1の固有コードの再登
録を行なう (918)、その後、バックアップ電源付
メモリ1のカウンタをリセットしく#19)、処理プロ
グラムの実行を再開する(#20)。
When the counter reaches a predetermined value, the execution of the processing program is interrupted (#16) and the user is requested to execute the confirmation program for file 5 (#17). When the user starts this confirmation program, the unique code of the file 5 is compared with the unique code of the memory with backup power supply 1, and the unique code of the memory with backup power supply 1 is re-registered (918), and then, The counter of the memory 1 with backup power supply is reset (#19), and the execution of the processing program is restarted (#20).

以上の固有コードの再登録をカウンタのカウント値に応
じて不定期的に繰り返すことにより、バックアップ電源
付メモリlのハードウェア上の障害によって固有コード
が消えても、自動的に復旧することができる。また、処
理プログラムの起動時においも、固有コードの不一致が
検出されると、ファイル5の確認プログラムの起動が要
求される。
By repeating the above re-registration of the unique code irregularly according to the count value of the counter, even if the unique code disappears due to a hardware failure in the memory with backup power supply, it can be automatically restored. . Also, when a processing program is started, if a mismatch of unique codes is detected, a request is made to start the confirmation program for the file 5.

なお、ファイル5は、このコンピュータシステムに常備
される。
Note that the file 5 is always kept in this computer system.

、      このソフトウェア保護方式では、処理プ
ログラムに設定された固有コードと同じ固有コードが設
定されたハードウェアに対してのみこの処理プログラム
の実行を可能にする。したがって、この処理プログラム
の他のハードウェアへの流用が不可能になる。
, This software protection method allows the processing program to be executed only on hardware to which the same unique code as the unique code set in the processing program is set. Therefore, it becomes impossible to divert this processing program to other hardware.

また、ハードウェアへの固有コードの設定をハードウェ
アの生産時に行なうのではなく、取り外しが可能な記憶
媒体に格納されたプログラムを使用者が起動して行ない
、固有コードの設定が終了するとプログラムを破壊する
。したがって、再度同じ固有コードを生成することが不
可能になる。
In addition, instead of setting the unique code to the hardware when the hardware is manufactured, the user starts a program stored in a removable storage medium, and when the unique code is set, the program is started. Destroy. Therefore, it becomes impossible to generate the same unique code again.

記憶媒体には生成された固有コードが保存され、ハード
ウェアに対して固有コードの再登録を繰り返すことによ
り、ハードウェアの固有コードが何らかの原因で失われ
た場合でも直ちに復旧することができる。この方法では
、他のハードウェアに同一の固有コードを設定すること
が可能であるが、ハードウェア中の記憶場所(バンクア
ップ電源付メモリ)を公開しないことで、調査した時点
で未登録のハードウェアに固有コードが設定されている
ことを証I処にして訴えることができる。
The generated unique code is stored in the storage medium, and by repeatedly reregistering the unique code to the hardware, even if the unique code of the hardware is lost for some reason, it can be immediately restored. With this method, it is possible to set the same unique code to other hardware, but by not disclosing the storage location in the hardware (memory with bank-up power supply), it is possible to set unregistered hardware at the time of investigation. It is possible to sue as evidence that a unique code is set on the software.

固有コードの設定後の取り外し可能な記憶媒体を他のハ
ードウェアに使用されるのを防ぐため、固有コードの確
認を不定期に行なう。この確認が不定期で行なわれるた
め、記憶媒体はハードウェアと1対1に対応し、他のハ
ードウェアへの流用が不可能になる。
In order to prevent the removable storage medium on which the unique code has been set from being used by other hardware, the unique code is checked irregularly. Since this confirmation is performed irregularly, the storage medium has a one-to-one correspondence with the hardware, making it impossible to use it for other hardware.

〈発明の効果〉 以上説明したように本発明においては、使用者がプログ
ラムを起動してハードウェアに対して固有コードを設定
し、処理プログラムに設定された固有コードとハードウ
ェアに設定された固有コードとを照合し、固有コードが
一致するハードウェアに対してのみ処理プログラムの実
行を可能にしたので、処理プログラムの他のハードウェ
アへの流用が防止できる。さらに、使用者が固有コード
の生成と設定を行ない、設定後はプログラムを破壊する
ので、ハードウェアあるいは処理プログラムの製作者に
よる固有コードの流用が不可能であるとともに、ハード
ウェアの生産時に固有コードを設定しないことから生産
コストが抑えられる。
<Effects of the Invention> As explained above, in the present invention, the user starts a program and sets a unique code to the hardware, and the unique code set to the processing program and the unique code set to the hardware are Since the code is checked and the processing program can be executed only on hardware with matching unique codes, it is possible to prevent the processing program from being diverted to other hardware. Furthermore, since the user generates and sets the unique code and destroys the program after setting, it is impossible for the manufacturer of the hardware or processing program to reuse the unique code, and the unique code is not created when the hardware is manufactured. Since there is no setting, production costs can be reduced.

さらに、固有コードを必要な場合にのみ設定することが
できる。さらに、処理プログラムのコピーが自由に行な
えるので、ファイルのバックアップが容易である。
Additionally, unique codes can be set only when needed. Furthermore, since processing programs can be freely copied, backing up files is easy.

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

第1図は本発明を適用したハードウェアの構成を示すブ
ロック図、第2図と第3図は本発明の実施例の処理手順
を示すフローチャートである。 1−バックアップ電源付メモリ 3−=CP U 4−RA M 5.6−記憶媒体
FIG. 1 is a block diagram showing the configuration of hardware to which the present invention is applied, and FIGS. 2 and 3 are flowcharts showing the processing procedure of the embodiment of the present invention. 1-Memory with backup power supply 3-=CPU 4-RAM 5.6-Storage medium

Claims (2)

【特許請求の範囲】[Claims] (1)ハードウェアに対応した固有のコードを生成する
プログラムが格納された記憶媒体の上記プログラムによ
り生成された固有のコードを上記記憶媒体に格納した後
、上記プログラムを破壊し、上記生成された固有のコー
ドを上記ハードウェアに属する不揮発性メモリに格納し
、処理プログラムの実行に際してこの処理プログラム中
に登録された固有のコードと上記不揮発性メモリに格納
された固有のコードとを比較照合し、この比較照合にお
いて一致すると上記処理プログラムの実行を可能にする
ことを特徴とするソフトウェア保護方式。
(1) After storing the unique code generated by the program in the storage medium in which a program that generates a unique code corresponding to the hardware is stored in the storage medium, the program is destroyed and the generated code is A unique code is stored in a non-volatile memory belonging to the hardware, and when the processing program is executed, the unique code registered in the processing program is compared with the unique code stored in the non-volatile memory, A software protection system characterized in that if a match is found in the comparison, the processing program can be executed.
(2)上記処理プログラムの実行に際して上記記憶媒体
中の固有のコードの上記不揮発性メモリへの再登録を不
定期的に繰り返す特許請求の範囲第1項記載のソフトウ
ェア保護方式。
(2) The software protection system according to claim 1, wherein re-registration of the unique code in the storage medium to the nonvolatile memory is irregularly repeated when the processing program is executed.
JP61079647A 1986-04-07 1986-04-07 Software protecting system Pending JPS62236035A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61079647A JPS62236035A (en) 1986-04-07 1986-04-07 Software protecting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61079647A JPS62236035A (en) 1986-04-07 1986-04-07 Software protecting system

Publications (1)

Publication Number Publication Date
JPS62236035A true JPS62236035A (en) 1987-10-16

Family

ID=13695907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61079647A Pending JPS62236035A (en) 1986-04-07 1986-04-07 Software protecting system

Country Status (1)

Country Link
JP (1) JPS62236035A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01274239A (en) * 1988-04-26 1989-11-02 Ricoh Co Ltd Data processor
JPH02165334A (en) * 1988-12-20 1990-06-26 Nec Corp Program protection system
JP2006099411A (en) * 2004-09-29 2006-04-13 Oki Electric Ind Co Ltd Method for restricting use of software

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58132841A (en) * 1982-02-02 1983-08-08 Hitachi Medical Corp System for preventing use of copy of computer program
JPS6154549A (en) * 1984-08-24 1986-03-18 Fujitsu Ltd Discrimination method for computer using identification number of central processing unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58132841A (en) * 1982-02-02 1983-08-08 Hitachi Medical Corp System for preventing use of copy of computer program
JPS6154549A (en) * 1984-08-24 1986-03-18 Fujitsu Ltd Discrimination method for computer using identification number of central processing unit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01274239A (en) * 1988-04-26 1989-11-02 Ricoh Co Ltd Data processor
JPH02165334A (en) * 1988-12-20 1990-06-26 Nec Corp Program protection system
JP2006099411A (en) * 2004-09-29 2006-04-13 Oki Electric Ind Co Ltd Method for restricting use of software

Similar Documents

Publication Publication Date Title
CA2458765C (en) Compact hardware identification for binding a software package to a computer system having tolerance for hardware changes
US7290149B2 (en) Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes
JP2728724B2 (en) Computer system and system startup method
CA1292791C (en) Hardware assist for protecting pc software
US6067640A (en) System for management of software employing memory for processing unit with regulatory information, for limiting amount of use and number of backup copies of software
US5081676A (en) Method and apparatus for protecting multiple copies of computer software from unauthorized use
US7236958B2 (en) Electronic software license with software product installer identifier
GB2232279A (en) Software protection
US20030204754A1 (en) Controlling access to data stored on a storage device of a computer system
JP5319830B2 (en) Data protection method and computer apparatus
CN106874714A (en) A kind of software authorization method
JPH0552967B2 (en)
US6622243B1 (en) Method for securing CMOS configuration information in non-volatile memory
JPS62236035A (en) Software protecting system
JPS6154549A (en) Discrimination method for computer using identification number of central processing unit
JPH05120149A (en) Copy preventing system for executing form file
JPH08185347A (en) Method for retracting/restoring file
JPS63132336A (en) Program execution inhibiting system
JPH08129486A (en) Method for protecting software copyright
JPH0436424B2 (en)
CN114329354A (en) File authorization method and device, computer equipment and storage medium
JPH07219761A (en) Method and device for protecting software
CN1894647B (en) Protecting system for data used by Java applications
JPS63276125A (en) System for detecting propriety of registered program
CN115544582A (en) Dynamic library integrity checking method, device and equipment and readable storage medium