情報処理装置、情報処理システム及び情報処理プログラム
【課題】信頼できないプラグインに対して機密情報を渡さないことで情報の漏洩を抑制する情報処理装置、情報処理システム及び情報処理プログラムを提供する。
【解決手段】アプリケーションプログラムは、プラグインから認証データを取得する(S11)。そして、ステップS11で取得した認証データが、データテーブルに登録されているか否かを判断する(S12)。取得した認証データがデータテーブルに登録されている場合には(S13/Yes)、そのプラグインを有効と判断し、該プラグインに対し機密データを渡す(S14,S15)。他方、取得した認証データがデータテーブルに登録されていない場合には(S13/No)、そのプラグインを無効と判断し、該プラグインに対しては機密データを渡さない(S16,17)。
【解決手段】アプリケーションプログラムは、プラグインから認証データを取得する(S11)。そして、ステップS11で取得した認証データが、データテーブルに登録されているか否かを判断する(S12)。取得した認証データがデータテーブルに登録されている場合には(S13/Yes)、そのプラグインを有効と判断し、該プラグインに対し機密データを渡す(S14,S15)。他方、取得した認証データがデータテーブルに登録されていない場合には(S13/No)、そのプラグインを無効と判断し、該プラグインに対しては機密データを渡さない(S16,17)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム及び情報処理プログラムに関し、特に、プラグインの認証処理を実行することで機密データの漏洩を防ぐ情報処理装置、情報処理システム及び情報処理プログラムに関する。
【背景技術】
【0002】
従来から、既存の製品やシステムの機能拡張をするにあたり、その機能を提供しているアプリケーション全体を作り直すのではなく、拡張対象に特化したプラグインを組み込むことで機能拡張を実現する機能拡張方法がある。
【0003】
このようなプラグインによるアプリケーションの機能拡張に関する技術としては、特許文献1、特許文献2に記載される技術が知られている。
【特許文献1】特開平11−237975号公報
【特許文献2】特開2004−78578号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
プラグインによるアプリケーションの機能拡張の傾向は広まってきており、近年では、自社製品のみならず、サードパーティ製のプラグインを搭載することもある。
【0005】
しかし、『プラグインのファイル名が既定の命名規則(決められた拡張子)に従っている』、『プラグインの持つI/Fが既定のもの(C言語エクスポート関数など)である』、『プラグインが決められたディレクトリに置かれている』等の条件を満たせば、プラグインを搭載することができることから、プラグインが信頼できないものであっても搭載をすることが可能である。
【0006】
それゆえ、アプリケーションがプラグインに対して機密情報を渡す場合に、悪意あるユーザが取り付けたプラグインに対しても、一律に機密情報を渡してしまうため、その結果、機密情報の漏洩や、本来させてはいけない処理をさせてしまうことがある(図12参照)。
【0007】
上述の特許文献1、特許文献2に記載の技術では、この点について、何ら解決策を提案していない。
【0008】
本発明は、上記問題点に鑑みてなされたものであり、信頼できないプラグインに対して機密情報を渡さないことで、情報漏洩の抑制する情報処理装置、情報処理システム及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
請求項1記載の発明は、プラグインを組み込むことで機能の拡張を行う情報処理装置において、前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得手段と、前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、を有し、前記認証処理手段が、前記プラグインは有効であると認証した場合には、該プラグインに対し機密情報を送信し、前記認証処理手段が、前記プラグインは無効であると認証した場合には、該プラグインに対しては機密情報を送信しないことを特徴とする。
【0010】
請求項2記載の発明は、請求項1記載の情報処理装置において、有効なプラグインのプラグイン認証情報をデータテーブルとして管理する認証データ管理手段をさらに有し、前記認証処理手段は、前記認証データ管理手段が管理する前記データテーブルを参照することで、前記プラグインが有効であるか否かの認証を行うことを特徴とする。
【0011】
請求項3記載の発明は、請求項1または2に記載の情報処理装置において、ユーザ認証のためのユーザ認証情報を受け付け、該ユーザ認証情報に基づいて、ユーザ認証処理を行うユーザ認証処理手段を有し、前記プラグインがユーザ認証を必要とする外部機構にアクセスする場合において、前記認証情報処理手段が該プラグインは有効であると認証した場合には、前記ユーザ認証情報を該プラグインに送信し、該ユーザ認証情報により前記外部機構でのユーザ認証を行うことを特徴とする。
【0012】
請求項4記載の発明は、プラグインを組み込むことで機能の拡張を行う情報処理装置と、認証処理サーバと、からなる情報処理システムにおいて、前記情報処理装置は、前記プラグインからプラグイン認証情報を取得する認証情報取得手段と、取得した前記プラグイン認証情報を前記認証処理サーバに送信する第1の送信手段と、を有し、前記認証処理サーバは、前記情報処理装置から受け取った前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、前記認証処理手段による認証処理の結果を前記情報処理装置に送信する第2の送信手段とを有し、前記情報処理装置は、前記プラグインは有効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信し、前記プラグインは無効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信しないことを特徴とする。
【0013】
請求項5記載の発明は、プラグインを組み込むことで機能を拡張する情報処理装置に実行させる情報処理プログラムであって、前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得処理と、前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行うプラグイン認証処理と、前記プラグイン認証処理において、前記プラグインは有効であると認証された場合には該プラグインに対し機密情報を送信し、前記プラグインは無効であると認証された場合には該プラグインに対しては機密情報を送信しない機密情報送信処理と、を情報処理装置に実行させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、プラグインからプラグイン認証情報を取得し、該プラグイン認証情報に基づいてプラグイン認証処理を行う。そして、該認証処理の結果、プラグインを有効と認証した場合には機密情報を該プラグインに送信し、プラグインを無効と判断した場合には、機密情報を該プラグインに対しては送信しない。このような機密データを渡すか渡さないかを決定するプラグイン認証処理を実行するので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへの機密データの受け渡しについて、そのセキュリティ性を向上させることが可能となる。
【発明を実施するための最良の形態】
【0015】
<第1の実施形態>
以下、本発明について、実施の形態に即して説明する。まず、本発明の第1の実施形態について説明する。
【0016】
<ハードウェア構成>
図1を参照して、本発明の情報処理装置10のハードウェア構成について説明する。
【0017】
情報処理装置10は、CPU11と、ROM12と、RAM13と、バス14と、入出力インターフェース(入出力I/F)15と、入力装置16と、出力装置1
7と、記憶装置18と、通信制御装置19と、ドライブ制御装置20と、を有して構成される。
【0018】
CPU(Central Processing Unit)11は、ROM12に記憶されているプログラムや記憶装置18からRAM13に展開された(ロードされた)プログラムに従って、データ処理や演算処理などの各種処理を実行する中央処理装置である。
【0019】
ROM(Read Only Memory)12は、CPU11が各種演算や制御を行うための各種プログラム、データ、パラメータ等を格納した不揮発性メモリである。CPU11は、ROM12に格納されるプログラムやデータ、パラメータ等を読み込むことはできるが、これらの書き換えや消去は行わない。
【0020】
RAM(Random Access Memory)13は、プログラムやデータの書き込みを自在に行うことができるメモリであり、CPU11が各種の処理を実行する上で必要なワーキングエリアを提供する。記憶装置18に格納される各プログラムは、RAM13上に展開されてCPU11に読み込まれる。
【0021】
バス14は、CPU11と、ROM12と、RAM13と、入出力インターフェース15と、を相互に接続し、送受信される制御信号やデータ信号を媒介する。
【0022】
入出力インターフェース15には、入力装置16、出力装置17、記憶装置18、通信制御装置19、ドライブ制御装置20が接続されている。
【0023】
入力装置16は、キーボードやマウスなどの入力用の装置から構成される。情報処理装置10のユーザは、これらの入力装置を用いて、キー入力や選択入力、IDやパスワード入力などの各種操作を行う。
【0024】
出力装置17は、CRTディスプレイ(Cathode-ray Tube Display)やスピーカなどの出力用の装置から構成される。
【0025】
記憶装置18は、ハードディスクや半導体メモリ等の読み書き可能な記憶媒体から構成される。これらの記憶媒体は、情報処理装置10が機能するために必要なプログラムやデータを格納する。
【0026】
通信制御装置19は、モデムやターミナルアダプタ等から構成される。情報処理装置10は、通信制御装置10を用いて、インターネットやLAN(Local Area Network)等のネットワークで接続された端末装置とデータ通信する。
【0027】
ドライブ制御装置20は、着脱可能な記憶媒体からのデータの読み出し及び該記憶媒体へのデータの書き込みを行うための装置である。着脱可能な記憶媒体としては、例えば、CDやDVDなどの光ディスク、MOなどの光磁気ディスク、フロッピー(登録商標)ディスク等の磁気媒体などが挙げられる。
【0028】
<記憶装置>
次に、図2を参照して、記憶装置18に格納されるプログラム及びデータについて説明する。図2は、記憶装置18に格納されるプログラム及びデータを示す。なお、ここでは図の簡略化のため、各プログラム、データについて、各々1つのみ図示する。
【0029】
記憶装置18には、プログラムとして、OS21、アプリケーションプログラム22、プラグイン23が、また、データとして、画像データ24、音声データ25、バックアップデータ26が格納されている。
【0030】
OS(Operating System)21は、メモリ管理や入出力管理、制御管理等の情報処理装置10の基本的な機能を実現するためのプログラムである。
【0031】
アプリケーションプログラム22は、特定の目的、動作に特化して使用するプログラムである。アプリケーションプログラムとしては、文章を作成するための文字入力プログラムや、インターネット上での通信を行うための通信プログラム等が挙げられる。
【0032】
プラグイン23は、特定のアプリケーションプログラム22に組み込んで使用することで、該アプリに追加機能を提供する機能拡張用のプログラムである。
【0033】
これらのプログラムは、CPU11により実行されることにより、ソフトウェア的に構成され、予めプログラムされた機能を発揮する。
【0034】
画像データ24は、情報処理装置10のディスプレイに表示するためのデータであり、ビットマップ形式やJPEG(Joint Photographic Experts Group)形式、GIF(Graphics Interchange Format)形式等で格納されている。
【0035】
音声データ25は、情報処理装置10のスピーカから出力する音声のデータであり、WAVE形式やMP3形式で格納されている。
【0036】
バックアップデータ26は、テキストデータやデータベース用のデータ等の各種のバックアップ用のデータである。
【0037】
<アプリケーションプログラム>
次に、図3を参照して、本実施形態のアプリケーションプログラム22のモジュール構成について説明する。
【0038】
アプリケーションプログラム22は、プログラムモジュール31と、外部I/Fモジュール32と、プラグイン接続制御モジュール33と、プラグイン認証モジュール34と、プラグイン認証データ保持モジュール35と、を有して構成される。
【0039】
プログラムモジュール31は、該アプリケーションプログラム22のアプリ動作を行う。
【0040】
外部I/Fモジュール32は、該アプリケーションプログラム22の外部のプログラム等とのデータ通信を制御する。
【0041】
プラグイン接続制御モジュール33は、該アプリケーションプログラム22に接続されるプラグイン23の制御を行う。具体的には、プラグイン23との間でのデータのやり取り等の制御を行う。
【0042】
プラグイン認証モジュール34は、該アプリケーションプログラム22に接続されるプラグイン23の認証処理、認証制御を行う。
【0043】
プラグイン認証データ保持モジュール35は、プラグイン23の認証処理の際に用いる認証データのデータテーブルを保持する。
【0044】
<プラグインの認証処理>
次に、本実施形態の情報処理装置10におけるプラグイン認証処理について説明する。
【0045】
プラグイン認証処理は、プラグイン23が組み込まれているアプリケーションプログラム22に対し外部から機密データが入力された場合に、該プラグインに機密データを渡すか渡さないかを決定するために行う処理である。
【0046】
以下、図4を参照して、具体的に説明する。図4は、本実施形態の情報処理装置10におけるプラグイン認証処理の処理フローを示す。
【0047】
外部から機密データが渡されると、まず、アプリケーションプログラム22は、プラグイン23から認証データを取得する(ステップS11)。
【0048】
なお、外部からのデータの受付処理は、外部I/Fモジュール32が行う。また、プラグイン23からの認証データの取得処理は、プラグイン接続モジュール23が行う。
【0049】
また、認証データとはプラグイン23の有効性を判断するためのデータのことであり、例えば、『プラグイン23の固有ID』、『ファイル名』、『プラグイン作成者の名前+パスワード』といったデータのことである。
【0050】
次に、ステップS11で取得した認証データが、データテーブルに登録されているか否かを判断する(ステップS12)。なお、この判断処理は、プラグイン認証モジュール34が行う。
【0051】
データテーブルは、アプリケーションプログラム22のプラグイン認証データ保持モジュール35に保持されており、該データテーブルに登録されている認証データを持つプラグインは、有効なプラグインであると判断される。なお、該データテーブルに登録されている認証データの種類は、当然、ステップS1で取得する認証データと同種のデータである。
【0052】
なお、取得した認証データがデータテーブルに登録されているか否かの判断は、取得した認証データと該データテーブルに保持される認証データとを同値比較することにより行う。同値のものがある場合には登録されていると判断し、同値のものがない場合には登録されていないと判断する。
【0053】
取得した認証データがデータテーブルに登録されている場合には(ステップS13/Yes)、そのプラグイン23を有効と判断し、該プラグイン23に対し機密データを渡す(ステップS14,S15)。なお、該プラグイン23への機密データの送信は、プラグイン接続制御モジュール33が行う。
【0054】
他方、取得した認証データがデータテーブルに登録されていない場合には(ステップS13/No)、そのプラグインを無効と判断し、該プラグイン23に対しては機密データを渡さない(ステップS16,17)。
【0055】
<第1の実施形態/効果>
本実施形態の情報処理装置10においては、機密データを渡すか渡さないかを決定するプラグイン認証処理を実行するので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへの機密データの受け渡しについて、そのセキュリティ性を向上させることが可能となる。
【0056】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本実施形態では、第1の実施形態において、取得した認証データの認証処理を情報処理装置10ではなく、該情報処理装置10が接続されているサーバにおいて実行する。
【0057】
以下、本実施形態について具体的に説明する。
【0058】
<システム構成>
まず、図5を参照して、本実施形態のシステム構成について説明する。本実施形態では、複数の情報処理装置10が、ネットワーク50を介して、プラグイン認証サーバ40に接続されている。なお、プラグイン認証サーバ40は、プラグインの認証処理を実行するサーバである。
【0059】
<ハードウェア構成>
本実施形態における情報処理装置10のハードウェア構成は、第1の実施形態の情報処理装置10のハードウェア構成(図1参照)と同一であるので、ここではその説明を省略する。なお、ネットワーク50を介したプラグイン認証サーバ40との通信制御は、通信制御装置19が行う。
【0060】
<アプリケーションプログラム>
次に、図6を参照して、本実施形態のアプリケーションプログラム22のモジュール構成について説明する。
【0061】
アプリケーションプログラム22は、プログラムモジュール31と、外部I/Fモジュール32と、プラグイン接続制御モジュール33と、を有して構成される。
【0062】
プログラムモジュール31は、該アプリケーションプログラム22のアプリ動作を行う。また、外部I/Fモジュール32は、該アプリケーションプログラム22の外部プログラム等とのデータ通信を制御する。また、プラグイン接続制御モジュール33は、該アプリケーションプログラム22に接続されるプラグイン23の制御を行う。具体的には、プラグイン23との間でのデータのやり取り等の制御を行う。
【0063】
<プラグイン認証サーバ>
次に、図7を参照して、プラグイン認証サーバ40の構成について説明する。プラグイン認証サーバ40は、プラグイン認証部41と、データテーブル保持部42と、外部I/F43と、を有して構成される。
【0064】
プラグイン認証部41は、情報端末装置10から送られてきたプラグイン23の認証データの認証処理を行う。具体的には、送られてきた認証データがデータテーブル保持部42に蓄積されているデータテーブルに登録されているか否かを判断する。
【0065】
データテーブル保持部42は、データテーブルを保持しており、該データテーブルは有効なプラグイン23の認証データが登録されている。なお、該データテーブルに登録されている認証データの種類は、当然、情報処理装置10から送られてくる認証データと同種のデータである。
【0066】
外部I/F43は、プラグイン認証サーバ40の外部との通信を行うためのインターフェースである。
【0067】
<プラグインの認証処理>
次に、本実施形態におけるプラグイン認証処理について説明する。本実施形態においては、プラグイン23が組み込まれているアプリケーションプログラム22に対し外部から機密データが入力された場合に、該プラグインに機密データを渡すか渡さないかを決定するために行うプラグイン認証処理を、情報処理装置10ではなくプラグイン認証サーバ40において行う。
【0068】
以下、図8を参照して、具体的に説明する。図8は、本実施形態におけるプラグイン認証処理の処理フローを示す。
【0069】
外部から機密データが渡されると、まず、アプリケーションプログラム22は、プラグイン23から認証データを取得する(ステップS21)。
【0070】
なお、外部からのデータの受付処理は、外部I/Fモジュール32が行う。また、プラグイン23からの認証データの取得処理は、プラグイン接続モジュール23が行う。
【0071】
次に、ステップS21で取得した認証データを、ネットワーク50を介して、プラグイン認証サーバ40に送信する(ステップS22)。なお、この処理は、外部I/Fモジュール32、通信制御部19において行う。
【0072】
次に、プラグイン認証サーバ40のプラグイン認証部41は、データテーブル保持部42が保持するデータテーブルに、送られてきた認証データが登録されているか否かを判断する(ステップS23)。
【0073】
なお、送られてきた認証データが該データテーブルに登録されているか否かの判断は、送られてきた認証データと該データテーブルに保持される認証データとを同値比較することにより行う。同値のものがある場合には登録されていると判断し、同値のものがない場合には登録されていないと判断する。
【0074】
送られてきた認証データがデータテーブルに登録されている場合には(ステップS24/Yes)、そのプラグイン23を有効と判断し、有効の判断結果を情報処理装置10に送る(ステップS25,26)。情報処理装置10は、有効の判断を受け取ると、該プラグイン23に対し機密データを渡す(ステップS27)。なお、該プラグイン23への機密データの送信は、プラグイン接続制御モジュール33が行う。
【0075】
他方、送られてこいた認証データがデータテーブルに登録されていない場合には(ステップS24/No)、そのプラグイン23を無効と判断し、無効の判断結果を情報処理装置10に送る(ステップS28,29)。情報処理装置10は、無効の判断を受け取ると、該プラグイン23に対しては機密データを渡さない(ステップS30)。
【0076】
<第2の実施形態の効果>
本実施形態により、機密データを渡すか渡さないかを決定するプラグイン認証処理を実行するので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへの機密データの受け渡しについて、そのセキュリティ性を向上させることが可能となる。また、プラグインの認証処理をプラグイン認証サーバ40において行うので、該サーバに接続される情報処理装置10の認証処理について、一元的に管理・実行することが可能となる。また、アプリケーションプラグラム22自体には、認証のためのプログラムやデータテーブルを持たせる必要がなくなるので、プログラム構成を容易にすることが可能となる。
【0077】
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。
【0078】
アプリケーションプログラム22がユーザ認証のためのモジュールを備え、且つ、該アプリケーションプログラム22に接続されるプラグイン23が、該アプリケーションプログラム22のユーザ認証と異なるユーザ認証機構を持つ外部プログラムにアクセスするという構成を想定する(図9参照)。
【0079】
このような構成の場合、プラグイン23が外部プログラムにアクセスする際には、外部プログラムのユーザ認証を行うことになるが、該ユーザ認証を行うためにはプラグイン23にユーザ認証を保持する機構(ユーザ名・パスワードを入力するための機構)を持たせる必要がある。
【0080】
また、アプリケーションプログラム23で行ったユーザ認証が、外部プログラムにおいて反映されないというデメリットがある。例えば、プラグイン23Aで記憶しているユーザがユーザXである場合、アプリケーションプログラム22においてユーザYを用いて認証を行っても、外部プログラムにおいてはユーザXが認証したことになってしまう。
【0081】
そこで、本実施形態では、第1の実施形態の情報処理装置10において、アプリケーションプログラム22にユーザ認証のためのモジュールを備えさせた構成となっている。そして、該アプリケーションプログラム22のプラグイン23が、該アプリケーションプログラム22のユーザ認証と異なるユーザ認証機構を持つ外部プログラムにアクセスする際に、該アプリケーションプログラム22のユーザ認証で用いたユーザ認証データを用いて、外部プログラムのユーザ認証機構にユーザ認証を行う。
【0082】
以下、本実施形態について具体的に説明する。
【0083】
<ハードウェア構成>
本実施形態における情報処理装置10のハードウェア構成は、第1の実施形態の情報処理装置10のハードウェア構成(図1参照)と同一であるので、ここではその説明を省略する。
【0084】
<アプリケーションプログラム>
次に、図10を参照して、本実施形態のアプリケーションプログラム22のモジュール構成について説明する。
【0085】
アプリケーションプログラム22は、プログラムモジュール31と、外部I/Fモジュール32と、プラグイン接続制御モジュール33と、プラグイン認証モジュール34と、プラグイン認証データ保持モジュール35と、ユーザ認証モジュール36と、ユーザ認証データ保持モジュール37と、を有して構成される。
【0086】
プログラムモジュール31は、該アプリケーションプログラム22のアプリ動作を行う。また、外部I/Fモジュール32は、該アプリケーションプログラム22の外部プログラム等とのデータ通信を制御する。
【0087】
プラグイン接続制御モジュール33は、該アプリケーションプログラム22に接続されるプラグイン23の制御を行う。具体的には、プラグイン23との間でのデータのやり取り等の制御を行う。
【0088】
プラグイン認証モジュール34は、該アプリケーションプログラム22に接続されるプラグイン23の認証処理、認証制御を行う。また、プラグイン認証データ保持モジュール35は、プラグイン23の認証処理の際に用いるプラグイン認証データのデータテーブルを保持する。
【0089】
ユーザ認証モジュール36は、ユーザ認証データに基づいて、ユーザの認証処理、認証制御を行う。また、ユーザ認証データ保持モジュール37は、ユーザの認証処理の際に用いるユーザ認証データのデータテーブルを保持する。なお、ユーザ認証データとは、ユーザ名とこれに対応するパスワードである。
【0090】
<外部プログラム>
また、図9において、プラグイン23は、外部プログラム60にアクセスする。外部プログラム60は、そのモジュール構成として、第2のプラグイン接続制御モジュール61と、第2のユーザ認証モジュール62と、第2のユーザ認証データ保持モジュール63と、を有して構成される。
【0091】
第2のプラグイン接続制御モジュール61は、該プラグイン23との間での通信制御を行う。具体的には、プラグイン23から送られてきたユーザ認証データの受信を行う。
【0092】
第2のユーザ認証モジュール62は、外部プログラム60におけるユーザの認証処理、認証制御を行う。なお、第2のユーザ認証モジュール62は、プラグイン23から受け取ったユーザ認証データに基づいてユーザ認証処理を行う。
【0093】
第2のユーザ認証データ保持モジュール63は、ユーザの認証処理の際に用いるユーザ認証データのデータテーブルを保持する。
【0094】
<プラグイン認証処理/ユーザ認証処理>
次に、図11を参照して、本実施形態の情報処理装置10におけるプラグイン認証処理及びユーザ認証処理について説明する。
【0095】
外部I/Fモジュール32を介して外部からユーザ認証用のユーザ認証データが入力されると、まず、アプリケーションプログラム22のユーザ認証モジュール36は、ユーザ認証を行う(ステップS31)。
【0096】
なお、ステップS31のユーザ認証処理は、アプリケーションプログラム22のユーザ認証モジュール36が行う。このユーザ認証処理は、入力されたユーザ認証データがユーザ認証データ保持モジュール37の保持するデータテーブルに登録されているか否かを判断することで行う。
【0097】
入力されたユーザ認証データがユーザ認証データ保持モジュール37の保持するデータテーブルに登録されているか否かの判断は、ユーザ認証データのユーザ名と、データテーブル内のユーザ名とを同値比較し、同値のものあった場合には、該ユーザ名に対応するパスワードについてさらに同値比較することで行う。ユーザ名とパスワードの両者とも同値である場合には、該ユーザ認証データがデータテーブルに登録されているので、有効なユーザ認証と判断する(ユーザ認証成功)。他方、同値でない場合には、無効なユーザ認証とする(ユーザ認証失敗)。
【0098】
ステップS31のユーザ認証処理においてユーザ認証が失敗した場合には(ステップS32/No)、以降の処理は実行せずにそのまま処理を抜ける。
【0099】
他方、ステップS31のユーザ認証処理においてユーザ認証が成功した場合には(ステップS32/Yes)、アプリケーションプログラム22は、プラグイン23の認証処理を行う(ステップS33)。なお、このステップS33で行うプラグイン認証処理は、第1の実施形態でのプラグイン認証フロー(図4参照)と同一であるので、ここではその説明を省略する。
【0100】
ステップS33のプラグイン認証処理において、該プラグインの認証に成功した場合には(ステップS34/Yes)、ユーザ認証データを該プラグイン23に渡す(ステップS35)。なお、該プラグイン23へのユーザ認証データの送信は、プラグイン接続制御モジュール33が行う。
【0101】
アプリケーションプログラム22から送られてきたユーザ認証データを受け取ったプラグイン23は、該ユーザ認証データを用いて外部プログラム60にアクセスする(ステップS36)。
【0102】
外部プログラム60は、プラグイン23からユーザ認証データを受け付けると、該ユーザ認証データを用いて、ユーザ認証を行う(ステップS37)。なお、このユーザ認証処理は、外部プログラム60の第2のユーザ認証モジュール62が行う。このユーザ認証処理は、入力されたユーザ認証データが第2のユーザ認証データ保持モジュール63の保持するデータテーブルに登録されているか否かを判断することで行う。
【0103】
受け付けたユーザ認証データが第2のユーザ認証データ保持モジュール63の保持するデータテーブルに登録されているか否かの判断は、ユーザ認証データのユーザ名と、データテーブル内のユーザ名とを同値比較し、同値のものあった場合には、該ユーザ名に対応するパスワードについてさらに同値比較することで行う。ユーザ名とパスワードの両者とも同値である場合には、該ユーザ認証データがデータテーブルに登録されているので、有効なユーザ認証と判断する(ユーザ認証成功)。他方、同値でない場合には、無効なユーザ認証とする(ユーザ認証失敗)。
【0104】
他方、ステップS33のプラグイン認証処理において、該プラグイン23の認証が失敗した場合には(ステップS34/No)、そのまま処理を抜ける。
【0105】
<第3の実施形態/効果>
本実施形態により、機密データを渡すか渡さないかを決定するプラグイン認証処理を実行し、認証成功の場合にユーザ認証情報をプラグインに渡すので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへのユーザ認証情報の受け渡しについて、そのセキュリティ性を向上させることが可能となる。
【0106】
また、プラグインが、ユーザ認証が必要な外部プログラムにアクセスする際に、アプリケーションプログラムにおいて入力されたユーザ認証情報を用いることが可能となるので、プラグイン23にユーザ認証を保持する機構を持たせる必要がなくなるので、プログラム構成の簡易化を図ることが可能となる。
【0107】
<付記事項>
なお、上述の実施形態は本発明の好適な実施形態の一例を示すものにすぎず、本発明の実施の形態を限定する趣旨のものではない。よって、本発明は上述の実施形態に限定されることはなく、その要旨を逸脱しない範囲内において種々の変形実施を行うことが可能である。
【図面の簡単な説明】
【0108】
【図1】情報処理装置のハードウェア構成を示す図である。
【図2】記憶装置に格納されるプログラム及びデータを示す図である。
【図3】第1の実施形態におけるアプリケーションプログラムのモジュール構成を示す図である。
【図4】第1の実施形態におけるプラグイン認証処理の処理フローを示す図である。
【図5】第2の実施形態のシステム構成を示す図である。
【図6】第2の実施形態におけるアプリケーションプログラムのモジュール構成を示す図である。
【図7】プラグイン認証サーバの構成を示す図である。
【図8】第2の実施形態におけるプラグイン認証処理の処理フローを示す図である。
【図9】従来の情報処理装置の構成を示す図である。
【図10】第3の実施形態におけるアプリケーションプログラムのモジュール構成を示す図である。
【図11】第3の実施形態におけるユーザ認証処理及びプラグイン認証処理の処理フローを示す図である。
【図12】認証処理を行わない場合のデメリットを説明するための図である。
【符号の説明】
【0109】
10 情報処理装置
18 記憶装置
22 アプリケーションプログラム
23 プラグイン
33 プラグイン接続制御モジュール
34 プラグイン認証モジュール
35 プラグイン認証データ保持モジュール
40 プラグイン認証サーバ
60 外部プログラム
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム及び情報処理プログラムに関し、特に、プラグインの認証処理を実行することで機密データの漏洩を防ぐ情報処理装置、情報処理システム及び情報処理プログラムに関する。
【背景技術】
【0002】
従来から、既存の製品やシステムの機能拡張をするにあたり、その機能を提供しているアプリケーション全体を作り直すのではなく、拡張対象に特化したプラグインを組み込むことで機能拡張を実現する機能拡張方法がある。
【0003】
このようなプラグインによるアプリケーションの機能拡張に関する技術としては、特許文献1、特許文献2に記載される技術が知られている。
【特許文献1】特開平11−237975号公報
【特許文献2】特開2004−78578号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
プラグインによるアプリケーションの機能拡張の傾向は広まってきており、近年では、自社製品のみならず、サードパーティ製のプラグインを搭載することもある。
【0005】
しかし、『プラグインのファイル名が既定の命名規則(決められた拡張子)に従っている』、『プラグインの持つI/Fが既定のもの(C言語エクスポート関数など)である』、『プラグインが決められたディレクトリに置かれている』等の条件を満たせば、プラグインを搭載することができることから、プラグインが信頼できないものであっても搭載をすることが可能である。
【0006】
それゆえ、アプリケーションがプラグインに対して機密情報を渡す場合に、悪意あるユーザが取り付けたプラグインに対しても、一律に機密情報を渡してしまうため、その結果、機密情報の漏洩や、本来させてはいけない処理をさせてしまうことがある(図12参照)。
【0007】
上述の特許文献1、特許文献2に記載の技術では、この点について、何ら解決策を提案していない。
【0008】
本発明は、上記問題点に鑑みてなされたものであり、信頼できないプラグインに対して機密情報を渡さないことで、情報漏洩の抑制する情報処理装置、情報処理システム及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
請求項1記載の発明は、プラグインを組み込むことで機能の拡張を行う情報処理装置において、前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得手段と、前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、を有し、前記認証処理手段が、前記プラグインは有効であると認証した場合には、該プラグインに対し機密情報を送信し、前記認証処理手段が、前記プラグインは無効であると認証した場合には、該プラグインに対しては機密情報を送信しないことを特徴とする。
【0010】
請求項2記載の発明は、請求項1記載の情報処理装置において、有効なプラグインのプラグイン認証情報をデータテーブルとして管理する認証データ管理手段をさらに有し、前記認証処理手段は、前記認証データ管理手段が管理する前記データテーブルを参照することで、前記プラグインが有効であるか否かの認証を行うことを特徴とする。
【0011】
請求項3記載の発明は、請求項1または2に記載の情報処理装置において、ユーザ認証のためのユーザ認証情報を受け付け、該ユーザ認証情報に基づいて、ユーザ認証処理を行うユーザ認証処理手段を有し、前記プラグインがユーザ認証を必要とする外部機構にアクセスする場合において、前記認証情報処理手段が該プラグインは有効であると認証した場合には、前記ユーザ認証情報を該プラグインに送信し、該ユーザ認証情報により前記外部機構でのユーザ認証を行うことを特徴とする。
【0012】
請求項4記載の発明は、プラグインを組み込むことで機能の拡張を行う情報処理装置と、認証処理サーバと、からなる情報処理システムにおいて、前記情報処理装置は、前記プラグインからプラグイン認証情報を取得する認証情報取得手段と、取得した前記プラグイン認証情報を前記認証処理サーバに送信する第1の送信手段と、を有し、前記認証処理サーバは、前記情報処理装置から受け取った前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、前記認証処理手段による認証処理の結果を前記情報処理装置に送信する第2の送信手段とを有し、前記情報処理装置は、前記プラグインは有効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信し、前記プラグインは無効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信しないことを特徴とする。
【0013】
請求項5記載の発明は、プラグインを組み込むことで機能を拡張する情報処理装置に実行させる情報処理プログラムであって、前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得処理と、前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行うプラグイン認証処理と、前記プラグイン認証処理において、前記プラグインは有効であると認証された場合には該プラグインに対し機密情報を送信し、前記プラグインは無効であると認証された場合には該プラグインに対しては機密情報を送信しない機密情報送信処理と、を情報処理装置に実行させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、プラグインからプラグイン認証情報を取得し、該プラグイン認証情報に基づいてプラグイン認証処理を行う。そして、該認証処理の結果、プラグインを有効と認証した場合には機密情報を該プラグインに送信し、プラグインを無効と判断した場合には、機密情報を該プラグインに対しては送信しない。このような機密データを渡すか渡さないかを決定するプラグイン認証処理を実行するので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへの機密データの受け渡しについて、そのセキュリティ性を向上させることが可能となる。
【発明を実施するための最良の形態】
【0015】
<第1の実施形態>
以下、本発明について、実施の形態に即して説明する。まず、本発明の第1の実施形態について説明する。
【0016】
<ハードウェア構成>
図1を参照して、本発明の情報処理装置10のハードウェア構成について説明する。
【0017】
情報処理装置10は、CPU11と、ROM12と、RAM13と、バス14と、入出力インターフェース(入出力I/F)15と、入力装置16と、出力装置1
7と、記憶装置18と、通信制御装置19と、ドライブ制御装置20と、を有して構成される。
【0018】
CPU(Central Processing Unit)11は、ROM12に記憶されているプログラムや記憶装置18からRAM13に展開された(ロードされた)プログラムに従って、データ処理や演算処理などの各種処理を実行する中央処理装置である。
【0019】
ROM(Read Only Memory)12は、CPU11が各種演算や制御を行うための各種プログラム、データ、パラメータ等を格納した不揮発性メモリである。CPU11は、ROM12に格納されるプログラムやデータ、パラメータ等を読み込むことはできるが、これらの書き換えや消去は行わない。
【0020】
RAM(Random Access Memory)13は、プログラムやデータの書き込みを自在に行うことができるメモリであり、CPU11が各種の処理を実行する上で必要なワーキングエリアを提供する。記憶装置18に格納される各プログラムは、RAM13上に展開されてCPU11に読み込まれる。
【0021】
バス14は、CPU11と、ROM12と、RAM13と、入出力インターフェース15と、を相互に接続し、送受信される制御信号やデータ信号を媒介する。
【0022】
入出力インターフェース15には、入力装置16、出力装置17、記憶装置18、通信制御装置19、ドライブ制御装置20が接続されている。
【0023】
入力装置16は、キーボードやマウスなどの入力用の装置から構成される。情報処理装置10のユーザは、これらの入力装置を用いて、キー入力や選択入力、IDやパスワード入力などの各種操作を行う。
【0024】
出力装置17は、CRTディスプレイ(Cathode-ray Tube Display)やスピーカなどの出力用の装置から構成される。
【0025】
記憶装置18は、ハードディスクや半導体メモリ等の読み書き可能な記憶媒体から構成される。これらの記憶媒体は、情報処理装置10が機能するために必要なプログラムやデータを格納する。
【0026】
通信制御装置19は、モデムやターミナルアダプタ等から構成される。情報処理装置10は、通信制御装置10を用いて、インターネットやLAN(Local Area Network)等のネットワークで接続された端末装置とデータ通信する。
【0027】
ドライブ制御装置20は、着脱可能な記憶媒体からのデータの読み出し及び該記憶媒体へのデータの書き込みを行うための装置である。着脱可能な記憶媒体としては、例えば、CDやDVDなどの光ディスク、MOなどの光磁気ディスク、フロッピー(登録商標)ディスク等の磁気媒体などが挙げられる。
【0028】
<記憶装置>
次に、図2を参照して、記憶装置18に格納されるプログラム及びデータについて説明する。図2は、記憶装置18に格納されるプログラム及びデータを示す。なお、ここでは図の簡略化のため、各プログラム、データについて、各々1つのみ図示する。
【0029】
記憶装置18には、プログラムとして、OS21、アプリケーションプログラム22、プラグイン23が、また、データとして、画像データ24、音声データ25、バックアップデータ26が格納されている。
【0030】
OS(Operating System)21は、メモリ管理や入出力管理、制御管理等の情報処理装置10の基本的な機能を実現するためのプログラムである。
【0031】
アプリケーションプログラム22は、特定の目的、動作に特化して使用するプログラムである。アプリケーションプログラムとしては、文章を作成するための文字入力プログラムや、インターネット上での通信を行うための通信プログラム等が挙げられる。
【0032】
プラグイン23は、特定のアプリケーションプログラム22に組み込んで使用することで、該アプリに追加機能を提供する機能拡張用のプログラムである。
【0033】
これらのプログラムは、CPU11により実行されることにより、ソフトウェア的に構成され、予めプログラムされた機能を発揮する。
【0034】
画像データ24は、情報処理装置10のディスプレイに表示するためのデータであり、ビットマップ形式やJPEG(Joint Photographic Experts Group)形式、GIF(Graphics Interchange Format)形式等で格納されている。
【0035】
音声データ25は、情報処理装置10のスピーカから出力する音声のデータであり、WAVE形式やMP3形式で格納されている。
【0036】
バックアップデータ26は、テキストデータやデータベース用のデータ等の各種のバックアップ用のデータである。
【0037】
<アプリケーションプログラム>
次に、図3を参照して、本実施形態のアプリケーションプログラム22のモジュール構成について説明する。
【0038】
アプリケーションプログラム22は、プログラムモジュール31と、外部I/Fモジュール32と、プラグイン接続制御モジュール33と、プラグイン認証モジュール34と、プラグイン認証データ保持モジュール35と、を有して構成される。
【0039】
プログラムモジュール31は、該アプリケーションプログラム22のアプリ動作を行う。
【0040】
外部I/Fモジュール32は、該アプリケーションプログラム22の外部のプログラム等とのデータ通信を制御する。
【0041】
プラグイン接続制御モジュール33は、該アプリケーションプログラム22に接続されるプラグイン23の制御を行う。具体的には、プラグイン23との間でのデータのやり取り等の制御を行う。
【0042】
プラグイン認証モジュール34は、該アプリケーションプログラム22に接続されるプラグイン23の認証処理、認証制御を行う。
【0043】
プラグイン認証データ保持モジュール35は、プラグイン23の認証処理の際に用いる認証データのデータテーブルを保持する。
【0044】
<プラグインの認証処理>
次に、本実施形態の情報処理装置10におけるプラグイン認証処理について説明する。
【0045】
プラグイン認証処理は、プラグイン23が組み込まれているアプリケーションプログラム22に対し外部から機密データが入力された場合に、該プラグインに機密データを渡すか渡さないかを決定するために行う処理である。
【0046】
以下、図4を参照して、具体的に説明する。図4は、本実施形態の情報処理装置10におけるプラグイン認証処理の処理フローを示す。
【0047】
外部から機密データが渡されると、まず、アプリケーションプログラム22は、プラグイン23から認証データを取得する(ステップS11)。
【0048】
なお、外部からのデータの受付処理は、外部I/Fモジュール32が行う。また、プラグイン23からの認証データの取得処理は、プラグイン接続モジュール23が行う。
【0049】
また、認証データとはプラグイン23の有効性を判断するためのデータのことであり、例えば、『プラグイン23の固有ID』、『ファイル名』、『プラグイン作成者の名前+パスワード』といったデータのことである。
【0050】
次に、ステップS11で取得した認証データが、データテーブルに登録されているか否かを判断する(ステップS12)。なお、この判断処理は、プラグイン認証モジュール34が行う。
【0051】
データテーブルは、アプリケーションプログラム22のプラグイン認証データ保持モジュール35に保持されており、該データテーブルに登録されている認証データを持つプラグインは、有効なプラグインであると判断される。なお、該データテーブルに登録されている認証データの種類は、当然、ステップS1で取得する認証データと同種のデータである。
【0052】
なお、取得した認証データがデータテーブルに登録されているか否かの判断は、取得した認証データと該データテーブルに保持される認証データとを同値比較することにより行う。同値のものがある場合には登録されていると判断し、同値のものがない場合には登録されていないと判断する。
【0053】
取得した認証データがデータテーブルに登録されている場合には(ステップS13/Yes)、そのプラグイン23を有効と判断し、該プラグイン23に対し機密データを渡す(ステップS14,S15)。なお、該プラグイン23への機密データの送信は、プラグイン接続制御モジュール33が行う。
【0054】
他方、取得した認証データがデータテーブルに登録されていない場合には(ステップS13/No)、そのプラグインを無効と判断し、該プラグイン23に対しては機密データを渡さない(ステップS16,17)。
【0055】
<第1の実施形態/効果>
本実施形態の情報処理装置10においては、機密データを渡すか渡さないかを決定するプラグイン認証処理を実行するので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへの機密データの受け渡しについて、そのセキュリティ性を向上させることが可能となる。
【0056】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本実施形態では、第1の実施形態において、取得した認証データの認証処理を情報処理装置10ではなく、該情報処理装置10が接続されているサーバにおいて実行する。
【0057】
以下、本実施形態について具体的に説明する。
【0058】
<システム構成>
まず、図5を参照して、本実施形態のシステム構成について説明する。本実施形態では、複数の情報処理装置10が、ネットワーク50を介して、プラグイン認証サーバ40に接続されている。なお、プラグイン認証サーバ40は、プラグインの認証処理を実行するサーバである。
【0059】
<ハードウェア構成>
本実施形態における情報処理装置10のハードウェア構成は、第1の実施形態の情報処理装置10のハードウェア構成(図1参照)と同一であるので、ここではその説明を省略する。なお、ネットワーク50を介したプラグイン認証サーバ40との通信制御は、通信制御装置19が行う。
【0060】
<アプリケーションプログラム>
次に、図6を参照して、本実施形態のアプリケーションプログラム22のモジュール構成について説明する。
【0061】
アプリケーションプログラム22は、プログラムモジュール31と、外部I/Fモジュール32と、プラグイン接続制御モジュール33と、を有して構成される。
【0062】
プログラムモジュール31は、該アプリケーションプログラム22のアプリ動作を行う。また、外部I/Fモジュール32は、該アプリケーションプログラム22の外部プログラム等とのデータ通信を制御する。また、プラグイン接続制御モジュール33は、該アプリケーションプログラム22に接続されるプラグイン23の制御を行う。具体的には、プラグイン23との間でのデータのやり取り等の制御を行う。
【0063】
<プラグイン認証サーバ>
次に、図7を参照して、プラグイン認証サーバ40の構成について説明する。プラグイン認証サーバ40は、プラグイン認証部41と、データテーブル保持部42と、外部I/F43と、を有して構成される。
【0064】
プラグイン認証部41は、情報端末装置10から送られてきたプラグイン23の認証データの認証処理を行う。具体的には、送られてきた認証データがデータテーブル保持部42に蓄積されているデータテーブルに登録されているか否かを判断する。
【0065】
データテーブル保持部42は、データテーブルを保持しており、該データテーブルは有効なプラグイン23の認証データが登録されている。なお、該データテーブルに登録されている認証データの種類は、当然、情報処理装置10から送られてくる認証データと同種のデータである。
【0066】
外部I/F43は、プラグイン認証サーバ40の外部との通信を行うためのインターフェースである。
【0067】
<プラグインの認証処理>
次に、本実施形態におけるプラグイン認証処理について説明する。本実施形態においては、プラグイン23が組み込まれているアプリケーションプログラム22に対し外部から機密データが入力された場合に、該プラグインに機密データを渡すか渡さないかを決定するために行うプラグイン認証処理を、情報処理装置10ではなくプラグイン認証サーバ40において行う。
【0068】
以下、図8を参照して、具体的に説明する。図8は、本実施形態におけるプラグイン認証処理の処理フローを示す。
【0069】
外部から機密データが渡されると、まず、アプリケーションプログラム22は、プラグイン23から認証データを取得する(ステップS21)。
【0070】
なお、外部からのデータの受付処理は、外部I/Fモジュール32が行う。また、プラグイン23からの認証データの取得処理は、プラグイン接続モジュール23が行う。
【0071】
次に、ステップS21で取得した認証データを、ネットワーク50を介して、プラグイン認証サーバ40に送信する(ステップS22)。なお、この処理は、外部I/Fモジュール32、通信制御部19において行う。
【0072】
次に、プラグイン認証サーバ40のプラグイン認証部41は、データテーブル保持部42が保持するデータテーブルに、送られてきた認証データが登録されているか否かを判断する(ステップS23)。
【0073】
なお、送られてきた認証データが該データテーブルに登録されているか否かの判断は、送られてきた認証データと該データテーブルに保持される認証データとを同値比較することにより行う。同値のものがある場合には登録されていると判断し、同値のものがない場合には登録されていないと判断する。
【0074】
送られてきた認証データがデータテーブルに登録されている場合には(ステップS24/Yes)、そのプラグイン23を有効と判断し、有効の判断結果を情報処理装置10に送る(ステップS25,26)。情報処理装置10は、有効の判断を受け取ると、該プラグイン23に対し機密データを渡す(ステップS27)。なお、該プラグイン23への機密データの送信は、プラグイン接続制御モジュール33が行う。
【0075】
他方、送られてこいた認証データがデータテーブルに登録されていない場合には(ステップS24/No)、そのプラグイン23を無効と判断し、無効の判断結果を情報処理装置10に送る(ステップS28,29)。情報処理装置10は、無効の判断を受け取ると、該プラグイン23に対しては機密データを渡さない(ステップS30)。
【0076】
<第2の実施形態の効果>
本実施形態により、機密データを渡すか渡さないかを決定するプラグイン認証処理を実行するので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへの機密データの受け渡しについて、そのセキュリティ性を向上させることが可能となる。また、プラグインの認証処理をプラグイン認証サーバ40において行うので、該サーバに接続される情報処理装置10の認証処理について、一元的に管理・実行することが可能となる。また、アプリケーションプラグラム22自体には、認証のためのプログラムやデータテーブルを持たせる必要がなくなるので、プログラム構成を容易にすることが可能となる。
【0077】
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。
【0078】
アプリケーションプログラム22がユーザ認証のためのモジュールを備え、且つ、該アプリケーションプログラム22に接続されるプラグイン23が、該アプリケーションプログラム22のユーザ認証と異なるユーザ認証機構を持つ外部プログラムにアクセスするという構成を想定する(図9参照)。
【0079】
このような構成の場合、プラグイン23が外部プログラムにアクセスする際には、外部プログラムのユーザ認証を行うことになるが、該ユーザ認証を行うためにはプラグイン23にユーザ認証を保持する機構(ユーザ名・パスワードを入力するための機構)を持たせる必要がある。
【0080】
また、アプリケーションプログラム23で行ったユーザ認証が、外部プログラムにおいて反映されないというデメリットがある。例えば、プラグイン23Aで記憶しているユーザがユーザXである場合、アプリケーションプログラム22においてユーザYを用いて認証を行っても、外部プログラムにおいてはユーザXが認証したことになってしまう。
【0081】
そこで、本実施形態では、第1の実施形態の情報処理装置10において、アプリケーションプログラム22にユーザ認証のためのモジュールを備えさせた構成となっている。そして、該アプリケーションプログラム22のプラグイン23が、該アプリケーションプログラム22のユーザ認証と異なるユーザ認証機構を持つ外部プログラムにアクセスする際に、該アプリケーションプログラム22のユーザ認証で用いたユーザ認証データを用いて、外部プログラムのユーザ認証機構にユーザ認証を行う。
【0082】
以下、本実施形態について具体的に説明する。
【0083】
<ハードウェア構成>
本実施形態における情報処理装置10のハードウェア構成は、第1の実施形態の情報処理装置10のハードウェア構成(図1参照)と同一であるので、ここではその説明を省略する。
【0084】
<アプリケーションプログラム>
次に、図10を参照して、本実施形態のアプリケーションプログラム22のモジュール構成について説明する。
【0085】
アプリケーションプログラム22は、プログラムモジュール31と、外部I/Fモジュール32と、プラグイン接続制御モジュール33と、プラグイン認証モジュール34と、プラグイン認証データ保持モジュール35と、ユーザ認証モジュール36と、ユーザ認証データ保持モジュール37と、を有して構成される。
【0086】
プログラムモジュール31は、該アプリケーションプログラム22のアプリ動作を行う。また、外部I/Fモジュール32は、該アプリケーションプログラム22の外部プログラム等とのデータ通信を制御する。
【0087】
プラグイン接続制御モジュール33は、該アプリケーションプログラム22に接続されるプラグイン23の制御を行う。具体的には、プラグイン23との間でのデータのやり取り等の制御を行う。
【0088】
プラグイン認証モジュール34は、該アプリケーションプログラム22に接続されるプラグイン23の認証処理、認証制御を行う。また、プラグイン認証データ保持モジュール35は、プラグイン23の認証処理の際に用いるプラグイン認証データのデータテーブルを保持する。
【0089】
ユーザ認証モジュール36は、ユーザ認証データに基づいて、ユーザの認証処理、認証制御を行う。また、ユーザ認証データ保持モジュール37は、ユーザの認証処理の際に用いるユーザ認証データのデータテーブルを保持する。なお、ユーザ認証データとは、ユーザ名とこれに対応するパスワードである。
【0090】
<外部プログラム>
また、図9において、プラグイン23は、外部プログラム60にアクセスする。外部プログラム60は、そのモジュール構成として、第2のプラグイン接続制御モジュール61と、第2のユーザ認証モジュール62と、第2のユーザ認証データ保持モジュール63と、を有して構成される。
【0091】
第2のプラグイン接続制御モジュール61は、該プラグイン23との間での通信制御を行う。具体的には、プラグイン23から送られてきたユーザ認証データの受信を行う。
【0092】
第2のユーザ認証モジュール62は、外部プログラム60におけるユーザの認証処理、認証制御を行う。なお、第2のユーザ認証モジュール62は、プラグイン23から受け取ったユーザ認証データに基づいてユーザ認証処理を行う。
【0093】
第2のユーザ認証データ保持モジュール63は、ユーザの認証処理の際に用いるユーザ認証データのデータテーブルを保持する。
【0094】
<プラグイン認証処理/ユーザ認証処理>
次に、図11を参照して、本実施形態の情報処理装置10におけるプラグイン認証処理及びユーザ認証処理について説明する。
【0095】
外部I/Fモジュール32を介して外部からユーザ認証用のユーザ認証データが入力されると、まず、アプリケーションプログラム22のユーザ認証モジュール36は、ユーザ認証を行う(ステップS31)。
【0096】
なお、ステップS31のユーザ認証処理は、アプリケーションプログラム22のユーザ認証モジュール36が行う。このユーザ認証処理は、入力されたユーザ認証データがユーザ認証データ保持モジュール37の保持するデータテーブルに登録されているか否かを判断することで行う。
【0097】
入力されたユーザ認証データがユーザ認証データ保持モジュール37の保持するデータテーブルに登録されているか否かの判断は、ユーザ認証データのユーザ名と、データテーブル内のユーザ名とを同値比較し、同値のものあった場合には、該ユーザ名に対応するパスワードについてさらに同値比較することで行う。ユーザ名とパスワードの両者とも同値である場合には、該ユーザ認証データがデータテーブルに登録されているので、有効なユーザ認証と判断する(ユーザ認証成功)。他方、同値でない場合には、無効なユーザ認証とする(ユーザ認証失敗)。
【0098】
ステップS31のユーザ認証処理においてユーザ認証が失敗した場合には(ステップS32/No)、以降の処理は実行せずにそのまま処理を抜ける。
【0099】
他方、ステップS31のユーザ認証処理においてユーザ認証が成功した場合には(ステップS32/Yes)、アプリケーションプログラム22は、プラグイン23の認証処理を行う(ステップS33)。なお、このステップS33で行うプラグイン認証処理は、第1の実施形態でのプラグイン認証フロー(図4参照)と同一であるので、ここではその説明を省略する。
【0100】
ステップS33のプラグイン認証処理において、該プラグインの認証に成功した場合には(ステップS34/Yes)、ユーザ認証データを該プラグイン23に渡す(ステップS35)。なお、該プラグイン23へのユーザ認証データの送信は、プラグイン接続制御モジュール33が行う。
【0101】
アプリケーションプログラム22から送られてきたユーザ認証データを受け取ったプラグイン23は、該ユーザ認証データを用いて外部プログラム60にアクセスする(ステップS36)。
【0102】
外部プログラム60は、プラグイン23からユーザ認証データを受け付けると、該ユーザ認証データを用いて、ユーザ認証を行う(ステップS37)。なお、このユーザ認証処理は、外部プログラム60の第2のユーザ認証モジュール62が行う。このユーザ認証処理は、入力されたユーザ認証データが第2のユーザ認証データ保持モジュール63の保持するデータテーブルに登録されているか否かを判断することで行う。
【0103】
受け付けたユーザ認証データが第2のユーザ認証データ保持モジュール63の保持するデータテーブルに登録されているか否かの判断は、ユーザ認証データのユーザ名と、データテーブル内のユーザ名とを同値比較し、同値のものあった場合には、該ユーザ名に対応するパスワードについてさらに同値比較することで行う。ユーザ名とパスワードの両者とも同値である場合には、該ユーザ認証データがデータテーブルに登録されているので、有効なユーザ認証と判断する(ユーザ認証成功)。他方、同値でない場合には、無効なユーザ認証とする(ユーザ認証失敗)。
【0104】
他方、ステップS33のプラグイン認証処理において、該プラグイン23の認証が失敗した場合には(ステップS34/No)、そのまま処理を抜ける。
【0105】
<第3の実施形態/効果>
本実施形態により、機密データを渡すか渡さないかを決定するプラグイン認証処理を実行し、認証成功の場合にユーザ認証情報をプラグインに渡すので、プラグインのメリットである拡張容易性を保ちつつ、プラグインへのユーザ認証情報の受け渡しについて、そのセキュリティ性を向上させることが可能となる。
【0106】
また、プラグインが、ユーザ認証が必要な外部プログラムにアクセスする際に、アプリケーションプログラムにおいて入力されたユーザ認証情報を用いることが可能となるので、プラグイン23にユーザ認証を保持する機構を持たせる必要がなくなるので、プログラム構成の簡易化を図ることが可能となる。
【0107】
<付記事項>
なお、上述の実施形態は本発明の好適な実施形態の一例を示すものにすぎず、本発明の実施の形態を限定する趣旨のものではない。よって、本発明は上述の実施形態に限定されることはなく、その要旨を逸脱しない範囲内において種々の変形実施を行うことが可能である。
【図面の簡単な説明】
【0108】
【図1】情報処理装置のハードウェア構成を示す図である。
【図2】記憶装置に格納されるプログラム及びデータを示す図である。
【図3】第1の実施形態におけるアプリケーションプログラムのモジュール構成を示す図である。
【図4】第1の実施形態におけるプラグイン認証処理の処理フローを示す図である。
【図5】第2の実施形態のシステム構成を示す図である。
【図6】第2の実施形態におけるアプリケーションプログラムのモジュール構成を示す図である。
【図7】プラグイン認証サーバの構成を示す図である。
【図8】第2の実施形態におけるプラグイン認証処理の処理フローを示す図である。
【図9】従来の情報処理装置の構成を示す図である。
【図10】第3の実施形態におけるアプリケーションプログラムのモジュール構成を示す図である。
【図11】第3の実施形態におけるユーザ認証処理及びプラグイン認証処理の処理フローを示す図である。
【図12】認証処理を行わない場合のデメリットを説明するための図である。
【符号の説明】
【0109】
10 情報処理装置
18 記憶装置
22 アプリケーションプログラム
23 プラグイン
33 プラグイン接続制御モジュール
34 プラグイン認証モジュール
35 プラグイン認証データ保持モジュール
40 プラグイン認証サーバ
60 外部プログラム
【特許請求の範囲】
【請求項1】
プラグインを組み込むことで機能の拡張を行う情報処理装置において、
前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得手段と、
前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、
を有し、
前記認証処理手段が、前記プラグインは有効であると認証した場合には、該プラグインに対し機密情報を送信し、
前記認証処理手段が、前記プラグインは無効であると認証した場合には、該プラグインに対しては機密情報を送信しないことを特徴とする情報処理装置。
【請求項2】
有効なプラグインのプラグイン認証情報をデータテーブルとして管理する認証データ管理手段をさらに有し、
前記認証処理手段は、前記認証データ管理手段が管理する前記データテーブルを参照することで、前記プラグインが有効であるか否かの認証を行うことを特徴とする請求項1記載の情報処理装置。
【請求項3】
ユーザ認証のためのユーザ認証情報を受け付け、該ユーザ認証情報に基づいて、ユーザ認証処理を行うユーザ認証処理手段を有し、
前記プラグインがユーザ認証を必要とする外部機構にアクセスする場合において、前記認証情報処理手段が該プラグインは有効であると認証した場合には、
前記ユーザ認証情報を該プラグインに送信し、該ユーザ認証情報により前記外部機構でのユーザ認証を行うことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
プラグインを組み込むことで機能の拡張を行う情報処理装置と、認証処理サーバと、からなる情報処理システムにおいて、
前記情報処理装置は、
前記プラグインからプラグイン認証情報を取得する認証情報取得手段と、
取得した前記プラグイン認証情報を前記認証処理サーバに送信する第1の送信手段と、
を有し、
前記認証処理サーバは、
前記情報処理装置から受け取った前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、
前記認証処理手段による認証処理の結果を前記情報処理装置に送信する第2の送信手段とを有し、
前記情報処理装置は、
前記プラグインは有効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信し、
前記プラグインは無効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信しないことを特徴とする情報処理システム。
【請求項5】
プラグインを組み込むことで機能を拡張する情報処理装置に実行させる情報処理プログラムであって、
前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得処理と、
前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行うプラグイン認証処理と、
前記プラグイン認証処理において、前記プラグインは有効であると認証された場合には該プラグインに対し機密情報を送信し、前記プラグインは無効であると認証された場合には該プラグインに対しては機密情報を送信しない機密情報送信処理と、
を情報処理装置に実行させることを特徴とする情報処理プログラム。
【請求項1】
プラグインを組み込むことで機能の拡張を行う情報処理装置において、
前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得手段と、
前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、
を有し、
前記認証処理手段が、前記プラグインは有効であると認証した場合には、該プラグインに対し機密情報を送信し、
前記認証処理手段が、前記プラグインは無効であると認証した場合には、該プラグインに対しては機密情報を送信しないことを特徴とする情報処理装置。
【請求項2】
有効なプラグインのプラグイン認証情報をデータテーブルとして管理する認証データ管理手段をさらに有し、
前記認証処理手段は、前記認証データ管理手段が管理する前記データテーブルを参照することで、前記プラグインが有効であるか否かの認証を行うことを特徴とする請求項1記載の情報処理装置。
【請求項3】
ユーザ認証のためのユーザ認証情報を受け付け、該ユーザ認証情報に基づいて、ユーザ認証処理を行うユーザ認証処理手段を有し、
前記プラグインがユーザ認証を必要とする外部機構にアクセスする場合において、前記認証情報処理手段が該プラグインは有効であると認証した場合には、
前記ユーザ認証情報を該プラグインに送信し、該ユーザ認証情報により前記外部機構でのユーザ認証を行うことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
プラグインを組み込むことで機能の拡張を行う情報処理装置と、認証処理サーバと、からなる情報処理システムにおいて、
前記情報処理装置は、
前記プラグインからプラグイン認証情報を取得する認証情報取得手段と、
取得した前記プラグイン認証情報を前記認証処理サーバに送信する第1の送信手段と、
を有し、
前記認証処理サーバは、
前記情報処理装置から受け取った前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行う認証処理手段と、
前記認証処理手段による認証処理の結果を前記情報処理装置に送信する第2の送信手段とを有し、
前記情報処理装置は、
前記プラグインは有効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信し、
前記プラグインは無効であるとの認証結果を前記情報処理サーバから受け取った場合には、該プラグインに対し機密情報を送信しないことを特徴とする情報処理システム。
【請求項5】
プラグインを組み込むことで機能を拡張する情報処理装置に実行させる情報処理プログラムであって、
前記プラグインからプラグイン認証情報を取得するプラグイン認証情報取得処理と、
前記プラグイン認証情報に基づいて、前記プラグインが有効であるか否かの認証を行うプラグイン認証処理と、
前記プラグイン認証処理において、前記プラグインは有効であると認証された場合には該プラグインに対し機密情報を送信し、前記プラグインは無効であると認証された場合には該プラグインに対しては機密情報を送信しない機密情報送信処理と、
を情報処理装置に実行させることを特徴とする情報処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−122603(P2007−122603A)
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願番号】特願2005−316843(P2005−316843)
【出願日】平成17年10月31日(2005.10.31)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願日】平成17年10月31日(2005.10.31)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]