(57)【要約】【課題】スタンドアローンなコンピュータにも適用でき，更に，ソフトウェアの移設に係わる処理も容易にできるライセンス管理システムを提供する。【解決手段】ライセンス管理システム１において，ＰＣ２はソフトウェア５を起動するとき，ＰＣ２側で記憶している認証コードをＩＣカード３に認証させる。ＩＣカード３は，認証コードのシードと対になる参照シードを利用して認証コードを認証し，認証に成功すると，参照シードに含まれる参照カウンタをインクリメントする。ＰＣ２は，ＩＣカード３が認証コードの認証に成功すると，ソフトウェア５の起動を許可すると共に，シードに含まれる認証カウンタをインクリメントした後，該シードを元にする認証コードをＩＣカード３に生成させ，ＩＣカード３が生成した認証コードを次回の起動管理に利用する認証コードとして記憶する。【選択図】図１
2010146125.tif 000002
【特許請求の範囲】
【請求項１】
トークンとコンピュータ装置とから少なくとも構成され，前記コンピュータ装置にインストールされたソフトウェアのライセンスを管理するライセンス管理システムであって，前記コンピュータ装置は，前記ソフトウェアを起動する操作があったとき，前記コンピュータ側で記憶している認証コードを前記トークンに認証させ，前記トークンが該認証コードの認証に成功すると，前記ソフトウェアの起動を許可すると共に，前記ソフトウェアから得られるシードに含まれる第１の可変要素を所定のルールに従い変更した後，前記シードを前記トークンに送信することで，前記トークンに前記認証コードを生成させ，前記トークンが生成した前記認証コードを次回の起動管理に利用する前記認証コードとして記憶する起動管理手段を備え，前記トークンは，前記コンピュータから送信される前記シードを元にした前記認証コードを生成するコード生成手段と，前記トークン側のメモリに記憶され，前記シードと対になり，前記第１の可変要素と同期する第２の可変要素を含む参照シードを用いて，前記コンピュータから送信される認証コードを認証し，前記認証コードの認証に成功すると，前記所定のルールに従い，前記第２の可変要素を変更させるコード認証手段とを備えていることを特徴とするライセンス管理システム。
【請求項２】
請求項１に記載のライセンス管理システムにおいて，前記第１の可変要素及び前記第２の可変要素はカウンタであって，前記コンピュータ装置の前記起動管理手段は，前記トークンが前記認証コードの認証に成功すると，前記第１の可変要素となるカウンタを所定の値だけインクリメントする手段で，前記トークンの前記コード認証手段は，前記コードの認証に成功すると，前記第２の可変要素となるカウンタを所定の値だけインクリメントする手段であることを特徴とするライセンス管理システム。
【請求項３】
請求項２に記載のライセンス管理システムにおいて，前記コンピュータ装置の前記起動管理手段は，前記第１の可変要素となるカウンタの値のハッシュ値を前記シードに含ませ，前記トークンの前記コード認証手段は，前記参照シードに含まれる前記第２の可変要素となるカウンタの値のハッシュ値を算出し，前記認証コードを認証することを特徴とするライセンス管理システム。
【請求項４】
請求項３に記載のライセンス管理システムにおいて，前記トークン側に記憶される前記参照シードに，前記ソフトウェアが前記コンピュータにインストールされたときの前記ソフトウェアのプログラムコードから算出されたハッシュ値を含ませ，前記コンピュータ装置の前記起動管理手段は，前記ソフトウェアのプログラムコードからハッシュ値を算出し，前記該ハッシュ値を前記シードに含ませる手段であることを特徴とするライセンス管理システム。
【請求項５】
請求項３または請求項４に記載のライセンス管理システムにおいて，前記トークン側に記憶される前記参照シードに，前記ソフトウェアのインストール情報の全て或いは一部から算出されたハッシュ値を含ませ，前記コンピュータ装置の前記起動管理手段は，前記ソフトウェアが前記コンピュータにインストールされたときの前記インストール情報の全て或いは一部からハッシュ値を算出し，該ハッシュ値を前記シードに含ませる手段であることを特徴とするライセンス管理システム。
【請求項６】
請求項１から請求項５のいずれか一つに記載のライセンス管理システムにおいて，前記コンピュータ装置は，前記トークンに記憶された前記参照シードが初期値である場合，前記コンピュータ装置に前記ソフトウェアをインストールした後，該ソフトウェアから得られる前記シードを前記参照シードとして前記トークンに書き込むインストール手段を備えていることを特徴とするライセンス管理システム。
【請求項７】
請求項１から請求項６のいずれか一つに記載のライセンス管理システムにおいて，前記コンピュータ装置は，前記ソフトウェアを前記コンピュータ装置からアンインストールする共に，前記トークン側に記憶された前記参照シードの初期化を要求するアンインストール手段を備え，前記トークンは，前記コンピュータ装置からの要求に従い，前記参照シードを初期化する手段を備えていることを特徴とするライセンス管理システム。
【請求項８】
トークンとコンピュータ装置とから少なくとも構成され，前記コンピュータにインストールされたソフトウェアのライセンスを管理するライセンス管理方法であって，前記ソフトウェアを起動する操作があったとき，前記コンピュータ装置が，前記コンピュータ側で記憶している認証コードの認証要求を前記トークンにするステップａ，前記トークンが，前記ソフトウェアから得られ，第１の可変要素を含むシードと対になり，前記第１の可変要素と同期させる第２の可変要素を含む参照シードを用いて，前記コンピュータから送信される認証コードを認証し，該認証コードの認証に成功した場合は，前記第２の可変要素を所定のルールに従い変更した後に，認証結果を前記コンピュータに返信するステップｂ，前記トークンが前記認証コードの認証に成功した場合，前記コンピュータ装置が，前記ソフトウェアの起動を許可すると共に，前記ソフトウェアから得られる前記シードに含まれる前記第１の可変要素を所定のルールに従い変更した後，該シードを前記トークンに送信し，前記認証コードの生成を要求するステップｃ，前記トークンが，前記コンピュータから送信される前記シードを元にした前記認証コードを生成し，生成した前記認証コードを前記コンピュータに返信するステップｄ，前記コンピュータ装置が，前記トークンから受信した前記認証コードを，次回の起動管理に利用する前記認証コードとして記憶するステップｅ，が実行される起動管理工程を含むことを特徴とするライセンス管理方法。
【請求項９】
請求項８に記載のライセンス管理方法において，前記第１の可変要素及び前記第２の可変要素はカウンタであって，前記起動管理工程の前記ステップｂにおいて，前記トークンは，前記コンピュータから送信される前記認証コードの認証に成功すると，前記参照シードに含まれる前記第２の可変要素となるカウンタを所定の値だけインクリメントし，前記起動管理工程の前記ステップｃにおいて，前記コンピュータ装置は，前記トークンが前記認証コードの認証に成功した場合，前記第１の可変要素となるカウンタを所定の値だけインクリメントした後，前記第１の可変要素となるカウンタの値を前記シードに含ませることを特徴とするライセンス管理方法。
【請求項１０】
請求項９に記載のライセンス管理方法において，前記起動管理工程の前記ステップｂにおいて，前記トークンは，前記参照シードに含まれる前記第２の可変要素となるカウンタの値のハッシュ値を算出して，前記認証コードを認証し，前記起動管理工程の前記ステップｃにおいて，前記コンピュータ装置は，前記第１の可変要素となるカウンタの値のハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法。
【請求項１１】
請求項１０に記載のライセンス管理方法において，前記トークン側に記憶される前記参照シードに，前記ソフトウェアが前記コンピュータにインストールされたときの前記ソフトウェアのプログラムコードから算出されたハッシュ値を含ませ，前記起動管理工程の前記ステップｃにおいて，前記コンピュータ装置は，前記ソフトウェアのプログラムコードからハッシュ値を算出し，該ハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法。
【請求項１２】
請求項１０または請求項１１に記載のライセンス管理方法において，前記トークン側に記憶される前記参照シードに，前記ソフトウェアのインストール情報の全て或いは一部から算出されたハッシュ値を含ませ，前記起動管理工程の前記ステップｃにおいて，前記コンピュータ装置は，前記ソフトウェアが前記コンピュータにインストールされたときの前記インストール情報の全て或いは一部からハッシュ値を算出し，該ハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法。
【請求項１３】
請求項８から請求項１２のいずれか一つに記載のライセンス管理方法において，前記コンピュータ装置が，前記コンピュータ装置に前記ソフトウェアをインストール前に，前記トークンに記憶された前記参照シードが初期値であるか確認し，前記参照シードが初期値である場合，前記コンピュータ装置に前記ソフトウェアをインストールした後，該ソフトウェアから得られる前記シードを前記参照シードとして前記トークンに書き込むインストール工程を含むことを特徴とするライセンス管理方法。
【請求項１４】
請求項８から請求項１３のいずれか一つに記載のライセンス管理方法において，前記コンピュータ装置が，前記ソフトウェアを前記コンピュータ装置からアンインストールする共に，前記トークン側に記憶された前記参照シードの初期化を要求し，前記トークンが，前記コンピュータ装置からの要求に従い，前記参照シードを初期化するアンインストール工程を含むことを特徴とするライセンス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，コンピュータにインストールされたソフトウェアのライセンスを管理する技術に関し，更に詳しくは，該ソフトウェアの実行を管理することで，該ソフトウェアのライセンスを管理する技術に関する。
【背景技術】
【０００２】
ソフトウェアの販売は使用許諾権（ライセンス：license）の販売になるため，一つのソフトウェアを複数台のコンピュータへインストールすることは固く禁じられ，当然のことながら，ソフトウェアのライセンス数を超えてインストールして使用する行為は違法行為になってしまう。
【０００３】
しかし，ソフトウェアはCD-ROMなどのメディアに記憶されて販売され，何らかの対策を施さなければ，簡単に不正なインストールができてしまうため， ソフトウェアのライセンスを管理することが必要とされている。
【０００４】
ソフトウェアのライセンス管理する手法としては，ソフトウェアをコンピュータにインストールするためのコンピュータプログラムであるインストーラが，コンピュータに入力されたライセンスキーを認証することで，ソフトウェアのインストールを管理する手法が広く用いられている。
【０００５】
また，特許文献１では，ＩＣカードを用いてソフトウェアのライセンス数を管理する発明が開示されている。特許文献１においては、ユーザに与えられているライセンス数だけＭＡＣアドレスを格納する領域が設けられたＩＣカードが用意され，コンピュータにソフトウェアをインストールしたとき，ＩＣカードに該コンピュータのＭＡＣアドレスを書き込み，コンピュータからソフトウェアをアンインストールしたときに，該コンピュータのＭＡＣアドレスをＩＣカードから消去することで，ソフトウェアのライセンスが管理される。
【０００６】
上述したこれらの技術は，不正なソフトウェアのインストールを禁止するための技術であるが，一方，コンピュータにソフトウェアをインストールできるが，該ソフトウェアの実行を管理することで，ソフトウェアのライセンス管理する発明も開示されている。
【０００７】
例えば，特許文献２で開示されている発明は，ライセンスを管理する装置をネットワーク上に設置し、該装置は，コンピュータで使用されているソフトウェアの数よりも，ライセンス数が大きい場合に、該ソフトウェアの使用を許諾するように構成されている。
【０００８】
しかし，特許文献２のように，ネットワークに接続された装置を利用して，コンピュータにインストールされたソフトウェアの使用を管理するようにすると，外部接続が禁止されているネットワークに接続されたコンピュータにソフトウェアをインストールする場合や，ネットワークに接続されておらずスタンドアローンで使用されるコンピュータにソフトウェアをインストールする場合，コンピュータは該装置にアクセスできず，ソフトウェアの使用を管理することができない問題がある。
【０００９】
この問題を解決する発明として，例えば，特許文献３において，スタンドアローンで使用されるコンピュータにおいても，ソフトウェアの起動を制御することでライセンス管理する発明が開示されている。
【００１０】
特許文献３で開示されている発明では，コンピュータにインストールされるソフトウェアは，主機能モジュールと認証モジュールとを含み，ソフトウェアがインストールされるコンピュータのMACアドレスからライセンスキーが生成され，ライセンスキーがコンピュータにインストールされる。
【００１１】
そして，ソフトウェアを起動するとき，まず，認証モジュールが起動し，認証モジュールは，ソフトウェアが起動されるコンピュータのMACアドレスからライセンス照合キーを生成し，コンピュータに記憶されたライセンスキーとライセンス照合キーを照合することで，ソフトウェアの起動を管理する。
【００１２】
すなわち，特許文献３で開示されている発明では，ライセンスキーを発行したときに対象となったコンピュータと，ソフトウェアがインストールされたコンピュータが異なると，それぞれのコンピュータのＭＡＣアドレスが異なるため，ソフトウェアは起動しなくなる。
【００１３】
しかしながら，特許文献３で開示されている発明では，スタンドアローンで使用されるコンピュータであっても，コンピュータにインストールされたソフトウェアの実行を管理できるようになるが，ソフトウェアを別のコンピュータに移設するとき，再度，ライセンスキーを生成しなければならず，移設に係わる処理が煩雑になってしまう問題がある。
【００１４】
【特許文献１】特開２００２−２６８７６４号公報
【特許文献２】特開２００３−９９１４２号公報
【特許文献３】特開２００４―８６４０４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
そこで，本発明は，特許文献２や特許文献３で開示されている内容とは異なる手法を用いて，コンピュータにインストールされたソフトウェアの起動を制御し，該ソフトウェアをライセンス管理することで，スタンドアローンなコンピュータにも適用でき，更に，ソフトウェアの移設に係わる処理も容易にできるライセンス管理システムおよび方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述した課題を解決する第1の発明は，トークンとコンピュータ装置とから少なくとも構成され，前記コンピュータ装置にインストールされたソフトウェアのライセンスを管理するライセンス管理システムであって，前記コンピュータ装置は，前記ソフトウェアを起動する操作があったとき，前記コンピュータ側で記憶している認証コードを前記トークンに認証させ，前記トークンが該認証コードの認証に成功すると，前記ソフトウェアの起動を許可すると共に，前記ソフトウェアから得られるシードに含まれる第１の可変要素を所定のルールに従い変更した後，前記シードを前記トークンに送信することで，前記トークンに前記認証コードを生成させ，前記トークンが生成した前記認証コードを次回の起動管理に利用する前記認証コードとして記憶する起動管理手段を備え，前記トークンは，前記コンピュータから送信される前記シードを元にした前記認証コードを生成するコード生成手段と，前記トークン側のメモリに記憶され，前記シードと対になり，前記第１の可変要素と同期する第２の可変要素を含む参照シードを用いて，前記コンピュータから送信される認証コードを認証し，前記認証コードの認証に成功すると，前記所定のルールに従い，前記第２の可変要素を変更させるコード認証手段とを備えていることを特徴とするライセンス管理システムである。
【００１７】
なお，ここで，トークンとは，ＩＣカードやＵＳＢトークンのように，デジタル署名などに利用する暗号鍵などを耐タンパー性高く記憶し，外部装置からの要求に応じて，該暗号鍵を利用した演算を行う機能を備えた物理デバイスを意味する。
【００１８】
更に，第２の発明は，第１の発明に記載のライセンス管理システムにおいて，前記第１の可変要素及び前記第２の可変要素はカウンタであって，前記コンピュータ装置の前記起動管理手段は，前記トークンが前記認証コードの認証に成功すると，前記第１の可変要素となるカウンタを所定の値だけインクリメントする手段で，前記トークンの前記コード認証手段は，前記コードの認証に成功すると，前記第２の可変要素となるカウンタを所定の値だけインクリメントする手段であることを特徴とするライセンス管理システムである。
【００１９】
更に，第３の発明は，第２の発明に記載のライセンス管理システムにおいて，前記コンピュータ装置の前記起動管理手段は，前記第１の可変要素となるカウンタの値のハッシュ値を前記シードに含ませ，前記トークンの前記コード認証手段は，前記参照シードに含まれる前記第２の可変要素となるカウンタの値のハッシュ値を算出し，前記認証コードを認証することを特徴とするライセンス管理システムである。
【００２０】
更に，第４の発明は，第３の発明に記載のライセンス管理システムにおいて，前記トークン側に記憶される前記参照シードに，前記ソフトウェアが前記コンピュータにインストールされたときの前記ソフトウェアのプログラムコードから算出されたハッシュ値を含ませ，前記コンピュータ装置の前記起動管理手段は，前記ソフトウェアのプログラムコードからハッシュ値を算出し，前記該ハッシュ値を前記シードに含ませる手段であることを特徴とするライセンス管理システムである。
【００２１】
更に，第５の発明は，第３の発明または第４の発明に記載のライセンス管理システムにおいて，前記トークン側に記憶される前記参照シードに，前記ソフトウェアのインストール情報の全て或いは一部から算出されたハッシュ値を含ませ，前記コンピュータ装置の前記起動管理手段は，前記ソフトウェアが前記コンピュータにインストールされたときの前記インストール情報の全て或いは一部からハッシュ値を算出し，該ハッシュ値を前記シードに含ませる手段であることを特徴とするライセンス管理システムである。
【００２２】
更に，第６の発明は，第１の発明から第５の発明のいずれか一つに記載のライセンス管理システムにおいて，前記コンピュータ装置は，前記トークンに記憶された前記参照シードが初期値である場合，前記コンピュータ装置に前記ソフトウェアをインストールした後，該ソフトウェアから得られる前記シードを前記参照シードとして前記トークンに書き込むインストール手段を備えていることを特徴とするライセンス管理システムである。
【００２３】
更に，第７の発明は，第１の発明から第６の発明のいずれか一つに記載のライセンス管理システムにおいて，前記コンピュータ装置は，前記ソフトウェアを前記コンピュータ装置からアンインストールする共に，前記トークン側に記憶された前記参照シードの初期化を要求するアンインストール手段を備え，前記トークンは，前記コンピュータ装置からの要求に従い，前記参照シードを初期化する手段を備えていることを特徴とするライセンス管理システムである。
【００２４】
更に，第８の発明は，トークンとコンピュータ装置とから少なくとも構成され，前記コンピュータにインストールされたソフトウェアのライセンスを管理するライセンス管理方法であって，前記ソフトウェアを起動する操作があったとき，前記コンピュータ装置が，前記コンピュータ側で記憶している認証コードの認証要求を前記トークンにするステップａ，前記トークンが，前記ソフトウェアから得られ，第１の可変要素を含むシードと対になり，前記第１の可変要素と同期させる第２の可変要素を含む参照シードを用いて，前記コンピュータから送信される認証コードを認証し，該認証コードの認証に成功した場合は，前記第２の可変要素を所定のルールに従い変更した後に，認証結果を前記コンピュータに返信するステップｂ，前記トークンが前記認証コードの認証に成功した場合，前記コンピュータ装置が，前記ソフトウェアの起動を許可すると共に，前記ソフトウェアから得られる前記シードに含まれる前記第１の可変要素を所定のルールに従い変更した後，該シードを前記トークンに送信し，前記認証コードの生成を要求するステップｃ，前記トークンが，前記コンピュータから送信される前記シードを元にした前記認証コードを生成し，生成した前記認証コードを前記コンピュータに返信するステップｄ，前記コンピュータ装置が，前記トークンから受信した前記認証コードを，次回の起動管理に利用する前記認証コードとして記憶するステップｅ，が実行される起動管理工程を含むことを特徴とするライセンス管理方法である。
【００２５】
更に，第９の発明は，第８の発明に記載のライセンス管理方法において，前記第１の可変要素及び前記第２の可変要素はカウンタであって，前記起動管理工程の前記ステップｂにおいて，前記トークンは，前記コンピュータから送信される前記認証コードの認証に成功すると，前記参照シードに含まれる前記第２の可変要素となるカウンタを所定の値だけインクリメントし，前記起動管理工程の前記ステップｃにおいて，前記コンピュータ装置は，前記トークンが前記認証コードの認証に成功した場合，前記第１の可変要素となるカウンタを所定の値だけインクリメントした後，前記第１の可変要素となるカウンタの値を前記シードに含ませることを特徴とするライセンス管理方法である。
【００２６】
更に，第１０の発明は，第９の発明に記載のライセンス管理方法において，前記起動管理工程の前記ステップｂにおいて，前記トークンは，前記参照シードに含まれる前記第２の可変要素となるカウンタの値のハッシュ値を算出して，前記認証コードを認証し，前記起動管理工程の前記ステップｃにおいて，前記コンピュータ装置は，前記第１の可変要素となるカウンタの値のハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法である。
【００２７】
更に，第１１の発明は，第１０の発明に記載のライセンス管理方法において，前記トークン側に記憶される前記参照シードに，前記ソフトウェアが前記コンピュータにインストールされたときの前記ソフトウェアのプログラムコードから算出されたハッシュ値を含ませ，前記起動管理工程の前記ステップｃにおいて，前記コンピュータ装置は，前記ソフトウェアのプログラムコードからハッシュ値を算出し，該ハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法である。
【００２８】
更に，第１２の発明は，第１０の発明または第１１の発明に記載のライセンス管理方法において，前記トークン側に記憶される前記参照シードに，前記ソフトウェアのインストール情報の全て或いは一部から算出されたハッシュ値を含ませ，前記起動管理工程の前記ステップｃにおいて，前記コンピュータ装置は，前記ソフトウェアが前記コンピュータにインストールされたときの前記インストール情報の全て或いは一部からハッシュ値を算出し，該ハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法である。
【００２９】
更に，第１３の発明は，第８の発明から第１２の発明のいずれか一つに記載のライセンス管理方法において，前記コンピュータ装置が，前記コンピュータ装置に前記ソフトウェアをインストール前に，前記トークンに記憶された前記参照シードが初期値であるか確認し，前記参照シードが初期値である場合，前記コンピュータ装置に前記ソフトウェアをインストールした後，該ソフトウェアから得られる前記シードを前記参照シードとして前記トークンに書き込むインストール工程を含むことを特徴とするライセンス管理方法である。
【００３０】
更に，第１４の発明は，第８の発明から第１３の発明のいずれか一つに記載のライセンス管理方法において，前記コンピュータ装置が，前記ソフトウェアを前記コンピュータ装置からアンインストールする共に，前記トークン側に記憶された前記参照シードの初期化を要求し，前記トークンが，前記コンピュータ装置からの要求に従い，前記参照シードを初期化するアンインストール工程を含むことを特徴とするライセンス管理方法である。
【発明の効果】
【００３１】
上述した本発明によれば，ソフトウェアから得られ，認証コードの認証に成功したときに変更される第１の可変要素を含むシードを元にする認証コードを，トークンを利用して予め生成しソフトウェアに記憶しておき，次回に起動管理するとき，トークンが，該シードと対になり，第１の可変要素に同期させる第２の可変要素を含む参照シードを利用して，予め生成しておいた認証コードを認証し，該認証コードの認証に成功した場合，第２の可変要素を変更すると共に，コンピュータ装置がソフトウェアの起動を許可するようにすることで，別なコンピュータ装置にインストールされたソフトウェアを起動したときなど，ソフトウェアから得られるシードの第１の可変要素とトークンに記憶された参照シードの第２の可変要素が一致しない場合，ソフトウェアの起動を許可されず，ソフトウェアを起動できるコンピュータ装置を実質的に１台に限定することができる。
【００３２】
このように，本発明においては，ネットワークに接続された装置は必要としないため，本発明は，スタンドアローンで利用されるコンピュータ装置にも適用することができる。また，ソフトウェアをコンピュータ装置からアンインストールするときに，トークンに記憶された参照シードを初期化すれば，他のコンピュータ装置にソフトウェアをインストールすることが可能になるため，ソフトウェアの移設に係わる処理も容易にすることができる。
【発明を実施するための最良の形態】
【００３３】
ここから，本発明の好適な実施形態について，図を参照しながら詳細に説明する。図１は，本実施形態におけるライセンス管理システム１の概略構成図である。
【００３４】
本実施形態に係わるライセンス管理システム１は，例えば，図１に図示したように，ＣＤ−ＲＯＭ４に記憶されたソフトウェア５がインストールされるコンピュータ装置であるパーソナルコンピュータ２（以下，「ＰＣ」と略す。PC: Personal Computer）と，ＰＣ２にインストールされたソフトウェア５の起動を管理するために利用されるトークンであるＩＣカード３とから少なくとも構成され，ＰＣ２には，ＩＣカード３とデータ通信する装置であるＩＣカードリーダ２ａが接続されている。
【００３５】
図１のライセンス管理システム１において，ＰＣ２にインストールされたソフトウェア５の起動は，予約型の認証コードを用いた認証によって管理される。ここで，予約型の認証コードを用いた認証とは，次回に利用する認証コードを予め生成しておき，次回は，予め生成しておいた認証コードを用いて認証することを意味する。
【００３６】
予約型の認証コードを用いた認証によってソフトウェア５の起動を管理するために，ソフトウェア５が起動しているＰＣ２は，ソフトウェア５を起動する際，該ソフトウェア５に記憶されている認証コードをＩＣカード３に認証させ，ＩＣカード３が該認証コードの認証に成功すると，ソフトウェア５から得られるシードを元にした認証コードをＩＣカード３に生成させ，ＩＣカード３から得られた認証コードを次回の起動管理に利用する認証コードとしてソフトウェア５に記憶する起動管理手段を備え，ＩＣカード３は，該シードと対になる参照シードを利用して認証コードを認証するコード生成手段と，該シードを元にした認証コードを生成するコード認証手段を備えている。
【００３７】
なお，このような，予約型の認証コードを用いた認証においては，認証コードが毎回変更される仕組みを設けないと，同じ認証コードを繰り返し使用することになりセキュリティ的に弱くなるため，本実施形態においては，ＰＣ２がソフトウェア５から得られるシードに第１の可変要素を含ませ，ＩＣカード３に記憶される参照シードに第２の可変要素を含ませている。
【００３８】
ＰＣ２がソフトウェア５から得られるシードとＩＣカード３に記憶される参照シードに含ませる第１の可変要素及び第２の可変要素としては，ソフトウェア５が次に起動するまでに変動しない要素が望ましく，本実施形態では，ＩＣカード３が認証コードの認証に成功する毎に所定の値だけインクリメントされるカウンタ（ここでは，４バイト）としている。
【００３９】
ここから，図１で図示したライセンス管理システム１を構成する装置について説明する。図２は，本実施形態におけるＰＣ２の構成例を示すブロック図で，図３は，本実施形態におけるＩＣカード３の構成例を示すブロック図である。
【００４０】
図２に図示したように，ＰＣ２は，ＣＰＵ２０ａ（Central Processing Unit），ＲＡＭ２０ｂ（Random Access Memory）及びＲＯＭ２０ｃ（Read-Only Memory）などから構成される制御ボード２０と，大容量のデータ記憶装置としてハードディスク２１と，文字や画像などを表示するディスプレイ２２と，入力デバイスであるキーボード２３と，ポインティングデバイスであるマウス２４と，様々な外部装置（ここでは，ＩＣカードリーダ２ａ）と接続するための外部インターフェース２５（ここでは，ＵＳＢインターフェース）を備え，ＣＤ―ＲＯＭ４に記憶されたソフトウェア５は，ＰＣ２のハードディスク２１に記憶される。
【００４１】
また，図３に図示したように，ＩＣカード３とはＩＣチップ３０が実装されたカード媒体で，ＩＣチップは，ＣＰＵ３１，ＲＡＭ３２，ＲＯＭ３３，ＥＥＰＲＯＭ３４，暗号コプロセッサー３５およびＵＡＲＴ３６を備える。
【００４２】
次に，図１で図示したライセンス管理システム１で利用されるコンピュータプログラム及びデータについて説明する。図４は，ソフトウェア５を説明する図で，図４（ａ）は，ＣＤ−ＲＯＭ４の内容を説明する図で，図４（ｂ）は，ソフトウェア５をインストール後のＰＣ２のハードディスク２１の内容を説明する図である。
【００４３】
図４（ａ）に図示したように，ＣＤ―ＲＯＭ４には，ＰＣ２の制御ボード２０を作動させるコンピュータプログラムとして，ＰＣ２にインストールされるソフトウェア５のアーカイブ４０と，ソフトウェア５をＰＣ２にインストールするためのインストーラ４２と，ソフトウェア５をＰＣ２からアンインストールするためのアンインストーラ６のアーカイブ４１が記憶されている。
【００４４】
ソフトウェア５のアーカイブ４０とアンインストールのアーカイブ４１は圧縮された状態でＣＤ−ＲＯＭ４に記録され，ソフトウェア５のアーカイブ４０には，ソフトウェア５の主機能を実現するためのコンピュータプログラムであるメインモジュール５０の圧縮ファイル４０ａと，ソフトウェア５の起動を管理するためのコンピュータプログラムである起動管理モジュール５１の圧縮ファイル４０ｂと，起動管理に利用するデータが記憶される設定ファイル５２の圧縮ファイル４０ｃが含まれている。
【００４５】
また，インストーラが起動することで，ＰＣ２のハードディスク２１には，ＣＤ―ＲＯＭ４に圧縮された状態で記憶されているソフトウェア５のアーカイブ４０とアンインストーラ６のアーカイブ４１が展開され，ＰＣ２のハードディスクにソフトウェア５とアンインストール６がインストールされる。
【００４６】
ソフトウェア５に含まれるメインモジュール５０は、ユーザが利用したい機能を提供するコンピュータプログラムで、該機能は，例えば、ワードプロセッサ、表計算ソフト、図形描写ソフトなどである。
【００４７】
ソフトウェア５に含まれる起動管理モジュール５１は、ＰＣ２上で起動したときに，ＰＣ２を起動管理手段として機能させるためのコンピュータプログラムである。
【００４８】
更に，ソフトウェア５に含まれる設定ファイル５２には，認証コード５４の元になるシードの可変要素として利用される認証カウンタ５３と，次回の認証に利用する認証コード５４が含まれている。
【００４９】
ソフトウェア５に含まれる起動管理モジュール５１は、ソフトウェア５が起動操作（例えば、アイコンのダブルクリック）されると起動し、ＩＣカード３を利用して，ソフトウェア５に記憶されている認証コード５４を認証し，ＩＣカード３が該認証コード５４の認証に成功すると，ソフトウェア５から得られるシードを元にした認証コード５４をＩＣカード３に生成させ，ＩＣカード３から得られた認証コード５４を次回の起動管理に利用する認証コード５４として設定ファイル５２に記憶する。
【００５０】
本実施形態において，ＩＣカード３に認証コード５４を生成させるために，ソフトウェア５に含まれる起動管理モジュール５１がソフトウェア５から得るシードには，少なくとも，ＰＣ２のハードディスク２１に展開されたメインモジュール５０のプログラムコードのハッシュ値，ＰＣ２のオペレーティングシステムで管理されるインストール情報の所定項目のハッシュ値，及び，設定ファイル５２に含まれる認証カウンタ５３の値のハッシュ値が含まれる。
【００５１】
なお，ソフトウェア５から得るシードに認証カウンタ５３の値のハッシュ値を含ませるのは，上述しているように，ＩＣカード３に生成させる認証コード５４を前回とは異なる値にするためである。
【００５２】
ソフトウェア５から得るシードには，認証カウンタ５３の値のハッシュ値ではなく，認証カウンタ５３の値を含ませてもよいが，ＩＣカードに送信するとき，認証カウンタ５３の値を秘匿にするためである。
【００５３】
また，ソフトウェア５から得るシードにソフトウェア５のハッシュ値を含ませるのは，ＰＣ２にインストールされたソフトウェア５を確認できるようにするためである。
【００５４】
図５は，ＩＣカード３に実装されるＩＣチップ３０のメモリの内容を説明する図である。図５に図示したように，ＩＣチップ３０のＲＯＭ３３には，ＩＣチップ３０を作動させるコマンドとして，ＰＣ２から送信されたシードを元にする認証コード５４を生成するコード生成手段としてＩＣカード３のＩＣチップを機能させるためのコンピュータプログラムで実現されるコード生成コマンド３００と，ＰＣ２から送信された認証コード５４を認証するコード認証手段としてＩＣカード３のＩＣチップを機能させるためのコンピュータプログラムで実現されるコード認証コマンド３０１が実装され，図５では図示していないが，ＰＣ２から送信されたデータをＥＥＰＲＯＭ３４に書き込むコマンドや，ＰＣ２から指示されたデータをＥＥＰＲＯＭ３４から消去するコマンドなど，一般的なＩＣカード３に備えられているコマンドが実装されている。
【００５５】
また，ＩＣカード３のＥＥＰＲＯＭ３４には，ＲＯＭ３３に実装されたコマンドが利用されるデータとして，認証コード５４の生成及び認証に利用される認証鍵３０２と，認証コード５４を認証するときの参照シード３０３が記憶され，参照シード３０３には，ソフトウェア５の設定ファイル５２に記憶された認証カウンタ５３と同期する参照カウンタ３０４と，ソフトウェア５がインストールされたときに算出されたハッシュ値である参照ハッシュ値３０５が含まれている。
【００５６】
コード生成コマンド３００は，ＰＣ２から受信したシードから，定められたアルゴリズムに従い，認証鍵を利用して認証コード５４を演算し，演算結果をＰＣ２に返信するコマンドである。
【００５７】
また，コード認証コマンド３０１は，ＥＥＰＲＯＭ３４に記憶された参照シード３０３に含まれる参照カウンタ３０４の値のハッシュ値を算出し，演算した参照カウンタ３０４の値のハッシュ値と参照ハッシュ値を元にして，コード生成コマンド３００と同じアルゴリズムに従い、認証鍵を利用して参照コードを演算し、演算した参照コードとＰＣ２から受信した認証コード５４を照合することで、ＰＣ２から受信した認証コード５４を認証し、認証コード５４の認証に成功すると、参照シード３０３に含まれる参照カウンタ３０４を定められた値（例えば，「＋１」）だけインクリメントした後，認証コード５４の認証結果をＰＣ２に返信するコマンドである。
【００５８】
ＩＣカード３に備えられるコード生成コマンド３００，コード認証コマンド３０１及び認証鍵３０２の仕様は，認証コード５４を生成するアルゴリズムの仕様に依存し，認証コード５４を生成するアルゴリズムの仕様は任意であるが，例えば，ISO/IEC9797-1(1999)のMAC（Message Authentication code）Algorithmを用いることができる。
【００５９】
なお，ＩＣカード３が発行された時点では，参照ハッシュ値３０５は初期値で，ソフトウェア５がＰＣ２にインストールされるとき，ＩＣカード３に参照ハッシュ値３０５が書き込まれる。
【００６０】
ここから、本発明に係わるライセンス管理方法の説明も兼ねて、図１で図示したライセンス管理システム１で実行される手順を説明する。
【００６１】
まず、図６を参照しながら、ソフトウェア５をＰＣ２にインストールするときの手順について説明する。図６は、ソフトウェア５をインストールするときの手順を示したフロー図である。
【００６２】
ソフトウェア５をＰＣ２にインストールするとき、まず、ソフトウェア５のユーザは、ソフトウェア５が記憶されたＣＤ−ＲＯＭ４をＰＣ２に装着させ、ＰＣ２のディスプレイ２２に表示されたインストーラ４２のアイコンをクリックすると、ＣＤ−ＲＯＭ４に記憶されたインストーラ４２がＰＣ２上で起動する（Ｓ１）。
【００６３】
インストーラ４２が起動すると，ＰＣ２は，該ＰＣ２に接続されたＩＣカードリーダ２ａに、ＩＣカード３を検知しているか問い合わせ、問い合わせ結果によって処理を分岐させる（Ｓ２）。
【００６４】
ＩＣカードリーダ２ａがＩＣカード３を検知していない場合，ＰＣ２はソフトウェア５のインストールを中止してこの手順を終了し，ＩＣカードリーダ２ａがＩＣカード３を検知している場合，該ＰＣ２はソフトウェア５のインストールを続行する。
【００６５】
ＰＣ２は，ＩＣカードリーダ２ａがＩＣカード３を検知している場合，参照シード３０３を読み取るコマンドのコマンドメッセージをＩＣカード３に送信することで，ＩＣカード３に参照シード３０３の読み取りを要求し（Ｓ３），ＩＣカード３は，該コマンドのコマンドメッセージを受信すると，ＩＣカード３が記憶している参照シード３０３をＰＣ２に送信する（Ｓ４）。
【００６６】
ＰＣ２は，ＩＣカード３から受信した参照シード３０３に含まれる参照カウンタ３０４の内容によって，処理を分岐させる（Ｓ５）。参照カウンタ３０４が初期値でない場合，ＰＣ２はソフトウェア５のインストールを中止してこの手順を終了し，参照カウンタ３０４が初期値の場合，該ＰＣ２はソフトウェア５のインストールを続行する。
【００６７】
ＩＣカード３から得られた参照カウンタ３０４が初期値の場合，ＰＣ２は，ＣＤ−ＲＯＭ４に圧縮された状態で記憶されているソフトウェア５のアーカイブ４０及びアンインストーラ６のアーカイブ４１を，ＰＣ２のハードディスク２１上に展開すると共に，更に，ソフトウェア５のインストール情報をハードディスク２１上に作成することで，ソフトウェア５をＰＣ２にインストールする（Ｓ６）。
【００６８】
ＰＣ２は，ハードディスク２１にソフトウェア５をインストールすると，ソフトウェア５のメインモジュール５０のプログラムコードのハッシュ値及びインストール情報の所定項目のハッシュを所定のアルゴリズムに従い演算した後（Ｓ７），ＩＣカード３に対して，これらのハッシュ値を含む書き込みコマンドのコマンドメッセージを送信することで，これらのハッシュ値の書き込みをＩＣカード３に要求する（Ｓ８）。
【００６９】
ＩＣカード３は，インストーラが起動したＰＣ２から，上述したコマンドメッセージを受信すると，ＥＥＰＲＯＭ３４に記憶された参照シード３０３に含まれる参照ハッシュ値３０５を，該コマンドメッセージに含まれるハッシュ値に更新し，ハッシュ値の書き込み結果をＰＣ２に通知する（Ｓ９）。
【００７０】
ＰＣ２は，書き込みコマンドに対するレスポンスをＩＣカード３から受信すると，ソフトウェア５のインストールが終了したことを示す画面をディスプレイ２２に表示するなどして，ソフトウェア５のインストールを終了し，図６で図示した手順は終了する。
【００７１】
次に，図７を参照しながら，ＰＣ２にインストールされたソフトウェア５の起動を管理する手順について説明する。図７は，ソフトウェア５の起動を管理する手順を示したフロー図である。
【００７２】
ソフトウェア５のアイコンがダブルクリックされると，ソフトウェア５の起動管理モジュール５１がＰＣ２上で起動し（Ｓ１０），起動管理モジュール５１が起動すると，ＰＣ２は，ＰＣ２に接続されたＩＣカードリーダ２ａに、ＩＣカード３を検知しているか問い合わせ、問い合わせ結果によって処理を分岐させる（Ｓ１１）。
【００７３】
ＩＣカードリーダ２ａがＩＣカード３を検知していない場合，ＰＣ２は，ソフトウェア５のメインモジュール５０の起動処理を中止してこの手順を終了し，ＩＣカードリーダ２ａがＩＣカード３を検知している場合，起動管理モジュール５１は，ソフトウェア５のメインモジュール５０の起動処理を続行する。
【００７４】
ＩＣカードリーダ２ａがＩＣカード３を検知している場合，ＰＣ２は，ハードディスク２１の設定ファイル５２に含まれる認証コード５４を取得し，該認証コード５４を含むコード認証コマンド３０１のコマンドメッセージをＩＣカード３に送信することで，ＩＣカード３に対して認証コード５４の認証要求を行う（Ｓ１２）。
【００７５】
ＩＣカード３は，ＰＣ２から，認証コード５４を含むコード認証コマンド３０１のコマンドメッセージを受信すると，コード認証コマンド３０１を起動させ，ＩＣカード３に記憶されている参照シード３０３に含まれる参照カウンタ３０４のハッシュ値を算出し，認証鍵を用いて，定められたアルゴリズムに従い，参照シード３０３に含まれる参照ハッシュ値３０５と該参照カウンタ３０４のハッシュ値を元にする参照コードを演算し，ＰＣ２から受信した認証コード５４と参照コードを照合することで，ＰＣ２から受信した認証コード５４を認証する（Ｓ１３）。
【００７６】
ＩＣカード３のコード認証コマンド３０１は，ＰＣ２から受信した認証コード５４を認証結果に応じて処理を分岐させ（Ｓ１４），該認証コード５４の認証に成功した場合，ＩＣカード３の参照カウンタ３０４の値を所定の値（例えば，「＋１」）だけインクリメントした後（Ｓ１５），Ｓ１６に進み，該認証コード５４の認証に失敗した場合は，参照カウンタ３０４の値をインクリメントすることなく，Ｓ１６に進む。
【００７７】
該認証コード５４の認証に成功し，ＩＣカード３の参照カウンタ３０４の値を所定の値だけインクリメントした後，或いは，該認証コード５４の認証に失敗した後，ＩＣカード３は，認証コード５４の認証結果（成功或いは失敗）をＰＣ２に送信する（Ｓ１６）。
【００７８】
ＰＣ２は，認証コード５４の認証結果（成功或いは失敗）をＩＣカード３から受信すると，認証コード５４の認証結果に応じて処理を分岐させる（Ｓ１７）。
【００７９】
認証コマンドの認証結果が「成功」を示す場合，ＰＣ２は，ソフトウェア５のメインモジュール５０の起動処理を続行し，認証コマンドの認証結果が「失敗」を示す場合，ＰＣ２は，ソフトウェア５のメインモジュール５０の起動処理を中止し，図７で図示した手順は終了する。
【００８０】
認証コマンドの認証結果が「成功」を示す場合，メインモジュール５０が起動しているＰＣ２は，ＰＣ２のハードディスク２１に記憶された設定ファイル５２の認証カウンタ５３の値を所定の値（例えば，「＋１」）だけインクリメントした後（Ｓ１８），ソフトウェア５のメインモジュール５０のプログラムコードとインストール情報のハッシュ値を演算し（Ｓ１９），これらのハッシュ値とインクリメント後の認証カウンタ５３の値のハッシュ値をシードとするコード生成コマンド３００のコマンドメッセージをＩＣカード３に送信することで，ＩＣカード３に対して，認証コード５４の生成要求をする（Ｓ２０）。
【００８１】
ＩＣカード３は，コード生成コマンド３００のコマンドメッセージを受信すると，コード生成コマンド３００を起動させ，認証鍵３０２を用い，所定のアルゴリズムに従い，該コマンドメッセージに含まれるシードを元にする認証コード５４を生成し，生成した認証コード５４をＰＣ２に送信する（Ｓ２１）。
【００８２】
ＰＣ２は，ＩＣカード３から認証コード５４を受信すると，該認証コード５４を次回の認証に利用する認証コード５４として，ＰＣ２のハードディスク２１に設けられた設定ファイル５２の認証コード５４に上書き処理した後（Ｓ２２），ソフトウェア５のメインモジュール５０を起動させ（Ｓ２３），図７で図示した手順は終了する。
【００８３】
最後に，図８を参照しながら，ＰＣ２にインストールされたソフトウェア５をアンインストールする手順について説明する。図８は，ソフトウェア５をアンインストールする手順を示したフロー図である。
【００８４】
ソフトウェア５をＰＣ２にアンインストールするとき、まず、ソフトウェア５のユーザは、ＰＣ２にインストールされたアンインストーラ６のアイコンがダブルクリックされることで、アンインストーラ６がＰＣ２上で起動する（Ｓ３０）。
【００８５】
アンインストーラ６は起動すると、ＰＣ２は，ＰＣ２に接続されたＩＣカードリーダ２ａに、ＩＣカード３を検知しているか問い合わせ、問い合わせ結果によって処理を分岐させる（Ｓ３１）。
【００８６】
ＩＣカードリーダ２ａがＩＣカード３を検知していない場合，ＰＣ２はソフトウェア５のアンインストールを中止してこの手順を終了し，ＩＣカードリーダ２ａがＩＣカード３を検知している場合，ＰＣ２はソフトウェア５をアンインストールする処理を続行する。
【００８７】
ＰＣ２は，ＩＣカードリーダ２ａがＩＣカード３を検知している場合，参照シード３０３の参照カウンタを初期値に書き換えるコマンドと，参照シード３０３の参照ハッシュ値を初期値に書き換えるコマンドを送信することで，ＩＣカード３に対して，参照シード３０３の初期化を要求する（Ｓ３２）。
【００８８】
ＩＣカード３は，アンインストーラ６が起動しているＰＣ２から，参照シード３０３を初期化するためのコマンドのコマンドメッセージを受信すると，参照シード３０３に含まれる参照カウンタと参照ハッシュ値をそれぞれ初期値（例えば，「All 0h」）に書き換えることで，参照シード３０３を初期化し，参照シード３０３の初期化の結果をＰＣ２に返信する（Ｓ３３）。
【００８９】
ＰＣ２は，参照シード３０３の初期化の結果をＩＣカード３から受信すると，ＰＣ２のハードディスク２１上のソフトウェア５のプログラムコードやインストール情報を削除するなどして，ＰＣ２からソフトウェア５をアンインストールし（Ｓ３４），図８で図示した手順は終了する。
【００９０】
最後に，本発明の効果について説明する。図９は，本発明の効果を説明する図である。図９（ａ）は，２台のＰＣ７ａ，ｂに同時にソフトウェアをインストールしたときの効果を説明する図である。
【００９１】
２台のＰＣ７ａ，ｂに同時にソフトウェアをインストールした直後では，ＰＣ７ａ，ｂに記憶された認証カウンタ７０ａ，ｂの値は初期値（ここでは，「00000000h」。）で，ＩＣカード８ａに記憶された参照カウンタ８０ａの値も初期値（ここでは，「00000000h」。）であるため，２台のＰＣ７ａ，ｂでソフトウェアの起動は可能な状態にある。
【００９２】
しかし，２台のＰＣ７ａ，ｂの内，１台（ここでは，ＰＣ７ａ）でソフトウェアが起動されると，ＰＣ７ａに記憶された認証カウンタ７０ａはインクリメントされ，インクリメント後の認証カウンタ７１ａの値は「00000001h」になり，ＩＣカード８ａに記憶された参照カウンタ８０ａもインクリメントされ，インクリメント後の参照カウンタ８１ａも「00000001h」になる。
【００９３】
よって，ＰＣ７ａでソフトウェアが起動された後に，一方のＰＣ７ｂでソフトウェアを起動させようとしても，ＰＣ７ｂに記憶された認証カウンタ７０ｂの値（ここでは，「00000000h」）と，ＩＣカード８ａに記憶され，インクリメント後の参照カウンタ８０ａの値（ここでは，「00000001h」）は異なるため，図７で図示した手順に従えば，ＩＣカード８ａは認証コードの認証に失敗し，ＰＣ７ｂではソフトウェアは起動せず，実質的に，ソフトウェアが利用できる台数は１台に限定される。
【００９４】
図９（ｂ）は，ＰＣ７ｃにソフトウェアをインストールし，更に，ＰＣ７ｃからソフトウェアをアンインストールしたときの効果を説明する図である。
【００９５】
ＰＣ７ｃにソフトウェアをインストールした後に，ＰＣ７ｃ上でソフトウェアを１回起動すると，ＩＣカード８ｂに記憶され，インクリメント後の参照カウンタ８０ｂは初期値である「00000000h」から「00000001h」になり，図６で図示した手順に従えば，ＩＣカード８ｂに記憶された参照カウンタは初期値ではなくなるため，該ＩＣカード８ｂを利用してソフトウェアを他のＰＣにインストールすることはできない。
【００９６】
しかし，ＰＣ７ｃからソフトウェアをアンインストールすることで，図８で図示した手順に従えば，ＩＣカード８に記憶され，アンインストール後の参照カウンタ８１ｂは初期値（ここでは，「00000000h」）に戻るため，ＩＣカード８を利用して他のＰＣにソフトウェアをインストールすることが可能になる。
【００９７】
なお，本発明は，これまで説明した実施形態に限定されることなく，当業者ならば，種々の変形や変更が可能である。
【００９８】
例えば，上述した実施形態では，トークンをＩＣカードにしているが，ＩＣカード以外のデバイス，例えば，ＵＳＢトークンも本発明のトークンとして利用可能である。
【００９９】
図１０は，トークンとして利用できるＵＳＢトークン９を説明する図である。ＵＳＢトークン９とは，コンピュータ装置のＵＳＢインターフェースと接続するためのＵＳＢコネクタ９２と，コンピュータ装置とのＵＳＢ通信を制御するための制御チップ９０と，ＩＣカード用ＩＣチップ９１が組み込まれたデバイスで，ＩＣカード用ＩＣチップ９１のメモリに，図５で図示したコマンドやデータが記憶され，コンピュータ装置のＵＳＢインターフェースに接続されて利用される。
【０１００】
また，1枚のＩＣカードを用いることで，複数のソフトウェアの起動を管理することも可能である。1枚のＩＣカードを用い，複数のソフトウェアの起動を管理するとき，一つのソフトウェアの起動を管理するためのデータすなわち参照シードを，インストール情報に含まれるソフトウェアの識別番号を基礎にして生成されるＤＦ（DF: Dedicated File）に関連付けて記憶し，ソフトウェアの起動管理するときには，該ソフトウェアのインストール情報から識別番号を取得し，該識別番号に対応するＤＦに関連付けられた参照シードを利用して，ソフトウェアの起動を管理する。
【図面の簡単な説明】
【０１０１】
【図１】本実施形態におけるライセンス管理システムの概略構成図。
【図２】本実施形態におけるＰＣの構成例を示すブロック図。
【図３】本実施形態におけるＩＣカードの構成例を示すブロック図。
【図４】ソフトウェアを説明する図。
【図５】ＩＣカードに実装されるＩＣチップのメモリの内容を説明する図。
【図６】ソフトウェアをインストールするときの手順を示したフロー図。
【図７】ソフトウェアの起動を管理する手順を示したフロー図。
【図８】ソフトウェアをアンインストールする手順を示したフロー図。
【図９】本発明の効果を説明する図。
【図１０】トークンとして利用できるＵＳＢトークンを説明する図。
【符号の説明】
【０１０２】
１  ライセンス管理システム
２  パーソナルコンピュータ（ＰＣ）
２ａ  ＩＣカードリーダ
３  ＩＣカード
３００  コード生成コマンド
３０１  コード認証コマンド
３０２  認証鍵
３０３  参照シード
３０４  参照カウンタ
３０５  参照ハッシュ値
４  ＣＤ―ＲＯＭ
４２  インストーラ
５  ソフトウェア
５０  メインモジュール
５１  起動管理モジュール
５２  設定ファイル
５３  認証カウンタ
５４  認証コード
６  アンインストーラ
【図１】
2010146125.tif 000003
【図２】
2010146125.tif 000004
【図３】
2010146125.tif 000005
【図４】
2010146125.tif 000006
【図５】
2010146125.tif 000007
【図６】
2010146125.tif 000008
【図７】
2010146125.tif 000009
【図８】
2010146125.tif 000010
【図９】
2010146125.tif 000011
【図１０】
2010146125.tif 000012