(57)【要約】      （修正有）【課題】複数のソフトウェアのライセンスの一括管理が容易に行なえ、かつネットワーク上の様々の脅威を回避できるソフトウェアのライセンス管理システムを提供する。【解決手段】ソフトウェア管理エージェント２１０はソフトウェアのインストールを検知し、インストールの実行可否をライセンス管理サーバ１００に問い合わせ、ライセンス管理エージェント１１０は、公開鍵暗号方式を用いてクライアントＰＣ２００を認証した後、ライセンス使用情報データベース１２０を参照し、インストールの許可結果を示す許可情報をクライアントＰＣ２００に送信し、ソフトウェア管理エージェント２１０は、前記許可情報に基づいてインストールの実行を制御する。なお、インストールの実行結果は、ソフトウェア管理情報２２０に記憶され、ライセンス使用情報データベース１２０の内容はソフトウェア管理情報２２０に基づいて変更される。【選択図】図１
2006092382.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の端末装置で使用されるソフトウェアのライセンスを管理するライセンス管理方法であって、
ソフトウェアがインストール／アンインストールされる前記端末装置が、ソフトウェアのインストール／アンインストールを検知するステップと、
前記端末装置が、ネットワークを介して前記インストール／アンインストールの実行可否を問い合わせするステップと、
前記端末装置が、ネットワークを介して公開鍵暗号方式を用いて認証されるステップと、
前記端末装置が、前記端末装置の認証結果に基いて判断され、前記インストール／アンインストールの実行可否を意味する許可情報を受信するステップと、
前記端末装置が、前記許可情報に基づいて、前記インストール／アンインストールを制御するステップと
を含むことを特徴とするライセンス管理方法。
【請求項２】
請求項１に記載のライセンス管理方法において、
前記端末装置が、前記許可情報に基づいて、前記ソフトウェアをインストール／アンインストールした後に、インストール／アンインストールの実行結果を記憶したソフトウェア管理情報を作成または更新し、ネットワークを介して前記ソフトウェア管理情報を送信するステップと、
前記端末装置から送信された前記ソフトウェア管理情報に基づいて、前記ソフトウェアのライセンスを管理するステップと、
を含むことを特徴とするライセンス管理方法。
【請求項３】
ネットワークに接続された複数の端末装置で使用されるソフトウェアのライセンスを管理するライセンス管理システムであって、
前記ライセンス管理システムは、前記端末装置とネットワークを介して前記ソフトウェアのライセンスを管理するサーバを有し、
前記サーバは、公開鍵暗号方式を利用してネットワークに接続された他のコンピュータ装置を認証する第１の認証手段と、
前記端末装置で使用されるソフトウェアのライセンス使用状況を意味するライセンス使用情報を記憶するライセンス使用情報記憶手段と、
前記第１の認証手段の認証結果と、前記ライセンス使用情報とに基づいて、前記端末装置のインストール／アンインストールの実行可否を判断し、実行可否の結果を意味する許可情報を前記端末装置にライセンス管理手段と、を備え、
前記端末装置は、
公開鍵暗号方式を利用してネットワークに接続された他のコンピュータ装置を認証する第２の認証手段と、
前記ソフトウェアのインストール／アンインストールを検知する検知手段と、
前記サーバ装置に、前記前記ソフトウェアのインストール／アンインストールの実行可否を問い合わせ、前記サーバ装置から送信される前記許可情報に基づいて、前記ソフトウェアのインストール／アンインストールを制御するソフトウェア管理手段と、
を備えていることを特徴とするライセンス管理システム。
【請求項４】
請求項３に記載のライセンス管理システムにおいて、
前記端末装置に備えれた前記ソフトウェア管理手段は、前記ソフトウェアのインストール／アンインストールの実行結果を記憶したソフトウェア管理情報を有し、前記ソフトウェア管理手段は前記ソフトウェアのインストール／アンインストールを実行した後に前記ソフトウェア管理情報を作成または更新し、前記ソフトウェア管理情報を前記サーバに送信する機能を備え、
前記サーバに備えられた前記ライセンス管理手段は、前記端末装置から送信される前記ソフトウェア管理情報に基づいて、前記ライセンス使用情報記憶手段に記憶された前記ライセンス使用情報を作成または更新する手段であることを特徴とするライセンス管理システム。
【請求項５】
請求項３または請求項４に記載のライセンス管理システムにおいて、
前記端末装置に備えられた第２の認証手段は、公開鍵暗号方式を利用した認証機能を備えたＩＣカードを使用した手段であることを特徴とするライセンスの管理システム。
【請求項６】
請求項３〜請求項５のいずれかに記載のライセンス管理システムを構成する端末装置もしくはサーバ装置として、コンピュータを機能されるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ等にインストールされるソフトウェアのライセンスを管理する管理方法、管理システムおよびプログラムに関し、更に詳しくはＰＫＩ（Public Key Infrastructure ）を利用したソフトウェアのライセンスを管理する管理方法、管理システムおよびプログラムに関する。
【背景技術】
【０００２】
従来より、ＣＤ−ＲＯＭ等のデータ記憶媒体に記憶されたソフトウェアを不正にパーソナルコンピュータ等にインストールするなどして、ソフトウェアを不正に使用することが問題になっており、様々な解決手段が開示されている。
【０００３】
例えば、ソフトウェアを不正に使用することを防止する発明としては、ソフトウェアの使用時（例えば、ソフトウェアのインストールまたはソフトウェアの起動）に認証される認証情報（例えば、メモリカードの個体ＩＤ）をメモリカードに記憶し、ソフトウェアを使用する際に、前記メモリカードに記憶された前記認証情報を認証し、認証に成功した場合にのみソフトウェアが使用できる発明が開示されている（例えば、特許文献１）。
【０００４】
また、ソフトウェアを不正にパーソナルコンピュータ（Personal Computer、以下、ＰＣと記す）にインストールし使用することを防止するため、ネットワークを利用して、パーソナルコンピュータ（Personal Computer、以下、ＰＣと記す）にインストールされるソフトウェアのライセンスを管理する発明も開示されている（例えば、特許文献２）。特許文献２においては、ネットワーク（例えば、ＬＡＮ、Local Area Network）に接続されたＰＣにインストールされるソフトウェアのライセンスを管理するライセンス管理サーバをネットワーク上に設け、前記ライセンス管理サーバはネットワークに接続されたＰＣにインストールされているソフトウェアのインベントリ情報をネットワークを介して自動収集し、収集したインベントリ情報に基づいて、不足しているライセンスについては必要なライセンスを購入したりするなどして、各ＰＣにインストールされているソフトウェアのライセンスを管理する。
【特許文献１】特開２００２−３５１５６９号公報
【特許文献２】特開２００４−４６７５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のソフトウェアの不正使用を防止する手段において、メモリカード等の情報記憶媒体の有無でソフトウェアの使用を管理する方法は、例えば、会社等の組織において、同一のソフトウェアのライセンスを複数購入する場合、複数の情報記憶媒体を管理することは大変面倒なことであるし、また、誰がどのＰＣにソフトウェアをインストールしているか正確に把握すること容易ではなく、会社等の組織等においてソフトウェアのライセンス管理を行う用途には適していない。
【０００６】
また、従来のネットワークを利用したソフトウェアを不正使用を防止する技術においては、ネットワーク上の脅威に対して脆弱である。例えば、ネットワーク上に流れる情報を盗聴することで、第三者がソフトウェアを使用する正当な当事者になりすまして、ソフトウェアを不正にインストールするかも知れない。
【０００７】
そこで、上述の課題を鑑みて、本発明は、会社等の組織で複数のソフトウェアのライセンスを一括して管理する場合、購入した前記ライセンスの管理が容易に行なえ、かつネットワーク上の様々の脅威を回避できるソフトウェアのライセンス管理方法、管理システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決する本発明の第１の態様は、ネットワークに接続された複数の端末装置で使用されるソフトウェアのライセンス管理方法である。第１の態様においては、前記端末装置と、前記端末装置とネットワークを介して接続される前記ソフトウェアのライセンスを管理するサーバとを有し、前記サーバおよび前記端末装置は、それぞれ公開暗号鍵方式を用いた認証機能を備える。当該方法は、前記端末装置が、ソフトウェアのインストール／アンインストールを検知すると、前記サーバに前記インストール／アンインストールの実行可否を問い合わせする。そして、前記サーバは、前記端末装置を公開鍵暗号方式を用いて認証し、前記認証結果に基いて、前記インストール／アンインストールの実行可否を判断し、前記端末装置に実行可否を意味する許可情報を送信する。前記端末装置は、前記許可情報に基づいて、前記インストール／アンインストールを制御する。
【０００９】
更に、第１の態様のライセンス管理方法においては、前記端末装置は、前記ソフトウェアをインストール／アンインストールした後に、インストール／アンインストールの実行結果を記憶したソフトウェア管理情報を作成または更新し、前記ソフトウェア管理情報を前記サーバに送信し、前記サーバは、前記端末装置から送信された前記ソフトウェア管理情報に基づいて、前記ソフトウェアのライセンスを管理することが望ましい。
【００１０】
また、本発明の第２の態様は、ネットワークに接続された複数の端末装置で使用されるソフトウェアのライセンス管理システムである。前記システムは、前記端末装置に加え、前記端末装置とネットワークを介して接続され、前記ソフトウェアのライセンスを管理するサーバから構成される。前記サーバは、ネットワークに接続された他のコンピュータ装置を公開鍵暗号方式を利用して認証する第１の認証手段と、前記端末装置で使用されるソフトウェアのライセンス使用状況を意味するライセンス使用情報を記憶するライセンス使用情報記憶手段と、前記第１の認証手段の認証結果と、前記ライセンス使用情報とに基づいて、前記ソフトウェアのインストール／アンインストールの実行可否を判断し、実行可否の結果を意味する許可情報を前記端末装置に送信する機能を有するライセンス管理手段とを備えている。そして、前記端末装置は、ネットワークに接続された他のコンピュータ装置を公開鍵暗号方式を利用して認証する第２の認証手段と、前記ソフトウェアのインストール／アンインストールを検知する検知手段と、前記サーバ装置に、前記前記ソフトウェアのインストール／アンインストールの実行可否を問い合わせ、前記サーバ装置から送信される前記許可情報に基づいて、前記ソフトウェアのインストール／アンインストールを制御するソフトウェア管理手段とを備えている。
【００１１】
更に、第２の態様におけるライセンス管理システムにおいて、前記端末装置に備えれた前記ソフトウェア管理手段は、前記ソフトウェアのインストール／アンインストールの実行結果を記憶したソフトウェア管理情報を有し、前記ソフトウェアのインストール／アンインストールを実行した後に前記ソフトウェア管理情報を作成または更新し、前記ソフトウェア管理情報を前記サーバに送信する機能を備え、前記サーバに備えられた前記ライセンス管理手段は、前記端末装置から送信される前記ソフト管理情報に基づいて、前記ライセンス使用情報記憶手段に記憶された前記ライセンス使用情報を作成または更新する手段であることが望ましい。
【００１２】
更に、第２の態様のライセンス管理システムにおいては、前記端末装置に備えられた第２の認証手段は、公開鍵暗号方式を利用した認証機能を備えたＩＣカードを使用した手段であることが望ましい。
【００１３】
また、本発明の第３の態様は、第２の態様のライセンス管理システムを構成する端末装置もしくはサーバ装置として、コンピュータを機能されるためのプログラムである。
【００１４】
本発明の第１から第３の態様によれば、前記端末装置にソフトウェアをインストール／アンインストールする際に、前記サーバが公開鍵暗号方式を用いて前記端末装置を認証することで、不正な第三者がソフトウェアをインストール／アンインストールすることを防止できるばかりか、ネットワーク上の脅威も軽減することができる。
【００１５】
加えて、前記端末装置がソフトウェアをインストール／アンインストールした後に、前記ソフトウェア管理情報を作成または更新し、前記ソフトウェア管理情報を前記サーバに送信し、前記サーバが前記ソフトウェア管理情報に基づいて前記ライセンス使用情報を変更することで、会社等の組織で複数のソフトウェアのライセンスを購入した場合でも、購入したライセンスの一元管理が容易に行なえる。
【発明の効果】
【００１６】
＜＜＜ライセンス管理システム＞＞＞
ここから、実施の形態１にて、本発明に係わるソフトウェアのライセンス管理システムについて説明する。図１は、ライセンス管理システムの機能ブロック図である。図１のライセンス管理システムは、会社のＰＣにインストールされるソフトウェアのライセンスを一元管理するシステムである。
【００１７】
図１に示したように、本実施の形態１のライセンス管理システムの基本構成は、情報記憶媒体４００（ここではＣＤ−ＲＯＭ）に記憶されたソフトウェアがインストール／アンインストールされるクライアントＰＣ２００と、クライアントＰＣ２００にインストール／アンインストールされるソフトウェアのライセンスを管理するライセンス管理サーバ１００とであり、クライアントＰＣ２００とライセンス管理サーバ１００はネットワーク５００（ここでは、ＬＡＮ）で接続されている。クライアントＰＣ２００は、本発明に係わる端末装置に該当し、ライセンス管理サーバ１００は、本発明に係わるサーバに該当する。なお、実際には、ライセンス管理サーバ１００には、複数のクライアントＰＣ２００がネットワーク５００を経由して接続されているが、説明を分かりやすくするために、図１においては、クライアントＰＣ２００を１台のみ図示している。
【００１８】
クライアントＰＣ２００は、会社に属する各々の従業員に配布されたＰＣで、例えば各々の従業員の自席に設置されたＰＣである。クライアントＰＣ２００には、クライアントＰＣ２００にインストール／アンインストールされるソフトウェアを管理するために、ソフトウェア管理エージェント２１０（Agent、以下ＡＧＴと記す）を備え、ソフトウェア管理ＡＧＴ２１０が使用する情報としてソフトウェア管理情報２２０を記憶している。また、クライアントＰＣ２００には、ライセンス管理サーバ１００とクライアントＰＣ２００の相互認証時に動作するクライアント認証ＡＧＴ２３０が備えれている。加えて、クライアントＰＣ２００には、ＩＣカード３００とデータ通信するリーダライタ２４０が備えられている。
【００１９】
クライアントＰＣ２００が記憶しているソフトウェア管理情報２２０とは、ソフトウェア管理ＡＧＴ２１０が利用する情報で、ソフトウェアの名称、ソフトウェアのバージョンＮｏ．、ソフトウェアの製造番号等の、クライアントＰＣ２００にインストールされたソフトウェアに関する情報である。ソフトウェア管理情報２２０は、オペレーティングシステムが有するソフトウェアの設定情報から、ソフトウェア管理ＡＧＴ２１０が独自で利用するソフトウェア管理情報２２０を作成してもよく、オペレーティングシステムが有するソフトウェアの設定情報を流用してもよい。
【００２０】
ソフトウェア管理ＡＧＴ２１０は、本発明に係わる検知手段およびソフトウェア管理手段の役割を果たし、クライアントＰＣ２００にインストール／アンインストールされるソフトウェアを管理する。ソフトウェア管理ＡＧＴ２１０は、クライアントＰＣ２００に組み込まれたプログラムによって実現される。ソフトウェア管理ＡＧＴ２１０は、クライアントＰＣ２００が起動すると同時に動作を開始し、ＰＣが終了するまで動作する。
【００２１】
ソフトウェア管理ＡＧＴ２１０は、動作している間、クライアントＰＣ２００にインストール／アンインストールされるソフトウェアを監視する。インストール／アンインストールされるソフトウェアを監視方法としては、オペレーティングシステムが有するインストール／アンインストール専用のソフトウェアコンポーネントが実行されることを監視する方法でもよく、または、オペレーティングシステムが有するソフトウェアの設定情報を監視することで実現できる。実際には、インストール／アンインストールされるソフトウェアを監視する方法は、クライアントＰＣ２００のオペレーティングシステムの仕様に依存する。
【００２２】
ソフトウェア管理ＡＧＴ２１０は、クライアントＰＣ２００にソフトウェアがインストール／アンインストールされることを検知すると、インストール／アンインストールされるソフトウェアの名称または情報記憶媒体４００（ＣＤ−ＲＯＭ）のＩＤ番号等の情報から、インストール／アンインストールされるソフトウェアを特定し、ライセンス管理サーバ１００からインストール／アンインストールの実行許可を意味する許可情報を得る。ライセンス管理サーバ１００からインストール／アンインストールの許可を得た場合はインストール／アンインストールを実行し、ソフトウェア管理情報２２０を更新した後、更新したソフトウェア管理情報２２０をライセンス管理サーバ１００に送信する。また、ライセンス管理サーバ１００からインストール／アンインストールの許可が出ない場合はライセンス管理サーバ１００からインストール／アンインストールを中止するなどの処理を行う。
【００２３】
クライアントＰＣ２００に備えられたリーダライタ２４０は、ＩＣカード３００とデータ通信する機能を果たす。ＩＣカード３００の通信方式は接触型と非接触型の２つの方式がＩＳＯ規格で規格化されているが、本発明は、何らＩＣカード３００の通信方式に依存するものではない。本実施の形態においては、カードがＩＣカードであることを読み手に認識させるために、図１においては接触型ＩＣカードを図示している。
【００２４】
ＩＣカード３００は、ＰＫＩを用いた認証機能を有し、本実施の形態においては従業員証の役目も同時に果たす。ＩＣカード３００の表面には、会社名、部門名、従業員氏名および従業員の顔写真等が印刷される。またＩＣカード３００に実装されたＩＣチップには、ＲＳＡに代表される公開鍵暗号方式の演算回路を備え、従業員であることをデジタル的に証明する際に使用される情報として、前記公開鍵暗号方式の公開暗号鍵として、従業員ごとに異なる従業員公開鍵を含むサーバ証明書３１０、従業員公開鍵と対になる従業員秘密鍵が記憶される。加えて、前記ＩＣチップには、従業員公開鍵／従業員秘密鍵をＩＣカード３００内部で秘匿に生成する機能も備えている。
【００２５】
図２は、ＩＣカード３００に記憶されるサーバ証明証３１０の内容を説明するための図である。サーバ証明証３１０には、ライセンス管理サーバ１００の公開鍵であるサーバ公開鍵３１１、前述の従業員公開鍵３１２、デジタル署名を生成するアルゴリズムを特定するデジタル署名アルゴリズム識別情報３１３、デジタル署名アルゴリズム識別情報で特定されるアルゴリズムで生成されたデジタル署名３１４が含まれる。また、サーバ証明証３１０には上述した情報に加え、ライセンス管理サーバ１００を特定するための情報であるサーバ識別情報や、サーバ証明証３１０を識別するための情報である証明証番号等の情報が付加される。今後、サーバ証明証３１０に含まれ、デジタル署名が算出されるときの基になる情報をメッセージと呼ぶことがある。なお、サーバ証明証３１０に含まれるサーバ公開鍵と対になるサーバ秘密鍵は、ライセンス管理サーバ１００内部に秘匿に記憶されている。
【００２６】
図３は、ＩＣカード３００の発行手順を説明するための図である。ＩＣカード３００の発行の最初のステップは、ＩＣカード３００を発行する発行装置が従業員情報を取得するステップ（Ｓ１０）である。例えば、会社の従業員情報を管理しているサーバ（例えば、人事サーバ）から、従業員情報は取得される。次のステップは、ＩＣカード３００の暗号鍵（従業員公開鍵と従業員秘密鍵）を生成するステップ（Ｓ２０）である。本実施の形態においては、前記暗号鍵は、ＩＣカード３００内部で秘匿に生成されるが、ＩＣカード３００外部でＩＣカード３００の暗号鍵を秘匿に生成してもよい。ＩＣカード３００内部で生成された従業員公開鍵は発行装置に伝送され、従業員秘密鍵は外部に漏れないようにＩＣカード３００内部に記憶される。
【００２７】
次のステップは、サーバ証明書３１０に含まれるメッセージを生成するステップ（Ｓ３０）である。メッセージの一例は、すでに、図２に示している。次のステップは、ステップＳ３０で生成したメッセージのデジタル署名を生成するステップ（Ｓ４０）である。デジタル署名は、例えば、メッセージのハッシュ値をサーバ秘密鍵で暗号化することで算出される。なお、サーバ秘密鍵でメッセージを暗号化する際は、サーバ秘密鍵が外部に漏れないよう、専用の暗号化装置で行なうことが望ましい。次のステップは、メッセージにデジタル署名を付加した情報をサーバ証明書３１０として、ＩＣカード３００に書き込むステップ（Ｓ５０）である。ステップＳ５０にて、ＩＣカード３００の発行は終了する。このように発行されたＩＣカード３００は、ライセンス管理サーバ１００がクライアントＰＣ２００を認証する際に使用される。
【００２８】
ライセンス管理サーバ１００に備えられたサーバ認証ＡＧＴ１３０およびクライアントＰＣ２００に備えられたクライアント認証ＡＧＴ２３０は、それぞれ、本発明に係わる第１の認証手段および第２の認証手段の該当する。サーバ認証ＡＧＴ１３０およびクライアント認証ＡＧＴ２３０は、ライセンス管理サーバ１００とクライアントＰＣ２００とが相互認証するときに動作し、サーバ認証ＡＧＴ１３０およびクライアント認証ＡＧＴ２３０はプログラムで実現される。ライセンス管理サーバ１００とクライアントＰＣ２００との相互認証、２つの段階から成る。一つ目の段階は、ライセンス管理サーバ１００がクライアントＰＣ２００の正当性を認証する段階で、二つ目の段階は、クライアントＰＣ２００がライセンス管理サーバ１００の正当性を認証する段階である。なお、相互認証にはＩＣカード３００内部に記憶された情報が利用される。
【００２９】
図４は、ライセンス管理サーバ１００とクライアントＰＣ２００との相互認証の手順を説明するための図である。ライセンス管理サーバ１００とクライアントＰＣ２００とが相互認証するときは、サーバ装置に備えられたサーバ認証ＡＧＴ１３０は、クライアントＰＣ２００に、クライアントＰＣ２００を使用する従業員が所持するＩＣカード３００に記憶されたサーバ証明書３１０およびクライアントＰＣ２００が有するＰＣ固有情報を要求する（Ｔ１０）。サーバ認証ＡＧＴ１３０がサーバ証明書３１０を要求するのは、サーバ認証ＡＧＴ１３０がクライアントＰＣ２００を使用している従業員の従業員公開鍵を取得し、従業員公開鍵の正当性を確認するためである。また、ＰＣ固有情報とは、ライセンス管理サーバ１００がアクセスのあったクライアントＰＣ２００を特定するために使用する情報で、クライアントＰＣ２００のネットワーク５００上のアドレス、会社が付加したコンピュータ名等の、クライアントＰＣ２００ごとに固有な情報であれば構わない。
【００３０】
クライアントＰＣ２００がライセンス管理サーバ１００からサーバ証明書３１０およびＰＣ固有情報の送信要求を受けると、クライアントＰＣ２００に備えられたクライアント認証ＡＧＴ２３０は、リーダライタ２４０を使用してＩＣカード３００に記憶されたサーバ証明書３１０を読取り（Ｔ１１）、クライアント認証ＡＧＴ２３０は、読取ったサーバ証明書３１０およびＰＣ固有情報をライセンス管理サーバ１００に送信する（Ｔ１２）。サーバ認証ＡＧＴ１３０は、クライアントＰＣ２００からサーバ証明書３１０およびＰＣ固有情報が送信されると、受信したサーバ証明書３１０を認証する（Ｔ１３）。受信したサーバ証明書３１０を認証する際、サーバ認証ＡＧＴ１３０は、受信したサーバ証明書３１０に含まれるメッセージからハッシュ値を算出し、受信したサーバ証明書３１０に含まれるデジタル署名をサーバ公開鍵で復号化し、復号化した値と算出した値が一致することを確認する。サーバ証明書３１０を認証することで、サーバ認証ＡＧＴ１３０は、サーバ証明書３１０に含まれる従業員公開鍵は正当だと判断し、またアクセスのあったクライアントＰＣ２００はＰＣ固有情報で特定されるクライアントＰＣ２００であると判断する。
【００３１】
次に、サーバ認証ＡＧＴ１３０は乱数（サーバ乱数と記す）を生成し（Ｔ１４）、サーバ乱数を従業員秘密鍵で暗号化した情報を演算する要求をクライアントＰＣ２００に送信する（Ｔ１５）。クライアント認証ＡＧＴ２３０は、リーダライタ２４０を利用して、ＩＣカード３００にサーバ乱数を伝送し、ＩＣカード３００から、ＩＣカード３００内部に記憶された従業員秘密鍵でサーバ乱数を暗号化した情報をＩＣカード３００から受け取る（Ｔ１６）。そして、クライアント認証ＡＧＴ２３０はライセンス管理サーバ１００にサーバ乱数を暗号化した情報を返信する（Ｔ１７）。サーバ認証ＡＧＴ１３０は送信されたをサーバ乱数を暗号化した情報をサーバ証明書３１０に含まれる従業員公開鍵で復号化し、生成したサーバ乱数と復号化した情報とが一致することを確認する（Ｔ１８）。
【００３２】
生成したサーバ乱数とサーバ暗号化乱数を復号化した情報とが一致した場合、サーバ認証ＡＧＴ１３０は、クライアントＰＣ２００を操作している従業員は、正当な従業員秘密鍵を記憶したＩＣカード３００を所持する正当な従業員であると判断する。そして、サーバ認証ＡＧＴ１３０は、クライアントＰＣ２００に認証結果を伝送する（Ｔ１９）。
【００３３】
次に、クライアント認証ＡＧＴ２３０は認証結果が成功であることを確認すると、クライアント認証ＡＧＴ２３０は、ＩＣカード３００に乱数を生成するコマンドを送信し、ＩＣカード３００内部で生成した乱数（カード乱数）を受け取り（Ｔ２０）、ＩＣカード３００から受け取ったカード乱数を暗号化する要求をライセンス管理サーバ１００に送信する（Ｔ２１）。
【００３４】
次に、サーバ認証ＡＧＴ１３０は、クライアントＰＣ２００から受信したカード乱数をサーバ秘密鍵で暗号化し（Ｔ２２）、暗号化されたカード乱数をクライアントＰＣ２００に送信する（Ｔ２３）。そして、クライアント認証ＡＧＴ２３０は、ライセンス管理サーバ１００から受信した暗号化されたカード乱数を、サーバ公開鍵で復号化し、カード乱数と復号化した情報とを比較する（Ｔ２４）。一致した場合は、現在アクセスしているライセンス管理サーバ１００は、サーバ証明書に含まれるサーバ公開鍵と対になるサーバ秘密鍵を有する正当なライセンス管理サーバ１００と判断する。一致しない場合は、不正なサーバと判断する。そして、クライアント認証ＡＧＴ２３０はライセンス管理サーバ１００に認証結果を送信する（Ｔ２５）。そして、サーバ認証ＡＧＴ１３０は、認証結果を受信することで、ライセンス管理サーバ１００とクライアントＰＣ２００との相互認証結果を得る。ライセンス管理サーバ１００とクライアントＰＣ２００とが相互認証を行なうことで、なりすまし等のネットワーク上の脅威を回避できる。
【００３５】
サーバ装置に備えれたライセンス管理ＡＧＴ１１０は、クライアントＰＣ２００にインストールされるソフトウェアのライセンスを管理する機能を有し、ライセンス管理サーバ１００に組み込まれたプログラムで実現され、ソフトウェアのライセンスを管理するための情報であるライセンス使用情報を記憶するライセンス使用情報データベース１２０（Data Base、以下ＤＢ）を有している。
【００３６】
ライセンス管理ＡＧＴ１１０は、クライアントＰＣ２００のソフトウェア管理ＡＧＴ２１０から送信されるソフトウェア管理情報２２０に基づいて、会社全体のクライアントＰＣ２００にインストールされるソフトウェアのライセンスを管理する。例えば、クライアントＰＣ２００にソフトウェアをインストールされる場合は、ソフトウェア管理情報２２０で示されるソフトウェアのライセンス使用状況をライセンス使用情報ＤＢ１２０にて確認し、ソフトウェア管理ＡＧＴ２１０にインストールに許可／不許可を意味する許可情報を送信する。
【００３７】
図５は、ライセンス使用情報ＤＢ１２０に記憶される情報を説明するための図である。ライセンス管理ＡＧＴ１１０は、クライアントＰＣ２００のソフトウェア管理ＡＧＴ２１０から送信されるソフトウェア管理情報２２０から、例えば、図５（ａ）、（ｂ）のデータベースを構築する。図５（ａ）は、クライアントＰＣ２００ごとにインストールされているソフトウェアを管理するための情報である。図５（ｂ）は、ソフトウェアごとにライセンスを管理するための情報である。
【００３８】
図６は、図５の状態でソフトウェアがインストールされた後のライセンス使用情報を説明するための図である。ＰＣ固有番号がＣＯＭＰ０００１であるクライアントＰＣ２００からライセンスサーバ管理装置にアクセスがあり、図形作成ソフトがインストールされると、図６（ａ）に示したように、ライセンス管理ＡＧＴ１１０は、クライアントＰＣ２００（ＣＯＭＰ０００１）に図形作成ソフトがインストールされた情報を書き込み、また図６（ｂ）に示したように、図形作成ソフトの使用ライセンス数が一つ増える。また、ソフトウェアがアンインストールされた場合には、アンインストールされたソフトウェアに関する情報を削除し、また使用ライセンス数を一つ減らせばよい。
【００３９】
このように、図５（ａ）、（ｂ）のようなＤＢを構築することで、ライセンス管理サーバ１００は、会社内のライセンス数を一元管理することができ、不足したライセンスに対して、そのソフトを不要としているクライアントＰＣ２００からアンインストールすることを要求したり、不足したライセンスを購入するなどして、ライセンスを管理する。
【００４０】
＜＜＜ライセンス管理方法＞＞＞
ここから、本発明に係わるライセンス管理方法について説明する。図７は、本発明に係わるライセンス管理方法の手順を示したフロー図である。ライセンス管理方法の最初のステップは、本発明に係わる端末装置であるクライアントＰＣ２００においてソフトウェアのインストール／アンインストールが開始され、クライアントＰＣ２００がソフトウェアのインストール／アンインストールを検知するステップ（Ｓ１００）である。上述のライセンス管理システムにおいては、クライアントＰＣ２００に備えられたソフトウェア管理ＡＧＴ２１０が、このステップの機能を果たす。
【００４１】
次のステップは、クライアントＰＣ２００が、ソフトウェアのインストール／アンインストールの実行可否を、本発明に係わるサーバであるライセンス管理サーバ１００に問い合わせするステップ（Ｓ１１０）である。上述のライセンス管理システムにおいては、ソフトウェア管理ＡＧＴ２１０が、このステップの機能を果たす。
【００４２】
次のステップは、ライセンス管理サーバ１００が、ＰＫＩを用いてクライアントＰＣ２００を認証するステップ（Ｓ１２０）である。そして、次のステップは、クライアントサーバが、ＰＫＩを用いてライセンス管理サーバ１００を認証するステップ（Ｓ１３０）である。上述のライセンス管理システムにおいては、サーバ認証ＡＧＴ１３０が、ＩＣカード３００に記憶されたサーバ証明書３１０およびサーバ証明書３１０に含まれる従業員公開鍵を利用して、クライアントＰＣ２００を認証する。また、クライアント認証ＡＧＴ２３０が、ＩＣカード３００に記憶されたサーバ証明書３１０に含まれるサーバ公開鍵を利用して、ライセンス管理サーバ１００を認証する。
【００４３】
次のステップは、ライセンス管理サーバ１００が、クライアントＰＣ２００に、ソフトウェアのインストール／アンインストールの実行許可を意味する許可情報を送信するステップ（Ｓ１４０）である。上述のライセンス管理システムにおいては、認証に成功した後、ライセンス管理ＡＧＴ１１０は、ライセンス使用情報ＤＢ１２０に記憶されたライセンス使用情報に基づいて、ソフトウェアのインストール／アンインストールの実行可否を判断し、実行可否を意味する許可情報をクライアントＰＣ２００に送信する。
【００４４】
次のステップは、クライアントＰＣ２００が、前記許可情報に基づいて、ソフトウェアのインストール／アンインストールを制御するステップ（Ｓ１５０）である。上述のライセンス管理システムにおいては、ソフトウェア管理ＡＧＴ２１０が、このステップに機能を果たす。
【００４５】
次のステップは、クライアントＰＣ２００が、ソフトウェアのインストール／アンインストールの実行結果を記憶するソフトウェア管理情報２２０を作成または更新し、ライセンス管理サーバ１００に送信するステップ（Ｓ１６０）である。上述のライセンス管理システムにおいては、ソフトウェア管理ＡＧＴ２１０が、このステップに機能を果たす。
【００４６】
次のステップは、ライセンス管理サーバ１００が、前記ソフトウェア管理情報２２０に基づいて、ライセンスを管理するステップ（Ｓ１７０）である。上述のライセンス管理システムにおいては、ライセンス管理ＡＧＴ１１０は、ライセンスを管理するための情報を記憶するライセンス使用情報ＤＢ１２０を有し、ライセンス管理ＡＧＴ１１０は、前記ソフトウェア管理情報２２０に基づいて、ライセンス使用情報ＤＢ１２０に記憶されたライセンス使用情報を操作する。
【図面の簡単な説明】
【００４７】
【図１】ライセンス管理システムのブロック図。
【図２】ＩＣカードに記憶されるサーバ証明証を説明する図。
【図３】ＩＣカードの発行手順を説明する図。
【図４】ライセンス管理サーバとクライアントＰＣの相互認証の手順を説明する図。
【図５】ライセンス使用情報ＤＢに記憶される情報を説明する図。
【図６】インストール後のライセンス使用情報ＤＢに記憶される情報を説明する図。
【図７】ライセンス管理方法の手順を示したフロー図。
【符号の説明】
【００４８】
１００  ライセンス管理サーバ
１１０  ライセンス管理エージェント
１２０  ライセンス使用情報データベース
１３０  サーバ認証エージェント
２００  クライアントＰＣ
２１０  ソフトウェア管理エージェント
２２０  ソフトウェア管理情報
２３０  クライアント認証エージェント
２４０  リーダライタ
３００  ＩＣカード
３１０  サーバ証明証
【図１】
2006092382.tif 000003
【図２】
2006092382.tif 000004
【図３】
2006092382.tif 000005
【図４】
2006092382.tif 000006
【図５】
2006092382.tif 000007
【図６】
2006092382.tif 000008
【図７】
2006092382.tif 000009