(57)【要約】【課題】  ソフトウェアの不正インストールおよび不正利用に対して防御性があり、ライセンス数の変更が容易であり、モバイル環境でも利用可能であり、低コストで実現可能なライセンス認証方法およびシステム、認証装置、ならびにこのライセンス認証方法をコンピュータに実行させるためのプログラムを実現する。【解決手段】  ライセンス認証システム１は、秘密鍵と、対応する公開鍵と、プログラム１６のライセンス数を管理するテーブル１４と、コンピュータ１３のハードウェア固有情報を秘密鍵で暗号化して認証情報を生成する手段とを有する認証装置１２と、テーブル１４を参照してプログラム１６のコンピュータ１３へのインストールが可能であると判定されたとき秘密鍵を用いて暗号化済のプログラム１６を公開鍵で復号してコンピュータ１３にインストールし、かつ認証情報と公開鍵とをストア１５に記録する手段とを有するインストール制御手段１１とを備える。【選択図】      図１
2005122283.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムをコンピュータにインストールする際に該アプリケーションプログラムのライセンスを認証するライセンス認証方法であって、
秘密鍵と、該秘密鍵に対応する公開鍵と、前記アプリケーションプログラムのライセンス数を管理するためのライセンス管理テーブルとを有する認識装置に、該認識装置固有のコードが入力されたとき、前記コンピュータのハードウェア固有情報を取得する第１のステップと、
前記認証装置が前記ハードウェア固有情報を前記秘密鍵で暗号化して認証情報を生成する第２のステップと、
前記ライセンス管理テーブルを参照して、アプリケーションプログラムの前記コンピュータへのインストールが可能か否かを判定する第３のステップと、
該第３のステップにおいて前記のインストールが可能であると判定された場合、前記秘密鍵を用いて予め暗号化されたアプリケーションプログラムを前記公開鍵で復号して前記コンピュータにインストールするとともに、前記認証情報を前記公開鍵とともに前記コンピュータ内の情報認証ストアに記録する第４のステップと、を備えることを特徴とするライセンス認証方法。
【請求項２】
前記第３のステップにおいて前記のインストールが不可であると判定された場合、前記アプリケーションプログラムのインストールを禁止する第５のステップをさらに備える請求項１に記載のライセンス認証方法。
【請求項３】
前記ライセンス管理テーブルは、前記アプリケーションプログラムが前記コンピュータにインストールされた時点の前記認証情報が格納され得るフィールドを、前記ライセンス数に相当する数だけ有し、
前記第３のステップにおける前記のインストールの可否の判定は、前記ライセンス管理テーブルに前記認証情報が記憶されていない空きの前記フィールドがあるか否かに基づいて判定される請求項１または２に記載のライセンス認証方法。
【請求項４】
前記第３のステップにおいては、
前記ライセンス管理テーブルに前記空きのフィールドがあると判定された場合は、前記のインストールは可能であると判定されるとともにこのときの前記認証情報が前記空きのフィールドのいずれかに格納され、
前記ライセンス管理テーブルに前記空きのフィールドがないと判定された場合は、前記のインストールは不可であると判定される請求項３に記載のライセンス認証方法。
【請求項５】
前記第３のステップにおいて、前記ライセンス管理テーブル内のフィールドに既に格納されている前記認証情報に、前記第２のステップにおいて生成された前記認証情報と同じものがある判定された場合は、前記のインストールは可能であると判定される請求項３に記載のライセンス認証方法。
【請求項６】
前記ライセンス管理テーブル内のフィールドの数を変更する第６のステップをさらに備える請求項３に記載のライセンス認証方法。
【請求項７】
前記コンピュータにインストールされた前記アプリケーションプログラムが起動されたとき、使用時のコンピュータのハードウェア固有情報を取得するとともに、前記情報認証ストアに記録された前記認証情報および前記公開鍵を取得する第７のステップと、
該第７のステップで取得された前記認証情報を、該認証情報とともに取得された前記公開鍵を用いて復号化することで、前記第１のステップにおけるインストール時点のコンピュータの前記ハードウェア固有情報を再生する第８のステップと、
前記使用時のコンピュータのハードウェア固有情報と、前記インストール時点のコンピュータのハードウェア固有情報とを照合する第９のステップと、
該第９のステップの照合の結果に基づいて、前記アプリケーションプログラムの実行を許可するか禁止するかを判定する第１０のステップと、をさらに備える請求項１に記載のライセンス認証方法。
【請求項８】
前記第１０のステップは、前記第９のステップの照合の結果一致すると判定された場合、前記アプリケーションプログラムの実行を許可する請求項７に記載のライセンス認証方法。
【請求項９】
前記第１０のステップは、前記第９のステップの照合の結果不一致であると判定された場合、前記アプリケーションプログラムの実行を禁止する請求項７に記載のライセンス認証方法。
【請求項１０】
前記認証装置は、暗号化アルゴリズムを有するＩＣカードからなる請求項１〜９のいずれか一項に記載のライセンス認証方法。
【請求項１１】
アプリケーションプログラムをコンピュータにインストールする際に該アプリケーションプログラムのライセンスを認証するライセンス認証システムであって、
秘密鍵と、該秘密鍵に対応する公開鍵と、前記アプリケーションプログラムのライセンス数を管理するためのライセンス管理テーブルと、前記コンピュータのハードウェア固有情報を受信したとき、該ハードウェア固有情報を前記秘密鍵で暗号化して認証情報を生成する手段と、を有する認証装置と、
該認識装置固有のコードが該認識装置に入力されたとき、前記ハードウェア固有情報を前記コンピュータから取得する手段と、前記ライセンス管理テーブルを参照して、前記アプリケーションプログラムの前記コンピュータへのインストールが可能であるか否かを判定する手段と、前記のインストールが可能であると判定されたとき、秘密鍵を用いて予め暗号化された前記アプリケーションプログラムを前記公開鍵で復号して前記コンピュータにインストールするとともに、前記認証情報を前記公開鍵とともに前記コンピュータ内の情報認証ストアに記録する手段とを有するインストール制御手段と、を備えることを特徴とするライセンス認証システム。
【請求項１２】
前記インストール制御手段は、前記のインストールが不可であると判定されたとき、前記アプリケーションプログラムのインストールを禁止する手段をさらに有する請求項１１に記載のライセンス認証システム。
【請求項１３】
前記ライセンス管理テーブルは、前記アプリケーションプログラムが前記コンピュータにインストールされた時点の前記認証情報が格納され得るフィールドを、前記ライセンス数に相当する数だけ有し、
前記認証装置における前記のインストールの可否の判定は、前記ライセンス管理テーブルに前記認証情報が記憶されていない空きの前記フィールドがあるか否かに基づいて判定される請求項１１または１２に記載のライセンス認証システム。
【請求項１４】
前記認証装置においては、
前記ライセンス管理テーブルに前記空きのフィールドがあると判定された場合は、前記のインストールは可能であると判定されるとともにこのときの前記認証情報が前記空きのフィールドのいずれかに格納され、
前記ライセンス管理テーブルに前記空きのフィールドがないと判定された場合は、前記のインストールは不可であると判定される請求項１３に記載のライセンス認証システム。
【請求項１５】
前記認証装置においては、前記ライセンス管理テーブル内のフィールドに既に格納されている前記認証情報に、該認証装置において生成された前記認証情報と同じものがあると判定された場合は、前記のインストールは可能であると判定される請求項１３に記載のライセンス認証システム。
【請求項１６】
前記インストール制御手段は、前記認証装置の前記ライセンス管理テーブル内のフィールドの数を変更する手段をさらに有する請求項１３に記載のライセンス認証システム。
【請求項１７】
前記ライセンス認証システムは、
前記コンピュータにインストールされた前記アプリケーションプログラムが起動されたとき、使用時のコンピュータのハードウェア固有情報を取得するとともに、前記情報認証ストアに記録された前記認証情報および前記公開鍵を取得する取得手段と、
取得された前記認証情報を、該認証情報とともに取得された前記公開鍵を用いて復号化することで、インストール時点のコンピュータの前記ハードウェア固有情報を再生する再生手段と、
前記使用時のコンピュータのハードウェア固有情報と、前記インストール時点のコンピュータのハードウェア固有情報とを照合する照合手段と、
該照合手段の照合の結果に基づいて、前記アプリケーションプログラムの実行を許可するか禁止するかを判定する判定手段と、
を有する起動認証手段をさらに備える請求項１１に記載のライセンス認証システム。
【請求項１８】
前記判定手段は、前記第９のステップの照合の結果一致すると判定された場合、前記アプリケーションプログラムの実行を許可する請求項１７に記載のライセンス認証システム。
【請求項１９】
前記判定手段は、前記第９のステップの照合の結果不一致であると判定された場合、前記アプリケーションプログラムの実行を禁止する請求項１７に記載のライセンス認証システム。
【請求項２０】
前記認証装置は、暗号化アルゴリズムを有するＩＣカードからなる請求項１１〜１９のいずれか一項に記載のライセンス認証システム。
【請求項２１】
アプリケーションプログラムのライセンス数を管理する認証装置であって、
該認証装置内の記憶領域に、アプリケーションプログラムがコンピュータにインストールされた時点に得られる所定の情報が格納され得るフィールドを前記ライセンス数に相当する数だけ有したライセンス管理テーブルが割り当てられ、
前記ライセンス管理テーブルに、前記所定の情報が記憶されていない空きの前記フィールドがあるか否かに基づいて、前記アプリケーションプログラムの前記コンピュータへのインストールの可否が判定されることを特徴とする認証装置。
【請求項２２】
前記ライセンス管理テーブルに前記空きのフィールドがある場合は、前記のインストールは可能であると判定され、
前記ライセンス管理テーブルに前記空きのフィールドがない場合は、前記のインストールは不可であると判定される請求項２１に記載の認証装置。
【請求項２３】
前記ライセンス管理テーブル内のフィールドの数は可変である請求項２１に記載の認証装置。
【請求項２４】
前記認証装置は、暗号化アルゴリズムを有するＩＣカードからなる請求項２１〜２３のいずれか一項に記載の認証装置。
【請求項２５】
アプリケーションプログラムをコンピュータにインストールする際に該アプリケーションプログラムのライセンスを認証するライセンス認証方法をコンピュータに実行させるためのプログラムであって、
秘密鍵と、該秘密鍵に対応する公開鍵と、前記アプリケーションプログラムのライセンス数を管理するためのライセンス管理テーブルとを有する認識装置に、該認識装置固有のコードが入力されたとき、前記コンピュータのハードウェア固有情報を取得する第１のステップと、
前記ライセンス管理テーブルを参照してアプリケーションプログラムの前記コンピュータへのインストールが可能であると判定された場合、前記秘密鍵を用いて予め暗号化されたアプリケーションプログラムを前記公開鍵で復号して前記コンピュータにインストールするとともに、前記認証装置が前記ハードウェア固有情報を前記秘密鍵で暗号化して生成した認証情報を前記公開鍵とともに前記コンピュータ内の情報認証ストアに記録する第２のステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項２６】
前記ライセンス管理テーブルを参照してインストールが不可であると判定された場合、前記アプリケーションプログラムのインストールを禁止する第３のステップをコンピュータにさらに実行させる請求項２５に記載のプログラム。
【請求項２７】
前記ライセンス管理テーブル内のフィールドの数を変更する第４のステップをコンピュータにさらに実行させる請求項２１に記載のプログラム。
【請求項２８】
前記コンピュータにインストールされた前記アプリケーションプログラムが起動されたとき、使用時のコンピュータのハードウェア固有情報を取得するとともに、前記情報認証ストアに記録された前記認証情報および前記公開鍵を取得する第５のステップと、
該第５のステップで取得された前記認証情報を、該認証情報とともに取得された前記公開鍵を用いて復号化することで、前記第１のステップにおけるインストール時点のコンピュータの前記ハードウェア固有情報を再生する第６のステップと、
前記使用時のコンピュータのハードウェア固有情報と、前記インストール時点のコンピュータのハードウェア固有情報とを照合する第７のステップと、
該第７のステップの照合の結果に基づいて、前記アプリケーションプログラムの実行を許可するか禁止するかを判定する第８のステップと、をコンピュータにさらに実行させる請求項２５に記載のプログラム。
【請求項２９】
前記第８のステップは、前記第７のステップの照合の結果一致すると判定された場合、前記アプリケーションプログラムの実行を許可する請求項２８に記載のプログラム。
【請求項３０】
前記第８のステップは、前記第７のステップの照合の結果不一致であると判定された場合、前記アプリケーションプログラムの実行を禁止する請求項２８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムをコンピュータにインストールする際に該アプリケーションプログラムのライセンスを認証するライセンス認証方法、ライセンス認証システム、アプリケーションプログラムのライセンス数を管理する認証装置、およびこのライセンス認証方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
ライセンスの必要なソフトウェアは、そのソフトウェアの不正利用を防止するために、様々なライセンス認証方法を用いてライセンス数が管理される。
【０００３】
例えば、ソフトウェアに固有のライセンスコードを、紙あるいはフレキシブルディスクもしくはコンパクトディスクなどの可搬記録媒体を介してソフトウェアの購入者に配布する方法がある。この他にも、ソフトウェアのインストール時にインターネットを介してメーカもしくはベンダーに設置された認証サーバにアクセスしてライセンスの認証を得るネットワークによるアクティベーションによる認証方法、ソフトウェアのインストール時もしくは使用時にイントラネットを介してソフトウェア購入者の所属する会社内に設置された認証サーバにアクセスしてライセンスの認証を得るローカルライセンスサーバによる認証方法、コンピュータの例えばシリアルポートに装着されるハードウェアキーがライセンスの認証のためのライセンスキーとなるハードウェアライセンスキーによる認証方法などもある。また、ＩＣカードを使用してライセンスを管理するシステムもある（例えば、特許文献１および特許文献２参照）。
【０００４】
【特許文献１】特開平１０−３２６３２９号公報
【０００５】
【特許文献２】特開２００２−２６８７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来例による上述の各認証方法のうち、紙あるいは可搬記録媒体を介してライセンスコードをソフトウェアの購入者に配布する方法は、例えば紙の場合はライセンスコードが可視的に表示されているので第三者でも比較的容易に知ることができ、可搬記録媒体の場合もライセンスコードを電子的もしくは磁気的にコピーすることも容易であるので、不正利用に対する十分な防止策とはいえない。
【０００７】
また、ネットワークによるアクティベーションによる認証方法は、世界中からの膨大なアクセスに耐え得る認証サーバを設置する必要があるのでメーカもしくはベンダーに多額のコストがかかり、市場規模の大きいソフトウェアには比較的効果的であるものの、市場規模の小さいソフトウェアには向かない。
【０００８】
また、ローカルライセンスサーバによる認証方法は、ソフトウェアの購入者側に認証サーバを設置するので設置スペースが必要となり、サーバの購入および設置費用も購入者負担となる可能性がある。ネットワークを介して認証を得るので、ネットワークに接続されていない情報機器やモバイル環境で利用される携帯端末にインストールされるソフトウェアには不向きである。さらに、ライセンス数の変更も容易ではない。
【０００９】
また、ハードウェアライセンスキーによる認証方法は、ハードウェアキーを装着するためのコンピュータのポートを占有してしまうことになり、コンピュータの周辺機器の使用に影響を及ぼす。また、ライセンス分のハードウェアキーを用意しなければならず、その費用は購入者負担となり、ハードウェアキーの保管も面倒なものとなる。さらに、ライセンス数の変更も容易ではない。
【００１０】
また、特開平１０−３２６３２９号公報に開示された発明では、情報処理端末機までを特定できないので、例えばソフトウェアをインストールしたハードディスクを他のコンピュータに付け替えて利用するといった不正使用も発生し得る。
【００１１】
また、特開２００２−２６８７６４号公報に開示された発明では、ＩＣカード内に記憶された情報から、ソフトウェアをインストールして現在使用中の情報処理端末機を特定することができるのでソフトウェアの一元管理が可能ではあるものの、ソフトウェアの不正利用に対する防御策とはなっていない。
【００１２】
従って本発明の目的は、上記問題に鑑み、ソフトウェアの不正インストールおよび不正利用に対して防御性があり、ライセンス数の変更が容易であり、モバイル環境でも利用可能であり、低コストで実現可能な、ライセンス認証方法、ライセンス認証システム、認証装置、およびこのライセンス認証方法をコンピュータに実行させるためのプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を実現するために、本発明においては、アプリケーションプログラムをコンピュータにインストールする際にこのアプリケーションプログラムのライセンスを認証するライセンス認証システムは、暗号処理機能と情報保持機能を有する認証装置と、この認証装置と連携してインストールを制御するインストール制御手段と、を備える。また、コンピュータにインストールされたアプリケーションソフトウェアを起動する際は、起動認証手段を用いて該アプリケーションソフトウェアが不正に複製されたものでないことを認証する。
【００１４】
図１は、本発明によるアプリケーションプログラムのインストール時におけるライセンス認証システムの原理ブロック図である。以降、異なる図面において同じ参照番号が付されたものは同じ構成要素であることを意味するものとする。
【００１５】
本発明によれば、アプリケーションプログラム１６をコンピュータ１３にインストールする際にこのアプリケーションプログラム１６のライセンスを認証するライセンス認証システム１は、
秘密鍵と、この秘密鍵に対応する公開鍵と、アプリケーションプログラム１６のライセンス数を管理するためのライセンス管理テーブル１４と、コンピュータ１３のハードウェア固有情報を受信したとき、このハードウェア固有情報を秘密鍵で暗号化して認証情報を生成する手段と、を有する認証装置１２と、
認識装置１２に固有のコードがこの認識装置１２に入力されたとき、ハードウェア固有情報をコンピュータ１３から取得する手段と、ライセンス管理テーブル１４を参照して、アプリケーションプログラム１６のコンピュータ１３へのインストールが可能であるか否かを判定する手段と、このインストールが可能であると判定されたとき、秘密鍵を用いて予め暗号化されたアプリケーションプログラム１６を公開鍵で復号してコンピュータ１３にインストールするとともに、認証情報を公開鍵とともにコンピュータ１３内の情報認証ストア１５に記録する手段とを有するインストール制御手段１１と、を備える。インストール制御１１手段は、このインストールが不可であると判定したとき、アプリケーションプログラム１６のインストールを禁止する手段をさらに有する。
【００１６】
上記インストール制御手段１１は、例えばコンピュータ１３によって実行されるプログラムで実現される。また、認証装置１２は、例えば暗号化アルゴリズムを有するＩＣカードで実現されるのが好ましく、この場合、ＩＣカードとのデータの送受信にはコンピュータ１３に接続されたリーダライタ（図示せず）が用いられる。
【００１７】
図２は、本発明において、インストールされたアプリケーションプログラムの起動時におけるライセンス認証システムの原理ブロック図である。
【００１８】
本発明によるライセンス認証システム１は、
コンピュータ１３にインストールされたアプリケーションプログラム１６が起動されたとき、使用時のコンピュータ１３−１のハードウェア固有情報を取得するとともに、情報認証ストア１５に記録された認証情報および公開鍵を取得する取得手段２１と、
この取得された認証情報を、この認証情報とともに取得された公開鍵を用いて復号化することで、図１に示すインストール時点のコンピュータ１３のハードウェア固有情報を再生する再生手段２２と、
使用時のコンピュータ１３−１のハードウェア固有情報と、インストール時点のコンピュータ１３のハードウェア固有情報とを照合する照合手段２３と、
照合手段２３の照合の結果に基づいて、アプリケーションプログラム１６の実行を許可するか禁止するかを判定する判定手段２４と、
を有する起動認証手段２０をさらに備える。
【００１９】
上記起動認証手段２０は、例えばコンピュータ１３によって実行されるプログラムで実現される。
【００２０】
このように、本発明のライセンス認証装置１は、インストール制御手段１１と認識装置１２とを備え、好ましくは起動認証手段２０をさらに備える。
【発明の効果】
【００２１】
本発明のライセンス認証システムによれば、ライセンス数を越えたインストールを制限することができ、またライセンス数の変更も容易に可能である。ライセンス数の変更は、インターネットなどのネットワークを介してできるようにしてもよいし、アプリケーションプログラムのメーカ、ベンダー、販売店もしくはサービスセンターなどに認証装置を持ち込んで処理できるようにしてもよい。
【００２２】
また、認証装置に記憶された公開鍵と、アプリケーションプログラムの暗号化に用いた秘密鍵とが対応していない場合は、暗号化済のアプリケーションプログラムを正常に復号することができないので、アプリケーションプログラムの不正インストール、不正コピーおよび不正使用などのライセンス違反を防ぐことができる。
【００２３】
さらに、本発明のライセンス認証システムによれば、アプリケーションプログラムインストール後の不正利用を排除でき、ライセンス違反を防ぐことができる。
【００２４】
また、本発明によれば、コンピュータの運用環境に左右されず、例えばネットワークに接続されていない情報機器や、モバイル環境で利用される携帯端末に対しても、インストール後のアプリケーションプログラムの不正利用を防止することができる。
【００２５】
本発明によれば、アプリケーションプログラムおよびインストール制御プログラムを含むソフトウェアとこれに対応する認証装置とで連携してインストールを制御する。したがって、製品の販売方法としては、例えばソフトウェアと認証装置を１セットにパッケージして販売してもよいし、ソフトウェアはインターネットなどのネットワークを介してダウンロード可能にし、認証装置のみを店頭にてあるいは通信販売にて販売してもよい。特に認証装置のみの販売は、流通コストを抑えることができるので、メーカもしくはベンダーなどにとっては高収益をあげることができるとともに、ユーザにとっても購入価格が低減されるというメリットがある。
【００２６】
認証装置をＩＣカードとした場合は、ＩＣカードのコピーは、原理的に不可能であるので、特に安全性が高く、またＩＣカードそのものも非常に安価であるので有効である。
【発明を実施するための最良の形態】
【００２７】
図３は、本発明の実施例による、アプリケーションプログラムのインストール時におけるライセンス認証システムの説明図である。図中の各シンボルの意味については凡例に示す。図４は、本発明の実施例による、アプリケーションプログラムのインストール時におけるライセンス認証システムの動作を示すフローチャートである。
【００２８】
本実施例においては、図１および２を参照して説明した認証装置１２は、暗号化アルゴリズムを有するＩＣカード１２−１とする。一般にＩＣカードは、データ記憶用のＩＣメモリを内蔵しており、かつ、入力されたデータを暗号化する暗号化アルゴリズムを有する。このため「クリプトカード」とも称される。
【００２９】
ＩＣカードは、通信手段の違いから非接触型と接触型とにさらに分けられるが、いずれの場合もリーダライタを介してデータの読取りおよび書込みを行う。本実施例では、ＩＣカードは非接触型のものであるとするが、接触型のＩＣカードに本発明を適用することも可能である。
【００３０】
ＩＣカード１２−１は、秘密鍵と、この秘密鍵に対応する公開鍵と、アプリケーションプログラムのライセンス数を管理するためのライセンス管理テーブル１４とを有する。ライセンス管理テーブル１４は、詳細については後述するが、ＩＣカード１２−１のＩＣメモリの所定の記憶領域上に実現される。
【００３１】
また、図１を参照して説明したインストール制御手段１１は、コンピュータにより実行されるプログラム形式で実現され、これをインストール制御プログラム１１−１とする。
【００３２】
なお、本実施例では、インストール対象のアプリケーションプログラム１６を、ＩＣカード１２−１内の秘密鍵を用いて予め暗号化しておく（図３中、凡例を参照）。具体的に言えば、アプリケーションプログラム１６が市場に流通される前までに、例えばアプリケーションプログラム１６の製造時に、このアプリケーションプログラム１６に一対一に対応するＩＣカード１２−１内に記憶された秘密鍵を用いて暗号化する。アプリケーションプログラム１６は、例えば上述のインストール制御プログラム１１−１とともに１つのソフトウェアとしてパッケージングされ、ＣＤ−Ｒ、ＤＶＤもしくはフレキシブルディスクなどの記憶媒体に記録される方式で、もしくはインターネット経由などの電気通信による方式で、市場に流通される。かつ、このときのソフトウェア（すなわち、アプリケーションプログラム１６およびインストール制御プログラム１１−１）に一対一に対応するＩＣカード１２−１も市場に流通される。
【００３３】
アプリケーションプログラム１６の購入者（以下、「ユーザ」と称する。）は、まず、アプリケーションプログラム１６およびインストール制御プログラム１１−１を、アプリケーションプログラム１６のインストール先となり得るコンピュータ１３のハードディスクにロードする。この時点ではアプリケーションプログラム１６は暗号化された状態のままであるので、ユーザはアプリケーションプログラムを未だ使用することができず、インストール制御プログラム１１−１のみ使用可能である。なお、図３においては、説明を簡明にするために、アプリケーションプログラム１６およびインストール制御プログラム１１−１をコンピュータ１３の外部に描いているが、実際はコンピュータ１３のハードディスク内に記録され、その実行はコンピュータの作業メモリ上で実行される。
【００３４】
ユーザは、コンピュータ１３に、ＩＣカード１２−１に対してデータの読取りおよび書込みを行うためのリーダライタ（図示せず）を接続する。
【００３５】
まず、図４のステップＳ１００において、ユーザはＩＣカード１２−１に、ＩＣカード１２−１に固有のコードであるＰＩＮ（Personal Identification Number）コードを入力する。一般に、ＩＣカードは、対応するＰＩＮコードを入力することにより使用可能となる。本実施例では、ＰＩＮコードに係る文字列をコンピュータからキーボード入力し、このＰＩＮコードはリーダライタを介してＩＣカード１２−１に入力される。本実施例では、このＰＩＮコードが従来のインストール作業におけるアクティベーションキー（シリアルキー）に相当することになる。
【００３６】
すると、ステップＳ１０１において、インストール制御プログラム１１−１は、ＰＩＮコードの入力により、対応するＩＣカード１２−１が使用可能になったことを感知して、現在接続されているコンピュータ、すなわち、インストール先のコンピュータ１３から、該コンピュータ１３に固有のハードウェア固有情報を取得する。取得されたハードウェア固有情報はリーダライタを介してＩＣカード１２−１へ入力される。このハードウェア固有情報は、ハードディスクが現時点すなわちインストール時点で接続されているコンピュータ１３の本体を特定できる情報であればよく、例えばＭＡＣアドレスがある。その他、ハードウェア固有情報の例として、コンピュータ固有の製造番号（シリアル番号）、搭載されているメモリもしくはハードディスクの初期容量、あるいはこれらの組合せなどであってもよい。
【００３７】
次いで、ステップＳ１０２において、ＩＣカード１２−１は、入力されたハードウェア固有情報を、ＩＣカード１２−１自身が有する暗号化アルゴリズムに従って秘密鍵を用いて暗号化する。ここでは、ハードウェア固有情報を暗号化して生成された情報を「認証情報」と称する。
【００３８】
次に、ステップＳ１０３において、インストール制御プログラム１１−１は、認証情報および公開鍵をＩＣカード１２−１から取得する。
【００３９】
次いで、ステップＳ１０４において、インストール制御プログラム１１−１は、ＩＣカード１２−１内のライセンス管理テーブルを参照して、アプリケーションプログラム１６のコンピュータ１３へのインストールが可能であるか否かを判定する。
【００４０】
図５は、本発明の実施例におけるライセンス管理テーブルの概念図である。
本実施例におけるライセンス管理テーブル１４は、アプリケーションプログラム１６がコンピュータにインストールされた時点の認証情報が格納され得るフィールドを、ライセンス数に相当する数だけ有する。ライセンス管理テーブル１４は、ＩＣカード１２−１のＩＣメモリの所定の記憶領域上に実現される。図５では、ユーザにライセンスされるアプリケーションプログラム１６の数が３である場合を例示しており、したがって、ライセンス管理テーブル１４は、フィールドＡ、フィールドＢおよびフィールドＣの合計３個のフィールドを有する。アプリケーションプログラム１６がコンピュータ１３に正当にインストールできた場合は、そのインストール時点における認証情報がライセンス管理テーブル１４のフィールドのうち、未だ認証情報が格納されていないフィールド（以下、「空きのフィールド」と称する。）に格納される。
【００４１】
図４のステップＳ１０４におけるインストール制御プログラム１１−１によるインストールの可否の判定は、ライセンス管理テーブル１４に認証情報が記憶されていない空きのフィールドがあるか否かに基づいて判定される。
【００４２】
ステップＳ１０４においてライセンス管理テーブル１４に空きのフィールドがあると判定された場合は、インストールは可能であるということであるので、ステップＳ１０５に進み、インストールが許可される。これに伴って、このときの認証情報が空きのフィールドに格納される。なお、複数空きのフィールドがある場合は、認証情報はいずれの空きのフィールドに格納してもよい。
【００４３】
一方、ステップＳ１０４においてライセンス管理テーブル１４に空きのフィールドがないと判定された場合は、これ以上のインストールは不可であるということであるので、ステップＳ１０６に進み、インストールが禁止される。
【００４４】
図５に示す例では、フィールドＡおよびＢには既に認証情報αおよびβが格納されており、フィールドＣは何も格納されていない。したがって、図５の場合は、ライセンス数３のうち、あと１つライセンスがあるということを意味しており、インストールが可能であるということがわかる。
【００４５】
なお、図４のフローチャートには示していないが、ステップＳ１０４において、ライセンス管理テーブル１４内のフィールドに既に格納されている認証情報に、ステップＳ１０２において生成された認証情報と同じものがある判定された場合も、インストール可能であると判定するようにしてもよい。この状態は、既にインストールしたアプリケーションプログラムのオーバーライト（上書き）に相当する。
【００４６】
このように、本実施例におけるＩＣカード１２−１では、ＩＣカード１２−１内の記憶領域に、アプリケーションプログラム１６がコンピュータにインストールされた時点に得られる認証情報が格納され得るフィールドをライセンス数に相当する数だけ有したライセンス管理テーブル１４が割り当てられ、このライセンス管理テーブル１４に、認証情報が記憶されていない空きのフィールドがあるか否かに基づいて、アプリケーションプログラム１６のコンピュータ１３へのインストールの可否が判定される。
【００４７】
本実施例においては、ライセンス数を変更する場合は、ＩＣカード１２−１の所定の記憶領域内にあるライセンス管理テーブル１４内のフィールドの数を変更すればよい。フィールドの数の変更は、インターネットなどのネットワークを介してできるようにしてもよいし、アプリケーションプログラムのメーカ、ベンダー、販売店もしくはサービスセンターなどにＩＣカードを持ち込んで処理できるようにしてもよい。このように、本実施例によればライセンス数は容易に変更可能である。
【００４８】
上述のように、図４のステップＳ１０４においてライセンス管理テーブル１４に空きのフィールドがあると判定された場合は、ステップＳ１０５に進み、インストールが許可される。
【００４９】
ステップＳ１０５では、インストール制御プログラム１１−１は、まず、秘密鍵を用いて予め暗号化されてあるアプリケーションプログラム１６を、ステップＳ１０３において既に取得してある公開鍵を用いて復号してコンピュータ１３にインストールする（ステップＳ１０５−１）。ここで、ＩＣカード１２−１に記憶された公開鍵と、アプリケーションプログラム１６の暗号化に用いた秘密鍵とが対応していない場合は、暗号化済のアプリケーションプログラム１６を正常に復号することができない。したがって、本実施例によれば、アプリケーションプログラムの不正インストール、不正コピーおよび不正使用などのライセンス違反を防ぐことができる。また、ＩＣカードのコピーも原理的に不可能であるので、本実施例によるライセンス認証システムは特に安全性が高いといえる。
【００５０】
一方で、インストール制御プログラム１１−１は、このときの認証情報（以下、「インストール時点の認証情報」と称する）を公開鍵とともにコンピュータ１３内の情報認証ストア１５に記録する（ステップＳ１０５−２）。情報認証ストア１５は、コンピュータ１３のハードディスク（図示せず）中の所定の記憶領域を割り当てればよい。ステップＳ１０５−２により、インストール時点の認証情報および公開鍵が、ＩＣカード１２−２と情報認証ストア１５とで共有されたことになる。
【００５１】
なお、本実施例においては、ステップＳ１０５−１とステップＳ１０５−２ととの間ではどちらのステップを先に実行してもよい。
【００５２】
上述のように、アプリケーションプログラムおよびインストール制御プログラムを含むソフトウェアとこれに対応するＩＣカードとで連携してインストールを制御する。したがって、製品の販売方法としては、例えばソフトウェアとＩＣカードを１セットにパッケージングして販売してもよいし、ソフトウェアはインターネットなどのネットワークを介してダウンロード可能にし、ＩＣカードのみを店頭にてあるいは通信販売にて販売してもよい。特にＩＣカードのみの販売は、流通コストを抑えることができるので、メーカもしくはベンダーなどにとっては高収益をあげることができるとともに、ユーザにとっても購入価格が低減されるというメリットがある。
【００５３】
以上説明したように、本実施例のライセンス認証システムによれば、ライセンス数を越えたインストールを制限することができ、またライセンス数の変更も容易に可能である。
【００５４】
また、ＩＣカードに記憶された公開鍵と、アプリケーションプログラムの暗号化に用いた秘密鍵とが対応していない場合は、暗号化済のアプリケーションプログラムを正常に復号することができないので、アプリケーションプログラムの不正インストール、不正コピーおよび不正使用などのライセンス違反を防ぐことができる。ＩＣカードのコピーは、原理的に不可能であるので、特に安全性が高い。
【００５５】
続いて、上述のようにインストールされたアプリケーションプログラムの起動処理について説明する。図６は、本発明の実施例による、アプリケーションプログラムの起動時におけるライセンス認証システムの説明図である。図中の各シンボルの意味については凡例に示す。図７は、本発明の実施例による、アプリケーションプログラムの起動時におけるライセンス認証システムの動作を示すフローチャートである。
【００５６】
本実施例では、図２を参照して説明した起動認証手段２０は、コンピュータにより実行されるプログラム形式で実現され、これを起動認証プログラム２０−１とする。
【００５７】
また、上述のようにインストールされたアプリケーションプログラム１６は、図６においては、このアプリケーションプログラム本来の機能を有するプログラム（以下、「目的プログラム１６−１」と称する）と、起動認証プログラム２０−１とからなるものとする。この場合、アプリケーションプログラム１６のインストール完了前は、目的プログラム１６−１および起動認証プログラム２０−１ともにＩＣカード１２−１内の秘密鍵を用いて暗号化されていたことになり、既に説明した本実施例のインストール処理にしたがって復号化される。
【００５８】
なお、目的プログラム１６−１そのものをアプリケーションプログラムとし、上述のインストール制御プログラム１１−１と同様に、起動認証プログラム２０−１も別プログラム形式にしてもよい。この場合は、目的プログラム１６−１および起動認証プログラム２０−１ともにＩＣカード１２−１内の秘密鍵を用いて暗号化してもよく、あるいは目的プログラム１６−１のみを暗号化してもよい。
【００５９】
なお、図６においては、説明を簡明にするために、目的プログラム１６−１および起動認証プログラム２０−１をコンピュータ１３−１の外部に描いているが、実際はコンピュータ１３−１のハードディスク内に記録され、その実行はコンピュータの作業メモリ上で実行される。
【００６０】
まず、図７のステップＳ２００において、ユーザは、現在使用中のコンピュータ１３−１（以下、「使用時のコンピュータ１３−１」と称する）にインストールされたアプリケーションプログラム１６の起動させるための手動操作を行う。例えば、ディスプレイ画面上に表示された該アプリケーションプログラム１６のアイコン（図示せず）を、マウスなどを用いてクリック操作する。
【００６１】
すると、ステップＳ２０１において、起動認証プログラム２０−１は、まず、使用時のコンピュータ１３−１のハードウェア固有情報を取得する（ステップＳ２０１−１）。ハードウェア固有情報は、使用時のコンピュータを特定できる情報であればよく、例えばＭＡＣアドレスがある。その他、ハードウェア固有情報の例として、コンピュータ固有の製造番号（シリアル番号）、搭載されているメモリもしくはハードディスクの初期容量、あるいはこれらの組合せなどであってもよい。
【００６２】
一方で、起動認証プログラム２０−１は、情報認証ストア１５に記録された認証情報および公開鍵を取得する（ステップＳ２０１−２）。これら認証情報および公開鍵は、上述の図４のステップＳ１０５−２においてインストール制御プログラム１１−１によってインストール時点のコンピュータ１３の情報認証ストア１５に記録されたものである。
【００６３】
なお、本実施例においては、ステップＳ２０１−１とステップＳ２０１−２ととの間ではどちらのステップを先に実行してもよい。
【００６４】
次に、ステップＳ２０２において、起動認証プログラム２０−１は、ステップＳ２０１−２で取得された前記認証情報を、この認証情報とともに取得された公開鍵を用いて復号化する。これにより、上述の図４のステップＳ１０１で取得されたインストール時点のコンピュータ１３のハードウェア固有情報が再生されるになる。
【００６５】
次いで、ステップＳ２０３において、起動認証プログラム２０−１は、ステップＳ２０１−１において取得された使用時のコンピュータ１３−１のハードウェア固有情報と、ステップＳ２０２において再生されたインストール時点のコンピュータ１３のハードウェア固有情報とを照合する。
【００６６】
ステップＳ２０３において、使用時のコンピュータ１３−１のハードウェア固有情報とインストール時点のコンピュータ１３のハードウェア固有情報とが一致すると判定された場合は、使用時のコンピュータ１３−１とインストール時点のコンピュータ１３とが一致していることを意味しており、不正な使用ではないという保証となるので、ステップＳ２０４に進み、目的プログラム１６−１の実行を許可する。これにより目的プログラム１６−１は正常に起動される。
【００６７】
一方、ステップＳ２０３において、使用時のコンピュータ１３−１のハードウェア固有情報とインストール時点のコンピュータ１３のハードウェア固有情報とが不一致であると判定された場合は、使用時のコンピュータ１３−１とインストール時点のコンピュータ１３とが不一致であることを意味しており、ステップＳ２０５に進み、目的プログラム１６−１の実行を禁止する。使用時のコンピュータ１３−１とインストール時点のコンピュータとが不一致であるということは、不正な利用の可能性があるということであり、例えば、ライセンスされたコンピュータにインストールされたアプリケーションプログラムが、全く別のコンピュータのハードディスクに不正にコピーされて利用されようとした場合などがこの「不正な利用」に相当する。
【００６８】
このように、本実施例によれば、上述のインストール処理によって得られた、コンピュータ１３−１内の情報認証ストア１５に記憶された認証情報および公開鍵を再度アプリケーションプログラム１６の起動時にも用いて起動時の認証を得るので、コンピュータの運用環境に左右されず、例えばネットワークに接続されていない情報機器や、モバイル環境で利用される携帯端末に対しても、インストール後のアプリケーションプログラムの不正利用を防止することができる。
【００６９】
上述の処理は、ユーザによるアプリケーションプログラムの起動操作の度に実行されるのがセキュリティ上好ましい。
【００７０】
例えば、アプリケーションプログラム１６が目的プログラム１６−１と起動認証プログラム２０−１とからなる場合は、ユーザによる起動操作時にまず起動認証プログラム２０−１が自動的に立ち上がって上記認証処理が実行され、認証が得られた後に初めて目的プログラム１６−１が立ち上がるようなプログラム処理フローとすればよい。
【００７１】
あるいは例えば、目的プログラム１６−１そのものをアプリケーションプログラムとし、起動認証プログラム２０−１を別プログラム形式にした場合は、ユーザによる起動操作時に起動認証プログラム２０−１が自動的に立ち上がって上記認証処理が実行され、認証が得られた後に目的プログラム１６−１が起動されるよう、起動認証プログラム２０−１と目的プログラム１６−１との処理をリンクさせればよい。
【００７２】
本実施例の変形例として、起動認証プログラム２０−１内に、ＩＣカード１２−１に記憶された秘密鍵を用いて暗号化された情報をさらに埋め込むことで、認証情報ストアに記録されてある公開鍵が対応する公開鍵にのみ起動認証プログラム２０−１が正常に実行できるようにし、さらに安全性を高めてもよい。
【００７３】
以上説明したように、本実施例のライセンス認証システムによれば、アプリケーションプログラムインストール後の不正利用を排除でき、ライセンス違反を防ぐことができる。
【００７４】
また、本実施例によれば、コンピュータの運用環境に左右されず、例えばネットワークに接続されていない情報機器や、モバイル環境で利用される携帯端末に対しても、インストール後のアプリケーションプログラムの不正利用を防止することができる。
【００７５】
以上説明した本発明の実施例によるライセンス認証システムにおける認証装置を、暗号化アルゴリズムを有するＩＣカードとしたが、暗号化処理手段と、秘密鍵、公開鍵およびライセンス管理テーブルを記憶できる容量を有するメモリ手段とを有する装置であればその他の構造を有していてもよい。
【産業上の利用可能性】
【００７６】
本発明は、ライセンスの必要なソフトウェアをコンピュータにインストールする際、ライセンスを認証するライセンス認証方法およびライセンス認証システムとして利用できる。
【００７７】
本発明によれば、ライセンス数を越えたインストールを制限することができ、またライセンス数の変更も容易に可能である。ライセンス数の変更は、インターネットなどのネットワークを介してできるようにしてもよいし、アプリケーションプログラムのメーカ、ベンダー、販売店もしくはサービスセンターなどに認証装置を持ち込んで処理できるようにしてもよい。
【００７８】
また、アプリケーションプログラムの不正インストール、不正コピーおよび不正使用、ならびにアプリケーションプログラムインストール後の不正利用などのライセンス違反を防ぐことができる。
【００７９】
また、本発明によれば、コンピュータの運用環境に左右されず、例えばネットワークに接続されていない情報機器や、モバイル環境で利用される携帯端末に対しても、インストール後のアプリケーションプログラムの不正利用を防止することができる。
【００８０】
本発明によれば、製品の販売方法としては、例えばソフトウェアと認証装置を１セットにパッケージして販売してもよいし、ソフトウェアはインターネットなどのネットワークを介してダウンロード可能にし、認証装置のみを店頭にてあるいは通信販売にて販売してもよい。特に認証装置のみの販売は、流通コストを抑えることができるので、メーカもしくはベンダーなどにとっては高収益をあげることができるとともに、ユーザにとっても購入価格が低減されるというメリットがある。
【００８１】
認証装置をＩＣカードとした場合は、ＩＣカードのコピーは、原理的に不可能であるので、特に安全性が高く、またＩＣカードそのものも非常に安価であるので有効である。
【図面の簡単な説明】
【００８２】
【図１】本発明によるアプリケーションプログラムのインストール時におけるライセンス認証システムの原理ブロック図である。
【図２】本発明において、インストールされたアプリケーションプログラムの起動時におけるライセンス認証システムの原理ブロック図である。
【図３】本発明の実施例による、アプリケーションプログラムのインストール時におけるライセンス認証システムの説明図である。
【図４】本発明の実施例による、アプリケーションプログラムのインストール時におけるライセンス認証システムの動作を示すフローチャートである。
【図５】本発明の実施例におけるライセンス管理テーブルの概念図である。
【図６】本発明の実施例による、アプリケーションプログラムの起動時におけるライセンス認証システムの説明図である。
【図７】本発明の実施例による、アプリケーションプログラムの起動時におけるライセンス認証システムの動作を示すフローチャートである。
【符号の説明】
【００８３】
１…ライセンス認証システム
１１…インストール制御手段
１１−１…インストール制御プログラム
１２…認証装置
１２−１…ＩＣカード
１３…インストール時点のコンピュータ
１３−１…使用時のコンピュータ
１４…ライセンス管理テーブル
１５…情報認証ストア
１６…アプリケーションプログラム
１６−１…目的プログラム
２０…起動認証手段
２０−１…起動認証プログラム
２１…取得手段
２２…生成手段
２３…照合手段
２４…判定手段
【図１】
2005122283.tif 000003
【図２】
2005122283.tif 000004
【図３】
2005122283.tif 000005
【図４】
2005122283.tif 000006
【図５】
2005122283.tif 000007
【図６】
2005122283.tif 000008
【図７】
2005122283.tif 000009