JP2004295388A - Method for installing and protecting software - Google Patents

Method for installing and protecting software Download PDF

Info

Publication number
JP2004295388A
JP2004295388A JP2003085655A JP2003085655A JP2004295388A JP 2004295388 A JP2004295388 A JP 2004295388A JP 2003085655 A JP2003085655 A JP 2003085655A JP 2003085655 A JP2003085655 A JP 2003085655A JP 2004295388 A JP2004295388 A JP 2004295388A
Authority
JP
Japan
Prior art keywords
software
information
computer
key information
unique information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003085655A
Other languages
Japanese (ja)
Other versions
JP4107125B2 (en
Inventor
Hideo Miyamori
秀生 宮森
Yuichi Sekido
裕一 関戸
Akihiko Hayashi
林  昭彦
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2003085655A priority Critical patent/JP4107125B2/en
Publication of JP2004295388A publication Critical patent/JP2004295388A/en
Application granted granted Critical
Publication of JP4107125B2 publication Critical patent/JP4107125B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide technology to eliminate the inconveniences that it is necessary to always keep a CD or the like inserted into a drive in order to protect software when using a protected CD or the like and that its protection with activation is not easy, and to provide the technology to conveniently realize installation and execution as long as it is properly used and to exclude any illegal installation or copy. <P>SOLUTION: When software is installed by using a protected media, key information specific to equipment is recorded in a registry or a predetermined file or the like, and the key is confirmed when a program is started so that the execution of the program can be protected. When the key information is lost due to any reason, the media (which is protected) used for the installation is confirmed so that the key can be reissued. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、適正な権限を持つユーザにのみソフトウェアのインストールや使用が可能となるようにソフトウェアをプロテクトする技術に関する。
【0002】
【従来の技術】
従来より、ソフトウェアのプロテクト技術としては以下のようなものが知られている。
【0003】
まず、所定のシリアル番号を入力することにより、正規の機能が使用可能となるソフトウェアが知られている。例えば、インストールする際にシリアル番号を入力させ、適正なシリアル番号でないときにはインストールできないようにするものがある。このようなものでは、シリアル番号さえ入手すれば、何台のコンピュータでも正規の機能を使用できてしまうので、さらに強力なプロテクトを行なうためドングルを使用したプロテクトが考えられている。ドングルとは、ソフトウェアの違法コピーを防止する目的で使用されるハードウェアキーのことである。パラレルポートやUSBポート等にドングルが接続されているか否かチェックし、適正なドングルが接続されている場合のみソフトウェアが正常に動作するようにしたものが知られている。
【0004】
また、違法なコピーや使用ができないようにプロテクトされた記憶メディアが知られている。例えば、CDのプロテクト方法としてCD−ROMの記録面に視覚的に確認できる独自のリングをプレス工程時に組み込み、そのリングとプロテクトチェックルーチンによりプロテクトを実現する技術がある。さらに、DVDには最初からプロテクトの機構が備えられている。
【0005】
ここで上記プロテクトされたCDは、次のようにして使用される。まず通常のCD−R書込ソフトおよびCD−Rドライブを用いてはCDの複製ができない。記録面に特殊なリングが組み込まれているからである。また、記録されているプログラムやデータ自体は自由にコピー可能だが、オリジナルのCDを確認するためのサブルーチンが供給されており、これによりプロテクトをかけることができる。
【0006】
例えばインストール時にプロテクトをかけるためには、CDに記憶されたインストーラが起動されたときに、上記プロテクトチェックルーチンを用いてオリジナルのCDであるか否かを確認し、オリジナルのCDでなければインストールを実行しないようにする。また例えばプログラムの実行時にプロテクトをかけるときは、ハードディスクにインストールされたプログラムの起動指示時に、上記プロテクトチェックルーチンを用いてCDドライブにオリジナルのCDが挿入されているか否かを検出し、挿入されていなかったら当該プログラムを起動しないようにする。
【0007】
さらに、最近ではネットワークを介してのアクティベーションによるプロテクトが行なわれている。これは、例えばソフトウェアのインストール後の最初の起動時に、ネットワークを介してサーバに接続し、そのサーバからキーを受け取ることによりソフトウェアが動作可能となるものである。アクティベーションには複数種類がある。1つは、サーバが、インストールされたマシンに依存しない所定のキーを送信するものである。この場合、インストールしたマシンのソフトウェアをそのキーとともに他のマシンにコピーすれば、他のマシンでも実行可能となる。一方、サーバは、インストールされたマシンから該マシンに固有の情報を受け取り、該情報に対応したキーを送信し、そのキーとともに他のマシンにコピーしても、他のマシンでは実行不能になるようにしたものがある。
【0008】
【発明が解決しようとする課題】
上述したように、プロテクトされたCDでは、該CDをドングルの代わりに使用してプログラムの実行をプロテクトすることができる。しかし、そのために常時CDをドライブに挿入しておくのは不都合が多い。
【0009】
上述のアクティベーションは手軽ではないが、ソフトウェアのプロテクトの面から見ると一番優れている。しかし、サーバからキーを受け取るためにネットワークに接続しなければならない。ネットワークに接続できても、設定が不適切だったりネットワークの通信環境が悪かったりして、キーの受け取りに失敗する場合もある。
【0010】
さらに、ユーザ登録という面もあるので最初のアクティベーションは省略できないが、操作ミス、ハードの故障、あるいはバグによる暴走等の理由により、キーが失われてしまった場合に、ユーザに再びアクティベーションを要求するのは避けたい。
【0011】
この発明は、上述の従来技術における問題点に鑑み、プロテクトされたCD等によるプロテクトで常時CD等をドライブに挿入しておかなければならないという不都合をなくし、またアクティべーションによるプロテクトでは手軽でないという不都合をなくし、適正に使用している限りは手軽にインストールおよび実行ができ、その一方で違法なインストールやコピーは排除することができる技術を提供することを目的とする。
【0012】
【課題を解決するための手段】
この目的を達成するため、この発明は、プロテクトされたメディアを使用したインストール時に、レジストリや所定のファイル等に機器固有のキー情報を記録し、プログラムの起動時に該キーを確認することにより、プログラムの実行をプロテクトすることを特徴とする。
【0013】
また何らかの理由でキー情報が失われた場合には、インストールに使用したメディア(プロテクトされている)を確認してキーを再発行することができるようにする。なお、同メディアで、最初のキーを発行できるようにしてもよいし、発行できないようにしてもよい。
【0014】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態を説明する。
【0015】
図1は、この発明のプロテクト方法を適用したコンピュータシステムの概略構成を示す。ソフトウェアをインストールし実行するパーソナルコンピュータ100および所定のサーバー130がネットワーク120に接続されている。パーソナルコンピュータ100は、中央処理装置(CPU)101、リードオンリメモリ(ROM)102、ランダムアクセスメモリ(RAM)103、ハードディスク104、ドライブ装置105、タイマ107、ネットワークインターフェース108、MIDIインターフェース109、表示器110、キーボード&マウス111、および波形インターフェース112等を備える。これら各部は所定のバスラインで相互に接続されている。ドライブ装置105にはリムーバブルディスク106(CD−ROM、DVD等)が挿入される。
【0016】
パーソナルコンピュータ100は、基本ソフトとして所定のオペレーティングシステムがインストールされ、さらに各種のソフトウェアをインストールすることにより、該オペレーティングシステム上でインストールしたソフトウェアを実行することができる汎用のパソコン等である。ソフトウェアのインストールは、ソフトウェアを記録したリムーバブルディスク106をドライブ装置105に挿入し、所定のインストールプログラム(例えば当該リムーバブルディスク106に記録されているもの)を実行することにより行なう。インストールされたプログラムはハードディスク104に格納され、所定の操作により当該プログラムを起動して実行することができる。インストールに使用するリムーバブルディスク106は、ここではコピープロテクトされたCDとして説明するが、コピープロテクトされた他のメディアでもよい。該CDないし該メディアに対しては、所定のチェックルーチンを用いてそれが正規のCDであるか否かをチェックできるものとする。
【0017】
図2は、ソフトウェアをインストールする際のセットアップルーチンの手順を示す。ステップ201で初期設定を行ない、ステップ202で正規のCDであるか否かを判定する。ステップ203で正規のCDでないときは、ステップ204で表示器110に正規のCDでない旨をメッセージ表示し、処理を終了する。正規のCDであるときは、ステップ205でインストールに関する各種設定をユーザに確認させ、ステップ206で該CDから読み出したプログラム等をハードディスク104にインストールする。具体的には、プログラムを構成する実行ファイル、サブルーチンファイル、設定ファイル等の各種ファイルを、それぞれインストール先として指定されたフォルダ、オペレーティングシステムの所定のサブルーチンフォルダ等にコピーするとともに、必要に応じて、オペレーティングシステムのレジストリ(管理データベース)への登録、ショートカットの作成、各種の初期設定等を実行する。さらにステップ207で、当該PC100のハードウェアに基づく固有情報を取得し、該固有情報からキー情報を生成(例えば所定の演算式等を用いる)する。ステップ208で、該キー情報を含む各種情報をオペレーティングシステムのレジストリの所定領域に設定し、処理を終了する。なお、キー情報を記憶する記憶領域は、該レジストリの所定領域ではなく、前記インストール先のフォルダ外の他の記憶領域(前記サブルーチンフォルダに記憶された当該プログラムのサブルーチンファイルや設定ファイル等の中の一部領域)としてもよい。
【0018】
図3は、以上のようにしてインストールしたソフトウェアの起動指示がなされたときの手順を示す。なお、図中に点線で記載した部分は次に説明する第2の実施の形態に適用する部分であり、ここでは該点線部分がないものとして説明する。
【0019】
ステップ301で初期設定を行ない、ステップ302でキー情報(レジストリに設定されているもの)とハードウェアの固有情報とを取得する。次にステップ304で、固有情報とキー情報とが対応するものであるか否か判定する。この判定は、取得した固有情報から生成したキー情報が、上記レジストリに設定されているキー情報に一致するか否かをチェックすることで行なう。固有情報とキー情報とが対応するものであれば、適正にインストールされたマシンでの起動指示であったと見なし、ステップ305で当該ソフトウェアの本体を起動する。これにより、正規のCDでインストールした場合は、該CDが挿入されていなくても正常に起動できることになる。
【0020】
ステップ304で固有情報とキー情報とが対応しないときは、ステップ311で正規のCDが挿入されているか否か確認し、ステップ312で挿入されていれば、ステップ315で前記固有情報からキー情報を生成し、ステップ316でOSのレジストリに該キー情報を設定して、ステップ305に進む。正規のCDが挿入されていない場合は、ステップ312からステップ313に進み、処理を中止するかどうかを確認させた後、ステップ314で正規のCDを要求し、ステップ311に戻る。
【0021】
以上の処理により、マシンの固有情報とキー情報とを適正かどうか確認することにより違法なコピーがなされたマシンでの実行が排除できる。インストールしたソフトウェアを別のマシンにコピーすると、マシンの固有情報が異なるので、固有情報とキー情報とが対応しなくなるからである。
【0022】
次に第2の実施の形態について説明する。第2の実施の形態では、上述した第1の実施の形態の図3の処理において、ステップ303,321〜324を追加する。また、図2でステップ207,208の処理は行なわないものとする。その他は上記第1の実施の形態と同じである。
【0023】
追加した処理では、まずステップ303で最初の起動か否か判定する。最初の起動であるときは、ステップ321でユーザにシリアル番号を含む個人情報の入力を要求し、ステップ322で前記固有情報とユーザにより入力された個人情報をサーバ130に送信する。サーバ130は該固有情報と個人情報に基づいてこの起動が適正なものか否かを判定し、適正なものであればサーバ内のデータベースに個人情報と固有情報の登録(ユーザ登録)を行なうとともに許可情報を送信し、適正なものでなければ拒否情報を送信する。この場合の判断は、従来のアクティべーションと同様であり、該シリアル番号での最初の登録か否か、機器情報は適切か否か等の判断である。ステップ323では、このようにして送信された許可情報ないし拒否情報を受信する。ステップ324で許可情報であるときはステップ315に進む。許可情報でないときは、再びステップ321に戻る。
【0024】
以上の処理により、最初に起動された場合のみステップ321〜324でアクティベーションによるチェックを行ない、2回目以降の起動ではステップ303から304に進み、適正にインストールされておりアクティベーションで許可済みであれば、正規のCDが挿入されていなくても正常に起動できる。また、操作ミス、ハードの故障、あるいはバグによる暴走等の理由によりキー情報が壊れたり失われてしまった場合、最初の起動ではないのでステップ303から304に進み、正規のCDさえあればサーバ130に接続することなく、該正規のCDからキー情報を生成して正常に起動できる。
【0025】
また、アクティベーションが済み正常にキー情報が生成されたソフトウェアを他のマシンにコピーした場合は、そのコピー先のマシンで起動されたとき、最初の起動ではないのでステップ303から304に進み、マシンの固有情報とキー情報が対応しないのでステップ304から311に進み、正規のCDがなければソフトウェアの本体は起動できないことになる。さらに、アクティベーションを行なう前の1回も起動していない状態のソフトウェアを他のマシンにコピーした場合は、そのコピー先のマシンで起動されたとき、最初の起動なのでステップ321〜324のアクティベーションのチェックが実行される。一方、コピー元のマシンでも最初の起動時にはアクティベーションのチェックが実行されるので、該ソフトウェアのシリアル番号などのチェックを行なうようにすれば(すなわち、ステップ321で該ソフトウェアを特定できる情報を入力させサーバ側で管理する)、先にアクティベーションのチェックを実行したマシンにのみ許可を出すようにできる。
【0026】
なお、最初の起動か否かの判定は、例えば、前記ステップ305を実行するときに、前記インストール先フォルダ内の所定の記憶領域(例えば、当該プログラムの実行ファイル、サブルーチンファイル、設定ファイルなどのファイル中の一部領域)に実行したことを示す起動済み情報を記憶しておき、実行したことがあるか否かをその起動済み情報に基づいて判断すればよい。或いは、前記ステップ324で「許可情報である」と判断された場合に、該起動済み情報を記憶するようにしてもよい。
【0027】
この場合、1回起動された後の状態で別のコンピュータシステムにコピーされると、そのコピーされたプログラムには当該起動済み情報が残っているので、そのコピーされたプログラムを起動されたときには、ステップ303で最初の起動でないと判断される。しかしながら、続くステップ304において、該別のコンピュータシステムのレジストリにはキー情報が記憶されていないのでキー情報が対応しないと判断され、正規のCDが要求される。すなわち、他のコンピュータシステムにコピーされたプログラムは、正規のCDを所持しているユーザのみが実行可能となる。
【0028】
なお、本発明のプロテクトをアプリケーションではなく、アプリケーションから利用されるプラグインや、ゲームや描画用のサブルーチン、デバイスを制御するドライバなどのソフトウェアに対して適用するようにしてもよい。特にプラグインのソフトウェアは、アプリケーションの用意する所定のフォルダに配置すべき1つ乃至数個のファイルだけで実現されている場合が多く、他のPCへのコピーが極めて容易であるので、本発明はプラグインソフトウェアのプロテクトに非常に有用である。
【0029】
また、第2の実施の形態では、最初の起動時にアクティベーションを行なうようになっていたが、その代わりに、最初の起動時に当該コンピュータ内で最初のキー情報を発生するようにしてもよい。すなわち、ステップ321の個人情報の入力を要求した後、入力された個人情報中のシリアル番号が適正であるか否か判断して、適正であればステップ311以降の処理を実行し、適正でなければ処理を即時に中止するようにしてもよい。
【0030】
【発明の効果】
以上説明したように、この発明によれば、正規のメディアの場合のみ、インストール先のコンピュータに固有のキー情報を発行することができる。この際、アクティベーションのために外部のサーバに接続しなくてもよい。また、インストールされたプログラムを他のコンピュータにコピーして実行しようとした場合、インストールに使用したメディアを要求することにより、該プログラムのネットワーク上での配布等を防止することができる。
【0031】
また、最初の起動時にアクティベーションを行ない、該アクティベーションで得たキー情報が失われた場合でも、インストール時に使用したメディアによりキーが再発行できるので、いちいちサーバに接続する必要が無い。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るコンピュータシステムの概略構成図
【図2】セットアップルーチンの手順を示すフローチャート図
【図3】プログラム起動ルーチンの手順を示すフローチャート図
【符号の説明】
100…パーソナルコンピュータ、120…ネットワーク、130…サーバー、101…中央処理装置(CPU)、102…リードオンリメモリ(ROM)、103…ランダムアクセスメモリ(RAM)、104…ハードディスク、105…ドライブ装置、107…タイマ、108…ネットワークインターフェース、109…MIDIインターフェース、110…表示器、111…キーボード&マウス、112…波形インターフェース。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technology for protecting software so that only a user having appropriate authority can install and use the software.
[0002]
[Prior art]
Conventionally, the following are known as software protection techniques.
[0003]
First, there is known software which can use a regular function by inputting a predetermined serial number. For example, there is a device that requires a serial number to be input at the time of installation and prevents installation if the serial number is not proper. In such a case, as long as the serial number is obtained, the legitimate function can be used on any number of computers, so that a further protection using a dongle has been considered for further protection. Dongles are hardware keys used to prevent piracy of software. It is known that a software checks whether a dongle is connected to a parallel port, a USB port, or the like, and operates the software normally only when a proper dongle is connected.
[0004]
Also, there is known a storage medium that is protected from being illegally copied or used. For example, as a method for protecting a CD, there is a technique of incorporating a unique ring that can be visually confirmed on a recording surface of a CD-ROM at the time of a pressing process, and implementing protection by the ring and a protection check routine. Further, the DVD is provided with a protection mechanism from the beginning.
[0005]
Here, the protected CD is used as follows. First, it is impossible to copy a CD using ordinary CD-R writing software and a CD-R drive. This is because a special ring is incorporated in the recording surface. The recorded programs and data themselves can be freely copied, but a subroutine for confirming the original CD is supplied, which can be protected.
[0006]
For example, in order to protect at the time of installation, when the installer stored in the CD is activated, it is checked whether or not the CD is the original CD by using the above protection check routine. Do not run. For example, when protecting a program at the time of execution, when an instruction to start the program installed on the hard disk is issued, the protection check routine is used to detect whether or not the original CD is inserted in the CD drive, and to detect whether or not the original CD is inserted. If not, do not start the program.
[0007]
Furthermore, protection by activation via a network has recently been performed. This is, for example, when the software is first started after installation of the software, the software is operable by connecting to a server via a network and receiving a key from the server. There are several types of activation. One is that the server sends a predetermined key independent of the machine on which it is installed. In this case, if the software of the installed machine is copied along with the key to another machine, the software can be executed on another machine. On the other hand, the server receives information specific to the machine from the installed machine, transmits a key corresponding to the information, and copies it to another machine together with the key so that it cannot be executed on the other machine. There is something that I did.
[0008]
[Problems to be solved by the invention]
As described above, in a protected CD, the execution of the program can be protected by using the CD instead of the dongle. However, it is often inconvenient to always insert a CD into the drive.
[0009]
The above activation is not easy, but it is the best in terms of software protection. However, you must connect to the network to receive the key from the server. Even if a connection to the network can be established, key reception may fail due to improper settings or a poor communication environment of the network.
[0010]
In addition, the first activation cannot be omitted because of the user registration.However, if the key is lost due to an operation error, hardware failure, or runaway due to a bug, the user will be reactivated. I want to avoid demanding.
[0011]
In view of the above-mentioned problems in the prior art, the present invention eliminates the inconvenience that a CD or the like must always be inserted into a drive with protection by a protected CD or the like, and that it is not easy to protect by activation. It is an object of the present invention to provide a technology that eliminates inconvenience and can be easily installed and executed as long as it is properly used, while eliminating illegal installation and copying.
[0012]
[Means for Solving the Problems]
In order to achieve this object, the present invention provides a program which records device-specific key information in a registry or a predetermined file at the time of installation using a protected medium and confirms the key at the time of starting the program. Is protected.
[0013]
If the key information is lost for some reason, the media (protected) used for the installation is confirmed and the key can be reissued. Note that the first key may be issued or the key may not be issued on the same medium.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0015]
FIG. 1 shows a schematic configuration of a computer system to which the protection method of the present invention is applied. A personal computer 100 for installing and executing software and a predetermined server 130 are connected to a network 120. The personal computer 100 includes a central processing unit (CPU) 101, a read-only memory (ROM) 102, a random access memory (RAM) 103, a hard disk 104, a drive device 105, a timer 107, a network interface 108, a MIDI interface 109, and a display 110. , A keyboard & mouse 111, a waveform interface 112, and the like. These components are interconnected by a predetermined bus line. A removable disk 106 (CD-ROM, DVD, etc.) is inserted into the drive device 105.
[0016]
The personal computer 100 is a general-purpose personal computer or the like that can execute the installed software on the operating system by installing a predetermined operating system as basic software and installing various software. The software is installed by inserting the removable disk 106 storing the software into the drive device 105 and executing a predetermined installation program (for example, the one recorded on the removable disk 106). The installed program is stored in the hard disk 104, and the program can be started and executed by a predetermined operation. The removable disk 106 used for installation is described here as a copy-protected CD, but may be another copy-protected medium. For the CD or the medium, it can be checked whether or not it is a legitimate CD using a predetermined check routine.
[0017]
FIG. 2 shows a procedure of a setup routine when software is installed. In step 201, initial settings are made, and in step 202, it is determined whether or not the disc is a regular CD. If it is not a legitimate CD in step 203, a message indicating that it is not a legitimate CD is displayed on the display 110 in step 204, and the process is terminated. If the CD is a legitimate CD, the user is prompted to confirm various settings relating to the installation in step 205, and the program read from the CD is installed in the hard disk 104 in step 206. More specifically, various files such as an execution file, a subroutine file, and a setting file constituting the program are copied to a folder designated as an installation destination, a predetermined subroutine folder of an operating system, and the like, and, if necessary, It performs registration in the registry (management database) of the operating system, creation of shortcuts, various initial settings, and the like. Further, in step 207, unique information based on the hardware of the PC 100 is acquired, and key information is generated from the unique information (for example, a predetermined arithmetic expression is used). In step 208, various information including the key information is set in a predetermined area of the registry of the operating system, and the process ends. The storage area for storing the key information is not a predetermined area of the registry but another storage area outside the installation destination folder (for example, a subroutine file of the program stored in the subroutine folder, a setting file, etc.). Partial area).
[0018]
FIG. 3 shows a procedure when an instruction to start the software installed as described above is issued. Note that portions indicated by dotted lines in the drawing are portions applied to the second embodiment described below, and here, the description will be made assuming that there is no such dotted line portion.
[0019]
In step 301, initial settings are made. In step 302, key information (set in the registry) and hardware specific information are obtained. Next, in step 304, it is determined whether or not the unique information and the key information correspond to each other. This determination is made by checking whether the key information generated from the acquired unique information matches the key information set in the registry. If the unique information and the key information correspond to each other, it is assumed that the instruction is a start instruction on a properly installed machine, and the main body of the software is activated in step 305. As a result, when the software is installed on a regular CD, it can be normally started even if the CD is not inserted.
[0020]
If there is no correspondence between the unique information and the key information in step 304, it is checked in step 311 whether a regular CD is inserted. If it is inserted in step 312, the key information is extracted from the unique information in step 315. In step 316, the key information is set in the registry of the OS, and the flow advances to step 305. If a regular CD has not been inserted, the process proceeds from step 312 to step 313, in which it is confirmed whether or not to cancel the process. After that, a regular CD is requested in step 314, and the process returns to step 311.
[0021]
By performing the above processing, it is possible to eliminate execution on a machine on which an illegal copy has been made by checking whether the unique information and the key information of the machine are appropriate. This is because when the installed software is copied to another machine, the unique information of the machine is different, and the unique information and the key information do not correspond to each other.
[0022]
Next, a second embodiment will be described. In the second embodiment, steps 303, 321 to 324 are added to the process of FIG. 3 of the above-described first embodiment. In addition, it is assumed that the processing of steps 207 and 208 is not performed in FIG. Others are the same as the first embodiment.
[0023]
In the added processing, first, in step 303, it is determined whether or not it is the first activation. If it is the first activation, in step 321 the user is requested to input personal information including the serial number, and in step 322 the personal information and the personal information input by the user are transmitted to the server 130. The server 130 determines whether or not the activation is proper based on the unique information and the personal information. If the activation is proper, the server 130 registers the personal information and the unique information in a database in the server (user registration) and The permission information is transmitted, and if it is not appropriate, the reject information is transmitted. The determination in this case is the same as in the conventional activation, and is a determination as to whether or not the registration is the first with the serial number and whether or not the device information is appropriate. At step 323, the permission information or the rejection information transmitted in this manner is received. If it is the permission information in step 324, the process proceeds to step 315. If it is not the permission information, the process returns to step 321 again.
[0024]
With the above processing, the activation check is performed in steps 321 to 324 only when the program is first activated, and in the second and subsequent activations, the processing proceeds to steps 303 to 304, and if the software has been properly installed and the activation has been permitted. In this case, normal startup can be performed even if a regular CD is not inserted. If the key information is broken or lost due to an operation error, a hardware failure, or a runaway due to a bug, etc., the process is not the first boot, so the process proceeds from step 303 to step 304. Without connecting to the regular CD, key information can be generated from the regular CD and normal startup can be performed.
[0025]
If the software that has been activated and the key information is normally generated is copied to another machine, when the software is activated on the copy destination machine, it is not the first activation, so the process proceeds from step 303 to 304, and the Since the unique information and the key information do not correspond to each other, the process proceeds from step 304 to step 311. If there is no authorized CD, the software itself cannot be started. Furthermore, if the software that has not been activated even once before activation is copied to another machine, it will be the first activation when it is activated on the copy destination machine. Is performed. On the other hand, since the activation check is also performed at the first start-up of the copy source machine, if the serial number of the software is checked (that is, information for identifying the software is input in step 321). (Managed on the server side), so that only the machine that performed the activation check first can be given permission.
[0026]
The determination as to whether or not the program is to be started for the first time is made, for example, by executing a predetermined storage area (for example, a file such as an execution file of the program, a subroutine file, or a setting file) in the installation folder when executing the step 305. It is sufficient to store the activated information indicating the execution in the (partial area in the middle), and determine whether or not the execution has been performed based on the activated information. Alternatively, if it is determined in step 324 that the information is “permission information”, the activated information may be stored.
[0027]
In this case, if the program is copied to another computer system after being started once, the started information remains in the copied program. Therefore, when the copied program is started, In step 303, it is determined that this is not the first activation. However, in the subsequent step 304, since the key information is not stored in the registry of the other computer system, it is determined that the key information does not correspond, and a legitimate CD is requested. That is, a program copied to another computer system can be executed only by a user who has an authorized CD.
[0028]
Note that the protection of the present invention may be applied not to an application but to software such as a plug-in used by the application, a game or a drawing subroutine, or a driver for controlling a device. In particular, plug-in software is often realized with only one or several files to be placed in a predetermined folder prepared by an application, and is extremely easy to copy to another PC. Is very useful for protecting plug-in software.
[0029]
Further, in the second embodiment, the activation is performed at the time of the first activation, but instead, the first key information may be generated in the computer at the time of the first activation. That is, after requesting the input of the personal information in step 321, it is determined whether or not the serial number in the input personal information is appropriate. If the serial number is appropriate, the processing after step 311 is executed. For example, the processing may be immediately stopped.
[0030]
【The invention's effect】
As described above, according to the present invention, key information unique to the installation destination computer can be issued only in the case of regular media. At this time, it is not necessary to connect to an external server for activation. When the installed program is copied to another computer and executed, the distribution of the program over a network can be prevented by requesting the medium used for the installation.
[0031]
Further, even if the activation is performed at the time of the first activation and the key information obtained by the activation is lost, the key can be reissued by the medium used at the time of installation, so that it is not necessary to connect to the server each time.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of a computer system according to an embodiment of the present invention. FIG. 2 is a flowchart showing a procedure of a setup routine. FIG. 3 is a flowchart showing a procedure of a program starting routine.
100 personal computer, 120 network, 130 server, 101 central processing unit (CPU), 102 read-only memory (ROM), 103 random access memory (RAM), 104 hard disk, 105 drive device, 107 ... Timer, 108 ... Network interface, 109 ... MIDI interface, 110 ... Display, 111 ... Keyboard & mouse, 112 ... Waveform interface.

