(57)【要約】【課題】デジタル証明書を利用する複数のアプリケーションが存在する環境においてデジタル証明書の管理を適切に行うことのできる情報処理装置、証明書管理方法、証明書管理プログラムの提供を目的とする。【解決手段】デジタル証明書を用いて通信を行う複数のアプリケーションを有する情報処理装置であって、前記複数のアプリケーションのそれぞれについてデジタル証明書との関連付けを管理する管理手段を有し前記アプリケーションは、前記管理手段において関連付けられているデジタル証明書を利用することにより上記課題を解決する。【選択図】図３
2009159053.tif 000002
【特許請求の範囲】
【請求項１】
デジタル証明書を用いて通信を行う複数のアプリケーションを有する情報処理装置であって、
前記複数のアプリケーションのそれぞれについてデジタル証明書との関連付けを管理する管理手段を有し
前記アプリケーションは、前記管理手段において関連付けられているデジタル証明書を利用することを特徴とする情報処理装置。
【請求項２】
前記アプリケーションと前記デジタル証明書との関連付けを設定させる設定画面を介して前記関連付けの設定を受け付け、設定された関連付けを前記管理手段に登録する設定受け付け手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記設定受け付け手段は、前記設定画面において、前記デジタル証明書を格納するための記憶領域と前記アプリケーションとの関連付けを設定させることを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記管理手段は、前記記憶領域に対する識別名と前記アプリケーションの識別名との関連付けを管理することを特徴とする請求項３記載の情報処理装置。
【請求項５】
デジタル証明書を用いて通信を行う複数のアプリケーションを有する情報処理装置が実行する証明書管理方法であって、
前記複数のアプリケーションのそれぞれについてデジタル証明書との関連付けを記憶媒体に記録する記録手順と、
前記アプリケーションが、前記記憶媒体において関連付けられているデジタル証明書を利用する証明書利用手順とを有することを特徴とする証明書管理方法。
【請求項６】
前記アプリケーションと前記デジタル証明書との関連付けを設定させる設定画面を介して前記関連付けの設定を受け付ける設定受け付け手順を有し、
前記記録手順は、前記設定受け付け手順において受け付けられた設定に係る関連付けを前記記録媒体に記録することを特徴とする請求項５記載の証明書管理方法。
【請求項７】
前記設定受け付け手順は、前記設定画面において、前記デジタル証明書を格納するための記憶領域と前記アプリケーションとの関連付けを設定させることを特徴とする請求項６記載の証明書管理方法。
【請求項８】
前記記録手順は、前記記憶領域に対する識別名と前記アプリケーションの識別名との関連付けを記録することを特徴とする請求項７記載の証明書管理方法。
【請求項９】
デジタル証明書を用いて通信を行う複数のアプリケーションを有する情報処理装置に、
前記複数のアプリケーションのそれぞれについてデジタル証明書との関連付けを記憶媒体に記録する記録手順と、
前記アプリケーションが、前記記憶媒体において関連付けられているデジタル証明書を利用する証明書利用手順とを実行させるための証明書管理プログラム。
【請求項１０】
前記アプリケーションと前記デジタル証明書との関連付けを設定させる設定画面を介して前記関連付けの設定を受け付ける設定受け付け手順を有し、
前記記録手順は、前記設定受け付け手順において受け付けられた設定に係る関連付けを前記記録媒体に記録することを特徴とする請求項９記載の証明書管理プログラム。
【請求項１１】
前記設定受け付け手順は、前記設定画面において、前記デジタル証明書を格納するための記憶領域と前記アプリケーションとの関連付けを設定させることを特徴とする請求項１０記載の証明書管理プログラム。
【請求項１２】
前記記録手順は、前記記憶領域に対する識別名と前記アプリケーションの識別名との関連付けを記録することを特徴とする請求項１１記載の証明書管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、証明書管理方法、証明書管理プログラムに関し、特にデジタル証明書を利用するアプリケーションを有する情報処理装置、証明書管理方法、証明書管理プログラムに関する。
【背景技術】
【０００２】
近年、インターネットやＬＡＮ等のネットワークの発達と普及により、複合機は通信機能を有するようになった。通信機能を有する複合機は、ネットワークを介して外部機器と接続可能である。
【０００３】
このように外部機器と接続可能な複合機は、正当な利用権限を保持していないユーザからの不正アクセスを禁止するアクセスコントロール、なりすまし及び改ざんを防ぐデジタル署名、盗聴を防ぐ暗号化などの仕組みが求められている。そこで、従来、デジタル証明書を用いて通信を行うことで、なりすましや改竄等の防止が図られている。
【０００４】
ところで、複合機には、通信を行う複数のアプリケーションが実装されうるが、従来、デジタル証明書の管理は、アプリケーションごとに行われていた。
【特許文献１】特開２００４−３２０７１５号公報
【特許文献２】特開２００５−０３９７９０号公報
【特許文献３】特開２００７−１７４３１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、デジタル証明書がアプリケーションごとに行われる場合、アプリケーションの実装や複合機の資源の利用が非常に非効率になるという問題があった。すなわち、各アプリケーションには、デジタル証明書の管理についてほぼ同様の実装が重複して行われる可能性が高い。また、各アプリケーションによって利用されるデジタル証明書が同一のもので事足りる場合であっても、アプリケーション間において共通の認識は無いため、それぞれ別個にデジタル証明書が導入され、複合機の記憶領域を必要以上に消費してしまう。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、デジタル証明書を利用する複数のアプリケーションが存在する環境においてデジタル証明書の管理を適切に行うことのできる情報処理装置、証明書管理方法、証明書管理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、本発明は、デジタル証明書を用いて通信を行う複数のアプリケーションを有する情報処理装置であって、前記複数のアプリケーションのそれぞれについてデジタル証明書との関連付けを管理する管理手段を有し前記アプリケーションは、前記管理手段において関連付けられているデジタル証明書を利用することを特徴とする。
【０００８】
このような情報処理装置では、デジタル証明書を利用する複数のアプリケーションが存在する環境においてデジタル証明書の管理を適切に行うことができる。
【発明の効果】
【０００９】
本発明によれば、デジタル証明書を利用する複数のアプリケーションが存在する環境においてデジタル証明書の管理を適切に行うことのできる情報処理装置、証明書管理方法、証明書管理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、複合機を情報処理装置の一例として説明する。複合機１は、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する画像形成装置である。
【００１１】
図１は、本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。複合機１のハードウェアとしては、コントローラ６０１と、オペレーションパネル６０２と、ファクシミリコントロールユニット（ＦＣＵ）６０３と、撮像部６０４と、印刷部６０５が存在する。
【００１２】
コントローラ６０１は、ＣＰＵ６１１、ＡＳＩＣ６１２、ＮＢ６２１、ＳＢ６２２、ＭＥＭ−Ｐ６３１、ＭＥＭ−Ｃ６３２、ＨＤＤ（ハードディスクドライブ）６３３、メモリカードスロット６３４、ＮＩＣ（ネットワークインタフェースコントローラ）６４１、ＵＳＢデバイス６４２、ＩＥＥＥ１３９４デバイス６４３、セントロニクスデバイス６４４により構成される。
【００１３】
ＣＰＵ６１１は、種々の情報処理用のＩＣである。ＡＳＩＣ６１２は、種々の画像処理用のＩＣである。ＮＢ６２１は、コントローラ６０１のノースブリッジである。ＳＢ６２２は、コントローラ６０１のサウスブリッジである。ＭＥＭ−Ｐ６３１は、複合機１のシステムメモリである。ＭＥＭ−Ｃ６３２は、複合機１のローカルメモリである。ＨＤＤ６３３は、複合機１のストレージである。メモリカードスロット６３４は、メモリカード６３５をセットするためのスロットである。ＮＩＣ６４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス６４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス６４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス６４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル６０２は、オペレータが複合機１に入力を行うためのハードウェア（操作装置）であると共に、オペレータが複合機１から出力を得るためのハードウェア（表示装置）である。
【００１４】
図２は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。
【００１５】
同図において、複合機１は、ＯＳ（Operating System）１０１、Ｊ２ＭＥ（Java（登録商標） 2 Micro Edition）１０２、ＯＳＧｉ（Open Services Gateway Initiative）フレームワーク１０３、バンドル１０４、及びネイティブコード１０５等より構成される。
【００１６】
ＯＳ１０１は、いわゆるＯＳ（Operating System）である。Ｊ２ＭＥ１０２は、Ｊａｖａ（登録商標）の実行環境等を提供するＪａｖａ（登録商標）プラットフォームである。本実施の形態におけるＪ２ＭＥ１０２は、ＣＤＣ（Connected Device Configuration）を想定実行環境（コンフィギュレーション）とし、Ｊａｖａ（登録商標）仮想マシンとしてＪＶＭ１０２１を採用する。ＪＶＭ１０２１は、バイトコードをＯＳ１０１上で動作可能なネイティブコードに変換して実行する。
【００１７】
ＯＳＧｉフレームワーク１０３は、ＯＳＧｉアライアンスによる標準化技術であり、Ｊａｖａ（登録商標）言語に基づいたオープンなソフトウェア部品化技術に基づいて作成されたソフトウェア部品の実行環境を提供するソフトウェアプラットフォームである。ＯＳＧｉフレームワーク１０３上において、Ｊａｖａ（登録商標）言語のソフトウェアは「バンドル」と呼ばれるソフトウェア部品の形で実装される。一つのバンドルは、一つのＪＡＲ（Java（登録商標） ARchive）ファイルによって構成され、それぞれ独立して動的に（装置の再起動を要することなく）インストール可能である。バンドル１０４は、斯かるバンドルを示す。なお、バンドル１０４は複数存在し得る。ネイティブコード１０５は、例えば、Ｃ言語等によって作成された、ＯＳ１０１上において直接動作するプログラムである。
【００１８】
複合機１では、バンドル１０４、ネイティブコード１０５、又は通常の（バンドルでない）ＪＡＲファイルとして各ソフトウェアコンポーネントが実装される。図３は、本発明の実施の形態における複合機のソフトウェアコンポーネントの構成例を示す図である。
【００１９】
同図に示されるように、複合機１におけるソフトウェアコンポーネント（以下、単に「コンポーネント」という。）は、アプリケーションメカニズム１０、サービスメカニズム２０、デバイスメカニズム３０、及びアスペクトレイヤ４０等のレイヤに分類される。同図におけるレイヤの上下関係は、レイヤ間の呼び出し関係に基づいている。基本的に図中において上にあるレイヤが下のレイヤを呼び出す。すなわち、図３では、バンドル１０４又はネイティブコード１０５間の呼び出し関係に基づいて、コンポーネントの関係が整理されて示されている。なお、各コンポーネントは、例えば、ＨＤＤ６３３に記憶されており、実行時にＭＥＭ−Ｐ６３１にロードされてＣＰＵ６１１にその機能を実行させる。
【００２０】
アプリケーションメカニズム１０には、複合機１が提供する機能又は情報（データ）等の資源をユーザに利用させるためのコンポーネントが属する。図中ではプリンタアプリ１１、ＰＣＦＡＸアプリ１２、及び文書保管アプリ１３等が例示されている。
【００２１】
プリンタアプリ１１は、ネットワークを介して接続されるＰＣ等より送信される印刷要求に応じて印刷処理（印刷ジョブ）を実行する。ＰＣＦＡＸアプリ１２は、ネットワークを介して接続されるＰＣ等より送信されるＦＡＸの送信要求に応じてＦＡＸ送信処理（ＦＡＸ送信ジョブ）を実行する。文書保管アプリ１３は、撮像部６０４によってスキャンされた画像データをＨＤＤ６３３に蓄積するための処理を制御する。
【００２２】
サービスメカニズム２０には、アプリケーションメカニズム１０に属するコンポーネントより共通に利用される、より基本的な機能（サービス）を提供するコンポーネントが属する。図中では、スキャンサービス２１、プロッタサービス２２、保管文書サービス２３、ユーザリポジトリサービス２４、ＵＩサービス２５、メモリサービス２６、及び通信サービス２７等が例示されている。
【００２３】
スキャンサービス２１は、撮像部６０４を用いた画像データの読み取り処理を制御する。プロッタサービス２２は、印刷部６０５を用いた画像データの印刷処理を制御する。保管文書サービス２３は、ＨＤＤ６３３への画像データの蓄積又は読み出し等を制御する。ユーザリポジトリサービス２４は、ＨＤＤ６３３に記録されているユーザ情報（アカウント情報やアドレス帳情報等）を管理する。ＵＩサービス２５は、オペレーションパネル６０２やネットワークを介して接続されるＰＣ（Personal Computer）等に表示させる画面の生成等を行う。通信サービス２７は、各種のプロトコルによる通信を制御する。
【００２４】
デバイスメカニズム３０には、複合機１に設けられたデバイスを制御する、一般的にデバイスドライバと呼ばれるコンポーネントが属する。
【００２５】
アスペクトレイヤ４０には、アプリケーションメカニズム１０、サービスメカニズム２０、及びデバイスメカニズム３０より共通に利用される横断的なコンポーネントが属する。図中において、アスペクトレイヤ４０には証明書状態管理部４１、証明書エイリアス管理部４２、機器証明書保管部４３、及びＣＡ証明書保管部４４等が含まれている。
【００２６】
証明書状態管理部４１は、機器証明書の状態を管理する。ここで、機器証明書とは、複合機１がネットワーク通信を行う際に、通信データの作成者が当該複合機１であること及び通信データが改竄されていないこと等を証明するための用いられる公開鍵証明書等のデジタル証明書である。本実施の形態では、後述されるＣＡ証明書との混同を避けるため「機器証明書」と呼ばれる。機器証明書は、機器内で自己署名証明書として発行されるか、若しくは認証局（ＣＡ（Certificate Authority））より発行及び署名され、複合機１に導入される。機器証明書の状態とは、機器証明書が導入済みか否か等を示す情報をいう。より詳しく説明すると、本実施の形態では、機器証明書を格納するための記憶領域として予め５つの領域（以下、「機器証明書格納領域」という。）が用意されている。機器証明書の状態とは、各機器証明書格納領域に対して機器証明書が導入されているか否かを示す情報をいう。なお、各機器証明書格納領域には名前（識別名）が付けられており、当該名前は、それぞれの機器証明書格納領域に格納される機器証明書の別名として扱われる。したがって、具体的には、証明書状態管理部４１は、別名ごとに機器証明書が導入されているか否かを示す情報を管理する。
【００２７】
機器証明書の導入等は、機器証明書操作画面を介して実行される。図４は、機器証明書操作画面の表示例を示す図である。同図において、機器証明書操作画面５１０は、一覧表５１１、作成ボタン５１２、要求ボタン５１３、導入ボタン５１４、削除ボタン５１５、エクスポートボタン５１６、及び利用アプリ設定ボタン５１７等を有する。
【００２８】
一覧表５１１には、機器証明書（機器証明書を格納する機器証明書格納領域）ごとに、別名、発行元、発行者、有効期限、及び証明書状態等が表示される。別名は、機器証明書のエイリアス（別名）又は機器証明書格納領域の名前である。発行元、発行者、及び有効期限は、機器証明書の発行元、発行者、及び有効期限である。証明書状態は、機器証明書が複合機１内に導入されているか否か（すなわち、機器証明書の状態）を示す。
【００２９】
作成ボタン５１２が押下されると、新たに機器証明書を作成する（ＣＡより発行を受ける）ための処理が開始される。要求ボタン５１３が押下されると、任意のＣＡからの署名を受けるための証明書要求の作成処理が開始される。導入ボタン５１４が押下されると、作成された機器証明書を、一覧表５１１においてチェックボタンがチェックされた行に係る機器証明書格納領域に導入するための処理が開始される。エクスポートボタン５１６が押下されると、チェックされた行に係る機器証明書の公開鍵をエクスポートするための処理が開始される。利用アプリ設定ボタン５１７が押下されると、各機器証明書を利用するアプリケーションを設定させるための処理が開始される。なお、ここでいう、アプリケーションとは、主として、通信サービス２７に属する各種のソフトウェアコンポーネントをいい、機器証明書を用いてセキュアな通信を行うものをいう。
【００３０】
証明書エイリアス管理部４２は、各機器証明書についてそのエイリアス（別名）と当該証明書を利用するアプリケーションとの関連付けを管理する。本実施の形態では、一つの機器証明書は、複数のアプリケーションから利用可能とされる。当該関連付けは、機器証明書操作画面５１０において利用アプリ設定ボタン５１７が押下された際に表示される、利用アプリ設定画面において設定される。
【００３１】
図５は、利用アプリ設定画面の表示例を示す図である。同図に示される利用アプリ設定画面５２０ａでは、アプリケーションごとに、利用する機器証明書がプルダウンリストによって選択可能とされている。プルダウンリスト上には、導入済みの機器証明書の別名の一覧、又は導入若しくは未導入を問わず機器証明書格納領域の名前の一覧が表示される。
【００３２】
機器証明書保管部４３は、機器証明書について記憶媒体（例えば、ＨＤＤ６３３）への保存及び記憶媒体からの読み出し等を行う。但し、当該記憶媒体は、セキュアなデバイスであることが望ましい。
【００３３】
ＣＡ証明書保管部４４は、ＣＡ（Certificate Authority）証明書について記憶媒体への保存及び記憶媒体からの読み出し等を行う。ここで、ＣＡ証明書とは、機器証明書を発行したＣＡ等のデジタル証明書をいう。ここで「ＣＡ等」とは、中間認証局及びルート認証局等の各ＣＡを意味する。したがって、ＣＡ証明書保管部４４ではＣＡ証明書のリストが管理される。
【００３４】
本実施の形態では、特に、アスペクトレイヤ４０における各コンポーネントによって実現される機能に注目する。当該機能に関して複合機１において実行される処理手順について、以下に説明する。
【００３５】
まず、機器証明書操作画面５１０や利用証明書設定画面５２０ａ等のＧＵＩ（Graphical User Interface）を生成するために実行される処理について説明する。図６は、各画面の作成に必要な情報の収集処理を説明するためのシーケンス図である。
【００３６】
まず、いずれかの機器証明書を利用する各アプリケーション５１は、所定のタイミング（例えば、当該アプリケーションのインストール時等）において、証明書状態管理部４１に対して、自らの識別情報（例えば、アプリケーション名）を登録する（Ｓ１０１〜Ｓ１０３）。したがって、証明書状態管理部４１では、アプリケーション名の一覧が管理される。
【００３７】
続いて、ＵＩサービス２５は、機器証明書操作画面５１０等の表示が要求されたとき、又はそれ以前に以下の処理を実行する。まず、ＵＩサービス２５は、機器証明書を利用するアプリケーション名の一覧を証明書状態管理部４１より取得する（Ｓ１０４、Ｓ１０５）。
【００３８】
続いて、ＵＩサービス２５は、機器証明書格納領域の名前（すなわち、導入済み又は未導入の別を問わず機器証明書のエイリアス）の一覧の取得を証明書エイリアス管理部４２に対して要求する（Ｓ１０６）。証明書エイリアス管理部４２は、機器証明書が保存される記憶媒体上における各機器証明書格納領域に付加された名前を当該記憶媒体より取得し（Ｓ１０７、Ｓ１０８）、取得された名前の一覧をエイリアスの一覧としてＵＩサービス２５に返却する（Ｓ１０９）。
【００３９】
続いて、ＵＩサービス２５は、取得されたエイリアスの一覧に含まれる一つのエイリアスを指定して、当該エイリアスに係る機器証明書（又は機器証明書格納領域）に関する情報（以下「証明書情報」という。）を機器証明書保管部４３に問い合わせる（Ｓ１１０）。機器証明書保管部４３は、指定されたエイリアスに係る機器証明書の証明書情報を記憶媒体より取得する（Ｓ１１１、Ｓ１１２）。証明書情報には、導入済みであるか否か、発行元、発行者、及び有効期限等が含まれる。このうち、発行元、発行者、及び有効期限については、機器証明書が導入済みの場合のみ取得される。機器証明書保管部４３は、取得された証明書情報をＵＩサービス２５に返却する（Ｓ１１３）。なお、ステップＳ１１０〜Ｓ１１３の処理は、ステップＳ１０９において取得されたエイリアスの一覧に含まれるエイリアスの数だけ繰り返される（Ｓ１１０−ｎ〜Ｓ１１３−ｎ）。
【００４０】
以上の処理によって取得される情報に基づいて、ＵＩサービス２５は、機器証明書操作画面５１０や利用アプリ設定画面５２０ａを、これらの画面の表示が要求された際に生成する。例えば、機器証明書操作画面５１０は、ステップＳ１０９において取得されるエイリアスの一覧、及びステップＳ１１０〜Ｓ１１３において取得される証明書情報に基づいて生成される。また、利用アプリ設定画面５２０ａは、ステップＳ１０５において取得されるアプリケーションの一覧及びステップＳ１０９において取得されるエイリアスの一覧に基づいて生成される。すなわち、利用アプリ設定画面５２０ａにおいて、アプリケーションごとに配置されているリストボックスには、ステップＳ１０９においおいて取得されるエイリアスの一覧が設定される。なお、機器証明書操作画面５１０や利用アプリ設定画面５２０ａ等は、例えば、Ｗｅｂページ（ＨＴＭＬデータ）として生成され、オペレーションパネル６０２や、複合機１とネットワークを介して接続されるＰＣ（Personal Computer）等のコンピュータの表示装置に表示される。
【００４１】
続いて、機器証明書が導入される際の処理手順について説明する。図７は、機器証明書の導入時の処理手順を説明するためのシーケンス図である。
【００４２】
機器証明書操作画面５１０において、未導入の行に係るチェックボタン５１８がチェックされ、導入ボタン５１４が押下されると、ＵＩサービス２５の制御により証明書導入画面が表示される。証明書導入画面では、導入対象とする機器証明書が選択される。なお、導入対象とする機器証明書は、作成ボタン５１２の押下によって、予めＣＡより発行を受け、証明書情報ともに保存されている。但し、この状態では、機器証明書をアプリケーションに利用させることはできない。導入という行為により、機器証明書は、アプリケーションとの関連付けが可能となり、ひいてはアプリケーションから利用可能となる。
【００４３】
証明書導入画面において導入対象とする機器証明書が指定されると、ＵＩサービス２５は、当該機器証明書及びその証明書情報の保存をエイリアスをキーとして機器証明書保管部４３に要求する（Ｓ２０１）。機器証明書保管部４３は、指定されたエイリアスに係る機器証明書の導入状態を問い合わせる（Ｓ２０２）。証明書状態管理部４１は、当該エイリアスに係る機器証明書格納領域に対する導入状態を取得し（Ｓ２０３）、その結果を機器証明書保管部４３に返却する（Ｓ２０４）。
【００４４】
当該エイリアスについて機器証明書が未導入の場合、機器証明書保管部４３は、導入対象とされた機器証明書及びその証明書情報を記録媒体における当該エイリアスに係る機器証明書格納領域に保存する（Ｓ２０５）。続いて、機器証明書保管部４３は、当該エイリアスに係る機器証明書を導入済みへ変更するよう証明書状態管理部４１に要求する（Ｓ２０６）。当該要求に応じ、証明書状態管理部４１は、当該エイリアスに対する導入状態を導入済みに更新する。
【００４５】
なお、ステップＳ２０４において、導入済みである旨が返却された場合、同一のエイリアスに対して複数の機器証明書は導入できないため、ステップＳ２０５以降は実行されず、ＵＩサービス２５に対してエラーが返却される。
【００４６】
続いて、利用アプリ設定画面５２０ａを介してアプリケーションと機器証明書との関連付けが要求された際の処理手順について説明する。図８は、機器証明書の関連付け時の処理手順を説明するためのシーケンス図である。
【００４７】
利用アプリ設定画面５２０ａのプルダウンリストを操作することにより、各アプリケーションに対する機器証明書のエイリアスが選択され、登録ボタン５２１が押下されると、ＵＩサービス２５は、画面上における設置内容に従って、アプリケーション名とエイリアスとの組を指定して、当該組に係る関連付けを証明書エイリアス管理部４２に要求する（Ｓ３０１）。証明書エイリアス管理部４２は、指定された組みに係るアプリケーション名とエイリアスとの関連付けを示す情報を記憶媒体に保存する（Ｓ３０２）。
【００４８】
続いて、アプリケーションによって機器証明書が利用される際の処理手順について説明する。図９は、機器証明書利用時の処理手順を説明するためのシーケンス図である。
【００４９】
アプリケーション５１は、機器証明書の利用が必要となると、自らの識別情報（アプリケーション名）を指定して、自らに関連付けられている機器証明書のエイリアスをエイリアス管理部４２に問い合わせる（Ｓ４０１）。エイリアス管理部４２は、記録媒体に記録されている情報（図８のステップＳ３０２において保存された情報）に基づいて、指定されたアプリケーション名に関連付けられているエイリアスを取得し（Ｓ４０３）、当該エイリアスをアプリケーション５１に返却する（Ｓ４０４）。
【００５０】
続いて、アプリケーション５１は、取得されたエイリアス名を指定して機器証明書の取得を機器証明書保管部４３に要求する（Ｓ４０５）。機器証明書保管部４３は、エイリアス名を指定して機器証明書の導入状態を証明書状態管理部４１に問い合わせる（Ｓ４０６）。証明書状態管理部４１は、当該エイリアスに係る機器証明書格納領域に対する導入状態を取得し（Ｓ４０７）、その結果を機器証明書保管部４３に返却する（Ｓ４０８）。
【００５１】
機器証明書が導入済みであった場合、機器証明書保管部４３は、記憶媒体における、当該エイリアスに係る機器証明書格納領域より機器証明書を取得し（Ｓ４０９、Ｓ４１０）、
取得された機器証明書をアプリケーション５１に返却する（Ｓ４１１）。その後、機器証明書を取得したアプリケーション５１は、機器証明書を用いて通信等を実行する。
【００５２】
ところで、図５に示される利用アプリ設定画面５２０ａでは、一つのアプリケーションに対して一つの機器証明書しか関連付けることができない。そこで、利用アプリ設定画面を次のように構成してもよい。
【００５３】
図１０は、第二の利用アプリ設定画面の表示例を示す図である。同図に示される利用アプリ設定画面５２０ｂでは、各機器証明書について、アプリケーションごとに当該証明書の利用の可否（又は要否）を設定させるためのチェックボタンが配置されている。斯かる構成によれば、各アプリケーションについて複数の機器証明書を利用対象として設定することができる。例えば、図中においても「ＳＳＬ／ＴＬＳ」について、証明書１及び証明書３が利用対象として設定されている。
【００５４】
また、図１１は、第三の利用アプリ設定画面の表示例を示す図である。同図における利用アプリ設定画面５３０ｃでは、アプリケーションごとに利用を推奨する機器証明書が◎によって示されている。いずれの機器証明書を推奨するかについては、例えば、アプリケーションのインストール時に設定するようにし、当該設定に基づいて◎を表示させてもよい。斯かる構成によれば、ユーザが設定を行う際に判断基準を提供することができる。なお、推奨する機器証明書と異なる機器証明書が選択（チェック）された場合、次のような画面を表示させてもよい。
【００５５】
図１２は、証明書選択確認画面の表示例を示す図である。同図に示されるように、証明書選択確認画面５３０には、Ｓ／ＭＩＭＥには、「証明書１」が推奨されている旨のメッセージが表示されている。当該メッセージによって、推奨されている機器証明書と異なるものが選択された場合に、注意を喚起することができる。なお、利用アプリ設定画面５２０ａ〜５２０ｃ等において、未導入の機器証明書（機器証明書格納領域）とアプリケーションとの関連付けを行うようにしてもよい。この場合、関連付けの後に機器証明書を導入することになるが、斯かる設定を可能とすることで、導入及び関連付けの一連の操作について柔軟性を持たせることができる。
【００５６】
上述したように、本実施の形態における複合機１によれば、証明書状態管理部４１、証明書エイリアス管理部４２、及び機器証明書保管部４３等によって、複数のアプリケーションが利用する機器証明書が一元的に管理されるまた、証明書エイリアス管理部４２によって、アプリケーションと機器証明書との関連付けが管理される。
【００５７】
したがって、機器証明書の冗長な管理を回避することができる。また、アプリケーションの任意によって機器証明書を選択することはできず、関連付けられた機器証明書を強制的に利用させることができるため、セキュリティを向上させることができる。
【００５８】
なお、例えば、機器証明書操作画面５１０等においてエイリアスを変更可能としてもよい。
【００５９】
次に、複合機１におけるＣＡ証明書の取り扱いについて説明する。ＣＡ証明書に関する情報は、ＪＶＭ１２０１のプロパティ値として管理される。各アプリケーションは、ＪＶＭ１２０１に問い合わせることで、当該プロパティ値を入手することができる。
【００６０】
図１３は、ＪＶＭにおけるプロパティを概念的に示す図である。同図に示されるように、例えば、ＳＳＬ暗号Ｓｕｉｔｅｓプロパティｐ１、ＣＡ証明書アクセス用パスワードプロパティｐ２、及びＣＡ証明書保存位置プロパティｐ３等の値がプロパティ値として設定される。ＳＳＬ暗号Ｓｕｉｔｅｓプロパティｐ１の値は、ＳＳＬ（Secure Socket Layer）通信をする際の暗号化の種類（方式）の推奨値を示す。ＣＡ証明書アクセス用パスワードプロパティｐ２の値は、ＣＡ証明書にアクセスするために要求されるパスワードを示す。ＣＡ証明書保存位置プロパティｐ３の値は、ＣＡ証明書の保存位置を示す。なお、プロパティ値の設定は、「ｓｅｔＰｒｏｐｅｒｔｙ（）」メソッドによって行うことができる。プロパティ値の取得は、「ｇｅｔＰｒｏｐｅｒｔｙ（）」メソッドによって行うことができる
プロパティ値の取り扱い（ＪＶＭ１２０１への設定等）は、Ｊａｖａ（登録商標）暗号化拡張機能（ＪＣＥ（Java（登録商標） Cryptography Extension））のプロバイダにおいて実装すればよい。図１４は、ＪＣＥのプロバイダを示す図である。同図においてＪ２ＭＥ１０２内に示されるＪＣＥは、Ｊａｖａ（登録商標）標準の拡張機能であり、予め定められたインタフェースに対する実装を任意に拡張するための手段を提供する。拡張された実装はプロバイダと呼ばれる。本実施の形態では、プロバイダ１０７に、上記のプロパティ値の取り扱いを実装した例を説明する。
【００６１】
図１５は、プロパティ値の設定及び参照の処理手順を説明するためのシーケンス図である。
【００６２】
或るプログラムモジュールがＪＣＥ１０２２を介して暗号機能に関する呼び出しを行うと（Ｓ５０１）、当該呼び出しはプロバイダ１０７に委譲される（Ｓ５０２）。プロバイダ１０７は、当該呼び出しに応じ、例えば、プロパティｐ１、ｐ２、及びｐ３の値をＪＶＭ１０２１に対して設定する（Ｓ５０３）。
【００６３】
続いて、或るプログラムモジュール（ステップＳ５０１に係るプログラムモジュールと同一でなくてよい）が、ＪＶＭ１０２１に対してプロパティｐ１、ｐ２、又はｐ３の値の参照を要求すると（Ｓ５０４）、ＪＶＭ１０２１は、当該プロパティに設定されている値を返却する（Ｓ５０５）。
【００６４】
このように、プロパティ値の設定をプロバイダに行わせることで、上位のプログラムモジュールにプロパティ値の設定を意識させることなく、暗号機能に関する呼び出しが行われたときに、プロパティ値を設定することができる。なお、ステップＳ５０１の呼び出しは、ＪＶＭ１０２１の起動時においても行われる。したがって、少なくとも、アプリケーション５１等によって参照が要求されるまでに、各プロパティ値は設定されている。
【００６５】
例えば、図１６は、ＳＳＬ暗号通信時の処理手順を説明するためのシーケンス図である。
【００６６】
或るアプリケーション５１が、ＪＣＥ１０２２を介してＳＳＬ暗号通信機能を呼び出すと（Ｓ６０１）、当該呼び出しはプロバイダ１０７に委譲される（Ｓ６０２）。プロバイダ１０７は、当該呼び出しに応じ、ＳＳＬ暗号Ｓｕｉｔｅｓプロパティｐ１の値をＪＶＭ１０２１に対して設定する（Ｓ６０３）。続いて、ＪＣＥ１０２２は、ＪＶＭ１０２１よりＳＳＬ暗号Ｓｕｉｔｅｓプロパティｐ１の値を取得し（Ｓ６０４、Ｓ６０５）、当該値に指定された暗号方式によってＳＳＬ通信を可能な状態とする（Ｓ６０６）。
【００６７】
なお、ＪＳＳＥ（Java（登録商標） Secure Socket Extension）を介してＳＳＬ暗号通信が要求された場合、ＪＳＳＥにおいては、ＣＡ証明書保存位置プロパティｐ３やＳＳＬ暗号Ｓｕｉｔｅｓプロパティｐ１等の値が利用される。したがって、上位アプリケーションの任意の暗号化方式によって通信が行われることを防止することができる。よって、本実施の形態の複合機１ように、自由に（サードパーティ等によって）アプリケーションの追加が可能な構成とされている場合において、ネットワーク通信に関するセキュリティを適切に確保することができる。
【００６８】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。
【図２】本発明の実施の形態における複合機のソフトウェア構成例を示す図である。
【図３】本発明の実施の形態における複合機のソフトウェアコンポーネントの構成例を示す図である。
【図４】機器操作画面の表示例を示す図である。
【図５】利用アプリ設定画面の表示例を示す図である。
【図６】各画面の作成に必要な情報の収集処理を説明するためのシーケンス図である。
【図７】機器証明書の導入時の処理手順を説明するためのシーケンス図である。
【図８】機器証明書の関連付け時の処理手順を説明するためのシーケンス図である。
【図９】機器証明書利用時の処理手順を説明するためのシーケンス図である。
【図１０】第二の利用アプリ設定画面の表示例を示す図である。
【図１１】第三の利用アプリ設定画面の表示例を示す図である。
【図１２】証明書選択確認画面の表示例を示す図である。
【図１３】ＪＶＭにおけるプロパティを概念的に示す図である。
【図１４】ＪＣＥのプロバイダを示す図である。
【図１５】プロパティ値の設定及び参照の処理手順を説明するためのシーケンス図である。
【図１６】ＳＳＬ暗号通信開始時の処理手順を説明するためのシーケンス図である。
【符号の説明】
【００７０】
１          複合機
１０        アプリケーションメカニズム
１１        プリンタアプリ
１２        ＰＣＦＡＸアプリ
１３        文書保管アプリ
２０        サービスメカニズム
２１        スキャンサービス
２２        プロッタサービス
２３        保管文書サービス
２４        ユーザリポジトリサービス
２５        ＵＩサービス
２６        メモリサービス
２７        通信サービス
３０        デバイスメカニズム
４０        アスペクトレイヤ
４１        証明書状態管理部
４２        証明書エイリアス管理部
４３        機器証明書保管部
４４        ＣＡ証明書保管部
１０１      ＯＳ
１０２      Ｊ２ＭＥ
１０３      ＯＳＧｉフレームワーク
１０４      バンドル
１０５      ネイティブコード
２７１      印刷サーバ
２７２      メール受信サーバ
２７３      ＦＡＸサーバ
２７４      ＨＴＴＰサーバ
２７５      メール転送クライアント
２７６      ＦＡＸ通信クライアント
２７７      ファイル転送クライアント
６０１      コントローラ
６０２      オペレーションパネル
６０３      ファクシミリコントロールユニット
６０４      撮像部
６０５      印刷部
６１１      ＣＰＵ
６１２      ＡＳＩＣ
６２１      ＮＢ
６２２      ＳＢ
６３１      ＭＥＭ−Ｐ
６３２      ＭＥＭ−Ｃ
６３３      ＨＤＤ
６３４      メモリカードスロット
６３５      メモリカード
６４１      ＮＩＣ
６４２      ＵＳＢデバイス
６４３      ＩＥＥＥ１３９４デバイス
６４４      セントロニクスデバイス
１０２１    ＪＶＭ
【図１】
2009159053.tif 000003
【図２】
2009159053.tif 000004
【図３】
2009159053.tif 000005
【図４】
2009159053.tif 000006
【図５】
2009159053.tif 000007
【図６】
2009159053.tif 000008
【図７】
2009159053.tif 000009
【図８】
2009159053.tif 000010
【図９】
2009159053.tif 000011
【図１０】
2009159053.tif 000012
【図１１】
2009159053.tif 000013
【図１２】
2009159053.tif 000014
【図１３】
2009159053.tif 000015
【図１４】
2009159053.tif 000016
【図１５】
2009159053.tif 000017
【図１６】
2009159053.tif 000018