(57)【特許請求の範囲】
【請求項１】
秘密鍵及び公開鍵を用いて通信を行う所定のプログラムのプロダクトキーと前記プログラムが利用されるコンピュータの識別情報とを受信し、前記プロダクトキーに対するライセンスの認証に成功したときに、前記プロダクトキー及び前記識別情報の対応情報と、該対応情報に対する第二の識別情報とを管理手段に登録する登録手段と、
前記第二の識別情報を返信する識別情報送信手段とを有するライセンス認証装置と、
前記第二の識別情報を受信し、該第二の識別情報について前記管理手段に対する登録の有無を前記ライセンス認証装置に確認する確認手段と、
該第二の識別情報が登録されている場合に前記第二の識別情報ごとに固有の秘密鍵及び公開鍵を含む個別証明書パッケージを生成する証明書生成手段とを有する電子証明書発行装置と
を含む電子証明書発行システム。
【請求項２】
前記電子証明書発行装置は、
生成された前記個別証明書パッケージを前記第二の識別情報の送信元に返信する証明書返信手段を有することを特徴とする請求項１記載の電子証明書発行システム。
【請求項３】
前記電子証明書発行装置は、
生成された前記個別証明書パッケージを携帯型の記録媒体に記録する記録手段を有することを特徴とする請求項１記載の電子証明書発行システム。
【請求項４】
前記電子証明書発行装置は、
前記個別証明書パッケージが生成された前記第二の識別情報を記憶装置に記録する記録手段を有し、
受信される前記第二の識別情報が前記記憶装置に記録されている場合は、前記確認手段による該第二の識別情報の登録の有無の確認は行わずに、前記証明書生成手段が前記個別証明書パッケージを生成することを特徴とする請求項１乃至３いずれか一項記載の電子証明書発行システム。
【請求項５】
ライセンス認証装置が、
秘密鍵及び公開鍵を用いて通信を行う所定のプログラムのプロダクトキーと前記プログラムが利用されるコンピュータの識別情報とを受信し、前記プロダクトキーに対するライセンスの認証に成功したときに、前記プロダクトキー及び前記識別情報の対応情報と、該対応情報に対する第二の識別情報とを管理手段に登録する登録手順と、
前記第二の識別情報を返信する識別情報送信手順とを実行し、
電子証明書発行装置が、
前記第二の識別情報を受信し、該第二の識別情報について前記管理手段に対する登録の有無を前記ライセンス認証装置に確認する確認手順と、
該第二の識別情報が登録されている場合に前記第二の識別情報ごとに固有の秘密鍵及び公開鍵を含む個別証明書パッケージを生成する証明書生成手順とを実行する電子証明書発行方法。
【請求項６】
前記電子証明書発行装置は、
生成された前記個別証明書パッケージを前記第二の識別情報の送信元に返信する証明書返信手順を実行することを特徴とする請求項５記載の電子証明書発行方法。
【請求項７】
前記電子証明書発行装置は、
生成された前記個別証明書パッケージを携帯型の記録媒体に記録する記録手順を実行することを特徴とする請求項５記載の電子証明書発行方法。
【請求項８】
前記電子証明書発行装置は、
前記個別証明書パッケージが生成された前記第二の識別情報を記憶装置に記録する記録手順を実行し、
受信される前記第二の識別情報が前記記憶装置に記録されている場合は、前記確認手順による該第二の識別情報の登録の有無の確認は行わずに、前記証明書生成手順が前記個別証明書パッケージを生成することを特徴とする請求項５乃至７いずれか一項記載の電子証明書発行方法。
【請求項９】
ライセンス認証装置に、
秘密鍵及び公開鍵を用いて通信を行う所定のプログラムのプロダクトキーと前記プログラムが利用されるコンピュータの識別情報とを受信し、前記プロダクトキーに対するライセンスの認証に成功したときに、前記プロダクトキー及び前記識別情報の対応情報と、該対応情報に対する第二の識別情報とを管理手段に登録する登録手順と、
前記第二の識別情報を返信する識別情報送信手順とを実行させ、
電子証明書発行装置に、
前記第二の識別情報を受信し、該第二の識別情報について前記管理手段に対する登録の有無を前記ライセンス認証装置に確認する確認手順と、
該第二の識別情報が登録されている場合に前記第二の識別情報ごとに固有の秘密鍵及び公開鍵を含む個別証明書パッケージを生成する証明書生成手順とを実行させるための電子証明書発行プログラム。
【請求項１０】
前記電子証明書発行装置に、
生成された前記個別証明書パッケージを前記第二の識別情報の送信元に返信する証明書返信手順を実行させることを特徴とする請求項９記載の電子証明書発行プログラム。
【請求項１１】
前記電子証明書発行装置に、
生成された前記個別証明書パッケージを携帯型の記録媒体に記録する記録手順を実行させることを特徴とする請求項９記載の電子証明書発行プログラム。
【請求項１２】
前記電子証明書発行装置に、
前記個別証明書パッケージが生成された前記第二の識別情報を記憶装置に記録する記録手順を実行させ、
受信される前記第二の識別情報が前記記憶装置に記録されている場合は、前記確認手順による該第二の識別情報の登録の有無の確認は行わずに、前記証明書生成手順が前記個別証明書パッケージを生成することを特徴とする請求項９乃至１１いずれか一項記載の電子証明書発行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子証明書発行システム、電子証明書発行方法、及び電子証明書発行プログラムに関する。
【背景技術】
【０００２】
従来、オフィス等に設置されている複写機、プリンタ、又は複合機等の画像形成装置を、当該画像形成装置のメーカ等、保守作業を担当する業者がインターネットを介して監視するシステム（以下、「遠隔監視システム」という。）が存在する。斯かる遠隔監視システムは、一般的に、ユーザ側において画像形成装置より機器情報を収集する装置（機器情報収集装置）と保守業者側に設置されるサーバ装置と等より構成され、機器情報収集装置からサーバ装置に対してインターネットを介して機器情報が転送される。また、画像形成装置がサーバ装置に対して直接機器情報を転送する形態も存在する。
【０００３】
ここで、機器情報は、課金に用いられたり、ユーザの個人情報又は機密情報等も含みうるため、セキュアな通信による転送が要求される。そこで、送信経路上におけるデータの改ざんやなりすまし等を防止するため、クライアント（機器情報収集装置又は画像形成装置）とサーバ装置との間ではＳＳＬ（Secure Socket Layer）による相互認証及び暗号化通信が行われている。
【０００４】
相互認証を行うためには、クライアント及びサーバ装置共に、それぞれ秘密鍵を有している必要がある。秘密鍵は、遠隔監視システムのセキュリティを担保するために絶対に漏洩してはいけない情報である。また、保守業者が認めたクライアントにのみ導入可能であることが要求される。
【０００５】
従来の遠隔監視システムでは、クライアントとして用いられる装置には、基本的に工場出荷時に装置毎に一意な公開鍵証明書及び秘密鍵が組み込まれていた。すなわち、クライアントとしての画像形成装置はいうまでもなく、上記の機器情報収集装置についても、ＰＣ（Personal Computer）等の汎用的なコンピュータではなく、予め一意な公開鍵証明書及び秘密鍵が組み込まれた組み込み機器が用いられていた。
【０００６】
したがって、工場出荷時において、各クライアントに秘密鍵等を物理的に取り出せないように記録しておくことが可能であり、そうすることで、秘密鍵の一意性及び安全性が確保されていた。
【特許文献１】特開２００４−３２０７１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、機器情報収集装置として機能する装置が組み込み機器に限定されるのはシステムの柔軟性に欠ける。そこで、ＰＣ（Personal Computer）等の汎用的なコンピュータにインストール可能なソフトウェアによって機器情報収集装置に係る機能を実現することが望まれる。
【０００８】
但し、係るソフトウェアをパッケージ化してインターネットやＣＤ−ＲＯＭ等の記録媒体を介して配布する場合、当該パッケージはコピーにより作成される。したがって、パッケージごとに一意な秘密鍵等を当該ソフトウェアがインストールされるＰＣに対して安全に導入するのが困難であるという問題がある。
【０００９】
また、当該パッケージをネットワークを介して流通させる場合、悪意者であっても比較的容易に当該パッケージを入手することが可能となり、当該ソフトウェアを用いたサーバ装置に対する攻撃が行われる可能性が高まる虞がある。
【００１０】
本発明は、上記の点に鑑みてなされたものであって、複製が配布されるプログラムに対してそれぞれ一意な電子証明書を適切に割り当てることのできる電子証明書発行システム、電子証明書発行方法、及び電子証明書発行プログラムの提供を目的とする。
【課題を解決するための手段】
【００１１】
そこで上記課題を解決するため、本発明は、秘密鍵及び公開鍵を用いて通信を行う所定のプログラムのプロダクトキーと前記プログラムが利用されるコンピュータの識別情報とを受信し、前記プロダクトキーに対するライセンスの認証に成功したときに、前記プロダクトキー及び前記識別情報の対応情報と、該対応情報に対する第二の識別情報とを管理手段に登録する登録手段と、前記第二の識別情報を返信する識別情報送信手段とを有するライセンス認証装置と、前記第二の識別情報を受信し、該第二の識別情報について前記管理手段に対する登録の有無を前記ライセンス認証装置に確認する確認手段と、該第二の識別情報が登録されている場合に前記第二の識別情報ごとに固有の秘密鍵及び公開鍵を含む個別証明書パッケージを生成する証明書生成手段とを有する電子証明書発行装置とを含む。
【００１２】
このような電子証明書発行システムでは、複製が配布されるプログラムに対してそれぞれ一意な電子証明書を適切に割り当てることができる。
【発明の効果】
【００１３】
本発明によれば、複製が配布されるプログラムに対してそれぞれ一意な電子証明書を適切に割り当てることのできる電子証明書発行システム、電子証明書発行方法、及び電子証明書発行プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における機器監視システムの構成例を示す図である。同図において、機器監視システム１は、一台以上のＰＣ１０、一台以上の機器２０、センターサーバ４０、アクティベーションサーバ５０、及びＣＡ（Certificate Authority）６０等より構成されている。ＰＣ１０及び機器２０は、ＬＡＮ（Local Area Network）等のネットワーク３０（有線又は無線の別は問わない。）によって接続されている。また、ＰＣ１０、センターサーバ４０、アクティベーションサーバ５０、及びＣＡ６０は、インターネット等のネットワーク７０によって接続されている。
【００１５】
ＰＣ１０及び機器２０は、機器２０のユーザサイト（機器２０が設置されたオフィス等）に設置されている。機器２０は、複写機、プリンタ、ファクシミリ、又は複合機等の画像形成装置であり、機器監視システム１において監視対象とされる。ＰＣ１０は、各機器２０より監視対象の情報（各種カウンタ値や稼働状況等を示す情報。以下、「機器情報」という。）を収集し、相互認証を経た暗号化通信（例えば、ＳＳＬ（Secure Socket Layer）通信）によって当該機器情報をセンターサーバ４０に転送する。ユーザサイトは複数存在しうる。なお、ＰＣ１０において、機器情報を収集し、センターサーバ４０に転送する機能は、機器情報通知プログラムによって実現される。
【００１６】
センターサーバ４０は、機器２０の監視サイト（例えば、機器２０のメーカ等、機器２０の保守サービスの提供者）に属する。センターサーバ４０は、機器監視システム１の通常運用時において、ＰＣ１０より機器情報を受信し、蓄積するといった機器監視サービスを提供するコンピュータである。センターサーバ４０は、また、機器２０の監視の運用が開始される前に行われる、ＰＣ１０からセンターサーバ４０に対して行われる通信等の安全性を担保するための処理において、ＰＣ１０とＣＡ６０との間の仲介を行う。より具体的には、ＰＣ１０からの要求に応じ、ＰＣ１０ごとに固有の秘密鍵や公開鍵証明書等を含むデータ（以下、「個別証明書パッケージ」という。）の発行をＣＡ６０に要求し、ＣＡ６０に発行される個別証明書パッケージをＰＣ１０に返信する。当該秘密鍵や公開鍵証明書等（個別証明書パッケージ）は、ＰＣ１０が機器情報を転送する際にセンターサーバ４０との間の相互認証や暗号化通信に用いられる。なお、本実施の形態において、個別証明書パッケージは、ＰＫＣＳ（Public Key Cryptography Standards）に基づく電子証明書のパッケージである。
【００１７】
アクティベーションサーバ５０は、機器情報通知プログラムに関するアクティベーション（正規のライセンスを有していることの確認。すなわち、ライセンスの認証。）を行う。
【００１８】
ＣＡ６０は、いわゆる認証局であり、上述した個別証明書パッケージの発行等を行う一台以上のコンピュータである。本実施の形態において、ＣＡ６０は、アクティベーションサーバ５０との連携により、個別証明書パッケージの一意性を担保すると共に、ライセンスを有さないクライアント（ＰＣ１０）に対する個別証明書パッケージの発行を防止する。
【００１９】
図２は、本発明の実施の形態におけるＰＣのハードウェア構成例を示す図である。図２のＰＣ１０は、それぞれバスBで相互に接続されているＨＤＤ１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５と、表示装置１０６と、入力装置１０７とを有するように構成される。
【００２０】
ＰＣ１０での処理を実現するプログラム（機器情報通知プログラム）は、例えば、ネットワークを介してダウンロードされ、ＨＤＤ１０２にインストールされる。ＨＤＤ１０２は、インストールされた機器情報通知プログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２１】
メモリ装置１０３は、機器情報通知プログラムの起動指示があった場合に、ＨＤＤ１０２から機器情報通知プログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納された機器情報通知プログラムに従ってＰＣ１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６は機器情報通知プログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
【００２２】
なお、機器情報通知プログラムのインストールは必ずしもネットワークを介して行わなくても良い。例えば、ＣＤ−ＲＯＭやＳＤカード等の記録媒体より行ってもよい。
【００２３】
また、センターサーバ４０、アクティベーションサーバ５０、及びＣＡ６０についても、図２と同様のハードウェア構成を有する。但し、これらは、必ずしも表示装置１０６及び入力装置１０７は有していなくても（接続されていなくても）よい。
【００２４】
図３は、第一の実施の形態におけるＰＣの機能構成例を示す図である。同図において、機器情報通知プログラム１１は、ＯＳ１２上において動作し、ＰＣ１０をＵＩ部１１２、アクティベーション要求部１１３、個別証明書要求部１１４、機器情報収集部１１５、及び機器情報転送部１１６等として機能させる。
【００２５】
ＵＩ部１１２は、表示装置１０６にＧＵＩ（Graphical User Interface）を表示させ、ユーザ要求の検知や、ユーザへの情報の提供を行う。アクティベーション要求部１１３は、アクティベーションサーバ５０に対して機器情報通知プログラム１１のアクティベーションの要求を行う。個別証明書要求部１１４は、アクティベーションの結果に応じてセンターサーバ４０に対して個別証明書パッケージの発行を要求する。機器情報収集部１１５は、ネットワーク３０に接続された機器２０より機器情報を収集する。機器情報転送部１１６は、収集された機器情報をセンターサーバ４０に転送する。この際、機器情報転送部１１６は、個別証明書パッケージを利用した相互認証及び暗号化通信を行う。
【００２６】
なお、センターサーバ４０、アクティベーションサーバ５０、及びＣＡ６０と通信するための識別情報（例えば、それぞれのＩＰアドレス、ホスト名、又はＵＲＬ等）は、ＨＤＤ１０２において機器情報通知プログラム１１が認識可能な位置に保存されている。
【００２７】
以下、機器監視システム１の処理手順について説明する。図４は、第一の実施の形態における個別証明書パッケージの発行処理を説明するための図である。なお、各装置における処理は、当該装置にインストールされたプログラムの制御によって実行される。
【００２８】
ステップＳ１０１において、ＰＣ１０のユーザ（以下、単に「ユーザ」という。）は、機器情報通知プログラム１１のライセンスの発行元より当該ライセンスに対応するプロダクトキー（ライセンスキー）の発行を受ける。プロダクトキーは、例えば、当該ライセンスの購入に際して発行される。当該ライセンスの購入及びプロダクトキーの発行の形態は特に限定されない。インターネットを介して行われてもよいし、記録媒体（紙等も含む）を介して行われてもよい。なお、プロダクトキーはライセンスごとに一意である。
【００２９】
続いて、ユーザが、ＵＩ部１１２によって表示される画面を介してプロダクトキーを入力すると、アクティベーション要求部１１３は、アクティベーションサーバ５０に対して機器情報通知プログラム１１のアクティベーション要求（利用申請）を送信する（Ｓ１０２）。アクティベーション要求には、プロダクトキー及びＰＣ１０のハードウェア情報が含まれている。ここで、ハードウェア情報とは、ＰＣ１０のＭＡＣアドレス、ＣＰＵのシリアル番号、及びメモリのシリアル番号等、ＰＣ１０を物理的に一意に識別するための情報であり、アクティベーション要求部１１３がＰＣ１０より取得する。なお、ＵＩ部１１２は、入力されたプロダクトキーをＨＤＤ１０２の所定の位置に保存しておく。
【００３０】
アクティベーションサーバ５０は、ＰＣ１０よりプロダクトキー及びハードウェア情報を受信すると、アクティベーション管理テーブルに基づいてアクティベーション処理（ライセンスの認証）を行う（Ｓ１０３）。
【００３１】
図５は、アクティベーション管理テーブルの構成例を示す図である。同図において、アクティベーション管理テーブル５１は、アクティベートされた（ライセンスが認証された）プロダクトキー及びハードウェア情報の組（ペア）ごとに、シリアル番号及び無効フラグを管理するテーブル（情報）であり、例えば、アクティベーションサーバ５０の記憶装置に保存される。
【００３２】
したがって、アクティベーションサーバ５０は、受信されたプロダクトキーが既に他のハードウェア情報と対応付けられてアクティベーション管理テーブル５１に登録されているか否か（すなわち、同一のプロダクトキーに基づいて、他のＰＣ１０において機器情報通知プログラム１１が利用されているか否か）を判定することによりライセンスの認証を行う。但し、受信されたプロダクトキーに対するライセンスが複数のＰＣ１０における同時利用を許可するライセンスである場合、アクティベーションサーバ５０は、アクティベーション管理テーブル５１において、受信されたプロダクトキーに対してライセンス数分の異なるハードウェア情報が既に対応付けられているか否かを判定することによりライセンスの認証を行う。ライセンス数を特定する情報は、プロダクトＩＤに含まれていてもよいし、プロダクトＩＤに基づいて、ライセンス発行元のコンピュータに問い合わせるようにしてもよい。
【００３３】
受信されたプロダクトキーに対するライセンス数分のハードウェア情報がアクティベーション管理テーブル５１に登録されていない場合（すなわち、まだライセンス数分のアクティベートは行われていない場合）、アクティベーションサーバ５０は、受信されたプロダクトキー及びハードウェア情報に対するライセンスを認証し（正当なものであると判定し）、当該プロダクトキー及びハードウェア情報をアクティベーション管理テーブル５１に対応づけて登録する。また、アクティベーションサーバ５０は、当該プロダクトキー及びハードウェア情報の組（ペア）に対して一意な識別情報であるシリアル番号を生成し、当該シリアル番号を当該組に対応付けてアクティベーション管理テーブル５１に登録する。
【００３４】
続いて、アクティベーションサーバ５０は、当該シリアル番号をＰＣ１０に対して送信（発行）する（Ｓ１０４）。なお、ライセンスの認証に失敗した場合（既にライセンス数分のアクティベートが行われている場合）、アクティベーションサーバ５０は、アクティベーションの失敗を示す情報をＰＣ１０に送信する。すなわち、シリアル番号は、アクティベーションに成功した場合にのみ発行される。
【００３５】
続いて、ＰＣ１０の個別証明書要求部１１４は、機種ＩＤとシリアル番号との組み合わせに対して可逆変換を行うことにより個体識別ＩＤを生成する（Ｓ１０５）。なお、機種ＩＤとは、機器通知プログラム１１に対して与えられたＩＤをいう。すなわち、配布される全ての機器通知プログラム１１に対して機種ＩＤは共通の値となる。続いて、個別証明書要求部１１４は、個体識別ＩＤをセンターサーバ４０に送信することにより個別証明書パッケージの発行を要求する（Ｓ１０６）。
【００３６】
センターサーバ４０は、受信された個体識別ＩＤ及び個別証明書パッケージの発行要求をＣＡ６０に転送する（Ｓ１０７）。ＣＡ６０は、受信された個体識別ＩＤよりシリアル番号を抽出し（Ｓ１０８）、当該シリアル番号をアクティベーションサーバ５０に送信することにより、当該シリアル番号が発行済のものであるか（正当に発行されたものであるか）否かを問い合わせる（Ｓ１０９）。アクティベーションサーバ５０は、当該シリアル番号がアクティベーション管理テーブル５１に基づいて発行済であるか否かの判定を行う（Ｓ１１０）。当該シリアル番号がアクティベーション管理テーブル５１に登録されている場合、発行済であると判定し、登録されていない場合、発行済でないと判定する。アクティベーションサーバ５０は、その判定結果をＣＡ６０に返信する（Ｓ１１１）。
【００３７】
ＣＡ６０は、当該シリアル番号が発行済のものである場合は、個体識別ＩＤ（ＰＣ１０の機器情報通知プログラム１１）に対して固有の（一意な）個別証明書パッケージを生成し、当該個別証明書パッケージをセンターサーバ４０に返信する（Ｓ１１２）。
【００３８】
図６は、個別証明書パッケージの構成例を示す図である。同図に示されるように、個別証明書パッケージ１１７は、クライアント公開鍵証明書１１７１、認証局公開鍵証明書１１７２、及びクライアント秘密鍵１１７３、及び接続先情報１１７４等を含む。クライアント公開鍵証明書１１７１、クライアント秘密鍵１１７３は、センターサーバ４０との間の相互認証及び暗号化通信において、ＰＣ１０側の公開鍵証明書、秘密鍵として用いられる。認証局公開鍵証明書１１７２は、ＣＡ６０の公開鍵証明書である。接続先情報は、個別証明書パッケージ１１７を用いた暗号化通信による接続先の識別情報であり、ここでは、センターサーバ４０のＩＰアドレスが相当する。
【００３９】
ＣＡ６０は、また、個別証明書パッケージ１１７の発行対象とされた個体識別ＩＤを証明書発行履歴リストに登録する。
【００４０】
図７は、証明書発行履歴リストの構成例を示す図である。同図に示されるように、証明書発行履歴リスト６１は、個別証明書パッケージ１７１が発行された個体識別ＩＤの一覧であり、例えば、ＣＡ６０の記憶装置に保存される。
【００４１】
続いて、センターサーバ４０は、個別証明書パッケージ１１７を受信すると、当該個別証明書パッケージ１１７をＰＣ１０に転送する（Ｓ１１３）。ＰＣ１０の個別証明書要求部１１４は、転送された個別証明書パッケージ１１７をＨＤＤ１０２の所定の位置に保存する。
【００４２】
ＰＣ１０における機器情報通知プログラム１１がアクティベートされ、また、ＰＣ１０に対して個別証明書パッケージ１１７が導入されることにより、機器情報転送部１１６は、機器情報収集部１１５によって収集される機器情報のセンターサーバ４０に対する送信が可能となる。機器情報の転送の際には、機器情報転送部１１６は、ＨＤＤ１０２に保存されているプロダクトキーと、ハードウェア情報とをアクティベーションサーバ５０に送信し、実行の可否を問い合わせる。アクティベーションサーバ５０は、当該プロダクトキー及びハードウェア情報がアクティベーション管理テーブル５１に登録されている場合、実行を許可する。
【００４３】
実行が許可されると、機器情報転送部１１６は、以下のようなＳＳＬ（Secure Socket Layer）による相互認証が個別証明書パッケージ１１７を用いて実行する。
【００４４】
図８は、個別証明書パッケージを用いたＳＳＬによる認証処理を説明するためのシーケンス図である。なお、当該認証処理では、センターサーバ４０においても証明書パッケージが導入されていることが前提となる。すなわち、本実施の形態においてセンターサーバ４０には、予め固有の証明書パッケージが導入（保存）されている。当該証明書パッケージには、センターサーバ４０ごとに固有の公開鍵証明書（サーバ公開鍵証明書）、センターサーバ４０ごとに固有の秘密鍵（サーバ秘密鍵）、及び認証局６０の公開鍵証明書が含まれている。
【００４５】
通信の開始時に、機器情報転送部１１６は、ＳＳＬバージョン番号、サポートしている暗号セット、及び乱数等をセンターサーバ４０に送信する（Ｓ３０１）。続いて、センターサーバ４０は、ＳＳＬバージョン番号、使用する暗号セット、及び乱数等を機器情報転送部１１６に送信する（Ｓ３０２）。続いて、センターサーバ４０は、機器情報転送部１１６にサーバ公開鍵証明書を送信する（Ｓ３０３）。続いて、センターサーバ４０は、機器情報転送部１１６に証明書の提示を要求する（Ｓ３０４）。その後、センターサーバ４０は、機器情報転送部１１６からの応答を待つ。
【００４６】
サーバ公開鍵証明書を受信すると、機器情報転送部１１６は、認証局公開鍵証明書１１７２を用いて当該サーバ公開鍵証明書を検証する（Ｓ３０５）。サーバ公開鍵証明書の正当性が確認された場合、機器情報転送部１１６は、クライアント公開鍵証明書１１７１をセンターサーバ４０に送信する（Ｓ３０６）。続いて、機器情報転送部１１６は、ここまでやり取りしたデータのハッシュ値から計算したプリマスターシークレット（乱数）をサーバの公開鍵で暗号化する（Ｓ３０７）。続いて、機器情報転送部１１６は、暗号化されたプリマスターシークレットをセンターサーバ４０に送信する（Ｓ３０８）。続いて、機器情報転送部１１６は、ここまでやり取りしたデータを使って計算された乱数データにクライアント秘密鍵で署名を行う（Ｓ３０９）。続いて、機器情報転送部１１６は、署名された乱数データをセンターサーバ４０に送信する（Ｓ３１０）。続いて、機器情報転送部１１６は、２つのシードとプリマスターシークレットとに基づいてセッション鍵を作成する（Ｓ３１１）。
【００４７】
続いて、センターサーバ４０は、受信したクライアント公開鍵証明書１１７１をセンターサーバ４０が有する認証局公開鍵証明書を用いて検証する。また、センターサーバ４０は、署名付きデータをクライアント公開鍵証明書１１７１を用いて検証する。更に、センターサーバ４０は、サーバ秘密鍵で復号したプリマスターシークレットと２つのシードとよりセッション鍵を作成する（Ｓ３１２）。
【００４８】
続いて、機器情報転送部１１６は、「今後この共通鍵でデータを送信する旨」のメッセージと、ＳＳＬ認証終了メッセージをセンターサーバ４０に送信する（Ｓ３１３）。続いて、センターサーバ４０は、「今後この共通鍵でデータを送信する旨」のメッセージと、ＳＳＬ認証終了メッセージを機器情報転送部１１６に送信する（Ｓ３１４）。以降はセッション鍵による暗号化通信が開始される（Ｓ３１４）。斯かる暗号化通信によって、機器情報転送部１１６は、センターサーバ４０に対する機器情報等の送信を行う。したがって、ＰＣ１０において、正当な個別証明書パッケージ１１７が導入されていない場合は、同図の認証を通過することができず、その後の通信を行うことができない。すなわち、機器情報の転送は、機器情報通知プログラム１１についてアクティベーションに成功すること、及び個別証明書パッケージが導入されているが条件となる。
【００４９】
なお、図８の処理は、センターサーバ４０が証明書の持ち主以外の偽造サーバだと秘密鍵を持っていないので、機器情報転送部１１６から送信されたプリマスターシークレットが復号することはできず、また、機器情報転送部１１６が証明書の持ち主以外の偽造クライアントだとクライアントからの署名が確認できない、という理論から相互認証を達成している。
【００５０】
ところで、個別証明書パッケージ１１７が導入されたＰＣ１０の破損や、その他業務上又は運用上等の都合により、新たにライセンスを購入することなく機器情報通知プログラム１１を異なるＰＣ１０上においてインストールし、動作させたい場合がある。以下、斯かる場合に実行される処理手順について説明する。
【００５１】
図９は、同一ライセンスを異なるＰＣに適用する場合の第一の処理手順を説明するための図である。
【００５２】
この場合、ユーザ（機器２０のユーザサイトにおけるユーザ）は、既に購入済のライセンスに対して異なるプロダクトキーの発行（プロダクトキーの再発行）を要求する。この際、当該ライセンスに対して既に発行されているプロダクトキー（旧プロダクトキー）がライセンス発行元に通知される。ライセンス発行元のコンピュータは、操作者より旧プロダクトキーの入力を受けると、当該旧プロダクトキーを伴ってプロダクトキーの再発行要求をアクティベーションサーバ５０に送信する（Ｓ４０１）。
【００５３】
続いて、アクティベーションサーバ５０は、旧プロダクトキーに代わる新たなプロダクトキーを生成し、生成された（再発行された）プロダクトキーをライセンス発行元のコンピュータに返信する（Ｓ４０２）。なお、アクティベーションサーバ５０は、プロダクトキーの再発行に伴い、アクティベーション管理テーブル５１において旧プロダクトキーに対応する無効フラグをＯＮとする。無効フラグがＯＮとされることにより、当該旧プロダクトキーは無効化される。以降、当該旧プロダクトキーに基づくアクティベーション要求は拒否される。
【００５４】
続いて、ライセンス発行元は、機器２０のユーザサイトに対して再発行されたプロダクトキーをユーザサイトに通知する（Ｓ４０３）。
【００５５】
以降、新たに機器情報通知プログラム１１がインストールされたＰＣ１０ａが利用され、再発行されたプロダクトキーに基づいて、図４において説明した処理手順と同様の処理手順が実行される（Ｓ４０４〜Ｓ４１５）。したがって、ステップＳ４０５では、新たなシリアル番号が発行され、ステップＳ４１４では、新たな個別証明書パッケージ１１７が発行される。
【００５６】
なお、仮に、旧プロダクトキーを有するＰＣ１０において、機器情報転送部１１６が旧個別証明書パッケージを用いて機器情報の転送を行うとした場合、機器情報転送部１１６による実行可否の問い合わせに対して、アクティベーションサーバ５０は、当該旧プロダクトキーが無効化されていることに基づいて実行を許可しない旨を返答する。したがって、ライセンス違反による機器情報の転送は防止される。
【００５７】
また、図９の処理の代わりに図１０に示される処理を実行してもよい。図１０は、同一ライセンスを異なるＰＣに適用する場合の第二の処理手順を説明するための図である。
【００５８】
プロダクトキーの再発行処理について（ステップＳ５０１〜Ｓ５０３）は、図９のステップＳ４０１〜Ｓ４０３とほぼ同様である。但し、ステップＳ５０２において、アクティベーションサーバ５０は、旧プロダクトキーを無効化するだけではなく、再発行されたプロダクトキー（新プロダクトキー）と旧プロダクトキーとの対応付け情報を記憶装置上に保持しておく。
【００５９】
続いて、ＰＣ１０ａのアクティベーション要求部１１３は、新プロダクトキー及びＰＣ１０ａのハードウェア情報を伴って機器情報通知プログラム１１のアクティベーション要求（利用申請）をアクティベーションサーバ５０に送信する（Ｓ５０４）。アクティベーションサーバ５０は、新プロダクトキー及びハードウェア情報に基づいてアクティベーション処理を行う（Ｓ５０５）。この際、アクティベーションサーバ５０は、新プロダクトキーに対して新たなシリアル番号は生成せずに、新プロダクトキーに対応付けられている旧プロダクトキーに対して登録されているシリアル番号をアクティベーション管理テーブル５１において新プロダクトキー等に対応づける（Ｓ５０５）。したがって、アクティベーションサーバ５０は、旧プロダクトキーに対するシリアル番号と同じシリアル番号をＰＣ１０に返信する（Ｓ５０５）。
【００６０】
続いて、ステップＳ５０７〜Ｓ５０９は、図９のステップＳ４０７〜Ｓ４０９と同様である。但し、ステップＳ５０７において、個別証明書要求部１１４は、個別証明書パッケージ１１７の「再発行」を明示的に要求する。したがって、ＣＡ６０には、当該再発行が要求される（Ｓ５０９）。ＣＡ６０は、再発行が要求された場合、受信された個体識別ＩＤが証明書発行履歴リスト６１（図７参照）に登録されているか否かを判定する。登録されている場合、ＣＡ６０は、アクティベーションサーバ５０に対する問い合わせを行うことなく個別証明書パッケージ１７１を生成し、センターサーバ４０に送信する（Ｓ５１１）。すなわち、図１０では、一度個別証明書パッケージ１７１が発行された個体識別ＩＤは正当なものとみなされる。したがって、ＣＡ６０によるアクティベーション５０に対する問い合わせは不要となり、個別証明書パッケージ１７１の発行処理を簡略化することができる。以降の処理は図４において説明したものと同様である。
【００６１】
上述したように、第一の実施の形態における機器情報監視システム１によれば、ベーションサーバ５０とＣＡ６０との連携によって適切に個別証明書パッケージ１７１が発行される。すなわち、アクティベーションサーバ５０において、プロダクトキー及びハードウェア情報の組に対して一意なシリアル番号が割り当てられる。また、ＣＡ６０は、個別証明書パッケージ１７１の発行要求に応じ、当該シリアル番号に基づいてライセンスの正当性をアクティベーションサーバ５０に問い合わせ、ライセンスの正当性が確認された場合にのみ個別証明書パッケージ１７１を発行する。したがって、ＰＣ１０に対してＰＣ１０に対して固有の個別証明書パッケージ１７１を適切に発行することができる。その結果、各ＰＣ１０（各機器情報通知プログラム１１）の個体識別が可能となる。
【００６２】
次に、第二の実施の形態について説明する。第二の実施の形態では、主として第一の実施の形態と異なる点について説明する。
【００６３】
図１１は、第二の実施の形態における個別証明書パッケージの発行処理を説明するための図である。
【００６４】
同図においてステップＳ６０１〜Ｓ６０９までは、図４のステップＳ１０１〜Ｓ１１１までと同様である。但し、ＰＣ１０の個別証明書要求部１１４は、個別証明書パッケージ１７１の発行要求において、個体識別ＩＤではなくシリアル番号を送信する（Ｓ６０５）。すなわち、個体識別ＩＤの生成は行われず、ＣＡ６０にはシリアル番号が通知される（Ｓ６０６）、したがってＣＡ６０は、個体識別ＩＤからのシリアル番号の抽出は行う必要はない。
【００６５】
なお、第一の実施の形態においても、個体識別ＩＤの生成は必須ではなく、シリアル番号に基づいて個別証明書パッケージ１７１の発行要求等が行われてもよい。
【００６６】
アクティベーションサーバ５０によってシリアル番号が発行済のものであることが確認されると、ＣＡ６０は個別証明書パッケージ１７１を生成し、ＣＡ６０のＵＳＢポート（ＵＳＢコネクタ）接続されたＵＳＢトークン６２に個別証明書パッケージ１７１を記録する（Ｓ６１０）。
【００６７】
したがって、個別証明書パッケージ１７１は、ＵＳＢトークン６２を媒体として機器２０のユーザサイトに配送される。
【００６８】
ＵＳＢトークン６２がＰＣ１０のＵＳＢポートに接続されると、個別証明書要求部１１４は、ＵＳＢトークン６２より個別証明書パッケージ１７１を読み込み、ＨＤＤ１０２に保存する（Ｓ６１２）。但し、個別証明書パッケージ１７１は、ＨＤＤ１０２に保存されず、継続的にＵＳＢトークン６２において保持されてもよい。この場合、運用時にはＵＳＢトークン６２がＰＣ１０に接続される必要がある。
【００６９】
第二の実施の形態によっても、個別証明書パッケージ６１１をセキュアに発行することができる。なお、個別証明書パッケージ１７１を流通させるための記録媒体は、ＵＳＢトークン６２に限定されない。ＵＳＢメモリ又はＣＤ−ＲＯＭ等、可搬性の有る（携帯型の）記録媒体であればよい。
【００７０】
次に、第三の実施の形態について説明する。第三の実施の形態では、ＩＣチップ（ＣＰＵ及びメモリ等）が搭載された可搬性の有る記録媒体（携帯型の情報処理デバイス）に、ＣＡ６０及びアクティベーションサーバ５０等の機能が搭載された例を説明する。なお、第三の実施の形態では、ＵＳＢトークンを携帯型の情報処理デバイスの具体例として用いる。
【００７１】
図１２は、第三の実施の形態におけるＵＳＢトークン内の構成例を示す図である。同図において、ＵＳＢトークン８０には、アクティベーションプログラム８１、個体識別ＩＤ生成プログラム８２、ＣＡプログラム８３、及び結果反映プログラム８４の４つのプログラムと、プロダクトキー８５、有効ライセンス数８６、及び管理テーブル８７等のデータが記録されている。
【００７２】
アクティベーションプログラム８１は、アクティベーションサーバ５０の機能を簡易的に実現する。個体識別ＩＤ生成プログラム８２は、個体識別ＩＤを生成する。ＣＡプログラム８３は、ＣＡ６０の機能を簡易的に実現する。結果反映プログラム８４は、アクティベーションプログラム８１やＣＡプログラム８３によって実行された処理内容をアクティベーションサーバ５０及びＣＡ６０に反映させる。
【００７３】
プロダクトキー８５は、ライセンス発行元より発行されたプロダクトキーである。有効ライセンス数８６は、プロダクトキー８５に対して設定されたライセンス数である。すなわち、図１２は、既にプロダクトキーの発行を受けた後の状態を示す。なお、ライセンス数が１又は固定的に決まっている場合、有効ライセンス数８６はＵＳＢトークン８０内に記録されていなくてもよい。
【００７４】
管理テーブル８７は、発行済の個体証明書パッケージ１７１ごとにハードウェア情報、シリアル番号、及び個体識別ＩＤを管理するテーブルである。したがって、初期時（ＵＳＢトークン８０を利用して個体証明書パッケージ１７１が一つも発行されていない状態）においては、管理テーブル８７は空である。
【００７５】
図１３は、第三の実施の形態におけるＰＣの機能構成例を示す図である。図１３中、図３と同一部分には同一符号を付し、その説明は省略する。
【００７６】
同図に示されるように、機器情報通知プログラム１１ａは、アクティベーション要求部１１３及び個別証明書要求部１１４は有さない。このように、第三の実施の形態では、機器情報通知プログラム１１ａの構成が簡略化される。
【００７７】
以下、処理手順について説明する。図１４は、第三の実施の形態における個別証明書パッケージの発行処理を説明するための図である。なお、同図において、アクティベーションプログラム８１、個体識別ＩＤ生成プログラム８２、及びＣＡプログラム８３は、ＵＳＢトークン８０が備えるＩＣチップにそれぞれの処理を実行させる。
【００７８】
ＰＣ１０のＵＳＢポートにＵＳＢトークン８０が接続されると、アクティベーションプログラム８１は、ＰＣ１０からハードウェア情報を読み取る（Ｓ７０１）。ハードウェア情報は、ＰＣ１０から直接読み取るようにしてもよいし、機器情報通知プログラム１１ａより入力されるようにしてもよい。続いて、アクティベーションプログラム８１は、プロダクトキー８５及びハードウェア情報に基づいてアクティベーション処理を実行する（Ｓ７０２）。具体的には、管理テーブル８７に登録されているレコード数が有効ライセンス数８６に達していないか、ＰＣ１０より取得されたハードウェア情報が管理テーブル８７に既に登録されていないかを確認する。レコード数が有効ライセンス数８６に達しておらず、ハードウェア情報が管理テーブル８７に登録されていない場合、アクティベーションプログラム８１は、ハードウェア情報及びプロダクトキー８５の組に対して一意なシリアル番号を生成し、当該ハードウェア情報とシリアル番号とを管理テーブル８７に登録すると共に、当該シリアル番号を個体識別ＩＤ生成プログラム８２に通知する。
【００７９】
続いて、個体識別ＩＤ生成プログラム８２は、機器情報通知プログラム１１ａより機種ＩＤを取得し、当該機種ＩＤとシリアル番号とに基づいて個体識別ＩＤを生成する（Ｓ７０３）。個体識別ＩＤ生成プログラム８２は、生成した個体識別ＩＤをシリアル番号に対応付けて管理テーブル８７に登録する。続いて、個体識別ＩＤ生成プログラム８２は、個体識別ＩＤに基づいて個別証明書パッケージ１７１の発行をＣＡプログラム８３に要求する（Ｓ７０４）。
【００８０】
ＣＡプログラムは個体識別ＩＤごとに一意な個別証明書パッケージ１７１を生成し、当該個別証明書パッケージ１７１を個体識別ＩＤに対応付けて管理テーブル８７に登録する（Ｓ７０５）。
【００８１】
個別証明書パッケージ１７１の発行に応じ、以下の処理が実行される。図１５は、ＵＳＢトークンにおける処理結果の反映処理を説明するための図である。
【００８２】
結果反映プログラム８４は、プロダクトキー８５と、新たに管理テーブル８７に登録されたハードウェア情報、及びシリアル番号とを簡易的なアクティベーション処理の処理結果としてＰＣ１０を介してアクティベーションサーバ５０に対して送信する（Ｓ８０１）。
【００８３】
アクティベーションサーバ５０は、受信されたプロダクトキー８５、ハードウェア情報、及びシリアル番号を対応付けてアクティベーション管理テーブル５１に登録する（Ｓ８０２）。これにより、簡易的なアクティベーション処理の結果がアクティベーションサーバ５０に反映される。
【００８４】
続いて、結果反映プログラム８４は、新たに管理テーブル８７に登録された個体識別ＩＤをＰＣ１０を介してＣＡ６０に送信する（Ｓ８０３）。ＣＡ６０は、受信された個体識別ＩＤを証明書発行履歴リスト６１に登録する（Ｓ３０４）。これにより、簡易的な個別証明書パッケージ１７１の発行処理の結果がＣＡ６０に反映される。
【００８５】
なお、アクティベーションサーバ５０及びＣＡ６０と通信するための識別情報（例えば、それぞれのＩＰアドレス、ホスト名、又はＵＲＬ等）は、ＵＳＢトークン８０内に記録されていてもよいし、外部（機器情報通知プログラム１１ａで保持している情報）より読み出して使用してもよい。
【００８６】
図１４及び図１５の処理が、機器２０のユーザサイト内において一つのＵＳＢトークン８０を用いて実行されることにより、ライセンス違反を適切に防止しつつ、各ＰＣ１０に固有の個別証明書パッケージ１７１を導入することができる。
【００８７】
なお、ＰＣ１０の機器情報転送部１１６は、機器情報の転送を行うたびにＵＳＢトークン６０より当該ＰＣ１０のハードウェア情報に対応する個別証明書パッケージ１１７を読み出して利用する。すなわち、ＵＳＢトークン８０内には継続的に個別証明書パッケージ１１７が保持される。したがって、運用時には、ＵＳＢトークン８０がＰＣ１０に接続されている必要がある。
【００８８】
但し、ＰＣ１０内にて証明書パッケージ１７１をセキュアに保持できるのであれば、ＵＳＢトークン８０から証明書パッケージ１７１を機器情報通知プログラム１１ａ側（ＰＣ１０の記憶装置）へインポートしてしまってもよい。この場合、運用時にＵＳＢトークン８０をＰＣ１０へ接続する必要はない。
【００８９】
また、例えば、プロダクトキー８５について有効ライセンス数８６が２以上（複数）となるようなボリュームライセンスの場合、一つのＵＳＢトークン８０を複数台のＰＣ１０に対して使い、簡易個別証明書設定ツールとし活用できる。
【００９０】
また、図１５の処理は、図１４の処理と非同期に実施されてもよい。すなわち、複数のＰＣ１０に対して同一のＵＳＢトークン８０を利用して図１４の処理が実施された後、他のＰＣにＵＳＢトークン８０を接続し、複数台分の図１５の処理をまとめて実施してもよい。例えば、サービスマンが、機器２０のユーザサイトにおいて図１４の処理を有効ライセンス数分のＰＣ１０に対して実施し、帰社後に、図１５の処理を実施するといった運用も可能である。この場合、ＵＳＢトークン８０は、ユーザサイトに改めて配布される必要がある。
【００９１】
上述したように、第三の実施の形態によれば、ＵＳＢトークン８０に搭載されたプログラムにより、アクティベーションサーバ５０とＣＡ６０との連携が必要であった個別証明書発行手順を、簡易的に実施することが可能となる。
【００９２】
なお、ＩＣチップが搭載されていないＵＳＢメモリデバイスや他の可搬性の有る記録媒体がＵＳＢトークン８０の代わりに利用されてもよい。この場合、当該記録媒体内の各プログラムをＰＣ１０のメモリ上にロードし、ＰＣ１０にその処理手順を実行させればよい。
【００９３】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施の形態における機器監視システムの構成例を示す図である。
【図２】本発明の実施の形態におけるＰＣのハードウェア構成例を示す図である。
【図３】第一の実施の形態におけるＰＣの機能構成例を示す図である。
【図４】第一の実施の形態における個別証明書パッケージの発行処理を説明するための図である。
【図５】アクティベーション管理テーブルの構成例を示す図である。
【図６】個別証明書パッケージの構成例を示す図である。
【図７】証明書発行履歴リストの構成例を示す図である。
【図８】個別証明書パッケージを用いたＳＳＬによる認証処理を説明するためのシーケンス図である。
【図９】同一ライセンスを異なるＰＣに適用する場合の第一の処理手順を説明するための図である。
【図１０】同一ライセンスを異なるＰＣに適用する場合の第二の処理手順を説明するための図である。
【図１１】第二の実施の形態における個別証明書パッケージの発行処理を説明するための図である。
【図１２】第三の実施の形態におけるＵＳＢトークン内の構成例を示す図である。
【図１３】第三の実施の形態におけるＰＣの機能構成例を示す図である。
【図１４】第三の実施の形態における個別証明書パッケージの発行処理を説明するための図である。
【図１５】ＵＳＢトークンにおける処理結果の反映処理を説明するための図である。
【符号の説明】
【００９５】
１            機器監視システム
１０          ＰＣ
１１          機器情報通知プログラム
２０          機器
３０、７０    ネットワーク
４０          センターサーバ
５０          アクティベーションサーバ
６０          ＣＡ
８０          ＵＳＢトークン
８１          アクティベーションプログラム
８２          個体識別ＩＤ生成プログラム
８３          ＣＡプログラム
８４          結果反映プログラム
８５          プロダクトキー
８６          有効ライセンス数
８７          管理テーブル
１０２        ＨＤＤ
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
１１２        ＵＩ部
１１３        アクティベーション要求部
１１４        個別証明書要求部
１１５        機器情報収集部
１１６        機器情報転送部
【図１】
0005042109.tif 000002
【図２】
0005042109.tif 000003
【図３】
0005042109.tif 000004
【図４】
0005042109.tif 000005
【図５】
0005042109.tif 000006
【図６】
0005042109.tif 000007
【図７】
0005042109.tif 000008
【図８】
0005042109.tif 000009
【図９】
0005042109.tif 000010
【図１０】
0005042109.tif 000011
【図１１】
0005042109.tif 000012
【図１２】
0005042109.tif 000013
【図１３】
0005042109.tif 000014
【図１４】
0005042109.tif 000015
【図１５】
0005042109.tif 000016