Claims (3)

プロテクトされたメディアに記憶されたインストールプログラムを実行することにより、コンピュータにソフトウェアをインストールする方法であって、
前記コンピュータのハードウェアの少なくとも一部に基づいて、コンピュータ毎に異なる固有情報を生成するステップと、
インストールに先立って、前記インストールプログラムを記憶するプロテクトされたメディアの存在を確認するステップと、
前記メディアの存在が確認できた場合には、前記ソフトウェアのインストールを実行するとともに、前記固有情報に基づくキー情報を生成して、前記コンピュータの所定の不揮発性記憶手段に記憶するステップと、
前記メディアの存在が確認できなかった場合には、前記ソフトウェアのインストールを実行しないように制御するステップと
を備えることを特徴とするソフトウェアのインストール方法。
A method of installing software on a computer by executing an installation program stored on protected media,
Generating unique information that is different for each computer based on at least a part of hardware of the computer;
Prior to installation, verifying the presence of protected media storing the installation program;
If the presence of the medium is confirmed, execute the software installation, generate key information based on the unique information, and store the key information in a predetermined nonvolatile storage unit of the computer;
Controlling the software installation not to be executed if the presence of the medium cannot be confirmed.
コンピュータにインストールされたソフトウェアの実行をプロテクトする方法であって、
前記コンピュータのハードウェアの少なくとも一部に基づいて、コンピュータ毎に異なる固有情報を生成するステップと、
前記インストールされたソフトウェアの起動指示に応じて、前記コンピュータの所定の不揮発性記憶手段に、前記固有情報に対応したキー情報が保存されているか否かを判断するステップと、
保存されていると判断された場合は、前記ソフトウェアを起動するステップと、
保存されていないと判断された場合は、ユーザに対し前記ソフトウェアのインストールに使用したプロテクトされたメディアを要求し、該メディアの存在を確認するステップと、
該メディアが確認できた場合は、前記固有情報に基づく新たなキー情報を生成して、前記コンピュータの所定の不揮発性記憶手段に記憶するステップと
を備えたことを特徴とするソフトウェアのプロテクト方法。
A method of protecting the execution of software installed on a computer,
Generating unique information that is different for each computer based on at least a part of hardware of the computer;
A step of determining whether or not key information corresponding to the unique information is stored in a predetermined nonvolatile storage unit of the computer in response to a start instruction of the installed software;
Activating the software if it is determined to be stored;
If it is determined that the media has not been stored, requesting the user for the protected media used to install the software, and confirming the presence of the media,
Generating a new key information based on the unique information and storing the new key information in a predetermined non-volatile storage means of the computer if the medium is confirmed.
コンピュータにインストールされたソフトウェアの実行をプロテクトする方法であって、
前記コンピュータのハードウェアの少なくとも一部に基づいて、コンピュータ毎に異なる固有情報を生成するステップと、
前記インストールされたソフトウェアの最初の起動を検出するステップと、
最初の起動のときには、所定のサーバに接続し、該サーバにユーザの個人情報および前記固有情報を送信し、それらの情報からサーバにて判断された前記ソフトウェアの使用に係る許可情報または拒否情報を受信するステップと、
許可情報を受信した場合は、前記固有情報に基づくキー情報を生成して、前記コンピュータの所定の不揮発性記憶手段に記憶するステップと、
最初の起動でないときには、前記コンピュータの所定の不揮発性記憶手段に、前記固有情報に対応したキー情報が保存されているか否かを判断するステップと、
保存されていると判断された場合は、前記ソフトウェアを起動するステップと、
保存されていないと判断された場合は、ユーザに対し前記ソフトウェアのインストールに使用したプロテクトされたメディアを要求し、該メディアの存在を確認するステップと、
該メディアが確認できた場合は、前記固有情報に基づく新たなキー情報を生成して、前記コンピュータの所定の不揮発性記憶手段に記憶するステップと
を備えたことを特徴とするソフトウェアのプロテクト方法。
A method of protecting the execution of software installed on a computer,
Generating unique information that is different for each computer based on at least a part of hardware of the computer;
Detecting the first launch of the installed software;
At the time of the first activation, it connects to a predetermined server, transmits the user's personal information and the unique information to the server, and from the information, obtains permission information or rejection information relating to use of the software determined by the server. Receiving,
When receiving the permission information, generating key information based on the unique information and storing the key information in a predetermined nonvolatile storage unit of the computer;
When not starting for the first time, determining whether or not key information corresponding to the unique information is stored in predetermined nonvolatile storage means of the computer;
Activating the software if it is determined to be stored;
If it is determined that the media has not been stored, requesting the user for the protected media used to install the software, and confirming the presence of the media,
Generating a new key information based on the unique information and storing the new key information in a predetermined non-volatile storage means of the computer if the medium is confirmed.
JP2003085655A 2003-03-26 2003-03-26 Software installation program and pre-boot processing program Expired - Fee Related JP4107125B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003085655A JP4107125B2 (en) 2003-03-26 2003-03-26 Software installation program and pre-boot processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003085655A JP4107125B2 (en) 2003-03-26 2003-03-26 Software installation program and pre-boot processing program

