(57)【要約】      （修正有）【課題】ユーザー端末の情報を承認サーバーで管理し、不正使用を防止し、またデータの改ざんによる不正利用を防止したソフトウェアの不正使用防止方法を提供する。【解決手段】ネットワークに接続されたユーザー端末に使用権承認サーバーより前記ネットワークを介して定期的にソフトウェアの使用権を更新または付与することで前記ソフトウェアの不正使用を防止する方法であって、前記ユーザー端末に、前記使用権承認サーバーによって承認された前記ソフトウェアの使用を許可するための第１認証ファイルと第２認証ファイルとが定期的に更新付与され、前記使用権承認サーバーのデータベースおよび前記第１認証ファイルおよび前記第２認証ファイルの情報により前記ソフトウェアの使用が承認されると共に、前記第１認証ファイルと第２認証ファイルとが相互に情報の改ざんを検知する。【選択図】      図１
2004213057.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたユーザー端末に使用権承認サーバーより前記ネットワークを介して定期的にソフトウェアの使用権を更新または付与することで前記ソフトウェアの不正使用を防止するソフトウェアの不正使用防止システムであって、
前記ユーザー端末の記憶装置に、前記使用権承認サーバーによって承認された前記ソフトウェアの使用を許可するための第１認証ファイルと第２認証ファイルとが記憶され、
前記使用権承認サーバーのデータベースに、前記使用権承認サーバーとユーザー端末との通信および各認証ファイルを暗号化するために必要な暗号キーのユーザー情報が記憶され、
前記第１認証ファイルが、少なくとも前記ソフトウェアのシリアル番号、前記ソフトウェアの使用期限、前記使用権承認サーバーから認証を得た承認時刻、第２認証ファイルに保存された端末情報のハッシュ値、及び前記第１認証ファイルの更新時刻の情報を含んでおり、
前記第２認証ファイルが、少なくとも前記ソフトウェアを使用する前記ユーザー端末を認識するための前記ソフトウェアの記憶された記憶装置のメーカー名およびボリュームラベルおよびボリュームシリアル番号の端末情報、前記第１認証ファイルの情報のハッシュ値、前記第１認証ファイルの保存位置、及び前記ソフトウェアの暗号キーデータベースの保存位置の情報を含んでおり、
前記使用権承認サーバーのデータベースおよび前記第１認証ファイルおよび前記第２認証ファイルの情報により前記ソフトウェアの使用が承認されると共に、
前記第１認証ファイルと第２認証ファイルとが相互に情報の改ざんを検知するように前記使用権承認サーバーのデータベースおよび前記第１認証ファイルおよび前記第２認証ファイルの情報が前記使用権承認サーバーにより定期的に更新されることを特徴とするソフトウェアの不正使用防止システム。
【請求項２】
請求項１のソフトウェアの不正使用防止システムにおいて、前記第２認証ファイルの情報として、前記ソフトウェアを導入する端末に接続されるＣＲＴまたは液晶ディスプレイの製造情報を用いたことを特徴とするソフトウェアの不正使用防止システム。
【請求項３】
請求項１のソフトウェアの不正使用防止システムにおいて、前記第２認証ファイルの情報として、前記ソフトウェアを導入する端末の組み込みソフトに保存されたハードウェアの製造情報を用いたことを特徴とするソフトウェアの不正使用防止システム。
【請求項４】
請求項１のソフトウェアの不正使用防止システムにおいて、前記第２認証ファイルの情報として、前記第１認証ファイルが保存された記憶装置の製造情報を用いたことを特徴とするソフトウェアの不正使用防止システム。
【請求項５】
請求項１のソフトウェアの不正使用防止システムにおいて、前記第２認証ファイルの情報として、前記ソフトウェアを導入する端末の組み込みソフトに保存された端末の製造情報と、前記第１認証ファイルが保存された記憶装置の製造情報を用いたことを特徴とするソフトウェアの不正使用防止システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ネットワークに接続可能かつ記憶装置をもつコンピュータにおいてネットワーク（インターネットを含む）を介して、定期的にソフトウェアの正規利用者に使用権を更新または付与することでソフトウェアの不正使用を防止するソフトウェアの不正使用防止システムに関し、特に、承認サーバーから発効された複数の認証ファイルを複雑に関連づけることでデータの改ざんによる不正利用を防止することができるソフトウェアの不正使用防止システムに関するものである。
【０００２】
【従来の技術】
一般に、ネットワークに接続可能でかつ記憶装置を持ちソフトウェアを利用する全ての端末機器（パソコン、ゲーム機、携帯情報端末、携帯電話など）において、ソフトウェアの不正使用が大きな問題となってきている。
一般的なソフトウェアの不正使用の防止方法としては、ソフトウェアを端末に導入する際、ユーザーにシリアル番号または暗号化されたキーを入力させ、不正なものであれば導入を中断する方法が使われている。
前記ソフトウェアの不正使用を解決するための他の先行技術としては、１．特開平１１−２１２７８３号公報（ハードディスクのシリアル番号を元に作成されたキーワードをソフトウェアのパスワードとし、ソフトウェアにそのパスワードからハードディスクのシリアル番号を算出し一致すれば正しいと判断する機能を付加し、これによって使用者以外のハードディスク以外ではソフトウェアが正常に動作しなくなるため、ソフトウェアの不正使用はできなくなる）、２．特開２００１−３４４０９７公報（ソフトウェアの使用有効期限などを暗号化して記録したファイルをクライアント装置のハードディスクにインストールし、ソフトウェアの起動判定時にこの暗号を復号し（Ｓ３３０）、その正当性を判断する（Ｓ３３１、Ｓ３３３）ことで、ソフトウェアの起動可、不可を決定する）が知られている。
【特許文献１】特開平１１−２１２７８３号公報
【特許文献２】特開２００１−３４４０９７公報
【０００３】
【発明が解決しようとする課題】
しかしながら、前記従来のソフトウェアを端末に導入する際、ユーザーにシリアル番号または暗号化されたキーを入力させ、不正なものであれば導入を中断する方法は、導入時に正規のシリアル番号またはキーを入力してしまいさえすれば、以後、何の制約もなく使用することができるため、何らかの原因で正規のシリアル番号またはキーが流出してしまった場合、不正使用に歯止めをかける方法がなく有効とはいい難かった。
また、前記特開平１１−２１２７８３号「ソフトウェアの不正使用防止方法」で述べられる方法では、ハードディスクのシリアル番号を利用して、ソフトウェアとユーザー端末を一意に関連付けようとしているが、ハードディスクのシリアル番号を同一にしてしまうことで不正利用されてしまう懸念があった。
また、前記特開２００１−３４４０９７「プログラムの不正使用防止システム、不正使用防止装置、不正使用防止方法、不正使用防止プログラムを記録した記録媒体」の方法では、ネットワークを介して定期的に使用権を与えることで不正利用を防止しているが、データの改ざんによる不正利用に対しての対策がなされていない欠点があった。
本発明は、ネットワーク（インターネットを含む）を介して、ユーザー端末の情報を承認サーバーで管理し、定期的にソフトウェアの正規利用者に使用権を更新または付与することで不正使用を防止し、また、承認サーバーから発効された複数の認証ファイルを複雑に関連づけることでデータの改ざんによる不正利用を防止したソフトウェアの不正使用防止方法を提供することである。
【０００４】
【課題を解決するための手段】
上述の目的を達成するために、請求項１記載の発明は、ネットワークに接続されたユーザー端末に使用権承認サーバーより前記ネットワークを介して定期的にソフトウェアの使用権を更新または付与することで前記ソフトウェアの不正使用を防止するソフトウェアの不正使用防止システムであって、前記ユーザー端末の記憶装置に、前記使用権承認サーバーによって承認された前記ソフトウェアの使用を許可するための第１認証ファイルと第２認証ファイルとが記憶され、前記使用権承認サーバーのデータベースに、前記使用権承認サーバーとユーザー端末との通信および各認証ファイルを暗号化するために必要な暗号キーのユーザー情報が記憶され、前記第１認証ファイルが、少なくとも前記ソフトウェアのシリアル番号、前記ソフトウェアの使用期限、前記使用権承認サーバーから認証を得た承認時刻、第２認証ファイルに保存された端末情報のハッシュ値、前記第１認証ファイルの更新時刻の情報を含んでおり、前記第２認証ファイルが、少なくとも前記ソフトウェアを使用する前記ユーザー端末を認識するための前記ソフトウェアの記憶された記憶装置のメーカー名およびボリュームラベルおよびボリュームシリアル番号の端末情報、前記第１認証ファイルの情報のハッシュ値、前記第１認証ファイルの保存位置、前記ソフトウェアの暗号キーデータベースの保存位置の情報を含んでおり、前記使用権承認サーバーのデータベースおよび前記第１認証ファイルおよび前記第２認証ファイルの情報により前記ソフトウェアの使用が承認されると共に、前記第１認証ファイルと第２認証ファイルとが相互に情報の改ざんを検知するように前記使用権承認サーバーのデータベースおよび前記第１認証ファイルおよび前記第２認証ファイルの情報が前記使用権承認サーバーにより定期的に更新されることを特徴とする。
したがって、ソフトウェアの使用期限などの情報を含んだ第１の認証ファイルと、ソフトウェアを使用するユーザー端末を一意に認識するための第２の認証ファイルの２つの認証ファイルが、相互に認証ファイルのコピーによる不正使用とデータ改ざんを検知する役目を果たし、また、一方の認証ファイルを改ざんするには、必ず他方も改ざんする必要があり、いくつもの複雑な作業を行う必要があり、データの改ざんの防止の役目を果たしている。また、ハッシュ関数と暗号化の有効使用、及び、各認証ファイルと暗号キーの定期的な更新も、データの改ざんの防止の役目を果たしている。
また、第１認証ファイルにより使用期限を設け、定期的に承認サーバと認証作業を行う必要性をもたせることで、不正ユーザーの使用を速やかに停止させる措置をとることができる。
【０００５】
また、請求項２記載の発明は、請求項１のソフトウェアの不正使用防止システムにおいて、前記第２認証ファイルの情報として、前記ソフトウェアを導入する端末に接続されるＣＲＴまたは液晶ディスプレイの製造情報を用いたことを特徴とする。
したがって、ＣＲＴまたは液晶ディスプレイの情報を利用するならば、認証期限を待たずにユーザー環境の変化を知ることができ、それをトリガーとして認証を求めることができる。
また、請求項３記載の発明は、請求項１のソフトウェアの不正使用防止システムにおいて、前記第２認証ファイルの情報として、前記ソフトウェアを導入する端末の組み込みソフトに保存されたハードウェアの製造情報を用いたことを特徴とする。
したがって、認証期限を待たずにユーザー環境の変化を知ることができ、それをトリガーとして認証を求めることができるため、記憶装置のコピーによる不正使用を防止できる。
また、請求項４記載の発明は、請求項１のソフトウェアの不正使用防止システムにおいて、前記第２認証ファイルの情報として、前記第１認証ファイルが保存された記憶装置の製造情報を用いたことを特徴とする。
したがって、認証期限を待たずにユーザー環境の変化を知ることができ、それをトリガーとして認証を求めることができるため、記憶装置のコピーによる不正使用を防止できる。
また、請求項５記載の発明は、請求項１のソフトウェアの不正使用防止システムにおいて、前記第２認証ファイルの情報として、前記ソフトウェアを導入する端末の組み込みソフトに保存された端末の製造情報と、前記第１認証ファイルが保存された記憶装置の製造情報を用いたことを特徴とする。
したがって、認証期限を待たずにユーザー環境の変化を知ることができ、それをトリガーとして認証を求めることができるため、記憶装置のコピーによる不正使用を防止できる。
【０００６】
【発明の実施の形態】
以下に添付の図を参照してこの発明の実施形態を詳細に説明する。
図１は、本発明によるソフトウェアの不正使用防止システムの一実施形態の概略図である。
図１に示すように、このソフトウェアの不正使用防止システムは、正規ユーザーであるかを確認するためにネットワーク（インターネットを含む）１０１上に設置されたユーザー情報データベースを組み込んだ使用権承認サーバー（以下、承認サーバーとする）１０３と、ネットワーク１０１を介して前記承認サーバー１０３に接続されたソフトウェアの使用されるハードウェア（以下、ユーザー端末とする）１０５とを有している。なお、前記承認サーバーと１０３は、ユーザ情報ユーザー情報データベース１０７を有している。また、通常、前記ユーザー端末１０５は、ネットワーク１０１に複数個接続されている。
前記承認サーバー１０３は、ユーザー端末１０５から送られてくる情報を基に正規ユーザーか否かを確認し、正規ユーザーであれば前記ユーザー端末１０５のソフトウェアの起動に必要な認証ファイルとなるファイルを発効する機能を持つ。また、前記ソフトウェアのアップデート情報も管理しており、暗号エンジン（暗号化アルゴリズム）の更新や、ハッシュ関数の更新も行う。
【０００７】
図２は、前記ユーザー端末１０５の構成ブロック図である。
図２に示すように、前記ユーザー端末１０５は、ＣＰＵ１０９に接続された記憶装置１１１と、Ｉ／Ｆ１１３を介してＣＰＵ１０９に接続されたモデム１１５、キーボード１１７、表示器１１９、ＨＤ１２１等からなっている。
前記ユーザー端末１０５のソフトウェアは、起動時に第１認証ファイルと第２認証ファイルの２つの認証ファイルに記録された情報を確認することで不正利用を防止する機能をもつ。前記第１認証ファイルと第２認証ファイルは、前記ユーザー端末１０５の記憶装置１１１に記憶されるもので、データの改ざんを防止する為の情報を持っており、相互に監視する為に利用される。また、これらのファイルはソフトウェアのもつ暗号キー・データベース（以下、暗号キーＤＢとする。）から所定の方法で選択された暗号キーにより暗号化されている。その為、ソフトウェアを使用するためには、第１認証ファイル、第２認証ファイル、暗号キーＤＢの３つのファイルが必要不可欠である。
第１認証ファイルは、「承認情報（１）」、「端末情報Ａのハッシュ値（２）」（これは情報Ｂと等しい）、「情報１＋２のハッシュ値（３）」、「第１認証ファイルの更新された時刻（以下、更新時刻とする）（４）」と「情報１〜４のハッシュ値（５）」の５項目からなる。
そして、「承認情報（１）」は、さらに「承認情報を表すシグネチャ（１−１）」、「ソフトウェアのシリアル番号（１−２）」（これは情報（Ａ−２）と等しい）、「該ソフトウェアが承認サーバー１０３により承認を得た時刻（１−３）」（以下、承認時刻とする）、「ソフトウェアの使用期限  （１−４）」（以下、使用期限とする）の４項目に細分される。（第１認証ファイルの概要は、図３を参照のこと）
第２認証ファイルは、「端末情報（Ａ）」、「端末情報のハッシュ値（Ｂ）」（これは情報（２）と等しい）、「第１認証ファイルの情報（１〜４）のハッシュ値（Ｃ）」（これは情報（５）に等しい）、「第１認証ファイルが保存されている記憶装置上の位置（Ｄ）」（以下、第１認証ファイルの位置とする）、「暗号キーＤＢが保存されている記憶装置上の位置（Ｅ）」（以下、暗号キーＤＢの位置とする）と、「情報（Ａ〜Ｅ）のハッシュ値（Ｆ）」の６項目からなる。
そして、「端末情報（Ａ）」は、「端末情報を表すシグネチャ（Ａ−１）」「ソフトウェアのシリアル番号（Ａ−２）」（これは情報（１−２）と等しい）、ソフトウェアが導入されたユーザー端末１０５の記憶装置の「ドライブ番号（Ａ−３）」、「メーカー名（Ａ−４）」、「ボリュームラベル（Ａ−５）」、「ボリュームシリアル番号（Ａ−６）」の６項目に細分される。（第２認証ファイルの概要は、図４を参照のこと）
なお、ファイルの位置情報は、ドライブ番号、および、ＣＨＳ（シリンダ・ヘッド・セクタ）方式、あるいはＬＢＡ（Logical Block Addressing）方式など、ファイルの位置が一意に決められる方式によって記録される。
また、前記の認証ファイルはフォーマットが決められており、該ソフトウェア、および承認サーバー１０３は、それらのファイルに保存されている情報を任意に抽出できるものとする。
【０００８】
次に、前記ソフトウェアの不正使用防止システムの動作について説明する。
まず、ユーザーは、ソフトウェアを使用するために、ユーザー端末１０５にソフトウェアを導入する。ここで、デフォルトの暗号キーＤＢは導入されるが、認証ファイルは導入されない。その為、導入時、または、導入後の最初の起動において、承認サーバー１０３との認証作業を行い、認証ファイルを得なければならない。
ここで、認証は、まず、ソフトウェアがユーザー端末１０５のネットワーク機能を利用して承認サーバー１０３に接続し、ソフトウェアのシリアル番号を通知する。承認サーバー１０３は、シリアル番号に基づき、ユーザー情報ユーザー情報データベース１０７からユーザー情報を検索する。ここでは、最初の認証であるため、新たにデータシートが作成される。
そして、承認サーバー１０７は、暗号キーの指定を行い、以後の通信はこの暗号キーで暗号化されて行われる。暗号キーの指定は、暗号キーそのものの通達ではなく、暗号キーＤＢの何番目といった間接的な指定方法が好ましい。暗号化するのは、ネットワーク１０１上でのデータの秘匿性を高める為である。また、暗号キーの指定は認証作業毎にランダムに指定される。
次に、承認サーバー１０３は、「端末情報（Ａ）」を該ソフトウェアに要求する。ソフトウェアは、要求された情報を収集し、「端末情報を表すシグネチャ（Ａ）」（例えば、１６進数で“ＡＡ５５ｈ”やＡＳＣＩＩコードで“ＩＮＦＯ”など）に収集した情報を追加し、ファイル化して送付する。シグネチャを付加するのは、情報の種類を判断するためと、ユーザーの使用している暗号キーＤＢの整合性を取る為である。
承認サーバー１０３のユーザー情報ユーザー情報データベース１０７には、ユーザーが使用している暗号キーＤＢ、または、そのＤＢの番号が保存されているため、指定した番号の暗号キーの値をそこから検索し、復号キーを求めることができる。ここでは、最初の認証のため、デフォルトの暗号キーＤＢから検索される。復号後、シグネチャが端末情報を表すものであれば暗号キーＤＢが正常であると認める。もし、シグネチャが異なれば、承認サーバー１０３は暗号キーＤＢが不正であり、正常な通信ができないと判断し、以後、そのシリアル番号のソフトウェアからの認証作業を受け付けない。
【０００９】
次に、承認サーバー１０３は、暗号キーＤＢが正常であると認められると、受信したファイルの「ハッシュ値（Ｂ）」を求め、ファイルに追加する。（このファイルを端末情報ファイルとする）端末情報ファイルはユーザー情報ユーザー情報データベース１０７に記録される。
次に、承認サーバー１０３は、現在時刻（ここでは、時刻とは年月日および時間とする）を「承認時刻（１−３）」とし、承認時刻に一定の時間を加えて「使用期限（１−４）」を求める（以後、「承認情報を表すシグネチャ（１−１）」「シリアル番号（１−２）」「承認時刻（１−３）」「使用期限（１−４）」を承認情報（１）とする）。この「承認情報（１）」に「端末情報のハッシュ値（Ｂ）」を追加し、この２つの情報から「ハッシュ値（３）」を求め、これを１つのファイルに記録する（以後、これを承認情報ファイルとする）。この承認情報ファイルはユーザー情報データベース１０７に保存される。
次に、承認サーバー１０３は、端末情報ファイル、承認情報ファイル、新しい暗号キーＤＢをユーザー端末１０５のソフトウェアに送る。暗号キーＤＢの送付に関しては任意で、認証作業毎に送付しても、定期的に送付しても良い。暗号キーＤＢを送付した場合、そのバージョンはユーザー情報データベース１０７に記録され、管理される。また、ここで暗号化エンジンを更新してもよい。その場合は、暗号化エンジンのバージョンもユーザー情報データベース１０７で管理する必要がある。
【００１０】
前記ユーザー端末１０５のソフトウェアは、受信した暗号キーＤＢをデフォルトの暗号キーＤＢとは別に記憶装置１１１に保存し、以後はこの暗号キーＤＢが有効な暗号キーＤＢ（以後、カレントの暗号キーＤＢとする）として使用する。カレントの暗号キーＤＢは更新されるが、デフォルトの暗号キーＤＢは更新されることはなく、認証作業が不正終了した場合に利用される。つまり、以後、前記ユーザー端末１０５のソフトウェアには、普段使用される暗号キーＤＢと最初の認証および認証作業が不正終了したときに使われるデフォルトの暗号キーＤＢの２つのＤＢが存在することになる。
暗号キーＤＢが正常に保存されると、前記ユーザー端末１０５のソフトウェアはその旨、承認サーバー１０３に通知する。ここで承認サーバー１０３との通信は終了し、以後は、前記ユーザー端末１０５のソフトウェア内でいくつかの処理が行われる。
すなわち、前記ユーザー端末１０５のソフトウェアは、承認情報ファイルに現在の時刻を第１認証ファイルの「更新時刻（４）」として情報の追加をし、さらに「情報１〜４のハッシュ値（５）」を求めて付加する。これが第１認証ファイルとなる。また、この時求められたハッシュ値５は、端末情報ファイルに追加され、後に作成される第２認証ファイルの情報（Ｃ）となる。
次に、ハッシュ値５を決定要素として、暗号キーＤＢから暗号キーを選択し、第１認証ファイルの暗号化を行う。
次に、「暗号化された第１認証ファイルの位置（Ｄ）」と「暗号キーＤＢの位置（Ｅ）」を求め、その情報を第１情報ファイルのハッシュ値が追加された端末情報ファイルに追加する。これら３つの情報（Ｃ）（Ｄ）（Ｅ）が追加された端末情報ファイルのハッシュ値（Ｆ）をとり、追加する。これが第２認証ファイルとなる。
第２認証ファイルが作成されたら、暗号化された第１認証ファイルのハッシュ値を決定要素として、暗号キーＤＢから使用する暗号キーを選択し、第２認証ファイルを暗号化する。
以上で、最初の認証作業が終了する。
【００１１】
次に、前記ユーザー端末１０５のソフトウェアを使用（起動）するときの確認動作について説明する。
前記ユーザー端末１０５のソフトウェアは、起動時にデータの改ざんがないか各認証ファイル整合性を確認する。
まず、暗号化された第１認証ファイルのハッシュ値を計算する。これを基に暗号キーＤＢから復号キーを求め、第２認証ファイルを復号する。
前記ユーザー端末１０５のソフトウェアは、第２認証ファイルの情報Ａ〜Ｅのハッシュ値を求め、情報Ｆの値と比較し、また、シリアル番号（Ａ−２）を確認して、ファイルの有効性を確認する。不正が認められた場合は、該ソフトウェアは起動せず、使用できない。
次に、ソフトウェアは暗号キーＤＢの位置を情報Ｅと比較する。
次に、暗号化された第１認証ファイルの位置を情報Ｄと比較する。問題がなければ、情報Ｃを基に暗号キーＤＢより復号キーを求め、第１認証ファイルを復号する。
次に、第１認証ファイルの情報１〜４のハッシュ値を求め、情報５と比較し、また、シリアル番号（１−２）を確認して、第１認証ファイルの有効性を確認する。
その後、情報２と情報Ｂ、情報５と情報Ｃとを比較し、差異がないことを確認する。
以上で、ファイルの整合性の確認が終了する。
【００１２】
次に、第１認証ファイルに記録された承認情報について確認する。
すなわち、「ソフトウェアのシリアル番号（１−２）」「使用期限（１−４）」「更新時刻（４）」の確認を行い、ソフトウェアのシリアル番号が異なる場合、使用期限が過ぎていた場合、現在の時刻が更新時刻よりも過去である場合は、認証作業を行うまでソフトウェアは使用できない。
次に、第２認証ファイルに記録された端末情報について確認する。
すなわち、「ソフトウェアのシリアル番号（Ａ−２）」、該ソフトウェアの導入された記憶装置の「ドライブ番号（Ａ−３）」「メーカー名（Ａ−４）」「ボリュームラベル（Ａ−５）」「ボリュームシリアル番号（Ａ−６）」の確認を行い、これらの情報に間違いがある場合は認証作業が必要となる。
これらが問題なければ、該ソフトウェアは第１認証ファイルの「更新時刻（４）」を更新する。また、１〜４のハッシュ値を計算し、ハッシュ値５を更新する（同時に、第２認証ファイルの情報Ｃも更新する）。そして、ハッシュ値５を決定要素として、暗号キーＤＢから暗号キーを選択し、第１認証ファイルの暗号化を行う。
次に、暗号化した第１認証ファイルの位置を求め、第２認証ファイルの「暗号化された第１情報ファイルの位置（Ｄ）」を更新する。また、情報Ａ〜Ｅのハッシュ値を求め、ハッシュ値（Ｆ）を更新する。その後、暗号化された第１認証ファイルのハッシュ値を基に暗号キーを決定し、暗号化する。
ここまで正常に行えた場合、該ソフトウェアは使用可能になる。なお、より厳しい管理を行うなら、ソフトウェアの終了時、あるいは使用中の一定時間毎に、再度、第１認証ファイル、および第２認証ファイルの更新を行ってもよい。
【００１３】
次に、認証作業について説明する。
認証作業は、ソフトウェア導入時または導入後の最初の起動、ソフトウェア起動時にいずれかの認証ファイルに不正が認められた場合、第１認証ファイルに記述された使用期限が過ぎていた場合、ユーザーがソフトウェアのメニューより認証作業を選択した場合に発生する。導入時または導入後の最初の起動の時に行う認証作業については、前記にて説明したのでここでは省略し、２回目以降の認証作業について説明する。
前記ユーザー端末１０５のソフトウェアは認証作業が必要と判断すると、承認サーバー１０３に接続し、ソフトウェアのシリアル番号を通知する。承認サーバー１０３はシリアル番号に基づき、ユーザー情報ユーザー情報データベース１０７からユーザーのデータシートを検索する。データシートに記録されている情報は、前述の通りだが、ユーザーの氏名・住所など、他の情報も付加してもよい。
承認サーバー１０３は、前記ユーザー端末１０５のソフトウェアに対して、第１認証ファイルの送付を要求する。第１認証ファイルを受信すると、そこに記載されている承認情報１と、ハッシュ値３がデータシートに記録された情報と差異がないか確認する。
ここで、差異がなければ、次に端末情報を要求する。前記ユーザー端末１０５のソフトウェアは、これらの情報を収集し、承認サーバー１０３に送付する（この時、情報は第２認証ファイルから得るのではなく、再度、収集する）。承認サーバー１０３は、データシートに記録されているこれらの情報との整合性をとり、間違いがなければ最初の認証作業と同様の手順を踏んで、承認情報ファイル、端末情報ファイル、暗号キーＤＢを再発効する。
ソフトウェアは、受信した各ファイルを基に各認証ファイルを作成する（作成の手順は最初の認証作業と同じ手順である）。
以上で、認証作業は終了である。
【００１４】
ここで、もし、認証作業中に情報の整合性が取れなかったり、不正が見つかった場合には、各ファイルは発効されず、ユーザーは前記ユーザー端末１０５のソフトウェアを使用できなくなる。また、以後、認証作業も受け付けられない。この場合、ユーザーはソフトウェア提供者に電話、手紙、メールなどの手段を使って連絡をとり、再度、最初の認証からやりなおす必要がある。この時、デフォルトの暗号キーＤＢが使用される。
もし、認証作業が頻繁に不正終了してしまうユーザーがいた場合、不正ユーザーにシリアル番号を不正利用されているユーザーであるか、故意に認証作業を不正終了させる悪意あるユーザーであると判断でき、何らかの対応を打つことができる。
この様に、使用する毎に第１認証ファイルの更新時刻（４）が更新される為、端末の時計を操作して時間をごまかしていても、いずれ認証作業を行わなくてはならない。承認サーバー１０３には、承認情報（１）、端末情報（Ａ）などが記録されているため、不正ユーザーが認証を得ることは無理である。
また、仮に、不正利用を続けようとするなら、認証ファイルの改ざんを行うしかない。しかし、第１認証ファイルと第２認証ファイルは上述したように相互に何らかの関係を持たせており、一方のファイルを改ざんするには、必ず他方も改ざんしなくてはならない。その為には幾つもの複雑な作業（ハッシュ関数の解析、暗号化／復号化方法の解析など）を行う必要があり、不正利用の防止に役立っている。
なお、本実施形態中に出てくるハッシュ値を求める為に使用するハッシュ関数は、どのようなものを使用しても良い。または、ソフトウェアおよび承認サーバーの付加を低減するために、サム値などを利用してもよい。また、通信時の暗号化も必ずしも行う必要はなく、同様の理由で省略しても良い。
【００１５】
次に、上述した実施形態の変形例について説明する。
上述した実施形態において、第２認証ファイルの内容に、ソフトウェアを導入する端末に接続されるＣＲＴまたは液晶ディスプレイの製造情報（メーカー名またはメーカー番号、プロダクト名またはプロダクト番号、シリアル番号など）を利用することもできる。例えば、現在、パーソナルコンピュータに使用されているＣＲＴおよび液晶ディスプレイは、ＶＥＡＳ（Video Electronics Standard Association）の仕様に従っている。その場合、ＥＤＩＤ（Exended Display Identification Data）にVendr/Product Identificationとして「ID Manufacture Name」「ID Product Code」「ID Serial Number」などが記載されているので、それを利用することで実現できる。
もし、ＶＥＳＡの仕様に従わないものがあれば、前記と同様の機能を設けることで実現可能となる。
また、上述した実施形態の説明において、第２認証ファイルの内容に、ソフトウェアを導入する端末の組み込みソフト（例えば、コンピュータのＢＩＯＳや携帯電話、携帯端末などのファームウェア）に保存された端末の製造情報（メーカー名またはメーカー番号、プロダクト名またはプロダクト番号、シリアル番号など）を利用することもできる。但し、ハードウェアの組み込みソフトに、ハードウェアの製造情報を読み取る為のコマンドを設け、ソフトウェア提供者が利用できるよう公開する必要がある。
また、上述した実施形態の説明において、第２認証ファイルの内容に、第１認証ファイルが保存された記憶装置の製造情報（メーカー名またはメーカー番号、プロダクト名またはプロダクト番号、シリアル番号など）を利用することもできる。但し、記憶装置のファームウェアに、製造情報を読み取る為のコマンドを設け、ソフトウェア提供者が利用できるよう公開する必要がある。
また、上述した実施形態の説明において、第２認証ファイルの内容に、ソフトウェアを導入する端末の組み込みソフト（例えば、コンピュータのＢＩＯＳや携帯電話、携帯端末などのファームウェア）に保存された端末の製造情報（メーカー名またはメーカー番号、プロダクト名またはプロダクト番号、シリアル番号など）と、第１認証ファイルが保存された記憶装置の製造情報（メーカー名またはメーカー番号、プロダクト名またはプロダクト番号、シリアル番号など）を利用することもできる。但し、端末の組み込みソフトとに記憶装置のファームウェアに、製造情報を読み取る為のコマンドを設け、ソフトウェア提供者が利用できるよう公開する必要がある。
【００１６】
【発明の効果】
以上の説明から理解されるように、本発明の請求項１によれば、ソフトウェアの使用期限などの情報を含んだ第１の認証ファイルと、ソフトウェアを使用するユーザー端末を一意に認識するための第２の認証ファイルの２つの認証ファイルが、相互に認証ファイルのコピーによる不正使用とデータ改ざんを検知する役目を果たし、また、一方の認証ファイルを改ざんするには、必ず他方も改ざんする必要があり、いくつもの複雑な作業を行う必要があり、データの改ざんの防止の役目を果たしている。また、ハッシュ関数と暗号化の有効使用、及び、各認証ファイルと暗号キーの定期的な更新も、データの改ざんの防止の役目を果たしている。
また、第１認証ファイルにより使用期限を設け、定期的に承認サーバと認証作業を行う必要性をもたせることで、不正ユーザーの使用を速やかに停止させる措置をとることができる。
前記のような特徴により、ソフトウェアの不正使用を防止している。
前記請求項１の方式では、認証を行った後、記憶装置（例えばハードディスクドライブだとする）を丸ごとコピーすれば、認証期限がきれるまでの一定期間、他のＰＣでも利用することが可能である。
しかし、請求項２の方式のように、ＣＲＴまたは液晶ディスプレイの情報を利用するならば、認証期限を待たずにユーザー環境の変化を知ることができ、それをトリガーとして認証を求めることができる。
仮に、ディスプレイの情報を改ざんしようとしても、専門知識がないと難しい。また、ソフトウェアを使用するために、ディスプレイを使いまわすことは考え難い。よって、請求項１の方式より不正使用を防止する効果は高いと考えられる。
請求項３、４、５の方式は、ハードウェアに付随するソフトウェアからもたらされる情報を利用した方式である。請求項２と同様に、認証期限を待たずにユーザー環境の変化を知ることができ、それをトリガーとして認証を求めることができるため、記憶装置のコピーによる不正使用を防止できる。
請求項２の場合、公的な仕様であるＶＥＳＡについての知識があれば、ディスプレイ情報の改ざんが可能かもしれないが、請求項３、４、５の場合、ハードウェア・メーカーと同等の知識が必要となる為、不正使用を防止する効果はより高いと考えられる。
【図面の簡単な説明】
【図１】本発明によるソフトウェアの不正使用防止システムの一実施形態の概略図である。
【図２】図１に示したユーザー端末１０５の構成ブロック図である。
【図３】第１認証ファイルの概要を示す図である。
【図４】第２認証ファイルの概要を示す図である。
【符号の説明】
１０１  ネットワーク、１０３  使用権承認サーバー、１０５  ハードウェア、１０７  ユーザー情報データベース、１０９  ＣＰＵ、１１１  記憶装置、１１３  Ｉ／Ｆ、１１５  モデム、１１７  キーボード、１１９  表示器、１２１
ＨＤ
【図１】
2004213057.tif 000003
【図２】
2004213057.tif 000004
【図３】
2004213057.tif 000005
【図４】
2004213057.tif 000006