JPH0926875A - ソフトウェア不正使用防止機能を備えた記憶媒体、コンピュータ及びコンピュータシステム - Google Patents

ソフトウェア不正使用防止機能を備えた記憶媒体、コンピュータ及びコンピュータシステム

Info

Publication number
JPH0926875A
JPH0926875A JP7173825A JP17382595A JPH0926875A JP H0926875 A JPH0926875 A JP H0926875A JP 7173825 A JP7173825 A JP 7173825A JP 17382595 A JP17382595 A JP 17382595A JP H0926875 A JPH0926875 A JP H0926875A
Authority
JP
Japan
Prior art keywords
file
storage medium
password
installer
execution
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
JP7173825A
Other languages
English (en)
Other versions
JP3930576B2 (ja
Inventor
Jun Igarashi
純 五十嵐
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP17382595A priority Critical patent/JP3930576B2/ja
Publication of JPH0926875A publication Critical patent/JPH0926875A/ja
Application granted granted Critical
Publication of JP3930576B2 publication Critical patent/JP3930576B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【目的】簡単な構成又は手続きで不正使用を防止する。 【構成】記憶媒体上のインストーラは、ユーザコンピュ
ータのマシン識別コードMIDを読み取り(40)、イ
ンストーラにパスワードPWが設定されているかどうか
を判定する(41)。パスワードPWがインストーラに
設定されていない場合には、マシン識別コードMIDを
含むユーザ登録情報をベンダーコンピュータに送信し
(42)、ベンダーコンピュータからパスワードPWを
受信し(43)、記憶媒体に記憶されたインストーラ
を、パスワードPWが設定されたインストーラに更新し
(44)、インストールを実行する(45)。パスワー
ドPWがインストーラに設定されている場合には、A=
PW−MIDを求め(46)、A=SAのときのみ(4
7)、インストールを実行する(45)。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソフトウェア不正使用
防止機能を備えた記憶媒体、この記憶媒体を用いたコン
ピュータ及びコンピュータシステムに関する。
【0002】
【従来の技術】ソフトウェアの不正使用は、ソフトウェ
ア会社の存立に関わるので、各種の不正使用防止方法が
提案されている。第1の方法(特開平5−204945
号公報)では、ソフトウェアの製品版を暗号化し、暗号
化していない試用版と共にCDROMに記録し、これを
無料配布しておき、試用版を実行して気に入ったら、ソ
フトウェア販売会社のベンダーコンピュータにユーザコ
ンピュータを電話回線で接続して注文し、パスワードを
受信し、暗号化ソフトウェアを複号して通常のコードに
戻す。
【0003】詳説すれば、ユーザは、マシン識別コード
メモリ及び暗号解読ICを備えたCDROM駆動装置及
びCDROM用システムプログラムが記録されたフロッ
ピーディスクを購入した後、ユーザ登録葉書にユーザ情
報を記入してソフトウェア販売会社に送付し、ソフトウ
ェア販売会社は、このユーザ情報をベンダーコンピュー
タに登録し、ユーザへCDROMを無料配布する。
【0004】ユーザは、これらフロッピーディスク及び
CDROMをユーザコンピュータに装着し、フロッピー
ディスク内のCDROM用システムプログラムを起動
し、処理メニューの中の購入手続き処理を実行させ、ソ
フトウェア注文情報をキーボードから入力する。ユーザ
コンピュータは、これに応答して、電話回線を介しソフ
トウェア販売会社のベンダーコンピュータに接続し、マ
シン識別コードを含むソフトウェア注文情報を送信す
る。
【0005】ベンダーコンピュータは、このソフトウェ
ア注文情報に基づいて、販売許否判定を行い、販売を許
可すると、注文したソフトウェアに対応したパスワード
を、電話回線を介しユーザコンピュータへ送信する。ユ
ーザコンピュータは、このパスワードとマシン識別コー
ドとを合成して照合用パスワードを生成し、これをCD
ROM駆動装置内の照合用登録パスワードと比較し、両
者が一致すれば、CDROM駆動装置内の暗号解読IC
により、CDROM内の暗号化されたソフトウェアを複
号して通常のコードに変換し、ソフトウェアを利用可能
にする。
【0006】このような第1方法では、暗号化されたソ
フトウェアの不正使用を防止できるが、通常のコードに
変換され後のソフトウェアをコピーして不正使用するの
を防止できない。そこで、第2の方法(特開平5−33
4072号公報)では、実行形式のソフトウェアモジュ
ールに、例外処理命令及び製品番号を含む資格検証トリ
ガを挿入しておく。ソフトウェア販売会社は、ユーザー
からのソフトウェア注文に応じ、ユーザのマシン識別コ
ード及びソフトウェア製品番号に基づいて、暗号化され
た資格付与キーを生成し、これをユーザに与える。ユー
ザは、注文したソフトウェアの実行前に、資格付与キー
をユーザコンピュータに入力しておく。注文したソフト
ウェアを実行し、資格検証トリガに出会うと、例外処理
ルーチンが実行される。すなわち、ユーザコンピュータ
のマシン識別コードが読み取られ、マシン識別コードに
基づいて資格付与キーが解読され、解読された資格付与
キー中の製品番号が、資格検証トリガ中の製品番号と比
較され、両者が一致すれば資格検証トリガの次の命令を
実行し、不一致であれば処理を終了する。
【0007】
【発明が解決しようとする課題】上記第1の方法では、
最初、異なるソフトウェア販売会社毎に、ユーザ登録葉
書にユーザ情報を記入してソフトウェア販売会社に送付
し、このユーザ情報をベンダーコンピュータに予め登録
しておかなければならならず、また、所望のソフトウェ
ア以外に、注文用ソフトウェアが必要になる。さらに、
特別な暗号解読ICが必要となるので、コスト高にな
る。
【0008】また、第2の方法では、各種条件下で実行
の際に必ず資格検証トリガに出会うように、ソフトウェ
アモジュールに多数の資格検証トリガを挿入しなければ
ならない。使用条件によっては、資格検証トリガに出会
わない場合が生じ、不正使用が可能になる。必ず資格検
証トリガに出会うようにするには、ソフトウェアモジュ
ール毎に、資格検証トリガ挿入位置を決定する必要があ
るので、煩雑である。
【0009】本発明の目的は、上記問題点に鑑み、簡単
な構成又は手続きで不正使用を防止することが可能な、
ソフトウェア不正使用防止機能を備えた記憶媒体、コン
ピュータ及びコンピュータシステムを提供することにあ
る。
【0010】
【課題を解決するための手段及びその作用効果】第1発
明では、目的とするソフトウェアをインストールするイ
ンストーラが記憶された記憶媒体において、該インスト
ーラは、例えば図1に示す如く、ユーザコンピュータの
マシン識別コードMIDを読み取り(40)、インスト
ーラにパスワードPWが設定されているかどうかを判定
し(41)、該パスワードPWが該インストーラに設定
されていない場合には、該マシン識別コードMIDを含
むユーザ登録情報をベンダーコンピュータに送信し(4
2)、該ベンダーコンピュータからパスワードPWを受
信し(43)、該記憶媒体に記憶されたインストーラ
を、該パスワードPWが設定されたインストーラに更新
し(44)、該パスワードPWが該インストーラに設定
されている場合には、該パスワードPWと該マシン識別
コードMIDとの間で所定演算を行ってその演算結果A
を取得し(46)、該演算結果Aが、該インストーラに
設定されている許可値SAに一致したときのみ(4
7)、該インストールを実行する(45)プログラムを
有する。
【0011】この第1発明によれば、インストーラ本体
に簡単な構成を付加することにより、マシン識別コード
の異なるユーザコンピュータでのインストールができな
くなるので、不正使用が防止され、かつ、インストーラ
と別個の注文用ソフトウェアが不要となり、さらに、初
回インストーラ実行の際に、通信によりユーザ登録及び
パスワードPWの送受が行われるので、ユーザ側及びベ
ンダー側の手間が省ける。
【0012】第1発明の第1態様では、上記インストー
ラは、該インストーラの上記更新後に、上記インストー
ルを実行する(45)プログラムを有する。この第1態
様によれば、初回インストーラの実行によりインストー
ラ本体も実行されてインストールが行われるため、ユー
ザ側の手間が省ける。第1発明の第2態様では、上記イ
ンストーラは、上記演算結果が上記許可値に一致しなか
ったときには、不正使用事実を上記ベンダーコンピュー
タに送信する(48)プログラムを有する。
【0013】この第2態様によれば、ベンダー側におい
て不正インストールを自動的に把握でき、不正インスト
ールに対する救済が容易になり、結果として不正インス
トール防止効果が高められる。第1発明の第3態様で
は、上記インストーラは、上記演算結果が上記許可値に
一致しなかったときには、インストール対象の記憶媒体
に無意味なファイルを生成して、該記憶媒体の空き領域
を、上記目的とするソフトウェアのインストールに必要
な領域以下にする(49)プログラムを有する。
【0014】この第3態様によれば、不正な再インスト
ールの試行が防止される。第2発明では、例えば図3に
示す如く、暗号化された第1ファイルM1Bを複号化し
て、実行ファイルである第2ファイルM1を生成し、該
第2ファイルM1をインストールするインストーラが記
憶された記憶媒体において、該第1ファイルM1Bに
は、所定領域に無意味なデータXが挿入されており、該
第1ファイルM1Bから該無意味なデータXを削除した
第3ファイルM1Aは、該第2ファイルM1の圧縮ファ
イルとなっており、該インストーラは、該第1ファイル
M1Bから該無意味なデータXを削除して第3ファイル
M1Aを生成し、該第3ファイルM1Aを解凍すること
により、該第2ファイルM1を生成するプログラムを有
する。
【0015】この第2発明によれば、新たな解凍ソフト
ウェアを開発することなく、汎用の解凍ソフトウェアを
使用し、これに、第1ファイルの所定領域から無意味な
データを削除するという簡単な構成を付加することによ
り、ソフトウェアの不正使用を効果的に防止できる安価
なインストーラを構成することができる。第3発明で
は、例えば図3に示す如く、暗号化された実行ファイル
M1Bが記憶された記憶媒体において、該実行ファイル
M1Bは、暗号化されていない実行ファイルM1を圧縮
し、該圧縮された実行ファイルM1Aの所定領域に無意
味なデータXを挿入したものである。
【0016】この第3発明によれば、汎用の圧縮ソフト
ウェアで実行ファイルを圧縮しても、汎用の解凍ソフト
ウェアで解凍できないので、簡単な構成で実行ファイル
の不正使用を防止できる。第3発明の第1態様では、上
記無意味なデータXは、上記圧縮された実行ファイルの
所定領域のデータに所定の演算、例えば定数加算を施し
たものに等しい。
【0017】この第1態様によれば、発見し難い無意味
なデータを容易に作成することができる。第4発明で
は、実行ファイルが記憶された記憶媒体において、該実
行ファイルには初回の実行であるかどうかを示す初回判
定値が格納され、かつ、該実行ファイルは未設定のパス
ワード設定領域を有し、該実行ファイルは、例えば図4
に示す如く、該初回判定値INITが初回の実行である
ことを示しているときには(61)、該初回判定値IN
ITを初回の実行でないことを示す値に書き換え(6
2)、該パスワード設定領域に、該実行ファイルの外部
から与えられるパスワードPWを設定し(63、6
4)、該初回判定値が初回の実行でないことを示してい
るときには、該実行ファイルの外部から与えられる、ユ
ーザコンピュータのマシン識別コードMID(66)
と、該パスワードPWとの間で所定演算を行って、その
演算結果Aを取得し(67)、該演算結果Aが許可値S
Aに一致したときのみ(68)該実行ファイルの該本体
部を実行する(65)プログラムを有する。
【0018】この第4発明によれば、インストールされ
た実行ファイルをコピーしても他のコンピュータで使用
できなくなり、また、初回判定値及びパスワードを実行
ファイル中の1箇所に配置すればよいので、従来のよう
に各種条件下で実行の際に必ず出会うようにロードモジ
ュールに多数の資格検証トリガを挿入する構成よりも簡
単である。
【0019】第4発明の第1態様では、上記実行ファイ
ルは、上記パスワード設定(64)後に上記本体部を実
行する(65)プログラムを有する。この第1態様によ
れば、実行ファイルの本体部を初回から実行することが
できる。第4発明の第2態様では、例えば図5に示す如
く、上記実行ファイルは、データ領域に目印コードが挿
入され、かつ、該目印コードを検索する検索プログラム
を有し、該実行ファイル上の、該目印コードSPを基準
とした所定相対位置に、上記初回判定値INITが格納
され且つ上記パスワード設定領域が配置されている。
【0020】この第2態様によれば、プログラマーはパ
スワード及び初回判定値を実行ファイル中の任意の位置
に挿入することができ、これらの位置の発見がより困難
になるので、不正使用防止効果が高められる。第5発明
のコンピュータでは、上記いずれかの記憶媒体を備えて
いる。第6発明のコンピュータシステムでは、例えば図
6に示す如く、上記第1発明の記憶媒体に記憶されたイ
ンストーラを実行するユーザコンピュータ10と、該ユ
ーザコンピュータから、上記マシン識別コードを含む上
記ユーザ登録情報を受信して登録し、該マシン識別コー
ドと上記許可値との間で所定演算を行ってその演算結果
を上記パスワードとし、該パスワードを該ユーザコンピ
ュータに送信するベンダーコンピュータ30とを有す
る。
【0021】
【実施例】以下、図面に基づいて本発明の一実施例を説
明する。図6は、不正使用防止機能を備えたコンピュー
タシステムの概略構成を示す。ユーザコンピュータ10
は、 一般的な構成であり、プログラムに従って処理を実
行するMPU11と、IPL等が格納されたROM12
と、プログラム及びデータを一時格納するためのRAM
13と、各種インタフェース回路を含む入出力インタフ
ェース14との間が、バス15で接続されている。入出
力インタフェース14には、キーボード16、表示装置
17、フロッピーディスクドライバ18、ハードディス
クドライバ19及び通信カード20が接続されている。
【0022】フロッピーディスク181には、ベンダー
から購入したアプリケーションソフトウェアが記憶され
ている。このアプリケーションソフトウェアは、図7に
示す如く、インストーラM0と、モジュールM1〜M4
とからなり、モジュールM1〜M4はインストーラM0
により、図6のハードディスク191にインストールさ
れる。インストーラM0を使用せずにモジュールM1〜
M4をフロッピーディスク181からハードディスク1
91へコピーしても実行できないようにするために、モ
ジュールM1〜M4はそれぞれ暗号化モジュールM1B
〜M4Bにされて、フロッピーディスク181に記憶さ
れている。ハードディスク191には、OSがインスト
ールされており、OSは電源投入時にRAM13にロー
ドされる。通信カード20には、MPU11により読み
込み可能な不揮発性のマシン識別コードMIDを有す
る。
【0023】通信カード20は、通信回線21を介して
ベンダーコンピュータ30に接続され、ユーザコンピュ
ータ10とベンダーコンピュータ30との間で双方向通
信可能となっている。 [1]不正使用防止の為のインストーラ RAM13にロードされたOSの下でインストーラM0
を実行すると、OSによりインストーラM0がRAM1
3上にロードされ、インストーラM0により図1に示す
処理が行われて、モジュールM1〜M4がハードディス
ク191へインストールされる。以下、括弧内の数値は
図中のステップ識別番号を表す。
【0024】(40)マシン識別コードMIDを読み込
み、RAM13に書き込む。 (41)フロッピーディスク181上のインストーラM
0をファイルオープンし、先頭から順次読み込み、後述
のパスワードPW設定領域からパスワードPWを読み込
む。PW=0、すなわちパスワードPWが設定されてい
なければ、ステップ42へ進み、PW≠0であれば、ス
テップ46へ進む。
【0025】(42)通信回線21を介してベンダーコ
ンピュータ30に接続し、ユーザ登録情報をベンダーコ
ンピュータ30へ送信する。ユーザ登録情報は、例え
ば、マシン識別コードMID、ユーザの住所、氏名、電
話番号、購入ソフトウェアの識別コード、並びに、ユー
ザ登録情報送信時の日付及び時間である。ユーザの住
所、氏名及び電話番号は、対話的にキーボード16から
入力され、購入ソフトウェアの識別コードは予めインス
トーラに埋め込まれており、M0日付及び時間はOSか
ら受け取る。
【0026】ベンダーコンピュータ30は、以下のステ
ップ50〜53の処理を実行する。 (50)ユーザ登録情報を受信する。 (51)ユーザ登録情報をハードディスク301に登録
する。 (52)マシン識別コードMIDとAとの間の演算、例
えばPW=MID+Aを演算して、パスワードPWを決
定する。ここに、Aはベンダー又は上記ソフトウェア識
別コードにより定まる定数であり、インストーラM0及
びハードディスク301に共通に記憶されている。
【0027】(53)パスワードPWを、通信回線21
を介しユーザコンピュータ10に送信する。 (43)MPU11は、パスワードPWを受信する。 (44)フロッピーディスク181上のインストーラ中
のパスワードPWの領域に、パスワードPWを設定す
る。この設定は通常、フロッピーディスク181上のイ
ンストーラを入力ファイルとしてRAM13上又はハー
ドディスクドライバ19上に読み込み、フロッピーディ
スク181上のインストーラを削除し、RAM13上又
はハードディスクドライバ19上のインストーラをフロ
ッピーディスク181上に出力ファイルとして書き込
み、その途中でパスワードPWをフロッピーディスク1
81上に書き込むことにより行われる。
【0028】(45)フロッピーディスク181上の暗
号化モジュールM1B〜M4Bを、後述のように複号化
してモジュールM1〜M4にし、目的とするソフトウェ
アであるモジュールM1〜M4をハードディスク191
上にインストールする。以上の処理により、初回インス
トールが完了する。このような方法によれば、初回イン
ストールの際に、通信によりユーザ登録及びパスワード
PWの送受が行われるので、ユーザ側及びベンダー側の
手間が省ける。
【0029】(46)A=PW−MIDを算出する。 (47)A=SAであれば、上記ステップ45へ進む。
ここに、許可値SAは、インストーラM0に格納されて
いる定数である。フロッピーディスク181上のインス
トーラM0〜M4をハードディスク191上にインスト
ールした後に、フロッピーディスク181を他のコンピ
ュータで使用すると、マシン識別コードMIDがユーザ
コンピュータ10のそれと異なるので、A≠SAとな
り、次のステップ48へ進む。
【0030】(48)上記ステップ42で送信するユー
ザ登録情報を不正使用事実(ユーザ登録情報の一部が欠
落していてもかまわない。)としてベンダーコンピュー
タ30へ送信する。 (54、55)ベンダーコンピュータ30では、この不
正使用事実を受信し、ハードディスク301に登録す
る。
【0031】(49)MPU11は、罰としてハードデ
ィスク191上に無意味なファイルを生成し、目的とす
るソフトウエアが再試行によりインストールできないよ
うにする。これは、例えば、適当なファイル名を付けた
256バイトのファイルを、空き領域が256バイト未
満になるまでハードディスク191上に繰り返し書き込
むことにより行われる。このプログラムは、例えばC言
語で、 for (;;) { if (size_256_filemake()) { continue } else { break } }; と記載される。ここに、size_256_filemake()は、適
当なファイル名を付けた256バイトのファイルを生成
する関数であり、生成が成功したら関数値1を返し、失
敗したら0を変えす。
【0032】このような方法により、不正インストール
が防止される。また、従来のような別個の注文用ソフト
ウェアが不要である。 [2]不正使用防止の為の暗号化及びファイル複号化 図2(A)は、例えば図7のモジュールM1を暗号化モ
ジュールM1Bにする手順を示す。図3は、図2の処理
の説明図である。
【0033】(70)モジュールM1を、汎用のファイ
ル圧縮ソフトウェアにより圧縮して、圧縮モジュールM
1Aを生成し、モジュールM1を削除する。圧縮モジュ
ールM1Aの先頭から第(p+q+1)〜第(p+q+
r)バイトのコードXを読み取る。qは負であってもよ
い。図3では、p=4、q=2、r=2となっている。
【0034】(72)コードXを所定の規則でモディフ
ァイする。例えば、コードXに定数Cを加算したものを
新たなコードXとする。図3では、C=‘0102’で
ある。 (73〜75)新たな出力ファイルM1Bをオープン
し、これに、圧縮モジュールM1Aの第1〜pバイト
と、rバイト長のコードX及び圧縮モジュールM1Aの
第(p+1)〜最終バイトを書き込み、ファイル(暗号
化モジュール)M1Bをクローズし、圧縮モジュールM
1Aを削除する。
【0035】次に、暗号化モジュールM1Bをモジュー
ルM1に戻す手順を説明する。 (80、81)暗号化モジュールM1Bを入力ファイル
としてオープンし、新たな出力ファイルM1Aをオープ
ンし、暗号化モジュールM1Bの第1〜pバイト及び第
(p+r+1)〜最終バイトを順に読み出してファイル
M1Aに書き込み、ファイルM1B及びファイル(圧縮
モジュール)M1Aをクローズし、暗号化モジュールM
1Bを削除する。
【0036】(82)汎用の解凍ソフトウェアにより圧
縮モジュールM1Aを解凍してハードディスク191上
にモジュールM1を生成し、圧縮モジュールM1Aを削
除する。モジュールM1は‘00’のバイトを多く含ん
でいるが、圧縮モジュールM1Aには‘00’のバイト
が少ないので、X=0になることは殆どない。ここに、
‘’で囲まれた数値は16進数であり、以下同様であ
る。このコードXが、‘00’でないバイトデータ中に
挿入されるので、暗号化モジュールM1Bのコードを見
て無意味なコードXを捜し出すことが困難となる。
【0037】暗号化モジュールM1Bは、コードXを含
んでいるので汎用の解凍ソフトウェアで解凍してもモジ
ュールM1を生成することができず、また、コードXを
除去する処理は、インストーラM0中の、図1のステッ
プ45で実行されるので、不正使用によりステップ45
を実行することができない。したがって、従来のような
特別な暗号解読ICを用いることなく、かつ、新たな圧
縮及び解凍のソフトウェアを開発することなく、汎用の
圧縮及び解凍ソフトウェアを使用して不正使用を防止す
ることができる。しかも、圧縮及び解凍におけるコード
Xの抽出、モディファイ、挿入及び削除処理は容易であ
り、その処理時間は短時間である。
【0038】[3]不正使用防止機能を備えたロードモ
ジュール ハードディスク191上にインストールされたモジュー
ル(実行ファイル)M1を他のコンピュータのハードデ
ィスク191にコピーしても使用できないようにするた
めに、モジュールM1は、図4に示す如く構成されてい
る。モジュールM2〜M4についてもモジュールM1と
同様である。モジュールM1は、ステップ61〜64及
び66〜68からなる不正使用防止部と、本体部とから
なる。図4の処理は、OSによりモジュールM1がRA
M13上にロードされた後に実行される。
【0039】モジュールM1のデータ領域では、C言語
によりコメント付で例えば次のように記載されている。 struct tag { long SP; /*目印コードSP格納領域宣言*/ long PW; /*パスワードPW格納領域宣言*/ char INIT; /*初回判定値INIT格納領域宣言*/ } data { 0x02F10003; /*目印コードSPの設定値*/ 0x00000000; /*パスワードPWの初期設定値*/ 0x00; /*初回判定値INITの初期設定値*/ } (60)INIT=0、すなわちモジュールM1の実行
が初回であれば、ステップ61へ進み、INIT≠0で
あればステップ66へ進む。
【0040】(61)ロードモジュールM1自体のデー
タ領域中の目印コードSPを、検索ルーチンにより検索
する。目印コードSPは、これを基準とする所定相対位
置にパスワードPW及び初回判定値INITが存在する
ことを示すものである。目印コードSPは、例えば図5
に示す如く、4バイトのデータ‘02F10003’で
あって、目印コードSPの次に4バイトのパスワードP
Wが配置され、パスワードPWの次に1バイトの初回判
定値INITが配置されている。
【0041】このような目印コードSPを用いることに
より、各モジュールM1のプログラマーは、モジュール
M1中のデータ領域の任意の位置に任意の目印コードS
Pを配置でき、この位置に相対的な位置にパスワードP
W及び初回判定値INITを配置することが可能とな
り、複数のモジュールの全てについてパスワードPW及
び初回判定値INITの位置を見破ることが困難とな
る。
【0042】ステップ61は、C言語によりコメント付
で例えば次のように記載される。 if (data.INIT == 0) { /*初回起動時のみ次の検索サブルーチンを実行*/ own_LMfile_serch_and_change(data.SP); /*検索サブルーチン*/ } 検索サブルーチンの内容は省略する。
【0043】(62)パスワードPWを、手動的又は自
動的に入力する。例えば、インストール直後に、インス
トールされたソフトウェアを必ず実行し、図1のステッ
プ43でRAM13又はハードディスクドライバ19に
書き込まれたパスワードPWを、モジュールM1の実行
中に読み出すことにより、パスワードPWを自動入力す
る。または、モジュールM1の実行中に、ユーザにパス
ワードPWの入力を表示装置17で促し、キーボード1
6から入力されたパスワードPWを読み取る。得られた
パスワードPWを、上記データ領域のパスワード格納位
置に書き込むことにより、パスワードPWの上記初期設
定値0x00000000を例えば0x1234568に書き換える。この
処理は、モジュールM1の初回実行の際のみ行われる。
【0044】(63)上記データ領域の初回判定値格納
位置に‘1’を設定する。これにより、上記初回判定値
INITの初期設定値0x00が0x01に書き換えられる。 (64)ハードディスク191上のモジュールM1中の
初回判定値INIT及びパスワードPWの位置に、それ
ぞれ前記初回判定値INIT及びパスワードPWの値を
設定する。この設定は通常、ハードディスク191上の
モジュールM1を入力ファイルとして読み込み、ハード
ディスク191上のモジュールM1を削除し、モジュー
ルM1中の初回判定値INIT及びパスワードPWの位
置にそれぞれ初回判定値INIT及びパスワードPWの
値を書き込んだモジュールM1をハードディスク191
上に新たに作成することにより行われる。
【0045】(65)ロードモジュール本体部を実行し
てモジュールM1の初回処理を終了する。 (66)通信カード20のマシン識別コードMIDを読
み出す。 (67)式A=PW−MIDによりAを算出する。 (68)A=SAであれば上記ステップ65を実行し、
A≠SAであればモジュールM1の処理を終了する。
【0046】上記ステップ61〜64は、C言語により
コメント付で例えば次のように記載される。以上のよう
な構成のモジュールM1〜M4によれば、ハードディス
ク191上にインストールされたモジュールM1〜M4
を他のコンピュータのハードディスクにコピーしても使
用できなくなる。また、目印コードSP、パスワードP
W及び初回判定値INITをロードモジュール中のデー
タ領域の任意の1箇所に挿入すればよく、従来のように
各種条件下で実行の際に必ず出会うようにロードモジュ
ールに多数の資格検証トリガを挿入する必要がない。ま
た、目印コードSPはプログラム毎に任意の値にするこ
とができる。
【0047】なお、本発明には外にも種々の変形例が含
まれる。例えば、マシン識別コードMIDはユーザコン
ピュータ10の機種であってもよく、インストーラM0
において、メニューでユーザコンピュータ10の機種を
入力させ、ROM12上の、機種に応じたアドレスから
マシン識別コードMIDを読み取る構成であってもよ
い。
【0048】また、図4のステップ67において、モジ
ュールM1により異なるパスワードPWを用いる構成で
あってもよい。図2及び図4の構成は、モジュールM1
〜M4のうち1つ、例えば最初に実行されるモジュール
のみに関するものであってもよい。また、パスワードP
Wは、所定の規則で暗号化しておいて、モジュールM0
〜M4の実行により複号化する構成であってもよい。
【0049】図1において、ステップ44からステップ
45へ進まずにインストーラの処理を終了し、2回目以
降インストーラを実行したときにステップ47からステ
ップ45へ進んでインストールを実行する構成であって
もよい。この点は、図4においても同様であり、ステッ
プ64からステップ65へ進まずに処理を終了し、2回
目以降モジュールを実行したときにステップ68からス
テップ65へ進んでモジュール本体部を実行する構成で
あってもよい。
【図面の簡単な説明】
【図1】不正使用防止機能を備えたインストーラを示す
フローチャートである。
【図2】不正使用防止のためのファイル暗号化手順及び
ファイル複号化手順を示すフローチャートである。
【図3】図2の処理の説明図である。
【図4】不正使用防止機能を備えたロードモジュールを
示すフローチャートである。
【図5】パスワード及び初回判定値のファイル内挿入位
置説明図である。
【図6】不正使用防止機能を備えたコンピュータシステ
ムの概略ブロック図である。
【図7】ソフトウェアパッケージの概略説明図である。
【符号の説明】
10 ユーザコンピュータ 21 通信回線 30 ベンダーコンピュータ 181 フロッピーディスク 191、301 ハードディスク MID マシン識別コード M1〜M4、M1 モジュール M1B 暗号化モジュール
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G11B 19/04 501 G11B 19/04 501H

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 目的とするソフトウェアをインストール
    するインストーラが記憶された記憶媒体において、該イ
    ンストーラは、 ユーザコンピュータのマシン識別コードを読み取り、イ
    ンストーラにパスワードが設定されているかどうかを判
    定し、 該パスワードが該インストーラに設定されていない場合
    には、 該マシン識別コードを含むユーザ登録情報をベンダーコ
    ンピュータに送信し、 該ベンダーコンピュータからパスワードを受信し、 該記憶媒体に記憶されたインストーラを、該パスワード
    が設定されたインストーラに更新し、 該パスワードが該インストーラに設定されている場合に
    は、 該パスワードと該マシン識別コードとの間で所定演算を
    行ってその演算結果を取得し、 該演算結果が、該インストーラに設定されている許可値
    に一致したときのみ、該インストールを実行するプログ
    ラムを有することを特徴とする記憶媒体。
  2. 【請求項2】 前記インストーラは、該インストーラの
    前記更新後に、前記インストールを実行するプログラム
    を有することを特徴とする請求項1記載の記憶媒体。
  3. 【請求項3】 前記インストーラは、前記演算結果が前
    記許可値に一致しなかったときには、不正使用事実を前
    記ベンダーコンピュータに送信するプログラムを有する
    ことを特徴とする請求項1又は2記載の記憶媒体。
  4. 【請求項4】 前記インストーラは、前記演算結果が前
    記許可値に一致しなかったときには、インストール対象
    の記憶媒体に無意味なファイルを生成して、該記憶媒体
    の空き領域を、前記目的とするソフトウェアのインスト
    ールに必要な領域以下にするプログラムを有することを
    特徴とする請求項1乃至3のいずれか1つに記載の記憶
    媒体。
  5. 【請求項5】 暗号化された第1ファイルを複号化し
    て、実行ファイルである第2ファイルを生成し、該第2
    ファイルをインストールするインストーラが記憶された
    記憶媒体において、 該第1ファイルには、所定領域に無意味なデータが挿入
    されており、該第1ファイルから該無意味なデータを削
    除した第3ファイルは、該第2ファイルの圧縮ファイル
    となっており、 該インストーラは、該第1ファイルから該無意味なデー
    タを削除して第3ファイルを生成し、該第3ファイルを
    解凍することにより、該第2ファイルを生成するプログ
    ラムを有することを特徴とする記憶媒体。
  6. 【請求項6】 暗号化された実行ファイルが記憶された
    記憶媒体において、 該実行ファイルは、暗号化されていない実行ファイルを
    圧縮し、該圧縮された実行ファイルの所定領域に無意味
    なデータを挿入したものであることを特徴とする記憶媒
    体。
  7. 【請求項7】 前記無意味なデータは、前記圧縮された
    実行ファイルの所定領域のデータに所定の演算を施した
    ものに等しいことを特徴とする請求項6記載の記憶媒
    体。
  8. 【請求項8】 実行ファイルが記憶された記憶媒体にお
    いて、 該実行ファイルには初回の実行であるかどうかを示す初
    回判定値が格納され、かつ、該実行ファイルは未設定の
    パスワード設定領域を有し、 該実行ファイルは、 該初回判定値が初回の実行であることを示しているとき
    には、 該初回判定値を初回の実行でないことを示す値に書き換
    え、 該パスワード設定領域に、該実行ファイルの外部から与
    えられるパスワードを設定し、 該初回判定値が初回の実行でないことを示しているとき
    には、 該実行ファイルの外部から与えられる、ユーザコンピュ
    ータのマシン識別コードと、該パスワードとの間で所定
    演算を行って、その演算結果を取得し、 該演算結果が許可値に一致したときのみ該実行ファイル
    の該本体部を実行するプログラムを有することを特徴と
    する該記憶媒体。
  9. 【請求項9】 前記実行ファイルは、前記パスワード設
    定後に前記本体部を実行するプログラムを有することを
    特徴とする請求項8記載の記憶媒体。
  10. 【請求項10】 前記実行ファイルは、データ領域に目
    印コードが挿入され、かつ、該目印コードを検索する検
    索プログラムを有し、 該実行ファイル上の、該目印コードを基準とした所定相
    対位置に、前記初回判定値が格納され且つ前記パスワー
    ド設定領域が配置されていることを特徴とする請求項8
    又は9記載の記憶媒体。
  11. 【請求項11】 請求項1乃至10のいずれか1つに記
    載の記憶媒体を備えたことを特徴とするコンピュータ。
  12. 【請求項12】 請求項1又は2記載の記憶媒体に記憶
    されたインストーラを実行するユーザコンピュータと、 該ユーザコンピュータから、前記マシン識別コードを含
    む前記ユーザ登録情報を受信して登録し、該マシン識別
    コードと前記許可値との間で所定演算を行ってその演算
    結果を前記パスワードとし、該パスワードを該ユーザコ
    ンピュータに送信するベンダーコンピュータと、 を有することを特徴とするコンピュータシステム。
JP17382595A 1995-07-11 1995-07-11 ソフトウェア不正使用防止機能を備えたコンピュータシステム Expired - Lifetime JP3930576B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17382595A JP3930576B2 (ja) 1995-07-11 1995-07-11 ソフトウェア不正使用防止機能を備えたコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17382595A JP3930576B2 (ja) 1995-07-11 1995-07-11 ソフトウェア不正使用防止機能を備えたコンピュータシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005162431A Division JP2005310182A (ja) 2005-06-02 2005-06-02 ソフトウェア不正使用防止機能を備えた記憶媒体

Publications (2)

Publication Number Publication Date
JPH0926875A true JPH0926875A (ja) 1997-01-28
JP3930576B2 JP3930576B2 (ja) 2007-06-13

Family

ID=15967860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17382595A Expired - Lifetime JP3930576B2 (ja) 1995-07-11 1995-07-11 ソフトウェア不正使用防止機能を備えたコンピュータシステム

Country Status (1)

Country Link
JP (1) JP3930576B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000043867A1 (fr) * 1999-01-21 2000-07-27 Kenzi Kumasaka Procede permettant d'empecher l'utilisation illicite d'un logiciel informatique et des supports d'enregistrement d'un logiciel informatique
JP2002196986A (ja) * 2000-12-27 2002-07-12 Pioneer Electronic Corp 情報処理装置、情報処理方法及び情報処理用プログラムがコンピュータで読取可能に記録された情報記録媒体並びに記録媒体
JP2003085143A (ja) * 2001-09-11 2003-03-20 Sony Corp パスワード管理システム、パスワード管理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2008146479A (ja) * 2006-12-12 2008-06-26 Toshiba Corp ソフトウェア部品、ソフトウェア部品管理方法、及びソフトウェア部品管理システム
JP2009140398A (ja) * 2007-12-10 2009-06-25 Sony Ericsson Mobilecommunications Japan Inc 外部メモリ、携帯端末装置、プログラムのロード方法、及びソフトロードプログラム
JP2012004937A (ja) * 2010-06-18 2012-01-05 Takeshi Fujita コンテンツ利用装置及びプログラム
JP2016170694A (ja) * 2015-03-13 2016-09-23 株式会社沖データ 情報処理装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000043867A1 (fr) * 1999-01-21 2000-07-27 Kenzi Kumasaka Procede permettant d'empecher l'utilisation illicite d'un logiciel informatique et des supports d'enregistrement d'un logiciel informatique
JP2002196986A (ja) * 2000-12-27 2002-07-12 Pioneer Electronic Corp 情報処理装置、情報処理方法及び情報処理用プログラムがコンピュータで読取可能に記録された情報記録媒体並びに記録媒体
JP2003085143A (ja) * 2001-09-11 2003-03-20 Sony Corp パスワード管理システム、パスワード管理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2008146479A (ja) * 2006-12-12 2008-06-26 Toshiba Corp ソフトウェア部品、ソフトウェア部品管理方法、及びソフトウェア部品管理システム
JP2009140398A (ja) * 2007-12-10 2009-06-25 Sony Ericsson Mobilecommunications Japan Inc 外部メモリ、携帯端末装置、プログラムのロード方法、及びソフトロードプログラム
JP2012004937A (ja) * 2010-06-18 2012-01-05 Takeshi Fujita コンテンツ利用装置及びプログラム
JP2016170694A (ja) * 2015-03-13 2016-09-23 株式会社沖データ 情報処理装置

Also Published As

Publication number Publication date
JP3930576B2 (ja) 2007-06-13

Similar Documents

Publication Publication Date Title
US6185686B1 (en) Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
CA2193114C (en) Encrypted program executing apparatus
US5903650A (en) Method and apparatus for electronic license distribution
AU773975B2 (en) Information processing system
US6411941B1 (en) Method of restricting software operation within a license limitation
US7111292B2 (en) Apparatus and method for secure program upgrade
KR100974161B1 (ko) 숨겨진 중간 키들을 사용하여 소프트웨어를 인증하기 위한 시스템 및 방법
RU2388051C2 (ru) Случайный пароль, автоматически формируемый базовой системой ввода-вывода (bios) для защиты устройства хранения данных
WO1998011690A9 (en) Self-decrypting digital information system and method
JP5385957B2 (ja) セキュリティ確認システム及びセキュリティ確認方法
US20080263366A1 (en) Self-verifying software to prevent reverse engineering and piracy
JPH0789345B2 (ja) パーソナルコンピュータのソフトウエアを遠隔位置で起動するための安全システム
US7805758B2 (en) Information processing apparatus
CN107832589A (zh) 软件版权保护方法及其***
US20050193195A1 (en) Method and system for protecting data of storage unit
JPH0926875A (ja) ソフトウェア不正使用防止機能を備えた記憶媒体、コンピュータ及びコンピュータシステム
US20040221169A1 (en) Computer-implemented method for controlling execution of application software by a computer terminal
JPH1139158A (ja) 実行プログラムの保護方法およびその装置
JP2002268764A (ja) Icカードによるソフトウェアライセンス管理システム
US7243227B1 (en) Method and apparatus to copy protect software programs
JP4017149B2 (ja) プログラムの不正実行防止機能付きプロセッサ
JP2000347852A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2001117660A (ja) 情報処理装置および方法、情報処理システム、並びにプログラム格納媒体
JP2005310182A (ja) ソフトウェア不正使用防止機能を備えた記憶媒体
JP2000349751A (ja) 情報処理装置および方法、認証方法、並びにプログラム格納媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050602

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050728

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050913

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070309

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20100316

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100316

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110316

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110316

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110316

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110316

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120316

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130316

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140316

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term