Publications (2)

Publication Number Publication Date
JP2004295388A true JP2004295388A (en) 2004-10-21
JP4107125B2 JP4107125B2 (en) 2008-06-25

Family

ID=33400528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003085655A Expired - Fee Related JP4107125B2 (en) 2003-03-26 2003-03-26 Software installation program and pre-boot processing program

Country Status (1)

Country Link
JP (1) JP4107125B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006109640A1 (en) * 2005-04-06 2006-10-19 Heartland Co., Ltd. Content distribution server and content distribution system using the same
JP2007058778A (en) * 2005-08-26 2007-03-08 Toshiba Corp Information processor, and control method for information processor
WO2007032535A1 (en) * 2005-09-13 2007-03-22 Canon Kabushiki Kaisha License authentication device and license authentication method
JP2007199978A (en) * 2006-01-26 2007-08-09 Kyocera Corp Information processor, portable terminal equipment, and information processing execution control method
US20090268907A1 (en) * 2008-04-23 2009-10-29 Chun-Wei Chang Optical Media Recording Device for Protecting Device Keys and Related Method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006109640A1 (en) * 2005-04-06 2006-10-19 Heartland Co., Ltd. Content distribution server and content distribution system using the same
JP2006295274A (en) * 2005-04-06 2006-10-26 Heartland:Kk Content distribution server and content distribution system provided with the same
US7874014B2 (en) 2005-04-06 2011-01-18 Heartland Co., Ltd. Content distribution server and content distribution system using the same
JP2007058778A (en) * 2005-08-26 2007-03-08 Toshiba Corp Information processor, and control method for information processor
WO2007032535A1 (en) * 2005-09-13 2007-03-22 Canon Kabushiki Kaisha License authentication device and license authentication method
JP2007199978A (en) * 2006-01-26 2007-08-09 Kyocera Corp Information processor, portable terminal equipment, and information processing execution control method
US20090268907A1 (en) * 2008-04-23 2009-10-29 Chun-Wei Chang Optical Media Recording Device for Protecting Device Keys and Related Method
US8839002B2 (en) * 2008-04-23 2014-09-16 Cyberlink Corp. Optical media recording device for protecting device keys and related method

