(57)【要約】      （修正有）【課題】アプリケーションのセキュリティ管理を管理者に適切に行わせることができるアプリケーション実行装置を提供する。【解決手段】アプリケーション実行装置であるＭＦＰは、Ｊａｖａ（登録商標）アプリケーションを実行した際に使用された暗号モジュールに関する情報を含む履歴情報を記憶する。また、ＭＦＰは、アプリケーションの暗号機能を実現する暗号モジュールの種別を履歴情報に基づいて判別し、判別結果である暗号利用状況３０７をアプリケーション情報画面３００に表示する。【選択図】図３
2019185542.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションにおける暗号機能を実現するための複数の暗号モジュールを備えるアプリケーション実行装置であって、
前記アプリケーションを実行した際に使用された暗号モジュールに関する情報を含む履歴情報を記憶する記憶手段と、
前記アプリケーションの暗号機能を実現する暗号モジュールの種別を前記履歴情報に基づいて判別する判別手段と、
前記判別手段による判別結果の通知制御を行う通知制御手段とを備えることを特徴とするアプリケーション実行装置。
【請求項２】
前記アプリケーション実行装置の管理者の指示に応じて前記履歴情報の保持状態をリセットすることを特徴とする請求項１記載のアプリケーション実行装置。
【請求項３】
前記通知制御手段は、前記アプリケーションに関する情報の表示要求を受け付けた際に前記判別結果を表示する制御を行うことを特徴とする請求項１又は２記載のアプリケーション実行装置。
【請求項４】
前記通知制御手段は、前記履歴情報を表示する制御を行うことを特徴とする請求項１乃至３のいずれか１項に記載のアプリケーション実行装置。
【請求項５】
特定の規格に準拠する規格準拠暗号モジュール及び前記特定の規格に準拠しない規格非準拠暗号モジュールを備え、
前記通知制御手段は、前記規格準拠暗号モジュール及び前記規格非準拠暗号モジュールの何れも使用した経験があるアプリケーションの履歴情報を表示する制御を行うことを特徴とする請求項４記載のアプリケーション実行装置。
【請求項６】
前記規格非準拠暗号モジュールを使用するアプリケーションの実行の制限に関する動作制御情報を設定させることを特徴とする請求項５記載のアプリケーション実行装置。
【請求項７】
アプリケーションにおける暗号機能を実現するための複数の暗号モジュールを備えるアプリケーション実行装置の制御方法であって、
前記アプリケーションを実行した際に使用された暗号モジュールに関する情報を含む履歴情報を記憶する記憶ステップと、
前記アプリケーションの暗号機能を実現する暗号モジュールの種別を前記履歴情報に基づいて判別する判別ステップと、
前記判別ステップにおける判別結果の通知制御を行う通知制御ステップとを有することを特徴とするアプリケーション実行装置の制御方法。
【請求項８】
アプリケーションにおける暗号機能を実現するための複数の暗号モジュールを備えるアプリケーション実行装置の制御方法をコンピュータに実行させるプログラムであって、
前記アプリケーション実行装置の制御方法は、
前記アプリケーションを実行した際に使用された暗号モジュールに関する情報を含む履歴情報を記憶する記憶ステップと、
前記アプリケーションの暗号機能を実現する暗号モジュールの種別を前記履歴情報に基づいて判別する判別ステップと、
前記判別ステップにおける判別結果の通知制御を行う通知制御ステップとを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション実行装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
コピー機能、プリント機能、スキャン機能、及びＦＡＸ送受信機能等の標準機能の他に、機能を拡張可能なアプリケーション実行装置としてのＭＦＰ(Multi Function Peripheral)が知られている。ＭＦＰは、機能を拡張するためのアプリケーション（以下、「拡張アプリケーション」という。）を外部装置等から取得し、取得した拡張アプリケーションをインストールする。ＭＦＰでは、ユーザによる拡張アプリケーションの実行指示に応じて当該拡張アプリケーションをＪａｖａＶＭ（Java Virtual Machine）等の所定の実行環境で動作させる。
【０００３】
ところで、ＭＦＰでは、拡張アプリケーションを実行する際に、第三者への情報漏洩やデータの改ざんを防止するために、暗号化処理が行われることがある。暗号化処理は、例えば、ＳＳＬ／ＴＬＳ通信における暗号化通信や、画像データのバックアップにおけるバックアップデータの暗号化処理である。このような暗号化処理を行うために、ＭＦＰには、暗号化機能及び復号化機能を備えたソフトウェアモジュールである暗号モジュールが予め組み込まれている。ＭＦＰには、特定のセキュリティレベルを担保する暗号化処理を実施可能な暗号モジュールとして、例えば、ＦＩＰＳ１４０−２に準拠する規格準拠暗号モジュールが組み込まれている。ＦＩＰＳ１４０−２は、暗号に関する標準規格であり、安全な暗号アルゴリズムを正しく実装していることを認証するための規格である。規格準拠暗号モジュールを用いた暗号化処理では、ＲＣ４やＲＳＡ１０２４等の脆弱と見做される暗号アルゴリズムが使用されない。一方、ＭＦＰは、比較的古い業務システムとの連携が要求され、一部のアプリケーションにおいてＲＣ４やＲＳＡ１０２４が必要となる場合がある。このような場合に対応して、ＭＦＰには、規格準拠暗号モジュールの他に、ＦＩＰＳ１４０−２に準拠しない規格非準拠暗号モジュールも組み込まれている。ＭＦＰでは、アプリケーション毎に使用する暗号モジュールが切り替えられる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１３３８１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のＭＦＰでは、上述した暗号モジュールの切り替えがＭＦＰの内部処理で行われていた。このため、従来では、ＭＦＰの管理者は、特定のセキュリティレベルが要求されるアプリケーションの暗号化処理において規格準拠暗号モジュールが使用されていることを確認することができない。その結果、ＭＦＰの管理者が各アプリケーションのセキュリティ管理を適切に行うことができないという問題が生じる。
【０００６】
本発明の目的は、アプリケーションのセキュリティ管理を管理者に適切に行わせることができるアプリケーション実行装置、その制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のアプリケーション実行装置は、アプリケーションにおける暗号機能を実現するための複数の暗号モジュールを備えるアプリケーション実行装置であって、前記アプリケーションを実行した際に使用された暗号モジュールに関する情報を含む履歴情報を記憶する記憶手段と、前記アプリケーションの暗号機能を実現する暗号モジュールの種別を前記履歴情報に基づいて判別する判別手段と、前記判別手段による判別結果の通知制御を行う通知制御手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、アプリケーションのセキュリティ管理を管理者に適切に行わせることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係るアプリケーション実行装置としてのＭＦＰの構成を概略的に示すブロック図である。
【図２】図１のＭＦＰのソフトウェア構成を概略的に示すブロック図である。
【図３】図２のＪａｖａアプリ管理部によって表示制御されるアプリケーション情報画面の一例を示す図である。
【図４】図２のプロバイダ定義ファイルの一例を示す図である。
【図５】図１のＭＦＰによって実行されるアプリケーション情報画面の表示に関連する制御処理の手順を示すフローチャートである。
【図６】図１のＨＤＤに記憶される履歴情報の一例を示す図である。
【図７】図２のＪａｖａアプリ管理部によって表示制御されるアプリケーション情報画面の一例を示す図である。
【図８】図１の操作部に表示される設定画面の一例を示す図である。
【図９】図１のＭＦＰによって実行される暗号制御処理の手順を示すフローチャートである。
【図１０】図２のＪａｖａアプリ管理部によって表示制御される警告画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１１】
図１は、本発明の実施の形態に係るアプリケーション実行装置としてのＭＦＰ１００の構成を概略的に示すブロック図である。図１において、ＭＦＰ１００は、制御部１０１、操作部１０７、プリンタ１０９、及びスキャナ１１１を備える。制御部１０１は、操作部１０７、プリンタ１０９、及びスキャナ１１１と接続されている。また、制御部１０１は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、ＨＤＤ１０５、操作部Ｉ／Ｆ１０６、プリンタＩ／Ｆ１０８、スキャナＩ／Ｆ１１０、ＦＡＸ Ｉ／Ｆ１１２、及びネットワークＩ／Ｆ１１３を備える。ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、ＨＤＤ１０５、操作部Ｉ／Ｆ１０６、プリンタＩ／Ｆ１０８、スキャナＩ／Ｆ１１０、ＦＡＸ Ｉ／Ｆ１１２、及びネットワークＩ／Ｆ１１３はシステムバス１１４を介して互いに接続されている。
【００１２】
ＭＦＰ１００には、コピー機能、スキャン機能、及び通信機能等の標準機能が予め組み込まれている。また、ＭＦＰ１００では、後述する図２のＪａｖａアプリケーション２０１をインストールすることで、上記Ｊａｖａアプリケーション２０１に対応する機能を拡張可能である。さらに、ＭＦＰ１００は、ＬＡＮケーブル（不図示）を介して接続されたネットワーク上の外部装置（不図示）に対し、ＭＦＰ１００にインストールされた後述するＪａｖａアプリケーション２０１の管理機能を提供する。制御部１０１はＭＦＰ１００全体の動作を制御する。ＣＰＵ１０２は、ＲＯＭ１０３に記憶されたプログラムを読み出し、読取制御や送信制御等の制御を行う。ＲＡＭ１０４は、ＣＰＵ１０２の主メモリとして、また、各データの一時記憶領域として用いられる。ＨＤＤ１０５は、画像データやプログラムを記憶する。操作部Ｉ／Ｆ１０６は、操作部１０７及び制御部１０１を接続する。操作部１０７は、ＭＦＰ１００の各種設定を行う設定画面を表示する。また、操作部１０７は、ユーザによる指示を受け付ける。
【００１３】
プリンタＩ／Ｆ１０８は、プリンタ１０９及び制御部１０１を接続する。プリンタＩ／Ｆ１０８は、例えば、制御部１０１から取得した画像データをプリンタ１０９に転送する。プリンタ１０９は、プリンタＩ／Ｆ１０８から転送された画像データに基づいて印刷処理を行う。スキャナＩ／Ｆ１１０は、スキャナ１１１及び制御部１０１を接続する。スキャナ１１１は、原稿を読み取って得た情報に基づいてスキャン画像データを生成する。スキャナ１１１は、上記スキャン画像データをスキャナＩ／Ｆ１１０を介して制御部１０１に送信する。ＦＡＸＩ／Ｆ１１２は、制御部１０１を電話線（不図示）に接続する。ＦＡＸ Ｉ／Ｆ１１２は、上記電話線を介してＦＡＸデータの送受信を行う。ネットワークＩ／Ｆ１１３は、制御部１０１を上記ＬＡＮケーブルに接続する。ネットワークＩ／Ｆ１１３は、上記ＬＡＮケーブルを介して接続されたネットワーク上の外部装置とデータ通信を行う。例えば、ネットワークＩ／Ｆ１１３は、ＬＡＮケーブルを介して接続されたネットワーク上の外部装置から印刷指示を受信し、また、印刷指示に対する応答を送信する。
【００１４】
図２は、図１のＭＦＰ１００のソフトウェア構成を概略的に示すブロック図である。図２において、ＭＦＰ１００は、ソフトウェアモジュールの動作環境として、ＶＭ環境及びネイティブ環境の２つの階層を有する。ＭＦＰ１００では、インストールされたＪａｖａアプリケーション２０１をＶＭ環境で動作させ、また、ＭＦＰ１００に予め組み込まれたネイティブアプリケーション２１１をネイティブ環境で動作させる。
【００１５】
ＶＭ環境において、ＪａｖａＶＭ２００は、ＭＦＰ１００の機能を拡張するためにインストールされたＪａｖａアプリケーション２０１をＪａｖａアプリ管理部２０２（通知制御手段）の指示に基づいてＣＰＵ１０２に実行させる。Ｊａｖａアプリケーション２０１は、Ｊａｖａ言語で記述されプログラムがＪａｖａ固有のバイトコードに変換されたモジュールである。なお、本実施の形態では、説明を容易にするために、図２にＪａｖａアプリケーション２０１を１つのみ示すが、ＭＦＰ１００は、複数の異なる種別のＪａｖａアプリケーションをインストール可能である。Ｊａｖａアプリ管理部２０２は、ＭＦＰ１００にインストール済みのＪａｖａアプリケーションに関する管理機能を、外部装置（不図示）に対し、ネットワークＩ／Ｆ１１３を介して提供する。例えば、Ｊａｖａアプリ管理部２０２は、管理機能の利用要求（表示要求）を行った外部装置の表示部（不図示）に、図３のアプリケーション情報画面３００を表示させる。
【００１６】
アプリケーション情報画面３００は、アプリケーション名３０１、アプリケーションの状態３０２、暗号利用状況３０７、入力欄３０８、及びインストールボタン３０９を備える。アプリケーション名３０１には、ＭＦＰ１００にインストール済みのＪａｖａアプリケーションの名称が表示される。アプリケーションの状態３０２には、ＭＦＰ１００にインストール済みのＪａｖａアプリケーションの状態が表示される。さらに、アプリケーションの状態３０２には、ＭＦＰ１００にインストール済みの各Ｊａｖａアプリケーションの開始指示や停止指示を行うための操作ボタンが表示される。例えば、インストール済みのＪａｖａアプリケーションであるファイル送信アプリが実行中である場合、上記ファイル送信アプリのアプリケーションの状態３０２には、図３に示すように、実行中を示す開始３０３が表示される。さらに、上記ファイル送信アプリのアプリケーションの状態３０２には、図３に示すように、ファイル送信アプリの実行の停止指示を行うための停止ボタン３０４が表示される。
【００１７】
一方、インストール済みのＪａｖａアプリケーションであるコピーアプリが停止中である場合、上記コピーアプリのアプリケーションの状態３０２には、図３に示すように、停止中を示す停止３０５が表示される。さらに、上記コピーアプリのアプリケーションの状態３０２には、図３に示すように、コピーアプリの実行の開始指示を行うための開始ボタン３０６が表示される。暗号利用状況３０７には、ＭＦＰ１００にインストール済みの各Ｊａｖａアプリケーションにおいて暗号機能を利用するか否かに関する情報が表示され、また、クリアボタン３１０が表示される。クリアボタン３１０の詳細は後述する。このように、管理者はアプリケーション情報画面３００から、ＭＦＰ１００にインストール済みのＪａｖａアプリケーションに関する情報の確認や、Ｊａｖａアプリケーションの実行に関する指示を行うことができる。また、管理者はアプリケーション情報画面３００から、外部装置に格納されたＪａｖａアプリケーションをＭＦＰ１００にインストールする処理の開始指示を行うことができる。例えば、管理者がＪａｖａアプリケーション２０１の格納場所を示すファイルパスを入力欄３０８に入力し、さらにインストールボタン３０９を選択すると、Ｊａｖａアプリケーション２０１が外部装置からＭＦＰ１００に送信される。ＭＦＰ１００は、受信したＪａｖａアプリケーション２０１をＨＤＤ１０５に格納する。また、ＭＦＰ１００は、Ｊａｖａアプリ管理部２０２によってＪａｖａアプリケーション２０１のインストールを開始する。
【００１８】
図２に戻り、ＪａｖａＶＭ２００には、Ｊａｖａアプリケーション２０１に暗号機能を提供するソフトウェアモジュールとして複数の暗号プロバイダが予め組み込まれている。具体的に、ＪａｖａＶＭ２００には、ＦＩＰＳ暗号プロバイダ２０４及びｎｏｎＦＩＰＳ暗号プロバイダ２０５が組み込まれている。ＦＩＰＳ暗号プロバイダ２０４は、ＦＩＰＳ１４０−２に準拠するＦＩＰＳ暗号モジュール２０９（規格準拠暗号モジュール）による暗号機能を提供する。ＦＩＰＳ１４０−２は、暗号に関する標準規格であり、安全な暗号アルゴリズムを正しく実装していることを認証するための規格である。ｎｏｎＦＩＰＳ暗号プロバイダ２０５は、ＦＩＰＳ１４０−２に準拠しないｎｏｎＦＩＰＳ暗号モジュール２１０（規格非準拠暗号モジュール）による暗号機能を提供する。ここで、ＭＦＰ１００では、暗号機能を利用する際、セキュリティの観点において、ＦＩＰＳ暗号モジュール２０９を使用するのが好ましい。しかし、ＦＩＰＳ暗号モジュール２０９は、利用可能な暗号アルゴリズムが限られるので、ＭＦＰ１００は、例えば、ＲＣ４といった危殆化した暗号アルゴリズムを利用する外部装置と暗号化通信を行うことができない。すなわち、ＭＦＰ１００において使用可能な暗号モジュールがＦＩＰＳ暗号モジュール２０９のみであると、通信相手が制限されてしまうという問題が生じる。これに対し、ＭＦＰ１００では、ＦＩＰＳ暗号モジュール２０９及びｎｏｎＦＩＰＳ暗号モジュール２１０の両方が組み込まれ、暗号機能を利用するアプリケーション毎に暗号モジュールが切り替えられる。なお、本実施の形態では、２つの暗号プロバイダがＪａｖａＶＭ２００に組み込まれている場合について説明するが、３つ以上の暗号プロバイダがＪａｖａＶＭ２００に組み込まれていても良い。
【００１９】
ＪａｖａＶＭ２００は該ＪａｖａＶＭ２００の起動時に、プロバイダ定義ファイル２０６に設定された暗号プロバイダを１つずつ呼び出す。プロバイダ定義ファイル２０６には、図４に示すように、ＭＦＰ１００に予め組み込まれた全ての暗号プロバイダの名称及び優先順位が設定されている。ＪａｖａＶＭ２００に呼び出された暗号プロバイダは、ＪａｖａＶＭ２００に登録される。このとき、プロバイダ定義ファイル２０６に基づいて、呼び出された暗号プロバイダに対応する優先順位も登録される。例えば、図４のプロバイダ定義ファイル２０６に基づいて、ＦＩＰＳ暗号プロバイダ２０４が優先順位１で登録され、また、ｎｏｎＦＩＰＳ暗号プロバイダ２０５が優先順位２で登録される。ＪａｖａＶＭ２００では、登録された暗号プロバイダがＪａｖａアプリケーション２０１に暗号機能を提供可能となる。
【００２０】
Ｊａｖａアプリケーション２０１は、暗号機能を利用する際にＪａｖａ暗号部２０７に暗号機能の利用要求を行う。暗号機能の利用要求では、使用する暗号プロバイダを指定可能である。例えば、ｎｏｎＦＩＰＳ暗号プロバイダ２０５を指定した暗号機能の利用要求を受信した場合、Ｊａｖａ暗号部２０７は、ｎｏｎＦＩＰＳ暗号プロバイダ２０５を呼び出す。ｎｏｎＦＩＰＳ暗号プロバイダ２０５は、Ｎａｔｉｖｅ暗号部２０８を介してｎｏｎＦＩＰＳ暗号モジュール２１０による暗号機能をＪａｖａアプリケーション２０１に提供する。一方、暗号プロバイダが指定されない暗号機能の利用要求を受信した場合、Ｊａｖａ暗号部２０７は、ＪａｖａＶＭ２００に登録された各暗号プロバイダの優先順位に従って、例えば、優先順位が最上位のＦＩＰＳ暗号プロバイダ２０４を呼び出す。ＦＩＰＳ暗号プロバイダ２０４は、Ｎａｔｉｖｅ暗号部２０８を介してＦＩＰＳ暗号モジュール２０９による暗号機能をＪａｖａアプリケーション２０１に提供する。なお、ＶＭ環境とネイティブ環境の間の関数呼び出しでは、ＪＮＩ（Java Native Interface）が利用される。
【００２１】
ネイティブ環境では、ネイティブアプリケーション２１１が実行される。ネイティブアプリケーション２１１は、例えば、Ｃ言語で記述されたプログラムが機械語コードに変換されたネイティブコードで構成される。ネイティブアプリケーション２１１は、コピー、プリント、スキャン、及びＦＡＸ送受信等の標準機能を実行する。ネイティブアプリケーション２１１が暗号機能を利用する場合、Ｎａｔｉｖｅ暗号部２０８を介してｎｏｎＦＩＰＳ暗号モジュール２１０又はＦＩＰＳ暗号モジュール２０９が用いられる。
【００２２】
図５は、図１のＭＦＰ１００によって実行されるアプリケーション情報画面３００の表示に関連する制御処理の手順を示すフローチャートである。図５（ａ）は、図１のＭＦＰ１００によって実行される履歴情報記憶処理の手順を示すフローチャートである。図５（ａ）の処理は、ＣＰＵ１０２がＲＯＭ１０３に格納されたプログラムを実行することによって行われる。図５（ａ）の処理は、ＭＦＰ１００にインストール済みのＪａｖａアプリケーションが実行した際に行われる。本実施の形態では、一例として、Ｊａｖａアプリケーション２０１が実行した場合について説明する。
【００２３】
図５（ａ）において、まず、ＣＰＵ１０２は、Ｊａｖａアプリケーション２０１によって暗号機能が呼び出されると（ステップＳ５０１）、Ｎａｔｉｖｅ暗号部２０８により、履歴情報をＨＤＤ１０５に記憶する（ステップＳ５０２）。履歴情報は、図６に示すように、暗号機能が呼び出された日時、暗号機能を呼び出したＪａｖａアプリケーションの名称、及び使用された暗号プロバイダを示す情報である。本実施の形態では、ＨＤＤ１０５に記憶された履歴情報は、アプリケーション情報画面３００におけるクリアボタン３１０が管理者に選択されるまで保持される。その後、ＣＰＵ１０２は本処理を終了する。
【００２４】
図５（ｂ）は、図１のＭＦＰ１００によって実行される表示制御処理の手順を示すフローチャートである。図５（ｂ）の処理も、ＣＰＵ１０２がＲＯＭ１０３に格納されたプログラムを実行することによって行われる。図５（ｂ）の処理は、ＭＦＰ１００がネットワークＩ／Ｆ１１３を介して外部装置からＪａｖａアプリケーションの管理機能の利用要求を受け付けた際に実行される。本実施の形態では、図５（ｂ）の処理が、ＭＦＰ１００にインストール済みの全てのＪａｖａアプリケーションに対して実行されるが、以下では、一例として、ＭＦＰ１００にインストール済みのＪａｖａアプリケーションのうち、Ｊａｖａアプリケーション２０１に対して実行される場合について説明する。
【００２５】
図５（ｂ）において、ＣＰＵ１０２は、Ｊａｖａアプリケーション２０１が暗号モジュールを利用したか否かを判別する（ステップＳ５０３）。ステップＳ５０３では、Ｊａｖａアプリケーション２０１が暗号モジュールを利用した旨を示す履歴情報がＨＤＤ１０５に記憶されている場合、ＣＰＵ１０２は、Ｊａｖａアプリケーション２０１が暗号モジュールを利用したと判別する。一方、Ｊａｖａアプリケーション２０１が暗号モジュールを利用した旨を示す履歴情報がＨＤＤ１０５に記憶されていない場合、ＣＰＵ１０２は、Ｊａｖａアプリケーション２０１が暗号モジュールを利用しないと判別する。
【００２６】
ステップＳ５０３の判別の結果、Ｊａｖａアプリケーション２０１が暗号モジュールを利用しないとき、ＣＰＵ１０２は、この旨を示すアプリケーション情報画面を外部装置の表示部に表示させる。具体的に、ＣＰＵ１０２は、アプリケーション情報画面におけるＪａｖａアプリケーション２０１の暗号利用状況３０７に「暗号利用なし」を表示させる（ステップＳ５０４）。図７のアプリケーション情報画面７００は、ＭＦＰ１００にインストール済みのＪａｖａアプリケーションのうち、コピーアプリ及びファイル共有アプリが暗号モジュールを利用しない場合の表示例である。次いで、ＣＰＵ１０２は本処理を終了する。
【００２７】
ステップＳ５０３の判別の結果、Ｊａｖａアプリケーション２０１が暗号モジュールを利用したとき、ＣＰＵ１０２は、履歴情報に基づいてＪａｖａアプリケーション２０１がｎｏｎＦＩＰＳ暗号モジュール２１０を利用したか否かを判別する（ステップＳ５０５）。ここで、図６に示す履歴情報がＨＤＤ１０５に記憶されている場合を例に説明する。例えば、ファイル送信アプリがｎｏｎＦＩＰＳ暗号モジュール２１０による暗号機能を提供するｎｏｎＦＩＰＳ暗号プロバイダ２０５を使用した旨を示す履歴情報は、図６に示すように、ＨＤＤ１０５に記憶されていない。このとき、ＣＰＵ１０２は、Ｊａｖａアプリケーション２０１であるファイル送信アプリがｎｏｎＦＩＰＳ暗号モジュール２１０を利用しないと判別する。一方、プリントアプリがｎｏｎＦＩＰＳ暗号プロバイダ２０５を使用した旨を示す履歴情報６０１、６０２は、図６に示すように、ＨＤＤ１０５に記憶されている。このとき、ＣＰＵ１０２は、Ｊａｖａアプリケーション２０１であるプリントアプリがｎｏｎＦＩＰＳ暗号モジュール２１０を利用したと判別する。なお、本実施の形態では、Ｊａｖａアプリケーション２０１がｎｏｎＦＩＰＳ暗号プロバイダ２０５を使用した旨を示す履歴情報がＨＤＤ１０５に１つでも記憶されている場合、Ｊａｖａアプリケーション２０１がｎｏｎＦＩＰＳ暗号モジュール２１０を利用したと判別される。
【００２８】
ステップＳ５０５の判別の結果、Ｊａｖａアプリケーション２０１がｎｏｎＦＩＰＳ暗号モジュール２１０を利用しないとき、ＣＰＵ１０２は、Ｊａｖａアプリケーション２０１がＦＩＰＳ暗号モジュール２０９を利用したと判別する。ＣＰＵ１０２は、この旨を示すアプリケーション情報画面を外部装置の表示部に表示させる。具体的に、ＣＰＵ１０２は、アプリケーション情報画面におけるＪａｖａアプリケーション２０１の暗号利用状況３０７に「ＦＩＰＳ」を表示させる（ステップＳ５０６）。図７のアプリケーション情報画面７００は、ＭＦＰ１００にインストール済みのＪａｖａアプリケーションのうち、ファイル送信アプリがＦＩＰＳ暗号モジュール２０９を利用した場合の表示例である。次いで、ＣＰＵ１０２は本処理を終了する。
【００２９】
ステップＳ５０５の判別の結果、Ｊａｖａアプリケーション２０１がｎｏｎＦＩＰＳ暗号モジュール２１０を利用したとき、ＣＰＵ１０２は、この旨を示すアプリケーション情報画面を外部装置の表示部に表示させる。具体的に、ＣＰＵ１０２は、アプリケーション情報画面におけるＪａｖａアプリケーション２０１の暗号利用状況３０７に「ｎｏｎＦＩＰＳ」を表示させる（ステップＳ５０７）。図７のアプリケーション情報画面７００は、ＭＦＰ１００にインストール済みのＪａｖａアプリケーションのうち、プリントアプリがｎｏｎＦＩＰＳ暗号モジュール２１０を利用した場合の表示例である。すなわち、本実施の形態では、ＭＦＰ１００にインストール済みの各Ｊａｖａアプリケーションを実行した際に記憶された履歴情報に基づいて各Ｊａｖａアプリケーションの暗号利用状況３０７が表示される。その後、ＣＰＵ１０２は本処理を終了する。
【００３０】
上述した実施の形態によれば、ＭＦＰ１００にインストール済みの各Ｊａｖａアプリケーションを実行した際に使用された暗号モジュールに関する情報を含む履歴情報がＨＤＤ１０５に記憶される。また、Ｊａｖａアプリケーション２０１が利用する暗号モジュールの種別が履歴情報に基づいて判別され、判別結果である暗号利用状況３０７が表示される。これにより、ＭＦＰ１００にインストール済みの各Ｊａｖａアプリケーションで利用される暗号モジュールに関する情報をＭＦＰ１００の管理者に通知することができ、もって、Ｊａｖａアプリケーションのセキュリティ管理を管理者に適切に行わせることができる。
【００３１】
また、上述した実施の形態では、管理者の指示に応じて各Ｊａｖａアプリケーションの履歴情報の保持状態がリセットされる。例えば、ＭＦＰ１００の管理者が、暗号利用状況３０７に「ｎｏｎＦＩＰＳ」が表示されたＪａｖａアプリケーションに対し、ＦＩＰＳ暗号モジュール２０９のみを利用するように対処したとする。対処方法として、例えば、上記Ｊａｖａアプリケーションによる暗号化通信の通信先の設定変更、上記Ｊａｖａアプリケーションの暗号に関する設定変更、若しくは上記Ｊａｖａアプリケーションの開発元による上記Ｊａｖａアプリケーションの修正がある。上述した何れかの対処方法が実施された後、ＭＦＰ１００の管理者が、アプリケーション情報画面３００における上記Ｊａｖａアプリケーションの暗号利用状況３０７のクリアボタン３１０を選択すると、上記Ｊａｖａアプリケーションの履歴情報がリセットされる。このようにすることで、対処後に上記Ｊａｖａアプリケーションが利用した暗号モジュールに関する情報のみを積み上げることができる。
【００３２】
さらに、上述した実施の形態では、Ｊａｖａアプリケーション２０１の管理機能の利用要求を受け付けた際に暗号利用状況が表示される。これにより、ＭＦＰ１００の管理者が所望するタイミングで暗号利用状況をＭＦＰ１００の管理者に知らせることができる。
【００３３】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、履歴情報を直接表示してもよい。これにより、各Ｊａｖａアプリケーションで利用される暗号モジュールに関する詳細な情報をＭＦＰ１００の管理者に通知することができる。
【００３４】
また、上述した実施の形態では、ＨＤＤ１０５に記憶された履歴情報のうち、ＦＩＰＳ暗号モジュール２０９及びｎｏｎＦＩＰＳ暗号モジュール２１０の何れも利用した経験があるＪａｖａアプリケーションの履歴情報のみを通知しても良い。これにより、１種類の暗号モジュールのみを利用したことがあるＪａｖａアプリケーションの履歴情報が複数表示されるといった無駄な表示を防ぐことができる。
【００３５】
さらに、上述した実施の形態では、ＨＤＤ１０５に記憶される各Ｊａｖａアプリケーションの履歴情報の数に制限を設けても良い。これにより、各Ｊａｖａアプリケーションの履歴情報を記憶することでＨＤＤ１０５の容量が逼迫するのを抑制することができる。
【００３６】
上述した実施の形態では、ｎｏｎＦＩＰＳ暗号モジュール２１０による暗号機能を利用するＪａｖａアプリケーションの実行の制限に関する動作制御情報を管理者に設定させても良い。上述した図５の処理では、ＭＦＰ１００にインストール済みの各Ｊａｖａアプリケーションが暗号機能を利用して履歴情報を或る程度積み上げないと、精度の高い暗号利用状況を管理者に通知することができない。このため、履歴情報が或る程度積み上がる前に、不用意にｎｏｎＦＩＰＳ暗号モジュール２１０による暗号機能が利用され、所望のセキュリティレベルを維持できなくなるという問題が生じる。
【００３７】
これに対応して、本実施の形態では、ＭＦＰ１００の管理者に図８の設定画面８００から動作制御情報を設定させる。設定画面８００は操作部１０７に表示される。設定画面８００は、禁止ボタン８０１、警告ボタン８０２、許可ボタン８０３、及びＯＫボタン８０４を備える。禁止ボタン８０１、警告ボタン８０２、許可ボタン８０３の何れかが設定された状態でＯＫボタン８０４が管理者に選択されると、設定されたボタンを示す情報がＪａｖａアプリケーション２０１の動作制御情報としてＨＤＤ１０５に記憶される。
【００３８】
図９は、図１のＭＦＰ１００によって実行される暗号制御処理の手順を示すフローチャートである。図９の処理も、ＣＰＵ１０２がＲＯＭ１０３に格納されたプログラムを実行することによって行われる。図９の処理は、暗号機能を利用するＪａｖａアプリケーション２０１の実行がユーザによって指示された際に実行される。
【００３９】
図９において、ＣＰＵ１０２はＮａｔｉｖｅ暗号部２０８により、Ｊａｖａアプリケーション２０１がｎｏｎＦＩＰＳ暗号モジュール２１０を利用するか否かを判別する（ステップＳ９０１）。
【００４０】
ステップＳ９０１の判別の結果、Ｊａｖａアプリケーション２０１がｎｏｎＦＩＰＳ暗号モジュール２１０を利用しないとき、ＣＰＵ１０２は本処理を終了する。ステップＳ９０１の判別の結果、Ｊａｖａアプリケーション２０１がｎｏｎＦＩＰＳ暗号モジュール２１０を利用するとき、ＣＰＵ１０２はＮａｔｉｖｅ暗号部２０８により、ＨＤＤ１０５からＪａｖａアプリケーション２０１の動作制御情報を取得する。次いで、ＣＰＵ１０２はＮａｔｉｖｅ暗号部２０８により、取得した動作制御情報が禁止ボタン８０１を示すか否かを判別する（ステップＳ９０２）。
【００４１】
ステップＳ９０２の判別の結果、動作制御情報が禁止ボタン８０１を示すとき、ＣＰＵ１０２はＮａｔｉｖｅ暗号部２０８からＪａｖａアプリ管理部２０２にＪａｖａアプリケーション２０１の名称を通知する。次いで、ＣＰＵ１０２は、通知を受けたＪａｖａアプリ管理部２０２により、Ｊａｖａアプリケーション２０１を停止させ（ステップＳ９０３）、本処理を終了する。
【００４２】
ステップＳ９０２の判別の結果、動作制御情報が禁止ボタン８０１を示さないとき、ＣＰＵ１０２はＮａｔｉｖｅ暗号部２０８により、動作制御情報が警告ボタン８０２を示すか否かを判別する（ステップＳ９０４）。
【００４３】
ステップＳ９０４の判別の結果、動作制御情報が警告ボタン８０２を示さないとき、ＣＰＵ１０２は、Ｎａｔｉｖｅ暗号部２０８により、ｎｏｎＦＩＰＳ暗号モジュール２１０を動作させる（ステップＳ９０５）。これにより、ｎｏｎＦＩＰＳ暗号モジュール２１０による暗号機能がＪａｖａアプリケーション２０１に提供される。次いで、ＣＰＵ１０２は本処理を終了する。
【００４４】
ステップＳ９０４の判別の結果、動作制御情報が警告ボタン８０２を示すとき、ＣＰＵ１０２は、図１０の警告画面１０００を操作部１０７に表示する。警告画面１０００は、ｎｏｎＦＩＰＳ暗号モジュール２１０を利用する意思を確認するメッセージ１００１、許可ボタン１００２、及び禁止ボタン１００３を備える。ユーザは、許可ボタン１００２及び禁止ボタン１００３の何れか一方を選択可能である。また、ＣＰＵ１０２はＪａｖａアプリ管理部２０２により、Ｊａｖａアプリケーション２０１を停止させる（ステップＳ９０６）。次いで、ＣＰＵ１０２は、警告画面１０００において許可ボタン１００２及び禁止ボタン１００３の何れが選択されたかを判別する（ステップＳ９０７）。
【００４５】
ステップＳ９０７の判別の結果、禁止ボタン１００３が選択されたとき、ＣＰＵ１０２は本処理を終了する。ステップＳ９０７の判別の結果、許可ボタン１００２が選択されたとき、ＣＰＵ１０２はＪａｖａアプリ管理部２０２により、Ｊａｖａアプリケーション２０１の動作を再開し（ステップＳ９０８）、ステップＳ９０５以降の処理を行う。
【００４６】
上述した実施の形態では、ｎｏｎＦＩＰＳ暗号モジュール２１０による暗号機能を利用するＪａｖａアプリケーションの実行の制限に関する動作制御情報が設定される。これにより、履歴情報が或る程度積み上がる前に、不用意にｎｏｎＦＩＰＳ暗号モジュール２１０による暗号機能が利用されるのを防止することができる。
【００４７】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４８】
１００  ＭＦＰ
２０１  Ｊａｖａアプリケーション
２０２  Ｊａｖａアプリ管理部
２０９  ＦＩＰＳ暗号モジュール
２１０  ｎｏｎＦＩＰＳ暗号モジュール
６０１、６０２  履歴情報
３００、７００  アプリケーション情報画面
８００  設定画面
【図１】
2019185542.tif 000003
【図２】
2019185542.tif 000004
【図３】
2019185542.tif 000005
【図４】
2019185542.tif 000006
【図５】
2019185542.tif 000007
【図６】
2019185542.tif 000008
【図７】
2019185542.tif 000009
【図８】
2019185542.tif 000010
【図９】
2019185542.tif 000011
【図１０】
2019185542.tif 000012