(57)【特許請求の範囲】
【請求項１】
暗号機能を実現する暗号手段を有し、複数のプログラム実行環境において前記プログラムを実行可能な画像形成装置であって、
当該画像形成装置が有するプログラムごとに利用が許可される第一の暗号強度の一覧を示す情報を管理する第一の管理手段と、
当該画像形成装置に対して設定された第二の暗号強度の一覧を示す情報を管理する第二の管理手段と、
前記第二の暗号強度の一覧を永続的に記憶する記憶手段と、
前記記憶手段より前記第二の暗号強度の一覧を取得し、複数の前記プログラム実行環境より参照可能な共有記憶手段に前記第二の暗号強度の一覧を記録する第一の記録手段と、
複数の前記プログラム実行環境ごとに、前記共有記憶手段より前記第二の暗号強度の一覧を取得し、当該プログラム実行環境において実行されるプログラムより参照可能なように当該プログラム実行環境における前記第二の管理手段に該第二の暗号強度の一覧を記録する複数の第二の記録手段とを有し、
前記暗号手段は、利用対象として選択された第一のプログラムに係る前記第一の暗号強度の一覧と、前記第一のプログラムが属する前記プログラム実行環境の前記第二の管理手段が管理する前記第二の暗号強度の一覧との双方に含まれている暗号強度の一覧を抽出し、抽出された暗号強度の一覧の中で表示手段を介して選択された暗号強度によって、前記第一のプログラムが当該画像形成装置に実行させる処理に関して前記暗号機能を実現することを特徴とする画像形成装置。
【請求項２】
当該画像形成装置の位置情報を取得し、該位置情報に基づいて当該画像形成装置が設置された国を判定する判定手段と、
国に応じて利用可能な第三の暗号強度の一覧を示す情報を管理する第三の管理手段とを有し、
前記暗号手段は、前記第一の暗号強度の一覧と前記第二の暗号強度の一覧との双方に含まれており、かつ、前記第三の暗号強度の一覧にも含まれている暗号強度の一覧を抽出することを特徴とする請求項１記載の画像形成装置。
【請求項３】
暗号機能を実現する暗号手段を有し、複数のプログラム実行環境において前記プログラムを実行可能な画像形成装置が実行する情報処理方法であって、
当該画像形成装置に対して設定された第二の暗号強度の一覧を永続的に記憶する記憶手段より前記第二の暗号強度の一覧を取得し、複数の前記プログラム実行環境より参照可能な共有記憶手段に前記第二の暗号強度の一覧を記録する第一の記録手順と、
複数の前記プログラム実行環境ごとに、前記共有記憶手段より前記第二の暗号強度の一覧を取得し当該プログラム実行環境において実行されるプログラムより参照可能なように当該プログラム実行環境における第二の管理手段に該第二の暗号強度の一覧を記録する複数の第二の記録手順と、
当該画像形成装置が有するプログラムごとに第一の管理手段が管理する、利用が許可される第一の暗号強度の一覧の中で、利用対象として選択された第一のプログラムに係る前記第一の暗号強度の一覧と、前記第一のプログラムが属する前記プログラム実行環境の前記第二の管理手段が管理する前記第二の暗号強度の一覧との双方に含まれている暗号強度の一覧を抽出する抽出手順と、
抽出された暗号強度の一覧を表示手段に表示させる表示手順と、
表示された暗号強度の一覧の中から選択された暗号強度によって、前記第一のプログラムが当該画像形成装置に実行させる処理に関して前記暗号機能を実現する暗号手順とを有することを特徴とする情報処理方法。
【請求項４】
当該画像形成装置の位置情報を取得し、該位置情報に基づいて当該画像形成装置が設置された国を判定する判定手順を有し、
前記抽出手順は、前記第一の暗号強度の一覧と前記第二の暗号強度の一覧との双方に含まれており、かつ、第三の管理手段に管理される、国に応じて利用可能な第三の暗号強度にも含まれている暗号強度の一覧を抽出することを特徴とする請求項３記載の情報処理方法。
【請求項５】
暗号機能を実現する暗号手段を有、複数のプログラム実行環境において前記プログラムを実行可能な画像形成装置に、
当該画像形成装置に対して設定された第二の暗号強度の一覧を永続的に記憶する記憶手段より前記第二の暗号強度の一覧を取得し、複数の前記プログラム実行環境より参照可能な共有記憶手段に前記第二の暗号強度の一覧を記録する第一の記録手順と、
複数の前記プログラム実行環境ごとに、前記共有記憶手段より前記第二の暗号強度の一覧を取得し当該プログラム実行環境において実行されるプログラムより参照可能なように当該プログラム実行環境における第二の管理手段に該第二の暗号強度の一覧を記録する複数の第二の記録手順と、
当該画像形成装置が有するプログラムごとに第一の管理手段が管理する、利用が許可される第一の暗号強度の一覧の中で、利用対象として選択された第一のプログラムに係る前記第一の暗号強度の一覧と、前記第一のプログラムが属する前記プログラム実行環境の前記第二の管理手段が管理する前記第二の暗号強度の一覧との双方に含まれている暗号強度の一覧を抽出する抽出手順と、
抽出された暗号強度の一覧を表示手段に表示させる表示手順と、
表示された暗号強度の一覧の中から選択された暗号強度によって、前記第一のプログラムが当該画像形成装置に実行させる処理に関して前記暗号機能を実現する暗号手順とを実行させることを特徴とする情報処理プログラム。
【請求項６】
当該画像形成装置の位置情報を取得し、該位置情報に基づいて当該画像形成装置が設置された国を判定する判定手順を前記画像形成装置に実行させ、
前記抽出手順は、前記第一の暗号強度の一覧と前記第二の暗号強度の一覧との双方に含まれており、かつ、第三の管理手段に管理される、国に応じて利用可能な第三の暗号強度にも含まれている暗号強度の一覧を抽出することを特徴とする請求項５記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報処理方法、及び情報処理プログラムに関し、特に暗号機能を備えた画像形成装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
近年の画像形成装置はネットワークを利用した各種の機能を提供している。当該機能及び当該機能によって転送される情報のセキュリティを確保するため、画像形成装置においても暗号化通信等の暗号機能が利用されるようになっている（例えば、特許文献１）。
【特許文献１】特開２００６−１１５３７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来、ＳＳＬ（Secure Socket Layer）通信等に用いられる暗号強度は、機器単位で設定されていた。したがって、ユーザごと又はアプリケーションごと等、暗号機能の利用主体に応じて柔軟に暗号強度を変化させるのが困難であった。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、暗号機能の利用主体に応じて利用可能な暗号強度を柔軟に変化させることのできる画像形成装置、情報処理方法、及び情報処理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、本発明は、暗号機能を実現する暗号手段を有する画像形成装置であって、当該画像形成装置が有するプログラムごとに利用が許可される第一の暗号強度の一覧を示す情報を管理する第一の管理手段と、当該画像形成装置に対して設定された第二の暗号強度の一覧を示す情報を管理する第二の管理手段とを有し、前記暗号手段は、利用対象として選択された第一のプログラムに係る前記第一の暗号強度の一覧と前記第二の暗号強度の一覧との双方に含まれている暗号強度の一覧を抽出し、抽出された暗号強度の一覧の中で表示手段を介して選択された暗号強度によって、前記第一のプログラムが当該画像形成装置に実行させる処理に関して前記暗号機能を実現することを特徴とする。
【０００６】
このような画像形成装置では、暗号機能の利用主体に応じて利用可能な暗号強度を柔軟に変化させることができる。
【発明の効果】
【０００７】
本発明によれば、暗号機能の利用主体に応じて利用可能な暗号強度を柔軟に変化させることのできる画像形成装置、情報処理方法、及び情報処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、複合機を画像形成装置の一例として説明する。複合機１は、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する画像形成装置である。
【０００９】
図１は、本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。複合機１のハードウェアとしては、コントローラ６０１と、オペレーションパネル６０２と、ファクシミリコントロールユニット（ＦＣＵ）６０３と、撮像部６０４と、印刷部６０５が存在する。
【００１０】
コントローラ６０１は、ＣＰＵ６１１、ＡＳＩＣ６１２、ＮＢ６２１、ＳＢ６２２、ＭＥＭ−Ｐ６３１、ＭＥＭ−Ｃ６３２、ＨＤＤ（ハードディスクドライブ）６３３、メモリカードスロット６３４、ＮＩＣ（ネットワークインタフェースコントローラ）６４１、ＵＳＢデバイス６４２、ＩＥＥＥ１３９４デバイス６４３、セントロニクスデバイス６４４により構成される。
【００１１】
ＣＰＵ６１１は、種々の情報処理用のＩＣである。ＡＳＩＣ６１２は、種々の画像処理用のＩＣである。ＮＢ６２１は、コントローラ６０１のノースブリッジである。ＳＢ６２２は、コントローラ６０１のサウスブリッジである。ＭＥＭ−Ｐ６３１は、複合機１のシステムメモリである。ＭＥＭ−Ｃ６３２は、複合機１のローカルメモリである。ＨＤＤ６３３は、複合機１のストレージである。メモリカードスロット６３４は、メモリカード６３５をセットするためのスロットである。ＮＩＣ６４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス６４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス６４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス６４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル６０２は、オペレータが複合機１に入力を行うためのハードウェア（操作装置）であると共に、オペレータが複合機１から出力を得るためのハードウェア（表示装置）である。
【００１２】
図２は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。同図に示されるように、複合機１は、ＶＭ１１ａ、１１ｂ、及び１１ｃ（以下、総称する場合「ＶＭ１１」という。）の三つのＪａｖａ（登録商標）ＶＭ（仮想マシン）を備える。ＶＭ１１は、Ｊａｖａ（登録商標）に固有のバイトコードの形式によるプログラムをネイティブコードに変換してＣＰＵ６１１に実行させる。
【００１３】
各ＶＭ１１において動作するソフトウェアコンポーネント（以下、単に「コンポーネント」という。）は、アプリケーションメカニズム、サービスメカニズム、及びデバイスメカニズム等の層に論理的に分類され実装される。アプリケーションメカニズムには、基本的にユーザから認識される単位におけるサービス（例えばコピー、印刷等）を提供するための処理を実行するコンポーネントが属する。サービスメカニズムには、アプリケーションメカニズムに属する複数のコンポーネントから（共通的に）利用される、よりプリミティブな機能を実現するコンポーネントが属する。デバイスメカニズムには、複合機１のハードウェアを制御するコンポーネントが属する。
【００１４】
また、複合機１には、例えば、Ｃ言語等によって記述された後、コンパイル及びリンク等を経てマシン語に変換されたネイティブ（Ｎａｔｉｖｅ）コードとしてのコンポーネントも存在する。同図では、斯かるコンポーネントを実行する環境をネイティブ層１２として表現している。
【００１５】
図中では、ＶＭ１１ａ上で動作するコンポーネントＡは、アプリケーションメカニズムに属する。また、ＶＭ１１ｂ上で動作するコンポーネントＢは、サービスメカニズムに属する。また、ＶＭ１１ｃ上で動作するコンポーネントＣ、及びネイティブ層１２上で動作するコンポーネントＤは、デバイスメカニズムに属する。なお、ＶＭ１１ごとに、各層の分担が決められているわけではない。すなわち、各ＶＭ１１及びネイティブ層１２上において、アプケーションメカニズム、サービスメカニズム、デバイスメカニズムのいずれに属するコンポーネントが動作してもよい。
【００１６】
ところで、図示されている各コンポーネントは、それぞれ暗号情報を参照する。暗号情報は、ＳＳＬ（Secure Socket Layer）通信に用いる暗号化の方式や、ＣＡ（認証局）証明書の在処（保管場所）や、ＣＡ証明書にアクセスするためのパスワード等を示す情報である。但し、各コンポーネントＡ、Ｂ、及びＣは、異なるＶＭ１１上で動作する。また、コンポーネントＤは、ネイティブコードである。すなわち、各コンポーネントは異なるプログラム実行環境及びプロセス空間上において動作する。本実施の形態における複合機１は、斯かる状況において、各プログラム実行環境間において暗号情報の整合性を図る。
【００１７】
図３は、暗号情報の整合性を図るための仕組みを説明するための図である。静的な状態（複合機１が動作していない状態）において、暗号情報は、データ保持リポジトリ２１に保存（永続化）されている。データ保持リポジトリ２１は、ＨＤＤ６３３等の不揮発性の記録媒体における所定の記憶領域である。複合機１が起動されると、データ保持リポジトリ２１は、共有メモリ２２にロードされる（Ｓ１１）。なお、当該ロードは、後述される暗号プロバイダ１３ａ、１３ｂ、及び１３ｃ（以下、総称する場合「暗号プロバイダ１３」という。）のいずれか一つによって行われる。
【００１８】
共有メモリ２２は、ＶＭ１１ａ、ＶＭ１１ｂ、ＶＭ１１ｃ、及びネイティブ層１２の各プログラム実行環境よりアクセス（参照等）可能なメモリ領域（いわゆる共有メモリ）であり、ＭＥＭ−Ｐ６３１上に形成される。共有メモリ２２にロードされた暗号情報は、各ＶＭ１１に組み込まれた（プラグインされた）プログラムモジュールである暗号プロバイダ１３によって、各ＶＭ１１のプロパティ値として設定される（Ｓ１２）。
【００１９】
ここで、ＶＭ１１のプロパティ値とは、Ｊａｖａ（登録商標）標準の仕組みにおいて、一つのＶＭ上における動作環境等を規定するための属性値であり、当該ＶＭ上において実行されるプログラムより参照可能なようにメモリに格納される。図４は、ＶＭにおけるプロパティ値を説明するための図である。
【００２０】
同図には、暗号情報を保持するためのプロパティティ値である、ＳＳＬ暗号スイーツ（Ｓｕｉｔｅｓ）一覧ｐ１、ＣＡ証明書在処ｐ２、及びＣＡ証明書アクセス用パスワードｐ３等が示されている。これらは、Ｊａｖａ（登録商標）標準のプロパティ値である。
【００２１】
ＳＳＬ暗号スイーツ一覧ｐ１は、ＳＳＬ（Secure Socket Layer）通信をする際の暗号化の種類（暗号強度）の推奨値を示す。ＣＡ証明書在処ｐ２は、ＣＡ証明書の保存位置を示す。ＣＡ証明書アクセス用パスワードｐ３は、ＣＡ証明書にアクセスするために要求されるパスワードを示す。なお、プロパティ値の設定及び取得は、Ｊａｖａ（登録商標）標準のメソッドである、ｓｅｔＰｒｏｐｅｒｔｙメソッド又はｇｅｔＰｒｏｐｅｒｔｙメソッドによって行うことができる。
【００２２】
したがって、各暗号プロバイダ１３は、ｓｅｔＰｒｏｐｅｒｔｙメソッドを用いて図４に示される３つのプロパティ値を当該暗号プロバイダ１３が属するＶＭ１１に設定する。暗号情報を利用する各コンポーネントは、ｇｅｔＰｒｏｐｅｒｔｙメソッドを用いて各プロパティ値を取得する（Ｓ１３）。ここで、例えば、コンポーネントＡ、Ｂ、及びＣは、それぞれ異なるＶＭ１１に設定されたプロパティ値を取得することになる。但し、それぞれのＶＭ１１に設定されたプロパティ値は、同一の共有メモリ２２より取得されたものである。したがって、各コンポーネントが参照するプロパティ値は同一のものとなり、ＶＭ１１間における不整合はない。
【００２３】
一方、ネイティブ層１２にはＶＭ１１は存在しないため、情報取得ライブラリ１４が実装される。情報取得ライブラリ１４は、共有メモリ２２に設定された暗号情報を取得するためのインタフェース（関数）を含むライブラリである。したがって、例えば、ネイティブ層１２におけるコンポーネントＤは、情報取得ライブラリ１４を介して暗号情報を取得する。これにより、ＶＭ１１上の環境（ＶＭ環境）とネイティブ層１２との間における暗号情報の整合性が図られる。
【００２４】
なお、ＶＭ環境とネイティブ層１２との関係をより端的に示すと次のようになる。図５は、ＶＭ環境とネイティブ層との関係を示す概略図である。
【００２５】
同図に示されるように、ＶＭ環境における暗号プロバイダ１３は、共有メモリ２２に対して暗号情報を登録するとともに、当該暗号情報を共有メモリ２２より取得する。また、ネイティブ層１２における情報取得ライブラリ１４は、暗号プロバイダ１３によって登録された暗号情報を共有メモリ２２より取得する。
【００２６】
図６は、本実施の形態における共有メモリと暗号プロバイダ及び情報取得ライブラリとの関係を実現するためのソフトウェア構成例を示す図である。
【００２７】
共有メモリ２２に対するアクセスは、ネイティブ層１２における共有メモリ操作ライブラリ２１１を介して行われる。情報取得ライブラリ１４は、ネイティブ層１２のライブラリであるため、共有メモリ操作ライブラリ２２１を直接利用することができる。一方、暗号プロバイダ１３は、ＶＭ環境のコンポーネントであるため、ＪＮＩ（Java（登録商標） Native Interface）ライブラリ１５を介して共有メモリ操作ライブラリ２２１を利用する。なお、暗号プロバイダ１３は、共有メモリ操作ライブラリ２２１の書き込み機能及び読み込み機能の双方を利用する。一方、情報取得ライブラリ１４は、共有メモリ操作ライブラリ２２１の読み込み機能のみ利用する。
【００２８】
ところで、暗号プロバイダ１３は、Ｊａｖａ（登録商標）標準の仕組みにおけるプロバイダ（プラグイン）として実装するとよい。本実施の形態において暗号プロバイダ１３は、Ｊａｖａ（登録商標）暗号化拡張機能（ＪＣＥ（Java（登録商標） Cryptography Extension））のプロバイダとして実装される。ＪＣＥは、Ｊａｖａ（登録商標）標準における暗号化及び鍵生成等に対するフレームワーク及びその実装を提供するものであり、当該実装の一部は、プロバイダ（ＪＣＥプロバイダ）によって拡張することが可能とされている。
【００２９】
図７は、ＪＣＥの概要を説明するための図である。同図に示されるように、ＪＣＥプロバイダは、ＪＣＥ  ＳＰＩ（Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ  Ｉｎｔｅｒｆａｃｅ）に規定されたインタフェースに対する実装を備える必要がある。そうすることにより、ＪＣＥのインタフェースを介したサービスの利用要求は、ＪＣＥプロバイダに伝達され、ＪＣＥプロバイダにおける独自の実装が実行される。
【００３０】
なお、同図には、ＪＳＳＥ（Java（登録商標） Secure Socket Extension）も示されている。ＪＳＳＥは、Ｊａｖａ（登録商標）バージョンのＳＳＬ等のフレームワーク及び実装を提供するものであり、当該実装の一部は、プロバイダ（ＪＳＳＥプロバイダ）によって拡張することが可能とされている。
【００３１】
ＪＳＳＥプロバイダにおいて、暗号化等の処理（図中の斜線部分）についてはＪＣＥプロバイダにおける実装が利用される。したがって、暗号プロバイダ１３をＪＣＥプロバイダとして実装することで、ＳＳＬ通信の際の暗号処理においても暗号プロバイダ１３が呼び出されるようにすることができる。
【００３２】
以下、複合機１の処理手順について説明する。図８は、ＶＭ環境とネイティブ層との間で情報共有を行うための処理手順を説明するためのシーケンス図である。同図では、ＶＭ１１ｃについては便宜上省略している。また、データ保持リポジトリ２１は、ＶＭ１１ａの矩形内に含まれているが、これは、データ保持リポジトリ２１がＶＭ１１ａ上に実装されていることを意味するものではない。データ保持リポジトリ２１は、各プログラム実行環境からは独立した存在である。
【００３３】
例えば、オペレーションパネル６０２に表示された暗号情報設定画面を介して操作者によって暗号情報が入力されると、ＵＩ部１６は、入力された値をデータ保持リポジトリ２１に保存されている暗号情報に反映させる（Ｓ１０１）。なお、ＵＩ部１６は、複合機１においてオペレーションパネル６０２に対する画面の表示制御等を行うためのコンポーネントであり、図８の例では、ＶＭ１１ａ上において動作する。
【００３４】
図９は、暗号情報設定画面の一例を示す図である。同図では、一つ以上の暗号強度（暗号スイーツ）を選択させるための画面例が示されている。暗号情報設定画面において暗号強度が選択され、「ＯＫ」ボタンが押下されると、ＵＩ部１６は、確認画面を表示させる。
【００３５】
図１０は、確認画面の一例を示す図である。同図に示される確認画面では、リブートをしてよいか否かを問い合わせている。確認画面において「ＯＫ」が押下されるとステップＳ１０１が実行される。
【００３６】
続いて、ＵＩ部１６は、複合機１を再起動（リブート）させる（Ｓ１０２）。なお、ここで、再起動は、複合機１全体の電源を落とす必要は必ずしもない。例えば、各ＶＭ１１をソフト的に再起動するだけでもよい。また、操作者の手動によって再起動を行うようにしてもよい。
【００３７】
続いて、再起動の過程において、例えば、ＶＭ１１ａ上の暗号プロバイダ１３ａの暗号機能に関するメソッドが他のコンポーネントより呼び出されると、暗号プロバイダ１３ａは、データ保持リポジトリ２１より暗号情報を取得し（Ｓ１０３）、当該暗号情報を共有メモリ２２に書き込む（Ｓ１０４）。なお、ＪＣＥプロバイダである暗号プロバイダ１３ａのメソッドは、起動の過程（初期化時）において必ず呼び出される。
【００３８】
続いて、ＶＭ１１ｂの暗号プロバイダ１３ｂの暗号機能に関するメソッドが他のコンポーネントより呼び出されると、暗号プロバイダ１３ｂは、共有メモリ２２より暗号情報を取得し（Ｓ１０５）、当該暗号情報をＶＭ１１ｂのプロパティ値（図４参照）に設定する（Ｓ１０６）。その後、例えば、ＶＭ１１ｂにおけるコンポーネントＢがＳＳＬ通信等を行う場合、Ｊａｖａ（登録商標）標準のＳＳＬ通信用等のクラスのインスタンスによって当該プロパティ値が参照される（Ｓ１０７）。
【００３９】
一方、ネイティブ層１２においてコンポーネントＤは、ＳＳＬ通信等、暗号化に関する処理を行う場合、情報取得ライブラリ１４を利用して共有メモリ２２に書き込まれている暗号情報を取得する（Ｓ１０８〜Ｓ１１０）。
【００４０】
以上により、コンポーネントＢ及びコンポーネントＤの間では利用する暗号強度等について整合性が図られる。
【００４１】
なお、図８では、ＶＭ１１ａの暗号プロバイダ１３ａが共有メモリ２２への暗号情報の書き込みを行っているが、当該書き込みは、各ＶＭ１１の中で最初に暗号機能が呼び出された暗号プロバイダ１３が行えばよい。例えば、暗号プロバイダ１３ｂが最初に呼び出された場合は、暗号プロバイダ１３ｂがデータ保持リポジトリ２１より暗号情報を取得し、共有メモリ２２へ書き込む。厳密には、各暗号プロバイダ１３は、自らのメソッドが最初に呼び出された際に、共有メモリ２２の内容を確認し、暗号情報が書き込まれていなかったら暗号情報を登録し、書き込まれていたらその暗号情報を共有メモリ２２より取得するようにすればよい。
【００４２】
ところで、図８では、各ＶＭ１１間における情報共有については簡略化されている。続いてこの点について説明する。図１１は、各ＶＭ環境間で情報共有を行うための処理手順を説明するためのシーケンス図である。同図では、図８の「起動時」における処理が詳細化されている。なお、図１１では、共有メモリ２２への暗号情報の書き込みはいずれかの暗号プロバイダ１３によって既に完了していることを前提とする。
【００４３】
再起動の過程において、ＶＭ１１ａの暗号プロバイダ１３ａの暗号機能に関するメソッドが例えばコンポーネントＡより呼び出されると（Ｓ２０１）、暗号プロバイダ１３ａは、共有メモリ２２より暗号情報を取得し（Ｓ２０２）、当該暗号情報をＶＭ１１ａのプロパティ値（図４参照）に設定する（Ｓ２０３）。その後、例えば、コンポーネントＡがＳＳＬ通信等を行う場合、Ｊａｖａ（登録商標）標準のＳＳＬ通信用等のクラスのインスタンスによって当該プロパティ値が参照される（Ｓ２０４）。
【００４４】
続いて、ＶＭ１１ｃの暗号プロバイダ１３ｃの暗号機能に関するメソッドが例えばコンポーネントＣより呼び出されると（Ｓ２１１）、暗号プロバイダ１３ｃは、共有メモリ２２より暗号情報を取得し（Ｓ２１２）、当該暗号情報をＶＭ１１ｃのプロパティ値（図４参照）に設定する（Ｓ２１３）。その後、例えば、コンポーネントＣがＳＳＬ通信等を行う場合、Ｊａｖａ（登録商標）標準のＳＳＬ通信用等のクラスのインスタンスによって当該プロパティ値が参照される（Ｓ２１４）。
【００４５】
続いて、ＶＭ１１ｂの暗号プロバイダ１３ｂの暗号機能に関するメソッドが例えばコンポーネントＢより呼び出されると（Ｓ２２１）、暗号プロバイダ１３ｂは、共有メモリ２２より暗号情報を取得し（Ｓ２２２）、当該暗号情報をＶＭ１１ｂのプロパティ値（図４参照）に設定する（Ｓ２２３）。その後、例えば、コンポーネントＢがＳＳＬ通信等を行う場合、Ｊａｖａ（登録商標）標準のＳＳＬ通信用等のクラスのインスタンスによって当該プロパティ値が参照される（Ｓ２２４）。
【００４６】
ところで、図９の暗号情報設定画面には暗号強度の一覧が示されている。当該暗号強度の一覧は、基本的に、複合機１において利用可能なものとして設定され、ＨＤＤ６３３等に記録されているもの等を表示させるようにすればよい。但し、暗号化に関する技術については特定の国に対して輸出上の問題（輸出規制）が有る。そこで、斯かる事情を考慮し、選択可能な暗号強度の一覧を複合機１が設置される場所（国）に応じて動的に変更させるようにしてもよい。
【００４７】
図１２は、複合機が設置される国を考慮した暗号情報設定画面の表示処理の処理手順を説明するためのシーケンス図である。
【００４８】
ＵＩ部１６は、暗号情報設定画面を表示させる前に、当該ＵＩ部１６と同一ＶＭ１１上における暗号プロバイダ１３に対して暗号強度の一覧の提供を要求する（Ｓ３０１）。暗号プロバイダ１３は、例えば、複合機１にＵＳＢ接続されたＧＰＳ（Global Positioning System）装置５０より現在の複合機１の設置場所の位置情報を取得する（Ｓ３０２）。続いて、暗号プロバイダ１３は、位置情報に基づいて複合機１が設置されている国を判定する（Ｓ３０３）。位置情報に基づく国の判定は、公知の技術を用いればよい。また、ＧＰＳ装置５０からの位置情報に国情報が含まれていても良い。
【００４９】
続いて、暗号プロバイダ１３は、当該国に輸出可能な暗号強度を判定し、輸出可能であると判定された暗号強度のリストを生成する（Ｓ３０４）。但し、位置情報の取得又は国の判定に失敗した場合、暗号プロバイダ１３は、暗号強度のリストは生成しない。なお、輸出が規制される国については、当該国ごとに輸出可能な暗号強度を示す情報（以下、「輸出規制情報」という。）を複合機１のＨＤＤ６３３又はＲＯＭ等に予め登録しておけばよい。暗号プロバイダ１３は、輸出規制情報に基づいて、複合機１が設置されている国に輸出可能な暗号強度を判定すればよい。
【００５０】
続いて、暗号プロバイダ１３は、生成した暗号強度リストをＵＩ部１６に返却する（Ｓ３０５）。ＵＩ部１６は、返却された暗号強度リストを暗号情報設定画面に表示させる（Ｓ３０６）。したがって、国に応じて選択可能な暗号強度が表示される。その後、暗号情報設定画面を介した設定が行われると、図８のＳ１０２以降（複合機１の再起動）が実行される。なお、ＧＰＳ装置５０は、複合機１に内蔵されていてもよい。
【００５１】
ところで、上記では複合機１に設定された暗号情報は、ユーザやコンポーネント等、暗号機能を利用する主体に対して統一的に適用される。但し、当該主体ごとに利用可能な暗号強度を変更可能であると便利である場合がある。そこで、続いて、斯かる機能を実現した例について説明する。図１３は、本実施の形態の複合機においてユーザごとに利用可能な暗号強度を変化させるための仕組みを説明するための図である。
【００５２】
まず、複合機１のＨＤＤ６３３等に構築されたユーザ情報ＤＢ６１に、ユーザ（ユーザ名）ごとに利用が許可された暗号強度リスト６２を登録しておく。ユーザが複合機１にログインした際、非図示の認証手段によって特定されるログイン情報６３（ユーザ名等）に基づいて、暗号強度リスト６２よりログインユーザに対して許可された暗号強度リスト６４を抽出する。抽出された暗号強度リスト６４と複合機１のＶＭ１１のプロパティ値であるＳＳＬ暗号スイーツ一覧ｐ１との論理積に係る暗号強度のリストをログインユーザが利用可能な暗号強度リスト６５とする。
【００５３】
図１４は、ユーザごとに利用可能な暗号強度を変化させるための処理手順を説明するためのシーケンス図である。なお、同図では、既にユーザが複合機１にログインしている状態が前提とされる。
【００５４】
例えば、ログインユーザが、コンポーネントＡに対して暗号機能を利用した処理要求を行うと（Ｓ４０１）、コンポーネントＡは、ログイン情報６１に基づいて、ユーザ情報ＤＢ６１にユーザごとに設定された暗号強度リスト６２よりログインユーザに設定された暗号強度リスト６４を取得する（Ｓ４０２、Ｓ４０３）。続いて、コンポーネントＡは、取得された暗号強度リスト６４を暗号プロバイダ１３に通知する（Ｓ４０４）。暗号プロバイダ１３は、通知された暗号強度リスト６４とＳＳＬ暗号スイーツ一覧ｐ１との論理積を求め、当該論理積をログインユーザが利用可能な暗号強度リスト６５として判定する（Ｓ４０５）。続いて、暗号プロバイダ１３は、暗号強度リスト６５をコンポーネントＡに返却する（Ｓ４０６）。
【００５５】
コンポーネントＡは、暗号強度リスト６５をオペレーションパネル６０２に表示させ、ログインユーザに通知する（Ｓ４０７）。これにより、ログインユーザは、自らが利用可能な暗号強度を確認することができる。ログインユーザがオペレーションパネル６０２を介して利用する暗号強度を選択すると（Ｓ４０８）、コンポーネントＡは、当該暗号強度によって、暗号化処理を実行する（Ｓ４０９）。
【００５６】
また、図１５は、本実施の形態の複合機においてコンポーネントごとに利用可能な暗号強度を変化させるための仕組みを説明するための図である。
【００５７】
例えば、コンポーネントＡについては、コンポーネントＡに許可された暗号強度リスト７１ａとＳＳＬ暗号スイーツ一覧ｐ１との論理積を求め、当該論理積をコンポーネントＡが利用可能な暗号強度リスト７２ａとする。
【００５８】
同様に、コンポーネントＢついては、コンポーネントＢに許可された暗号強度リスト７１ｂとＳＳＬ暗号スイーツ一覧ｐ１との論理積を求め、当該論理積をコンポーネントＢが利用可能な暗号強度リスト７２ｂとする。
【００５９】
なお、複合機１のＨＤＤ６３３等には、コンポーネントごとに許可される暗号強度リストを予め登録しておけばよい。当該登録情報より、コンポーネントＡに許可された暗号強度リスト７１ａやコンポーネントＢに許可された暗号強度リスト７１ｂが取得される。
【００６０】
当該仕組みを実現するための処理手順は図１４とほぼ同様でよい。コンポーネントＡを例とすると、ステップＳ４０４において、ログインユーザに設定された暗号強度リスト６４の代わりにコンポーネントＡに許可された暗号強度リスト７１ａが暗号プロバイダ１３に通知されるようにすればよい。
【００６１】
なお、図１３や図１５に示される仕組みを図１２に示される仕組みと組み合わせても良い。具体的には、図１３における暗号強度リスト６５又は図１５における暗号強度リスト７２ａ若しくは７２ｂと、国に応じて許可された暗号強度リストとの論理積を求め、当該論理積に係る暗号強度リストを利用可能な暗号強度リストとしてもよい。
【００６２】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。
【図２】本発明の実施の形態における複合機のソフトウェア構成例を示す図である。
【図３】暗号情報の整合性を図るための仕組みを説明するための図である。
【図４】ＶＭにおけるプロパティ値を説明するための図である。
【図５】ＶＭ環境とネイティブ層との関係を示す概略図である。
【図６】本実施の形態における共有メモリと暗号プロバイダ及び情報取得ライブラリとの関係を実現するためのソフトウェア構成例を示す図である。
【図７】ＪＣＥの概要を説明するための図である。
【図８】ＶＭ環境とネイティブ層との間で情報共有を行うための処理手順を説明するためのシーケンス図である。
【図９】暗号情報設定画面の一例を示す図である。
【図１０】確認画面の一例を示す図である。
【図１１】各ＶＭ環境間で情報共有を行うための処理手順を説明するためのシーケンス図である。
【図１２】複合機が設置される国を考慮した暗号情報設定画面の表示処理の処理手順を説明するためのシーケンス図である。
【図１３】本実施の形態の複合機においてユーザごとに利用可能な暗号強度を変化させるための仕組みを説明するための図である。
【図１４】ユーザごとに利用可能な暗号強度を変化させるための処理手順を説明するためのシーケンス図である。
【図１５】本実施の形態の複合機においてコンポーネントごとに利用可能な暗号強度を変化させるための仕組みを説明するための図である。
【符号の説明】
【００６４】
１          複合機
１１ａ、１１ｂ、１１ｃ    ＶＭ
１２        ネイティブ層
１３ａ、１３ｂ、１３ｃ    暗号プロバイダ
１４        情報取得ライブラリ
１５        ＪＮＩライブラリ
１６        ＵＩ部
２１        データ保持リポジトリ
２２        共有メモリ
５０        ＧＰＳ装置
２２１      共有メモリ操作ライブラリ
６０１      コントローラ
６０２      オペレーションパネル
６０３      ファクシミリコントロールユニット
６０４      撮像部
６０５      印刷部
６１１      ＣＰＵ
６１２      ＡＳＩＣ
６２１      ＮＢ
６２２      ＳＢ
６３１      ＭＥＭ−Ｐ
６３２      ＭＥＭ−Ｃ
６３３      ＨＤＤ
６３４      メモリカードスロット
６３５      メモリカード
６４１      ＮＩＣ
６４２      ＵＳＢデバイス
６４３      ＩＥＥＥ１３９４デバイス
６４４      セントロニクスデバイス
【図１】
0005121494.tif 000002
【図２】
0005121494.tif 000003
【図３】
0005121494.tif 000004
【図４】
0005121494.tif 000005
【図５】
0005121494.tif 000006
【図６】
0005121494.tif 000007
【図７】
0005121494.tif 000008
【図８】
0005121494.tif 000009
【図９】
0005121494.tif 000010
【図１０】
0005121494.tif 000011
【図１１】
0005121494.tif 000012
【図１２】
0005121494.tif 000013
【図１３】
0005121494.tif 000014
【図１４】
0005121494.tif 000015
【図１５】
0005121494.tif 000016