説明

ソフトウェアのライセンス管理方法、システムおよびプログラム

【課題】複数のソフトウェアのライセンスの一括管理が容易に行なえ、かつネットワーク上の様々の脅威を回避できるソフトウェアのライセンス管理システムを提供する。
【解決手段】ソフトウェア管理エージェント210はソフトウェアのインストールを検知し、インストールの実行可否をライセンス管理サーバ100に問い合わせ、ライセンス管理エージェント110は、公開鍵暗号方式を用いてクライアントPC200を認証した後、ライセンス使用情報データベース120を参照し、インストールの許可結果を示す許可情報をクライアントPC200に送信し、ソフトウェア管理エージェント210は、前記許可情報に基づいてインストールの実行を制御する。なお、インストールの実行結果は、ソフトウェア管理情報220に記憶され、ライセンス使用情報データベース120の内容はソフトウェア管理情報220に基づいて変更される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パーソナルコンピュータ等にインストールされるソフトウェアのライセンスを管理する管理方法、管理システムおよびプログラムに関し、更に詳しくはPKI(Public Key Infrastructure )を利用したソフトウェアのライセンスを管理する管理方法、管理システムおよびプログラムに関する。
【背景技術】
【0002】
従来より、CD−ROM等のデータ記憶媒体に記憶されたソフトウェアを不正にパーソナルコンピュータ等にインストールするなどして、ソフトウェアを不正に使用することが問題になっており、様々な解決手段が開示されている。
【0003】
例えば、ソフトウェアを不正に使用することを防止する発明としては、ソフトウェアの使用時(例えば、ソフトウェアのインストールまたはソフトウェアの起動)に認証される認証情報(例えば、メモリカードの個体ID)をメモリカードに記憶し、ソフトウェアを使用する際に、前記メモリカードに記憶された前記認証情報を認証し、認証に成功した場合にのみソフトウェアが使用できる発明が開示されている(例えば、特許文献1)。
【0004】
また、ソフトウェアを不正にパーソナルコンピュータ(Personal Computer、以下、PCと記す)にインストールし使用することを防止するため、ネットワークを利用して、パーソナルコンピュータ(Personal Computer、以下、PCと記す)にインストールされるソフトウェアのライセンスを管理する発明も開示されている(例えば、特許文献2)。特許文献2においては、ネットワーク(例えば、LAN、Local Area Network)に接続されたPCにインストールされるソフトウェアのライセンスを管理するライセンス管理サーバをネットワーク上に設け、前記ライセンス管理サーバはネットワークに接続されたPCにインストールされているソフトウェアのインベントリ情報をネットワークを介して自動収集し、収集したインベントリ情報に基づいて、不足しているライセンスについては必要なライセンスを購入したりするなどして、各PCにインストールされているソフトウェアのライセンスを管理する。
【特許文献1】特開2002−351569号公報
【特許文献2】特開2004−46756号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のソフトウェアの不正使用を防止する手段において、メモリカード等の情報記憶媒体の有無でソフトウェアの使用を管理する方法は、例えば、会社等の組織において、同一のソフトウェアのライセンスを複数購入する場合、複数の情報記憶媒体を管理することは大変面倒なことであるし、また、誰がどのPCにソフトウェアをインストールしているか正確に把握すること容易ではなく、会社等の組織等においてソフトウェアのライセンス管理を行う用途には適していない。
【0006】
また、従来のネットワークを利用したソフトウェアを不正使用を防止する技術においては、ネットワーク上の脅威に対して脆弱である。例えば、ネットワーク上に流れる情報を盗聴することで、第三者がソフトウェアを使用する正当な当事者になりすまして、ソフトウェアを不正にインストールするかも知れない。
【0007】
そこで、上述の課題を鑑みて、本発明は、会社等の組織で複数のソフトウェアのライセンスを一括して管理する場合、購入した前記ライセンスの管理が容易に行なえ、かつネットワーク上の様々の脅威を回避できるソフトウェアのライセンス管理方法、管理システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決する本発明の第1の態様は、ネットワークに接続された複数の端末装置で使用されるソフトウェアのライセンス管理方法である。第1の態様においては、前記端末装置と、前記端末装置とネットワークを介して接続される前記ソフトウェアのライセンスを管理するサーバとを有し、前記サーバおよび前記端末装置は、それぞれ公開暗号鍵方式を用いた認証機能を備える。当該方法は、前記端末装置が、ソフトウェアのインストール/アンインストールを検知すると、前記サーバに前記インストール/アンインストールの実行可否を問い合わせする。そして、前記サーバは、前記端末装置を公開鍵暗号方式を用いて認証し、前記認証結果に基いて、前記インストール/アンインストールの実行可否を判断し、前記端末装置に実行可否を意味する許可情報を送信する。前記端末装置は、前記許可情報に基づいて、前記インストール/アンインストールを制御する。
【0009】
更に、第1の態様のライセンス管理方法においては、前記端末装置は、前記ソフトウェアをインストール/アンインストールした後に、インストール/アンインストールの実行結果を記憶したソフトウェア管理情報を作成または更新し、前記ソフトウェア管理情報を前記サーバに送信し、前記サーバは、前記端末装置から送信された前記ソフトウェア管理情報に基づいて、前記ソフトウェアのライセンスを管理することが望ましい。
【0010】
また、本発明の第2の態様は、ネットワークに接続された複数の端末装置で使用されるソフトウェアのライセンス管理システムである。前記システムは、前記端末装置に加え、前記端末装置とネットワークを介して接続され、前記ソフトウェアのライセンスを管理するサーバから構成される。前記サーバは、ネットワークに接続された他のコンピュータ装置を公開鍵暗号方式を利用して認証する第1の認証手段と、前記端末装置で使用されるソフトウェアのライセンス使用状況を意味するライセンス使用情報を記憶するライセンス使用情報記憶手段と、前記第1の認証手段の認証結果と、前記ライセンス使用情報とに基づいて、前記ソフトウェアのインストール/アンインストールの実行可否を判断し、実行可否の結果を意味する許可情報を前記端末装置に送信する機能を有するライセンス管理手段とを備えている。そして、前記端末装置は、ネットワークに接続された他のコンピュータ装置を公開鍵暗号方式を利用して認証する第2の認証手段と、前記ソフトウェアのインストール/アンインストールを検知する検知手段と、前記サーバ装置に、前記前記ソフトウェアのインストール/アンインストールの実行可否を問い合わせ、前記サーバ装置から送信される前記許可情報に基づいて、前記ソフトウェアのインストール/アンインストールを制御するソフトウェア管理手段とを備えている。
【0011】
更に、第2の態様におけるライセンス管理システムにおいて、前記端末装置に備えれた前記ソフトウェア管理手段は、前記ソフトウェアのインストール/アンインストールの実行結果を記憶したソフトウェア管理情報を有し、前記ソフトウェアのインストール/アンインストールを実行した後に前記ソフトウェア管理情報を作成または更新し、前記ソフトウェア管理情報を前記サーバに送信する機能を備え、前記サーバに備えられた前記ライセンス管理手段は、前記端末装置から送信される前記ソフト管理情報に基づいて、前記ライセンス使用情報記憶手段に記憶された前記ライセンス使用情報を作成または更新する手段であることが望ましい。
【0012】
更に、第2の態様のライセンス管理システムにおいては、前記端末装置に備えられた第2の認証手段は、公開鍵暗号方式を利用した認証機能を備えたICカードを使用した手段であることが望ましい。
【0013】
また、本発明の第3の態様は、第2の態様のライセンス管理システムを構成する端末装置もしくはサーバ装置として、コンピュータを機能されるためのプログラムである。
【0014】
本発明の第1から第3の態様によれば、前記端末装置にソフトウェアをインストール/アンインストールする際に、前記サーバが公開鍵暗号方式を用いて前記端末装置を認証することで、不正な第三者がソフトウェアをインストール/アンインストールすることを防止できるばかりか、ネットワーク上の脅威も軽減することができる。
【0015】
加えて、前記端末装置がソフトウェアをインストール/アンインストールした後に、前記ソフトウェア管理情報を作成または更新し、前記ソフトウェア管理情報を前記サーバに送信し、前記サーバが前記ソフトウェア管理情報に基づいて前記ライセンス使用情報を変更することで、会社等の組織で複数のソフトウェアのライセンスを購入した場合でも、購入したライセンスの一元管理が容易に行なえる。
【発明の効果】
【0016】
<<<ライセンス管理システム>>>
ここから、実施の形態1にて、本発明に係わるソフトウェアのライセンス管理システムについて説明する。図1は、ライセンス管理システムの機能ブロック図である。図1のライセンス管理システムは、会社のPCにインストールされるソフトウェアのライセンスを一元管理するシステムである。
【0017】
図1に示したように、本実施の形態1のライセンス管理システムの基本構成は、情報記憶媒体400(ここではCD−ROM)に記憶されたソフトウェアがインストール/アンインストールされるクライアントPC200と、クライアントPC200にインストール/アンインストールされるソフトウェアのライセンスを管理するライセンス管理サーバ100とであり、クライアントPC200とライセンス管理サーバ100はネットワーク500(ここでは、LAN)で接続されている。クライアントPC200は、本発明に係わる端末装置に該当し、ライセンス管理サーバ100は、本発明に係わるサーバに該当する。なお、実際には、ライセンス管理サーバ100には、複数のクライアントPC200がネットワーク500を経由して接続されているが、説明を分かりやすくするために、図1においては、クライアントPC200を1台のみ図示している。
【0018】
クライアントPC200は、会社に属する各々の従業員に配布されたPCで、例えば各々の従業員の自席に設置されたPCである。クライアントPC200には、クライアントPC200にインストール/アンインストールされるソフトウェアを管理するために、ソフトウェア管理エージェント210(Agent、以下AGTと記す)を備え、ソフトウェア管理AGT210が使用する情報としてソフトウェア管理情報220を記憶している。また、クライアントPC200には、ライセンス管理サーバ100とクライアントPC200の相互認証時に動作するクライアント認証AGT230が備えれている。加えて、クライアントPC200には、ICカード300とデータ通信するリーダライタ240が備えられている。
【0019】
クライアントPC200が記憶しているソフトウェア管理情報220とは、ソフトウェア管理AGT210が利用する情報で、ソフトウェアの名称、ソフトウェアのバージョンNo.、ソフトウェアの製造番号等の、クライアントPC200にインストールされたソフトウェアに関する情報である。ソフトウェア管理情報220は、オペレーティングシステムが有するソフトウェアの設定情報から、ソフトウェア管理AGT210が独自で利用するソフトウェア管理情報220を作成してもよく、オペレーティングシステムが有するソフトウェアの設定情報を流用してもよい。
【0020】
ソフトウェア管理AGT210は、本発明に係わる検知手段およびソフトウェア管理手段の役割を果たし、クライアントPC200にインストール/アンインストールされるソフトウェアを管理する。ソフトウェア管理AGT210は、クライアントPC200に組み込まれたプログラムによって実現される。ソフトウェア管理AGT210は、クライアントPC200が起動すると同時に動作を開始し、PCが終了するまで動作する。
【0021】
ソフトウェア管理AGT210は、動作している間、クライアントPC200にインストール/アンインストールされるソフトウェアを監視する。インストール/アンインストールされるソフトウェアを監視方法としては、オペレーティングシステムが有するインストール/アンインストール専用のソフトウェアコンポーネントが実行されることを監視する方法でもよく、または、オペレーティングシステムが有するソフトウェアの設定情報を監視することで実現できる。実際には、インストール/アンインストールされるソフトウェアを監視する方法は、クライアントPC200のオペレーティングシステムの仕様に依存する。
【0022】
ソフトウェア管理AGT210は、クライアントPC200にソフトウェアがインストール/アンインストールされることを検知すると、インストール/アンインストールされるソフトウェアの名称または情報記憶媒体400(CD−ROM)のID番号等の情報から、インストール/アンインストールされるソフトウェアを特定し、ライセンス管理サーバ100からインストール/アンインストールの実行許可を意味する許可情報を得る。ライセンス管理サーバ100からインストール/アンインストールの許可を得た場合はインストール/アンインストールを実行し、ソフトウェア管理情報220を更新した後、更新したソフトウェア管理情報220をライセンス管理サーバ100に送信する。また、ライセンス管理サーバ100からインストール/アンインストールの許可が出ない場合はライセンス管理サーバ100からインストール/アンインストールを中止するなどの処理を行う。
【0023】
クライアントPC200に備えられたリーダライタ240は、ICカード300とデータ通信する機能を果たす。ICカード300の通信方式は接触型と非接触型の2つの方式がISO規格で規格化されているが、本発明は、何らICカード300の通信方式に依存するものではない。本実施の形態においては、カードがICカードであることを読み手に認識させるために、図1においては接触型ICカードを図示している。
【0024】
ICカード300は、PKIを用いた認証機能を有し、本実施の形態においては従業員証の役目も同時に果たす。ICカード300の表面には、会社名、部門名、従業員氏名および従業員の顔写真等が印刷される。またICカード300に実装されたICチップには、RSAに代表される公開鍵暗号方式の演算回路を備え、従業員であることをデジタル的に証明する際に使用される情報として、前記公開鍵暗号方式の公開暗号鍵として、従業員ごとに異なる従業員公開鍵を含むサーバ証明書310、従業員公開鍵と対になる従業員秘密鍵が記憶される。加えて、前記ICチップには、従業員公開鍵/従業員秘密鍵をICカード300内部で秘匿に生成する機能も備えている。
【0025】
図2は、ICカード300に記憶されるサーバ証明証310の内容を説明するための図である。サーバ証明証310には、ライセンス管理サーバ100の公開鍵であるサーバ公開鍵311、前述の従業員公開鍵312、デジタル署名を生成するアルゴリズムを特定するデジタル署名アルゴリズム識別情報313、デジタル署名アルゴリズム識別情報で特定されるアルゴリズムで生成されたデジタル署名314が含まれる。また、サーバ証明証310には上述した情報に加え、ライセンス管理サーバ100を特定するための情報であるサーバ識別情報や、サーバ証明証310を識別するための情報である証明証番号等の情報が付加される。今後、サーバ証明証310に含まれ、デジタル署名が算出されるときの基になる情報をメッセージと呼ぶことがある。なお、サーバ証明証310に含まれるサーバ公開鍵と対になるサーバ秘密鍵は、ライセンス管理サーバ100内部に秘匿に記憶されている。
【0026】
図3は、ICカード300の発行手順を説明するための図である。ICカード300の発行の最初のステップは、ICカード300を発行する発行装置が従業員情報を取得するステップ(S10)である。例えば、会社の従業員情報を管理しているサーバ(例えば、人事サーバ)から、従業員情報は取得される。次のステップは、ICカード300の暗号鍵(従業員公開鍵と従業員秘密鍵)を生成するステップ(S20)である。本実施の形態においては、前記暗号鍵は、ICカード300内部で秘匿に生成されるが、ICカード300外部でICカード300の暗号鍵を秘匿に生成してもよい。ICカード300内部で生成された従業員公開鍵は発行装置に伝送され、従業員秘密鍵は外部に漏れないようにICカード300内部に記憶される。
【0027】
次のステップは、サーバ証明書310に含まれるメッセージを生成するステップ(S30)である。メッセージの一例は、すでに、図2に示している。次のステップは、ステップS30で生成したメッセージのデジタル署名を生成するステップ(S40)である。デジタル署名は、例えば、メッセージのハッシュ値をサーバ秘密鍵で暗号化することで算出される。なお、サーバ秘密鍵でメッセージを暗号化する際は、サーバ秘密鍵が外部に漏れないよう、専用の暗号化装置で行なうことが望ましい。次のステップは、メッセージにデジタル署名を付加した情報をサーバ証明書310として、ICカード300に書き込むステップ(S50)である。ステップS50にて、ICカード300の発行は終了する。このように発行されたICカード300は、ライセンス管理サーバ100がクライアントPC200を認証する際に使用される。
【0028】
ライセンス管理サーバ100に備えられたサーバ認証AGT130およびクライアントPC200に備えられたクライアント認証AGT230は、それぞれ、本発明に係わる第1の認証手段および第2の認証手段の該当する。サーバ認証AGT130およびクライアント認証AGT230は、ライセンス管理サーバ100とクライアントPC200とが相互認証するときに動作し、サーバ認証AGT130およびクライアント認証AGT230はプログラムで実現される。ライセンス管理サーバ100とクライアントPC200との相互認証、2つの段階から成る。一つ目の段階は、ライセンス管理サーバ100がクライアントPC200の正当性を認証する段階で、二つ目の段階は、クライアントPC200がライセンス管理サーバ100の正当性を認証する段階である。なお、相互認証にはICカード300内部に記憶された情報が利用される。
【0029】
図4は、ライセンス管理サーバ100とクライアントPC200との相互認証の手順を説明するための図である。ライセンス管理サーバ100とクライアントPC200とが相互認証するときは、サーバ装置に備えられたサーバ認証AGT130は、クライアントPC200に、クライアントPC200を使用する従業員が所持するICカード300に記憶されたサーバ証明書310およびクライアントPC200が有するPC固有情報を要求する(T10)。サーバ認証AGT130がサーバ証明書310を要求するのは、サーバ認証AGT130がクライアントPC200を使用している従業員の従業員公開鍵を取得し、従業員公開鍵の正当性を確認するためである。また、PC固有情報とは、ライセンス管理サーバ100がアクセスのあったクライアントPC200を特定するために使用する情報で、クライアントPC200のネットワーク500上のアドレス、会社が付加したコンピュータ名等の、クライアントPC200ごとに固有な情報であれば構わない。
【0030】
クライアントPC200がライセンス管理サーバ100からサーバ証明書310およびPC固有情報の送信要求を受けると、クライアントPC200に備えられたクライアント認証AGT230は、リーダライタ240を使用してICカード300に記憶されたサーバ証明書310を読取り(T11)、クライアント認証AGT230は、読取ったサーバ証明書310およびPC固有情報をライセンス管理サーバ100に送信する(T12)。サーバ認証AGT130は、クライアントPC200からサーバ証明書310およびPC固有情報が送信されると、受信したサーバ証明書310を認証する(T13)。受信したサーバ証明書310を認証する際、サーバ認証AGT130は、受信したサーバ証明書310に含まれるメッセージからハッシュ値を算出し、受信したサーバ証明書310に含まれるデジタル署名をサーバ公開鍵で復号化し、復号化した値と算出した値が一致することを確認する。サーバ証明書310を認証することで、サーバ認証AGT130は、サーバ証明書310に含まれる従業員公開鍵は正当だと判断し、またアクセスのあったクライアントPC200はPC固有情報で特定されるクライアントPC200であると判断する。
【0031】
次に、サーバ認証AGT130は乱数(サーバ乱数と記す)を生成し(T14)、サーバ乱数を従業員秘密鍵で暗号化した情報を演算する要求をクライアントPC200に送信する(T15)。クライアント認証AGT230は、リーダライタ240を利用して、ICカード300にサーバ乱数を伝送し、ICカード300から、ICカード300内部に記憶された従業員秘密鍵でサーバ乱数を暗号化した情報をICカード300から受け取る(T16)。そして、クライアント認証AGT230はライセンス管理サーバ100にサーバ乱数を暗号化した情報を返信する(T17)。サーバ認証AGT130は送信されたをサーバ乱数を暗号化した情報をサーバ証明書310に含まれる従業員公開鍵で復号化し、生成したサーバ乱数と復号化した情報とが一致することを確認する(T18)。
【0032】
生成したサーバ乱数とサーバ暗号化乱数を復号化した情報とが一致した場合、サーバ認証AGT130は、クライアントPC200を操作している従業員は、正当な従業員秘密鍵を記憶したICカード300を所持する正当な従業員であると判断する。そして、サーバ認証AGT130は、クライアントPC200に認証結果を伝送する(T19)。
【0033】
次に、クライアント認証AGT230は認証結果が成功であることを確認すると、クライアント認証AGT230は、ICカード300に乱数を生成するコマンドを送信し、ICカード300内部で生成した乱数(カード乱数)を受け取り(T20)、ICカード300から受け取ったカード乱数を暗号化する要求をライセンス管理サーバ100に送信する(T21)。
【0034】
次に、サーバ認証AGT130は、クライアントPC200から受信したカード乱数をサーバ秘密鍵で暗号化し(T22)、暗号化されたカード乱数をクライアントPC200に送信する(T23)。そして、クライアント認証AGT230は、ライセンス管理サーバ100から受信した暗号化されたカード乱数を、サーバ公開鍵で復号化し、カード乱数と復号化した情報とを比較する(T24)。一致した場合は、現在アクセスしているライセンス管理サーバ100は、サーバ証明書に含まれるサーバ公開鍵と対になるサーバ秘密鍵を有する正当なライセンス管理サーバ100と判断する。一致しない場合は、不正なサーバと判断する。そして、クライアント認証AGT230はライセンス管理サーバ100に認証結果を送信する(T25)。そして、サーバ認証AGT130は、認証結果を受信することで、ライセンス管理サーバ100とクライアントPC200との相互認証結果を得る。ライセンス管理サーバ100とクライアントPC200とが相互認証を行なうことで、なりすまし等のネットワーク上の脅威を回避できる。
【0035】
サーバ装置に備えれたライセンス管理AGT110は、クライアントPC200にインストールされるソフトウェアのライセンスを管理する機能を有し、ライセンス管理サーバ100に組み込まれたプログラムで実現され、ソフトウェアのライセンスを管理するための情報であるライセンス使用情報を記憶するライセンス使用情報データベース120(Data Base、以下DB)を有している。
【0036】
ライセンス管理AGT110は、クライアントPC200のソフトウェア管理AGT210から送信されるソフトウェア管理情報220に基づいて、会社全体のクライアントPC200にインストールされるソフトウェアのライセンスを管理する。例えば、クライアントPC200にソフトウェアをインストールされる場合は、ソフトウェア管理情報220で示されるソフトウェアのライセンス使用状況をライセンス使用情報DB120にて確認し、ソフトウェア管理AGT210にインストールに許可/不許可を意味する許可情報を送信する。
【0037】
図5は、ライセンス使用情報DB120に記憶される情報を説明するための図である。ライセンス管理AGT110は、クライアントPC200のソフトウェア管理AGT210から送信されるソフトウェア管理情報220から、例えば、図5(a)、(b)のデータベースを構築する。図5(a)は、クライアントPC200ごとにインストールされているソフトウェアを管理するための情報である。図5(b)は、ソフトウェアごとにライセンスを管理するための情報である。
【0038】
図6は、図5の状態でソフトウェアがインストールされた後のライセンス使用情報を説明するための図である。PC固有番号がCOMP0001であるクライアントPC200からライセンスサーバ管理装置にアクセスがあり、図形作成ソフトがインストールされると、図6(a)に示したように、ライセンス管理AGT110は、クライアントPC200(COMP0001)に図形作成ソフトがインストールされた情報を書き込み、また図6(b)に示したように、図形作成ソフトの使用ライセンス数が一つ増える。また、ソフトウェアがアンインストールされた場合には、アンインストールされたソフトウェアに関する情報を削除し、また使用ライセンス数を一つ減らせばよい。
【0039】
このように、図5(a)、(b)のようなDBを構築することで、ライセンス管理サーバ100は、会社内のライセンス数を一元管理することができ、不足したライセンスに対して、そのソフトを不要としているクライアントPC200からアンインストールすることを要求したり、不足したライセンスを購入するなどして、ライセンスを管理する。
【0040】
<<<ライセンス管理方法>>>
ここから、本発明に係わるライセンス管理方法について説明する。図7は、本発明に係わるライセンス管理方法の手順を示したフロー図である。ライセンス管理方法の最初のステップは、本発明に係わる端末装置であるクライアントPC200においてソフトウェアのインストール/アンインストールが開始され、クライアントPC200がソフトウェアのインストール/アンインストールを検知するステップ(S100)である。上述のライセンス管理システムにおいては、クライアントPC200に備えられたソフトウェア管理AGT210が、このステップの機能を果たす。
【0041】
次のステップは、クライアントPC200が、ソフトウェアのインストール/アンインストールの実行可否を、本発明に係わるサーバであるライセンス管理サーバ100に問い合わせするステップ(S110)である。上述のライセンス管理システムにおいては、ソフトウェア管理AGT210が、このステップの機能を果たす。
【0042】
次のステップは、ライセンス管理サーバ100が、PKIを用いてクライアントPC200を認証するステップ(S120)である。そして、次のステップは、クライアントサーバが、PKIを用いてライセンス管理サーバ100を認証するステップ(S130)である。上述のライセンス管理システムにおいては、サーバ認証AGT130が、ICカード300に記憶されたサーバ証明書310およびサーバ証明書310に含まれる従業員公開鍵を利用して、クライアントPC200を認証する。また、クライアント認証AGT230が、ICカード300に記憶されたサーバ証明書310に含まれるサーバ公開鍵を利用して、ライセンス管理サーバ100を認証する。
【0043】
次のステップは、ライセンス管理サーバ100が、クライアントPC200に、ソフトウェアのインストール/アンインストールの実行許可を意味する許可情報を送信するステップ(S140)である。上述のライセンス管理システムにおいては、認証に成功した後、ライセンス管理AGT110は、ライセンス使用情報DB120に記憶されたライセンス使用情報に基づいて、ソフトウェアのインストール/アンインストールの実行可否を判断し、実行可否を意味する許可情報をクライアントPC200に送信する。
【0044】
次のステップは、クライアントPC200が、前記許可情報に基づいて、ソフトウェアのインストール/アンインストールを制御するステップ(S150)である。上述のライセンス管理システムにおいては、ソフトウェア管理AGT210が、このステップに機能を果たす。
【0045】
次のステップは、クライアントPC200が、ソフトウェアのインストール/アンインストールの実行結果を記憶するソフトウェア管理情報220を作成または更新し、ライセンス管理サーバ100に送信するステップ(S160)である。上述のライセンス管理システムにおいては、ソフトウェア管理AGT210が、このステップに機能を果たす。
【0046】
次のステップは、ライセンス管理サーバ100が、前記ソフトウェア管理情報220に基づいて、ライセンスを管理するステップ(S170)である。上述のライセンス管理システムにおいては、ライセンス管理AGT110は、ライセンスを管理するための情報を記憶するライセンス使用情報DB120を有し、ライセンス管理AGT110は、前記ソフトウェア管理情報220に基づいて、ライセンス使用情報DB120に記憶されたライセンス使用情報を操作する。
【図面の簡単な説明】
【0047】
【図1】ライセンス管理システムのブロック図。
【図2】ICカードに記憶されるサーバ証明証を説明する図。
【図3】ICカードの発行手順を説明する図。
【図4】ライセンス管理サーバとクライアントPCの相互認証の手順を説明する図。
【図5】ライセンス使用情報DBに記憶される情報を説明する図。
【図6】インストール後のライセンス使用情報DBに記憶される情報を説明する図。
【図7】ライセンス管理方法の手順を示したフロー図。
【符号の説明】
【0048】
100 ライセンス管理サーバ
110 ライセンス管理エージェント
120 ライセンス使用情報データベース
130 サーバ認証エージェント
200 クライアントPC
210 ソフトウェア管理エージェント
220 ソフトウェア管理情報
230 クライアント認証エージェント
240 リーダライタ
300 ICカード
310 サーバ証明証


【特許請求の範囲】
【請求項1】
ネットワークに接続された複数の端末装置で使用されるソフトウェアのライセンスを管理するライセンス管理方法であって、
ソフトウェアがインストール/アンインストールされる前記端末装置が、ソフトウェアのインストール/アンインストールを検知するステップと、
前記端末装置が、ネットワークを介して前記インストール/アンインストールの実行可否を問い合わせするステップと、
前記端末装置が、ネットワークを介して公開鍵暗号方式を用いて認証されるステップと、
前記端末装置が、前記端末装置の認証結果に基いて判断され、前記インストール/アンインストールの実行可否を意味する許可情報を受信するステップと、
前記端末装置が、前記許可情報に基づいて、前記インストール/アンインストールを制御するステップと
を含むことを特徴とするライセンス管理方法。
【請求項2】
請求項1に記載のライセンス管理方法において、
前記端末装置が、前記許可情報に基づいて、前記ソフトウェアをインストール/アンインストールした後に、インストール/アンインストールの実行結果を記憶したソフトウェア管理情報を作成または更新し、ネットワークを介して前記ソフトウェア管理情報を送信するステップと、
前記端末装置から送信された前記ソフトウェア管理情報に基づいて、前記ソフトウェアのライセンスを管理するステップと、
を含むことを特徴とするライセンス管理方法。
【請求項3】
ネットワークに接続された複数の端末装置で使用されるソフトウェアのライセンスを管理するライセンス管理システムであって、
前記ライセンス管理システムは、前記端末装置とネットワークを介して前記ソフトウェアのライセンスを管理するサーバを有し、
前記サーバは、公開鍵暗号方式を利用してネットワークに接続された他のコンピュータ装置を認証する第1の認証手段と、
前記端末装置で使用されるソフトウェアのライセンス使用状況を意味するライセンス使用情報を記憶するライセンス使用情報記憶手段と、
前記第1の認証手段の認証結果と、前記ライセンス使用情報とに基づいて、前記端末装置のインストール/アンインストールの実行可否を判断し、実行可否の結果を意味する許可情報を前記端末装置にライセンス管理手段と、を備え、
前記端末装置は、
公開鍵暗号方式を利用してネットワークに接続された他のコンピュータ装置を認証する第2の認証手段と、
前記ソフトウェアのインストール/アンインストールを検知する検知手段と、
前記サーバ装置に、前記前記ソフトウェアのインストール/アンインストールの実行可否を問い合わせ、前記サーバ装置から送信される前記許可情報に基づいて、前記ソフトウェアのインストール/アンインストールを制御するソフトウェア管理手段と、
を備えていることを特徴とするライセンス管理システム。
【請求項4】
請求項3に記載のライセンス管理システムにおいて、
前記端末装置に備えれた前記ソフトウェア管理手段は、前記ソフトウェアのインストール/アンインストールの実行結果を記憶したソフトウェア管理情報を有し、前記ソフトウェア管理手段は前記ソフトウェアのインストール/アンインストールを実行した後に前記ソフトウェア管理情報を作成または更新し、前記ソフトウェア管理情報を前記サーバに送信する機能を備え、
前記サーバに備えられた前記ライセンス管理手段は、前記端末装置から送信される前記ソフトウェア管理情報に基づいて、前記ライセンス使用情報記憶手段に記憶された前記ライセンス使用情報を作成または更新する手段であることを特徴とするライセンス管理システム。
【請求項5】
請求項3または請求項4に記載のライセンス管理システムにおいて、
前記端末装置に備えられた第2の認証手段は、公開鍵暗号方式を利用した認証機能を備えたICカードを使用した手段であることを特徴とするライセンスの管理システム。
【請求項6】
請求項3〜請求項5のいずれかに記載のライセンス管理システムを構成する端末装置もしくはサーバ装置として、コンピュータを機能されるためのプログラム。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate