(57)【要約】【課題】ソフトウェアプログラムの不正コピーおよび不正インストールを防止するための方法を提供する。【解決手段】ソフトウェアプログラムのインストール時にコンピュータ固有のＩＤ情報を取得し、そのＩＤ情報からコンピュータ識別ＩＤ情報を生成しコンピュータ内に記録する。ソフトウェアプログラムはコンピュータ識別ＩＤ情報と対応するパスワードの入力がなければ正規使用を認めないようプログラムされる。コンピュータ識別ＩＤ情報と対応するパスワードの対応関係はソフトウェアの管理業者のみ知っており、ユーザはコンピュータ識別ＩＤ情報をソフトウェアプログラムから通知を受け、その情報をソフトウェアプログラムの管理者に送り、認証パスワードの発行を受けた場合のみソフトウェアの正規使用を開始できる。【選択図】図１
2004171500.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに利用されたソフトウェアあるいはハードウェアの単体に個別に設定される任意の識別力を有する個別情報を利用して、該個別情報に対応させた認証パスワードを生成するとともに、該認証パスワードの設定をもって正規使用を可能としたソフトウェアプログラムの不正使用防止法。
【請求項２】
プログラム管理者とユーザ間での認証パスワードの受け渡しのために、個別情報から任意の生成手段にて生成された通知用ＩＤを利用することを特徴とする請求項１記載のソフトウェアプログラムの不正使用防止法。
【請求項３】
認証パスワード設定状態における使用において、任意のタイミングで個別情報と認証パスワードの一致を確認し、その後の動作を制御する正規使用確認手段を有することを特徴とする請求項１又は２記載のソフトウェアプログラムの不正使用防止法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ソフトウェアプログラムの不正使用を防止するための方法に関するものである。
【０００２】
【従来の技術】
従来より、ソフトウェアプログラムの不正コピーの防止には、プロダクトＩＤとプロダクトキーの組み合わせなどのパスワードが用いられていた。
また、ソフトウェアプログラムの記録媒体が複製されたものであるかを判断して不正コピーを防止する方法が知られている。
【０００３】
【特許文献１】
特開２００２−４１１６５号
【０００４】
【発明が解決しようとする課題】
これは次のような欠点があった。
イ．不正コピーを防止するためにソフトウェアプログラムにプロダクトキーなどのパスワードを設定しておいても、第３者がその情報を入手してしまうと、そのソフトウェアプログラムを不正にコピーまたはインストールされてしまう。
ロ．正規に登録したユーザであれば、オリジナルの記憶媒体を用いて同じソフトウェアプログラムを多数の異なるコンピュータにコピーまたはインストールできてしまう。
本発明は、これらの欠点を解決するために発明されたものである。
【０００５】
【課題を解決するための手段】
本発明は、無料で配信あるいは配布され、その状態では一定以下の機能に限定されたり、あるいは全く動作しなかったり、使用期間が制限されるなど、任意のパスワードなどを入力することで初めて正規利用が可能となるソフトウェアプログラムにおいて、または、有料で販売されているソフトウェアプログラムにおいて、不正利用を排除する機能を有するものである。以下、具体的にその内容を説明する。
インストールにより設定されるソフトウェアプログラムの場合はインストール時に、あるいはインストール不要なソフトウェアプログラムの場合はそのソフトウエアプログラムの初使用時に、例えば個々のＯＳのオリジナルナンバーやハードディスクの製造ナンバーやネットワークカードのＭＡＣアドレスなどのユーザのコンピュータ固有のＩＤ情報をユーザマシンＩＤとして取得する。そのユーザマシンＩＤを任意の変換手段で記憶ＩＤおよび通知用ＩＤに変換してコンピュータ内の任意の不揮発性記憶媒体の任意のアドレスに記録するとともに、ユーザに通知用ＩＤを通知する。なお、記憶ＩＤや通知用ＩＤの記録についてはそれぞれテキスト形式でもよいが適当に暗号化して記録する方法も考えられる。プログラムのユーザはインストールプログラムやソフトウェアプログラムから通知用ＩＤの通知を受け、その通知用ＩＤの情報をプログラム開発者や開発元あるいは販売元など（以下、プログラム管理者と表現する）に送る。プログラム管理者はユーザからの通知を受け取ると、送られてきたＩＤ情報に対応する認証パスワードを、あらかじめ定めておいた一定の生成ルールを持つ認証パスワード生成手段に入力し、そのルールに基づいて認証パスワードを生成し、生成した認証パスワードをユーザに通知する。認証パスワードの通知を受けたユーザは、ソフトウェアプログラムに認証パスワードを登録する。本プログラムはプログラム管理者が定めた一定のルールの下でその通知用ＩＤと対応する認証パスワードの入力がなければ正規使用を認めない機能を有するので、通知用ＩＤと認証パスワードが適切に対応している場合にのみユーザによるソフトウェアプログラムの正規使用を許可する正規モードでソフトウェアプログラムは動作する。また、このとき、認証済みフラグをセットしてコンピュータ内の任意の不揮発性記憶媒体の任意のアドレスに記録する。なお、インストール時またはその直後やソフトウェアプログラムの初使用時においては認証済みフラグは初期状態であり、アンセットに設定されている。認証済みフラグの状態の記録はテキスト形式でもよいが暗号化する方法も考えられる。その記録いる。通知用ＩＤと認証パスワードが適切に対応しない場合はソフトウェアプログラムの正規モードでの使用を許可せず、機能や使用期間が制限されたり、あるいは全く機能しないモードである制限モードでソフトウェアプログラムは動作する。本プログラムには認証パスワード確認のために、以上のような認証確認作業のための手段が設けられており、正規の認証パスワードが登録されるまで、つまり、認証済みフラグがセットされるまで、ソフトウェアプログラムの起動毎あるいは起動中の適宜に認証確認作業が実施される。
また、本プログラムは、通知用ＩＤに対応する認証パスワードを入手したユーザが記憶ＩＤや通知用ＩＤを含むそのソフトウェアプログラム全体を他のコンピュータにコピーして使用することを防止する目的でコンピュータ識別の機能を有する。この機能はソフトウェアを実行しているコンピュータのユーザマシンＩＤを取得し、そのユーザマシンＩＤから一時的に一時記憶ＩＤを生成し、この一時記憶ＩＤが前もって記録されている記憶ＩＤと一致するか判断することで実現される。この判断において一時記憶ＩＤと記憶ＩＤが一致する場合は正規モードで動作するが、一致しない場合は不正なコンピュータでの使用であるとみなして、正規モードでの動作を拒否する。これにより、認証パスワードを入手したユーザによる多数のコンピュータへのソフトウェアプログラムの不正なコピーを防止できる。
【０００６】
【発明の実施の形態】
以下、本発明の第１の実施の形態について説明する。
本プログラムはユーザにプログラムの利用目的とする機能を提供するとともに、ユーザマシンＩＤを取得して記憶ＩＤや通知用ＩＤを生成し、認証パスワードが入力された場合に通知用ＩＤと正規に対応するかを判断するなどの不正使用防止の機能を有する。
本プログラムがコンピュータへインストールされる場合またはコンピュータで初使用される場合、初期状態として、記憶ＩＤと通知用ＩＤは未設定であり、認証済みフラグはアンセットである。記憶ＩＤと通知用ＩＤおよび認証済みフラグは、コンピュータ内の任意の書き込み可能な記憶媒体または、ソフトウェアプログラムの記録されている書き込み可能な記録媒体などに記録するための領域が設けられている。この状態が図３のステップ１に相当し、記憶ＩＤと通知用ＩＤを次のように取得および記録する。例えばネットワークカードのＭＡＣアドレスが４桁の数値１２３４であった場合にステップ２でこれを取得しユーザマシンＩＤとする。記憶ＩＤは例えばユーザマシンＩＤそのものと同一にするというルールである場合、ステップ３において記憶ＩＤも１２３４になる。また、通知用ＩＤも例えばユーザマシンＩＤと同一にするというルールである場合、通知用ＩＤもステップ３において１２３４となる。この記憶ＩＤと通知用ＩＤをステップ４で記録する。図３のステップ５でユーザには図７に示すようなコンピュータ画面によって通知用ＩＤが１２３４であることがモニタ上に表示され通知される。
通知用ＩＤを通知されたユーザが通知用ＩＤをプログラム管理者に送る図４のステップ６を経て、プログラム管理者はステップ７において認証パスワード生成手段にユーザの通知用ＩＤを入力する。例えば認証パスワードの生成ルールが通知用ＩＤを逆順に並べ替えるというルールである場合、ステップ８によって認証パスワードは通知用ＩＤである１２３４を逆順に並べ替えた４３２１として生成される。ステップ９でプログラム管理者はこの認証パスワード４３２１をユーザに認証パスワードとして通知する。
認証パスワードの通知を受けたユーザは認証パスワードの登録を確認する図８の表示選択過程、図９に示すような入力過程を経てコンピュータ画面に従って認証パスワードとして４３２１を認証パスワード入力画面で入力する。本プログラムは、インストールまたはプログラムの初使用の前から例えば認証パスワードの生成ルールが通知用ＩＤを逆順に並べ替えるというルールであることがユーザに不可視の状態で設定されているので、認証パスワードの入力を受けたプログラムは通知用ＩＤ１２３４を逆順に並べ替えた一時的な一時認証パスワード４３２１がユーザの入力した認証パスワードと一致するかを判断する。図２に示すように他のユーザからその認証パスワードを聞きだして入力したような場合など認証パスワードが一致しない場合は、その旨がユーザに通知されるとともに認証済みフラグはアンセットのままにされ、正規モードでの動作は拒否される。一致する場合はその旨をユーザに知らせるとともに認証済みフラグをセットし、図１に示すように正規モードで動作させる。
以下、これら手順を実現させるためにプログラムの制御プロセスに基づいて、詳細に説明する。
インストールが必要なソフトウェアはインストールが済んだあと、インストールが不要なソフトウェアの場合は初使用以降において、ソフトウェアプログラムは図５および図６に示すような手順で認証パスワードについて調べる。
まず、認証済みフラグの状態を確認して認証パスワードが正規に登録されているかを調べる。認証済みフラグがセットされていない、つまり、認証パスワードが正規に登録されていない、あるいは全く登録されていない場合は、図７のようなメッセージを表示し前記した生成手段により発生した通知用ＩＤをユーザに通知し、図８のようなメッセージを表示して認証パスワードを登録する意思があるか否かを確認する。
認証パスワードを登録する意思がある場合は図９のような認証パスワード入力画面が表示されこれに従って、前記した生成手段で発生されプログラム管理者から通知された認証パスワードを入力して認証パスワードの登録を行う。認証パスワードが通知用ＩＤと正規に対応する場合はその旨をユーザに通知するとともに、認証済みフラグをセットし、ソフトウェアプログラムの正規モードでの使用を許可する。また、認証パスワードを登録する意思がない場合は制限モードでしかソフトウェアを使用できないことがユーザに通知される。この場合、認証済みフラグはアンセットのままにされ、ユーザは制限モードでソフトウェアプログラムを使用する。
認証済みフラグがセットされている、つまり、認証パスワードが正規に登録されている場合はユーザに正規モードでの使用を許可する。
また、本プログラムには、認証パスワードの情報を有するユーザが記憶ＩＤや通知用ＩＤの情報も含めたそのソフトウェア全体を他のコンピュータに不正コピーして使用するのを防ぐために、不正コピー防止機能が設けられている。これは、認証パスワードが登録され、認証済みフラグがセットされた状態にあるソフトウェアプログラムにおいてコンピュータ識別を行い、正規のコンピュータによる正規使用であるかを確認するものである。
コンピュータ識別においては、ソフトウェアプログラムを実行しているコンピュータのユーザマシンＩＤを読み取り、一時的に一時記憶ＩＤを生成し、この一時記憶ＩＤが前もって記録されていた記憶ＩＤ例えば前記の例では１２３４と一致するかを判断する。一致する場合は正規モードでの動作を続ける。一致しない場合は不正なコンピュータでソフトウェアプログラムが正規モードで実行されようとしているとみなし、その旨をユーザに通知するとともに、認証済みフラグ、記憶ＩＤ、通知用ＩＤを初期設定にリセットする。そして、図５のＢステップの状態から実行していく。
ここにあげた事例は、プログラムを制限モードで実行する状態にするものとして説明したが、プログラムを強制終了させるような手法をとることも可能である。
ユーザマシンＩＤ、記憶ＩＤ、通知用ＩＤ、認証パスワードの生成方法としては、前記した生成手段の他に次のような方法なども考えられる。
１．ユーザマシンＩＤは１２３４、記憶ＩＤはユーザマシンＩＤと同じで１２３４、通知用ＩＤはユーザマシンＩＤに２を乗算した２４６８とし、認証パスワードは通知用ＩＤに１１１１を加算した３５７９とする。
２．ユーザマシンＩＤは１２３４、記憶ＩＤはユーザマシンＩＤに１１１１を加算した２３４５、通知用ＩＤはユーザマシンＩＤと同じで１２３４とし、認証パスワードは通知用ＩＤに２を乗算した２４６８とする。
３．ユーザマシンＩＤは１２３４、記憶ＩＤはユーザマシンＩＤに１１１１を加算した２３４５、通知用ＩＤもユーザマシンＩＤに１１１１を加算した２３４５とし、認証パスワードは通知用ＩＤを逆順にした５４３２とする。
もちろん、生成手段に関してはこれに限定されるものではなく、各種任意の取り決めにおける生成手段が可能である。
なお、前記事例では記憶ＩＤと通知用ＩＤを利用することで、より不正使用を排除する効果をあげているが、記憶ＩＤと通知用ＩＤは無理に分けなくても両方の役割を兼用する一つのＩＤ情報として設定することも可能である。
また、ユーザマシンＩＤの情報源はＭＡＣアドレスやＯＳのシリアルナンバーなどが対象となることは説明したが、そのどれを使用するかに関しては、プログラムがあらかじめ設定する手段以外に、ユーザが選択できるようにする方法も考えられる。
【０００７】
本発明の実施の形態には次のような応用例などが考えられる。
１．  ユーザが通知用ＩＤをプログラム管理者に送る際に、ユーザ名、居住地、電話番号、生年月日、年齢、職業などの他の情報も併せて送る方法をとることにより、プログラム管理者はユーザへの認証パスワードの発行のみならず、ユーザ情報のデータベースを作成することも可能である。
２．  本発明は、あらかじめ無料あるいは廉価価格で配布され制限モードで使用できるシェアウェアなどへの利用に適している。すなわち、認証パスワードの発行条件としてソフトウェアプログラムの使用料金の支払いを義務付ける。この場合、ソフトウェアプログラムなどの使用料金の徴収を確認したうえでプログラム管理者からユーザに認証パスワードが発行され、これを入力することではじめて正規モードの使用ができるようになる。
３．  前記事例では、起動毎に通知用ＩＤが表示されるが、これは制限モードで継続して使用する際には、必要なときのみの通知とする設定にすることも可能である。
なお、ユーザマシンＩＤと記憶ＩＤの対応関係や、ユーザマシンＩＤと通知用ＩＤとの対応関係、または通知用ＩＤと認証パスワードの対応関係などをどのようなルールで決定するかはプログラム管理者の自由であるが、同じ管理者が異なるソフトウェアプログラムを販売する際には、パスワードの不正使用を避ける目的で、これらの対応関係をソフトウェアプログラム毎に用意することが望ましい。
本プログラムは、ＯＳ自体のソフトウェアプログラムに対しても、他のアプリケーションソフトのソフトウェアプログラムに対しても有効に適用できる。
【０００８】
【発明の効果】
ソフトウェアプログラムの認証パスワードがユーザのコンピュータ毎に異なるので、不正ユーザが正規ユーザから認証パスワードを聞き出したとしてもプログラムの不正使用を防止することができる。また、同様の理由で正規ユーザであっても、多数のコンピュータに不正にプログラムをコピーまたはインストールすることを防止できる。
【図面の簡単な説明】
【図１】通知用ＩＤと認証パスワードが一致する場合の正規モード使用許可の概念図
【図２】通知用ＩＤと認証パスワードが一致しない場合の正規モード使用不許可の概念図
【図３】通知用ＩＤおよび記憶ＩＤの生成手順
【図４】認証パスワードの生成手順
【図５】認証パスワード登録の手順とコンピュータ識別作業の流れ
【図６】認証パスワード登録の手順とコンピュータ識別作業の流れ
【図７】通知用ＩＤをユーザに通知するためのコンピュータ画面
【図８】認証パスワード登録意思の有無の確認のコンピュータ画面
【図９】認証パスワード入力のコンピュータ画面
【符号の説明】
１  通知用ＩＤ表示画面
２  認証パスワード登録意思の有無を確認するための画面
３  認証パスワードを入力するための画面
【図１】
2004171500.tif 000003
【図２】
2004171500.tif 000004
【図３】
2004171500.tif 000005
【図４】
2004171500.tif 000006
【図５】
2004171500.tif 000007
【図６】
2004171500.tif 000008
【図７】
2004171500.tif 000009
【図８】
2004171500.tif 000010
【図９】
2004171500.tif 000011