(57)【要約】      （修正有）【課題】信頼できないプラグインに対して機密情報を渡さないことで情報の漏洩を抑制する情報処理装置、情報処理システム及び情報処理プログラムを提供する。【解決手段】アプリケーションプログラムは、プラグインから認証データを取得する（Ｓ１１）。そして、ステップＳ１１で取得した認証データが、データテーブルに登録されているか否かを判断する（Ｓ１２）。取得した認証データがデータテーブルに登録されている場合には（Ｓ１３／Ｙｅｓ）、そのプラグインを有効と判断し、該プラグインに対し機密データを渡す（Ｓ１４，Ｓ１５）。他方、取得した認証データがデータテーブルに登録されていない場合には（Ｓ１３／Ｎｏ）、そのプラグインを無効と判断し、該プラグインに対しては機密データを渡さない（Ｓ１６，１７）。【選択図】図４
2007122603.tif 000002
【特許請求の範囲】
【請求項１】
プラグインを組み込むことで機能の拡張を行う情報処理装置において、
前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得手段と、
前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、
を有し、
前記認証処理手段が、前記プラグインは有効であると認証した場合には、該プラグインに対し機密情報を送信し、
前記認証処理手段が、前記プラグインは無効であると認証した場合には、該プラグインに対しては機密情報を送信しないことを特徴とする情報処理装置。
【請求項２】
有効なプラグインのプラグイン認証情報をデータテーブルとして管理する認証データ管理手段をさらに有し、
前記認証処理手段は、前記認証データ管理手段が管理する前記データテーブルを参照することで、前記プラグインが有効であるか否かの認証を行うことを特徴とする請求項１記載の情報処理装置。
【請求項３】
ユーザ認証のためのユーザ認証情報を受け付け、該ユーザ認証情報に基づいて、ユーザ認証処理を行うユーザ認証処理手段を有し、
前記プラグインがユーザ認証を必要とする外部機構にアクセスする場合において、前記認証情報処理手段が該プラグインは有効であると認証した場合には、
前記ユーザ認証情報を該プラグインに送信し、該ユーザ認証情報により前記外部機構でのユーザ認証を行うことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
プラグインを組み込むことで機能の拡張を行う情報処理装置と、認証処理サーバと、からなる情報処理システムにおいて、
前記情報処理装置は、
前記プラグインからプラグイン認証情報を取得する認証情報取得手段と、
取得した前記プラグイン認証情報を前記認証処理サーバに送信する第１の送信手段と、
を有し、
前記認証処理サーバは、
前記情報処理装置から受け取った前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、
前記認証処理手段による認証処理の結果を前記情報処理装置に送信する第２の送信手段とを有し、
前記情報処理装置は、
前記プラグインは有効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信し、
前記プラグインは無効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信しないことを特徴とする情報処理システム。
【請求項５】
プラグインを組み込むことで機能を拡張する情報処理装置に実行させる情報処理プログラムであって、
前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得処理と、
前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行うプラグイン認証処理と、
前記プラグイン認証処理において、前記プラグインは有効であると認証された場合には該プラグインに対し機密情報を送信し、前記プラグインは無効であると認証された場合には該プラグインに対しては機密情報を送信しない機密情報送信処理と、
を情報処理装置に実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム及び情報処理プログラムに関し、特に、プラグインの認証処理を実行することで機密データの漏洩を防ぐ情報処理装置、情報処理システム及び情報処理プログラムに関する。
【背景技術】
【０００２】
従来から、既存の製品やシステムの機能拡張をするにあたり、その機能を提供しているアプリケーション全体を作り直すのではなく、拡張対象に特化したプラグインを組み込むことで機能拡張を実現する機能拡張方法がある。
【０００３】
このようなプラグインによるアプリケーションの機能拡張に関する技術としては、特許文献１、特許文献２に記載される技術が知られている。
【特許文献１】特開平１１−２３７９７５号公報
【特許文献２】特開２００４−７８５７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
プラグインによるアプリケーションの機能拡張の傾向は広まってきており、近年では、自社製品のみならず、サードパーティ製のプラグインを搭載することもある。
【０００５】
しかし、『プラグインのファイル名が既定の命名規則（決められた拡張子）に従っている』、『プラグインの持つＩ／Ｆが既定のもの（Ｃ言語エクスポート関数など）である』、『プラグインが決められたディレクトリに置かれている』等の条件を満たせば、プラグインを搭載することができることから、プラグインが信頼できないものであっても搭載をすることが可能である。
【０００６】
それゆえ、アプリケーションがプラグインに対して機密情報を渡す場合に、悪意あるユーザが取り付けたプラグインに対しても、一律に機密情報を渡してしまうため、その結果、機密情報の漏洩や、本来させてはいけない処理をさせてしまうことがある（図１２参照）。
【０００７】
上述の特許文献１、特許文献２に記載の技術では、この点について、何ら解決策を提案していない。
【０００８】
本発明は、上記問題点に鑑みてなされたものであり、信頼できないプラグインに対して機密情報を渡さないことで、情報漏洩の抑制する情報処理装置、情報処理システム及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１記載の発明は、プラグインを組み込むことで機能の拡張を行う情報処理装置において、前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得手段と、前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、を有し、前記認証処理手段が、前記プラグインは有効であると認証した場合には、該プラグインに対し機密情報を送信し、前記認証処理手段が、前記プラグインは無効であると認証した場合には、該プラグインに対しては機密情報を送信しないことを特徴とする。
【００１０】
請求項２記載の発明は、請求項１記載の情報処理装置において、有効なプラグインのプラグイン認証情報をデータテーブルとして管理する認証データ管理手段をさらに有し、前記認証処理手段は、前記認証データ管理手段が管理する前記データテーブルを参照することで、前記プラグインが有効であるか否かの認証を行うことを特徴とする。
【００１１】
請求項３記載の発明は、請求項１または２に記載の情報処理装置において、ユーザ認証のためのユーザ認証情報を受け付け、該ユーザ認証情報に基づいて、ユーザ認証処理を行うユーザ認証処理手段を有し、前記プラグインがユーザ認証を必要とする外部機構にアクセスする場合において、前記認証情報処理手段が該プラグインは有効であると認証した場合には、前記ユーザ認証情報を該プラグインに送信し、該ユーザ認証情報により前記外部機構でのユーザ認証を行うことを特徴とする。
【００１２】
請求項４記載の発明は、プラグインを組み込むことで機能の拡張を行う情報処理装置と、認証処理サーバと、からなる情報処理システムにおいて、前記情報処理装置は、前記プラグインからプラグイン認証情報を取得する認証情報取得手段と、取得した前記プラグイン認証情報を前記認証処理サーバに送信する第１の送信手段と、を有し、前記認証処理サーバは、前記情報処理装置から受け取った前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、前記認証処理手段による認証処理の結果を前記情報処理装置に送信する第２の送信手段とを有し、前記情報処理装置は、前記プラグインは有効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信し、前記プラグインは無効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信しないことを特徴とする。
【００１３】
請求項５記載の発明は、プラグインを組み込むことで機能を拡張する情報処理装置に実行させる情報処理プログラムであって、前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得処理と、前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行うプラグイン認証処理と、前記プラグイン認証処理において、前記プラグインは有効であると認証された場合には該プラグインに対し機密情報を送信し、前記プラグインは無効であると認証された場合には該プラグインに対しては機密情報を送信しない機密情報送信処理と、を情報処理装置に実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、プラグインからプラグイン認証情報を取得し、該プラグイン認証情報に基づいてプラグイン認証処理を行う。そして、該認証処理の結果、プラグインを有効と認証した場合には機密情報を該プラグインに送信し、プラグインを無効と判断した場合には、機密情報を該プラグインに対しては送信しない。このような機密データを渡すか渡さないかを決定するプラグイン認証処理を実行するので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへの機密データの受け渡しについて、そのセキュリティ性を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１５】
＜第１の実施形態＞
以下、本発明について、実施の形態に即して説明する。まず、本発明の第１の実施形態について説明する。
【００１６】
＜ハードウェア構成＞
図１を参照して、本発明の情報処理装置１０のハードウェア構成について説明する。
【００１７】
情報処理装置１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、バス１４と、入出力インターフェース（入出力Ｉ／Ｆ）１５と、入力装置１６と、出力装置１
７と、記憶装置１８と、通信制御装置１９と、ドライブ制御装置２０と、を有して構成される。
【００１８】
ＣＰＵ（Central Processing Unit）１１は、ＲＯＭ１２に記憶されているプログラムや記憶装置１８からＲＡＭ１３に展開された（ロードされた）プログラムに従って、データ処理や演算処理などの各種処理を実行する中央処理装置である。
【００１９】
ＲＯＭ（Read Only Memory）１２は、ＣＰＵ１１が各種演算や制御を行うための各種プログラム、データ、パラメータ等を格納した不揮発性メモリである。ＣＰＵ１１は、ＲＯＭ１２に格納されるプログラムやデータ、パラメータ等を読み込むことはできるが、これらの書き換えや消去は行わない。
【００２０】
ＲＡＭ（Random Access Memory）１３は、プログラムやデータの書き込みを自在に行うことができるメモリであり、ＣＰＵ１１が各種の処理を実行する上で必要なワーキングエリアを提供する。記憶装置１８に格納される各プログラムは、ＲＡＭ１３上に展開されてＣＰＵ１１に読み込まれる。
【００２１】
バス１４は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、入出力インターフェース１５と、を相互に接続し、送受信される制御信号やデータ信号を媒介する。
【００２２】
入出力インターフェース１５には、入力装置１６、出力装置１７、記憶装置１８、通信制御装置１９、ドライブ制御装置２０が接続されている。
【００２３】
入力装置１６は、キーボードやマウスなどの入力用の装置から構成される。情報処理装置１０のユーザは、これらの入力装置を用いて、キー入力や選択入力、ＩＤやパスワード入力などの各種操作を行う。
【００２４】
出力装置１７は、ＣＲＴディスプレイ（Cathode-ray Tube Display）やスピーカなどの出力用の装置から構成される。
【００２５】
記憶装置１８は、ハードディスクや半導体メモリ等の読み書き可能な記憶媒体から構成される。これらの記憶媒体は、情報処理装置１０が機能するために必要なプログラムやデータを格納する。
【００２６】
通信制御装置１９は、モデムやターミナルアダプタ等から構成される。情報処理装置１０は、通信制御装置１０を用いて、インターネットやＬＡＮ（Local Area Network）等のネットワークで接続された端末装置とデータ通信する。
【００２７】
ドライブ制御装置２０は、着脱可能な記憶媒体からのデータの読み出し及び該記憶媒体へのデータの書き込みを行うための装置である。着脱可能な記憶媒体としては、例えば、ＣＤやＤＶＤなどの光ディスク、ＭＯなどの光磁気ディスク、フロッピー（登録商標）ディスク等の磁気媒体などが挙げられる。
【００２８】
＜記憶装置＞
次に、図２を参照して、記憶装置１８に格納されるプログラム及びデータについて説明する。図２は、記憶装置１８に格納されるプログラム及びデータを示す。なお、ここでは図の簡略化のため、各プログラム、データについて、各々１つのみ図示する。
【００２９】
記憶装置１８には、プログラムとして、ＯＳ２１、アプリケーションプログラム２２、プラグイン２３が、また、データとして、画像データ２４、音声データ２５、バックアップデータ２６が格納されている。
【００３０】
ＯＳ（Operating System）２１は、メモリ管理や入出力管理、制御管理等の情報処理装置１０の基本的な機能を実現するためのプログラムである。
【００３１】
アプリケーションプログラム２２は、特定の目的、動作に特化して使用するプログラムである。アプリケーションプログラムとしては、文章を作成するための文字入力プログラムや、インターネット上での通信を行うための通信プログラム等が挙げられる。
【００３２】
プラグイン２３は、特定のアプリケーションプログラム２２に組み込んで使用することで、該アプリに追加機能を提供する機能拡張用のプログラムである。
【００３３】
これらのプログラムは、ＣＰＵ１１により実行されることにより、ソフトウェア的に構成され、予めプログラムされた機能を発揮する。
【００３４】
画像データ２４は、情報処理装置１０のディスプレイに表示するためのデータであり、ビットマップ形式やＪＰＥＧ（Joint Photographic Experts Group）形式、ＧＩＦ（Graphics Interchange Format）形式等で格納されている。
【００３５】
音声データ２５は、情報処理装置１０のスピーカから出力する音声のデータであり、ＷＡＶＥ形式やＭＰ３形式で格納されている。
【００３６】
バックアップデータ２６は、テキストデータやデータベース用のデータ等の各種のバックアップ用のデータである。
【００３７】
＜アプリケーションプログラム＞
次に、図３を参照して、本実施形態のアプリケーションプログラム２２のモジュール構成について説明する。
【００３８】
アプリケーションプログラム２２は、プログラムモジュール３１と、外部Ｉ／Ｆモジュール３２と、プラグイン接続制御モジュール３３と、プラグイン認証モジュール３４と、プラグイン認証データ保持モジュール３５と、を有して構成される。
【００３９】
プログラムモジュール３１は、該アプリケーションプログラム２２のアプリ動作を行う。
【００４０】
外部Ｉ／Ｆモジュール３２は、該アプリケーションプログラム２２の外部のプログラム等とのデータ通信を制御する。
【００４１】
プラグイン接続制御モジュール３３は、該アプリケーションプログラム２２に接続されるプラグイン２３の制御を行う。具体的には、プラグイン２３との間でのデータのやり取り等の制御を行う。
【００４２】
プラグイン認証モジュール３４は、該アプリケーションプログラム２２に接続されるプラグイン２３の認証処理、認証制御を行う。
【００４３】
プラグイン認証データ保持モジュール３５は、プラグイン２３の認証処理の際に用いる認証データのデータテーブルを保持する。
【００４４】
＜プラグインの認証処理＞
次に、本実施形態の情報処理装置１０におけるプラグイン認証処理について説明する。
【００４５】
プラグイン認証処理は、プラグイン２３が組み込まれているアプリケーションプログラム２２に対し外部から機密データが入力された場合に、該プラグインに機密データを渡すか渡さないかを決定するために行う処理である。
【００４６】
以下、図４を参照して、具体的に説明する。図４は、本実施形態の情報処理装置１０におけるプラグイン認証処理の処理フローを示す。
【００４７】
外部から機密データが渡されると、まず、アプリケーションプログラム２２は、プラグイン２３から認証データを取得する（ステップＳ１１）。
【００４８】
なお、外部からのデータの受付処理は、外部Ｉ／Ｆモジュール３２が行う。また、プラグイン２３からの認証データの取得処理は、プラグイン接続モジュール２３が行う。
【００４９】
また、認証データとはプラグイン２３の有効性を判断するためのデータのことであり、例えば、『プラグイン２３の固有ＩＤ』、『ファイル名』、『プラグイン作成者の名前＋パスワード』といったデータのことである。
【００５０】
次に、ステップＳ１１で取得した認証データが、データテーブルに登録されているか否かを判断する（ステップＳ１２）。なお、この判断処理は、プラグイン認証モジュール３４が行う。
【００５１】
データテーブルは、アプリケーションプログラム２２のプラグイン認証データ保持モジュール３５に保持されており、該データテーブルに登録されている認証データを持つプラグインは、有効なプラグインであると判断される。なお、該データテーブルに登録されている認証データの種類は、当然、ステップＳ１で取得する認証データと同種のデータである。
【００５２】
なお、取得した認証データがデータテーブルに登録されているか否かの判断は、取得した認証データと該データテーブルに保持される認証データとを同値比較することにより行う。同値のものがある場合には登録されていると判断し、同値のものがない場合には登録されていないと判断する。
【００５３】
取得した認証データがデータテーブルに登録されている場合には（ステップＳ１３／Ｙｅｓ）、そのプラグイン２３を有効と判断し、該プラグイン２３に対し機密データを渡す（ステップＳ１４，Ｓ１５）。なお、該プラグイン２３への機密データの送信は、プラグイン接続制御モジュール３３が行う。
【００５４】
他方、取得した認証データがデータテーブルに登録されていない場合には（ステップＳ１３／Ｎｏ）、そのプラグインを無効と判断し、該プラグイン２３に対しては機密データを渡さない（ステップＳ１６，１７）。
【００５５】
＜第１の実施形態／効果＞
本実施形態の情報処理装置１０においては、機密データを渡すか渡さないかを決定するプラグイン認証処理を実行するので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへの機密データの受け渡しについて、そのセキュリティ性を向上させることが可能となる。
【００５６】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。本実施形態では、第１の実施形態において、取得した認証データの認証処理を情報処理装置１０ではなく、該情報処理装置１０が接続されているサーバにおいて実行する。
【００５７】
以下、本実施形態について具体的に説明する。
【００５８】
＜システム構成＞
まず、図５を参照して、本実施形態のシステム構成について説明する。本実施形態では、複数の情報処理装置１０が、ネットワーク５０を介して、プラグイン認証サーバ４０に接続されている。なお、プラグイン認証サーバ４０は、プラグインの認証処理を実行するサーバである。
【００５９】
＜ハードウェア構成＞
本実施形態における情報処理装置１０のハードウェア構成は、第１の実施形態の情報処理装置１０のハードウェア構成（図１参照）と同一であるので、ここではその説明を省略する。なお、ネットワーク５０を介したプラグイン認証サーバ４０との通信制御は、通信制御装置１９が行う。
【００６０】
＜アプリケーションプログラム＞
次に、図６を参照して、本実施形態のアプリケーションプログラム２２のモジュール構成について説明する。
【００６１】
アプリケーションプログラム２２は、プログラムモジュール３１と、外部Ｉ／Ｆモジュール３２と、プラグイン接続制御モジュール３３と、を有して構成される。
【００６２】
プログラムモジュール３１は、該アプリケーションプログラム２２のアプリ動作を行う。また、外部Ｉ／Ｆモジュール３２は、該アプリケーションプログラム２２の外部プログラム等とのデータ通信を制御する。また、プラグイン接続制御モジュール３３は、該アプリケーションプログラム２２に接続されるプラグイン２３の制御を行う。具体的には、プラグイン２３との間でのデータのやり取り等の制御を行う。
【００６３】
＜プラグイン認証サーバ＞
次に、図７を参照して、プラグイン認証サーバ４０の構成について説明する。プラグイン認証サーバ４０は、プラグイン認証部４１と、データテーブル保持部４２と、外部Ｉ／Ｆ４３と、を有して構成される。
【００６４】
プラグイン認証部４１は、情報端末装置１０から送られてきたプラグイン２３の認証データの認証処理を行う。具体的には、送られてきた認証データがデータテーブル保持部４２に蓄積されているデータテーブルに登録されているか否かを判断する。
【００６５】
データテーブル保持部４２は、データテーブルを保持しており、該データテーブルは有効なプラグイン２３の認証データが登録されている。なお、該データテーブルに登録されている認証データの種類は、当然、情報処理装置１０から送られてくる認証データと同種のデータである。
【００６６】
外部Ｉ／Ｆ４３は、プラグイン認証サーバ４０の外部との通信を行うためのインターフェースである。
【００６７】
＜プラグインの認証処理＞
次に、本実施形態におけるプラグイン認証処理について説明する。本実施形態においては、プラグイン２３が組み込まれているアプリケーションプログラム２２に対し外部から機密データが入力された場合に、該プラグインに機密データを渡すか渡さないかを決定するために行うプラグイン認証処理を、情報処理装置１０ではなくプラグイン認証サーバ４０において行う。
【００６８】
以下、図８を参照して、具体的に説明する。図８は、本実施形態におけるプラグイン認証処理の処理フローを示す。
【００６９】
外部から機密データが渡されると、まず、アプリケーションプログラム２２は、プラグイン２３から認証データを取得する（ステップＳ２１）。
【００７０】
なお、外部からのデータの受付処理は、外部Ｉ／Ｆモジュール３２が行う。また、プラグイン２３からの認証データの取得処理は、プラグイン接続モジュール２３が行う。
【００７１】
次に、ステップＳ２１で取得した認証データを、ネットワーク５０を介して、プラグイン認証サーバ４０に送信する（ステップＳ２２）。なお、この処理は、外部Ｉ／Ｆモジュール３２、通信制御部１９において行う。
【００７２】
次に、プラグイン認証サーバ４０のプラグイン認証部４１は、データテーブル保持部４２が保持するデータテーブルに、送られてきた認証データが登録されているか否かを判断する（ステップＳ２３）。
【００７３】
なお、送られてきた認証データが該データテーブルに登録されているか否かの判断は、送られてきた認証データと該データテーブルに保持される認証データとを同値比較することにより行う。同値のものがある場合には登録されていると判断し、同値のものがない場合には登録されていないと判断する。
【００７４】
送られてきた認証データがデータテーブルに登録されている場合には（ステップＳ２４／Ｙｅｓ）、そのプラグイン２３を有効と判断し、有効の判断結果を情報処理装置１０に送る（ステップＳ２５，２６）。情報処理装置１０は、有効の判断を受け取ると、該プラグイン２３に対し機密データを渡す（ステップＳ２７）。なお、該プラグイン２３への機密データの送信は、プラグイン接続制御モジュール３３が行う。
【００７５】
他方、送られてこいた認証データがデータテーブルに登録されていない場合には（ステップＳ２４／Ｎｏ）、そのプラグイン２３を無効と判断し、無効の判断結果を情報処理装置１０に送る（ステップＳ２８，２９）。情報処理装置１０は、無効の判断を受け取ると、該プラグイン２３に対しては機密データを渡さない（ステップＳ３０）。
【００７６】
＜第２の実施形態の効果＞
本実施形態により、機密データを渡すか渡さないかを決定するプラグイン認証処理を実行するので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへの機密データの受け渡しについて、そのセキュリティ性を向上させることが可能となる。また、プラグインの認証処理をプラグイン認証サーバ４０において行うので、該サーバに接続される情報処理装置１０の認証処理について、一元的に管理・実行することが可能となる。また、アプリケーションプラグラム２２自体には、認証のためのプログラムやデータテーブルを持たせる必要がなくなるので、プログラム構成を容易にすることが可能となる。
【００７７】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。
【００７８】
アプリケーションプログラム２２がユーザ認証のためのモジュールを備え、且つ、該アプリケーションプログラム２２に接続されるプラグイン２３が、該アプリケーションプログラム２２のユーザ認証と異なるユーザ認証機構を持つ外部プログラムにアクセスするという構成を想定する（図９参照）。
【００７９】
このような構成の場合、プラグイン２３が外部プログラムにアクセスする際には、外部プログラムのユーザ認証を行うことになるが、該ユーザ認証を行うためにはプラグイン２３にユーザ認証を保持する機構（ユーザ名・パスワードを入力するための機構）を持たせる必要がある。
【００８０】
また、アプリケーションプログラム２３で行ったユーザ認証が、外部プログラムにおいて反映されないというデメリットがある。例えば、プラグイン２３Ａで記憶しているユーザがユーザＸである場合、アプリケーションプログラム２２においてユーザＹを用いて認証を行っても、外部プログラムにおいてはユーザＸが認証したことになってしまう。
【００８１】
そこで、本実施形態では、第１の実施形態の情報処理装置１０において、アプリケーションプログラム２２にユーザ認証のためのモジュールを備えさせた構成となっている。そして、該アプリケーションプログラム２２のプラグイン２３が、該アプリケーションプログラム２２のユーザ認証と異なるユーザ認証機構を持つ外部プログラムにアクセスする際に、該アプリケーションプログラム２２のユーザ認証で用いたユーザ認証データを用いて、外部プログラムのユーザ認証機構にユーザ認証を行う。
【００８２】
以下、本実施形態について具体的に説明する。
【００８３】
＜ハードウェア構成＞
本実施形態における情報処理装置１０のハードウェア構成は、第１の実施形態の情報処理装置１０のハードウェア構成（図１参照）と同一であるので、ここではその説明を省略する。
【００８４】
＜アプリケーションプログラム＞
次に、図１０を参照して、本実施形態のアプリケーションプログラム２２のモジュール構成について説明する。
【００８５】
アプリケーションプログラム２２は、プログラムモジュール３１と、外部Ｉ／Ｆモジュール３２と、プラグイン接続制御モジュール３３と、プラグイン認証モジュール３４と、プラグイン認証データ保持モジュール３５と、ユーザ認証モジュール３６と、ユーザ認証データ保持モジュール３７と、を有して構成される。
【００８６】
プログラムモジュール３１は、該アプリケーションプログラム２２のアプリ動作を行う。また、外部Ｉ／Ｆモジュール３２は、該アプリケーションプログラム２２の外部プログラム等とのデータ通信を制御する。
【００８７】
プラグイン接続制御モジュール３３は、該アプリケーションプログラム２２に接続されるプラグイン２３の制御を行う。具体的には、プラグイン２３との間でのデータのやり取り等の制御を行う。
【００８８】
プラグイン認証モジュール３４は、該アプリケーションプログラム２２に接続されるプラグイン２３の認証処理、認証制御を行う。また、プラグイン認証データ保持モジュール３５は、プラグイン２３の認証処理の際に用いるプラグイン認証データのデータテーブルを保持する。
【００８９】
ユーザ認証モジュール３６は、ユーザ認証データに基づいて、ユーザの認証処理、認証制御を行う。また、ユーザ認証データ保持モジュール３７は、ユーザの認証処理の際に用いるユーザ認証データのデータテーブルを保持する。なお、ユーザ認証データとは、ユーザ名とこれに対応するパスワードである。
【００９０】
＜外部プログラム＞
また、図９において、プラグイン２３は、外部プログラム６０にアクセスする。外部プログラム６０は、そのモジュール構成として、第２のプラグイン接続制御モジュール６１と、第２のユーザ認証モジュール６２と、第２のユーザ認証データ保持モジュール６３と、を有して構成される。
【００９１】
第２のプラグイン接続制御モジュール６１は、該プラグイン２３との間での通信制御を行う。具体的には、プラグイン２３から送られてきたユーザ認証データの受信を行う。
【００９２】
第２のユーザ認証モジュール６２は、外部プログラム６０におけるユーザの認証処理、認証制御を行う。なお、第２のユーザ認証モジュール６２は、プラグイン２３から受け取ったユーザ認証データに基づいてユーザ認証処理を行う。
【００９３】
第２のユーザ認証データ保持モジュール６３は、ユーザの認証処理の際に用いるユーザ認証データのデータテーブルを保持する。
【００９４】
＜プラグイン認証処理／ユーザ認証処理＞
次に、図１１を参照して、本実施形態の情報処理装置１０におけるプラグイン認証処理及びユーザ認証処理について説明する。
【００９５】
外部Ｉ／Ｆモジュール３２を介して外部からユーザ認証用のユーザ認証データが入力されると、まず、アプリケーションプログラム２２のユーザ認証モジュール３６は、ユーザ認証を行う（ステップＳ３１）。
【００９６】
なお、ステップＳ３１のユーザ認証処理は、アプリケーションプログラム２２のユーザ認証モジュール３６が行う。このユーザ認証処理は、入力されたユーザ認証データがユーザ認証データ保持モジュール３７の保持するデータテーブルに登録されているか否かを判断することで行う。
【００９７】
入力されたユーザ認証データがユーザ認証データ保持モジュール３７の保持するデータテーブルに登録されているか否かの判断は、ユーザ認証データのユーザ名と、データテーブル内のユーザ名とを同値比較し、同値のものあった場合には、該ユーザ名に対応するパスワードについてさらに同値比較することで行う。ユーザ名とパスワードの両者とも同値である場合には、該ユーザ認証データがデータテーブルに登録されているので、有効なユーザ認証と判断する（ユーザ認証成功）。他方、同値でない場合には、無効なユーザ認証とする（ユーザ認証失敗）。
【００９８】
ステップＳ３１のユーザ認証処理においてユーザ認証が失敗した場合には（ステップＳ３２／Ｎｏ）、以降の処理は実行せずにそのまま処理を抜ける。
【００９９】
他方、ステップＳ３１のユーザ認証処理においてユーザ認証が成功した場合には（ステップＳ３２／Ｙｅｓ）、アプリケーションプログラム２２は、プラグイン２３の認証処理を行う（ステップＳ３３）。なお、このステップＳ３３で行うプラグイン認証処理は、第１の実施形態でのプラグイン認証フロー（図４参照）と同一であるので、ここではその説明を省略する。
【０１００】
ステップＳ３３のプラグイン認証処理において、該プラグインの認証に成功した場合には（ステップＳ３４／Ｙｅｓ）、ユーザ認証データを該プラグイン２３に渡す（ステップＳ３５）。なお、該プラグイン２３へのユーザ認証データの送信は、プラグイン接続制御モジュール３３が行う。
【０１０１】
アプリケーションプログラム２２から送られてきたユーザ認証データを受け取ったプラグイン２３は、該ユーザ認証データを用いて外部プログラム６０にアクセスする（ステップＳ３６）。
【０１０２】
外部プログラム６０は、プラグイン２３からユーザ認証データを受け付けると、該ユーザ認証データを用いて、ユーザ認証を行う（ステップＳ３７）。なお、このユーザ認証処理は、外部プログラム６０の第２のユーザ認証モジュール６２が行う。このユーザ認証処理は、入力されたユーザ認証データが第２のユーザ認証データ保持モジュール６３の保持するデータテーブルに登録されているか否かを判断することで行う。
【０１０３】
受け付けたユーザ認証データが第２のユーザ認証データ保持モジュール６３の保持するデータテーブルに登録されているか否かの判断は、ユーザ認証データのユーザ名と、データテーブル内のユーザ名とを同値比較し、同値のものあった場合には、該ユーザ名に対応するパスワードについてさらに同値比較することで行う。ユーザ名とパスワードの両者とも同値である場合には、該ユーザ認証データがデータテーブルに登録されているので、有効なユーザ認証と判断する（ユーザ認証成功）。他方、同値でない場合には、無効なユーザ認証とする（ユーザ認証失敗）。
【０１０４】
他方、ステップＳ３３のプラグイン認証処理において、該プラグイン２３の認証が失敗した場合には（ステップＳ３４／Ｎｏ）、そのまま処理を抜ける。
【０１０５】
＜第３の実施形態／効果＞
本実施形態により、機密データを渡すか渡さないかを決定するプラグイン認証処理を実行し、認証成功の場合にユーザ認証情報をプラグインに渡すので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへのユーザ認証情報の受け渡しについて、そのセキュリティ性を向上させることが可能となる。
【０１０６】
また、プラグインが、ユーザ認証が必要な外部プログラムにアクセスする際に、アプリケーションプログラムにおいて入力されたユーザ認証情報を用いることが可能となるので、プラグイン２３にユーザ認証を保持する機構を持たせる必要がなくなるので、プログラム構成の簡易化を図ることが可能となる。
【０１０７】
＜付記事項＞
なお、上述の実施形態は本発明の好適な実施形態の一例を示すものにすぎず、本発明の実施の形態を限定する趣旨のものではない。よって、本発明は上述の実施形態に限定されることはなく、その要旨を逸脱しない範囲内において種々の変形実施を行うことが可能である。
【図面の簡単な説明】
【０１０８】
【図１】情報処理装置のハードウェア構成を示す図である。
【図２】記憶装置に格納されるプログラム及びデータを示す図である。
【図３】第１の実施形態におけるアプリケーションプログラムのモジュール構成を示す図である。
【図４】第１の実施形態におけるプラグイン認証処理の処理フローを示す図である。
【図５】第２の実施形態のシステム構成を示す図である。
【図６】第２の実施形態におけるアプリケーションプログラムのモジュール構成を示す図である。
【図７】プラグイン認証サーバの構成を示す図である。
【図８】第２の実施形態におけるプラグイン認証処理の処理フローを示す図である。
【図９】従来の情報処理装置の構成を示す図である。
【図１０】第３の実施形態におけるアプリケーションプログラムのモジュール構成を示す図である。
【図１１】第３の実施形態におけるユーザ認証処理及びプラグイン認証処理の処理フローを示す図である。
【図１２】認証処理を行わない場合のデメリットを説明するための図である。
【符号の説明】
【０１０９】
１０    情報処理装置
１８    記憶装置
２２    アプリケーションプログラム
２３    プラグイン
３３    プラグイン接続制御モジュール
３４    プラグイン認証モジュール
３５    プラグイン認証データ保持モジュール
４０    プラグイン認証サーバ
６０    外部プログラム
【図１】
2007122603.tif 000003
【図２】
2007122603.tif 000004
【図３】
2007122603.tif 000005
【図４】
2007122603.tif 000006
【図５】
2007122603.tif 000007
【図６】
2007122603.tif 000008
【図７】
2007122603.tif 000009
【図８】
2007122603.tif 000010
【図９】
2007122603.tif 000011
【図１０】
2007122603.tif 000012
【図１１】
2007122603.tif 000013
【図１２】
2007122603.tif 000014