Also Published As

Publication number Publication date
JP4107125B2 (en) 2008-06-25

Similar Documents

Publication Publication Date Title
US6006190A (en) Computer implemented method and a computer system for enforcing software licenses
US7712131B1 (en) Method and apparatus for storage and use of diagnostic software using removeable secure solid-state memory
EP1443381B1 (en) System and method for secure software activation with volume licenses
JP4007873B2 (en) Data protection program and data protection method
US6226747B1 (en) Method for preventing software piracy during installation from a read only storage medium
EP1084549B1 (en) Method of controlling usage of software components
US7236958B2 (en) Electronic software license with software product installer identifier
JP4652701B2 (en) Compact hardware identification for linking software packages to computer systems with hardware change tolerance
US20020116632A1 (en) Tamper-resistant computer system
US20020010863A1 (en) Method for protecting software
WO1996034334A1 (en) Device for executing enciphered program
JP2003330560A (en) Method and medium for software application protection using digital rights management (drm) system
JP2001216357A (en) Software license managing method, electronic equipment, and recording medium
JPWO2006004130A1 (en) Data management method, program thereof, and program recording medium
US7363507B2 (en) Device and method of preventing pirated copies of computer programs
NO311197B1 (en) Security system against illegal use or copying of electronic data
KR970012147A (en) Personal computer with security device, security method thereof and installation and removal method of security device
JP2008192126A (en) Information processor and program
JPH07325712A (en) Illicit copy preventing device for program
US20090271875A1 (en) Upgrade Module, Application Program, Server, and Upgrade Module Distribution System
JP4107125B2 (en) Software installation program and pre-boot processing program
JP2005222409A (en) Operating system, license management server, license management method, license management program, and recording medium
JP3834241B2 (en) Software recording unit separation type information processing apparatus and software management method
JP2011138514A (en) Method and device for detecting if computer file has been copied, and method and device for enabling the detection
TW502205B (en) A method of securely storing back-up or recovery files on a hard disk of a computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070806

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070813

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080324

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

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120411

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140411

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees