説明

情報処理装置、証明書管理方法、証明書管理プログラム

【課題】デジタル証明書を利用する複数のアプリケーションが存在する環境においてデジタル証明書の管理を適切に行うことのできる情報処理装置、証明書管理方法、証明書管理プログラムの提供を目的とする。
【解決手段】デジタル証明書を用いて通信を行う複数のアプリケーションを有する情報処理装置であって、前記複数のアプリケーションのそれぞれについてデジタル証明書との関連付けを管理する管理手段を有し前記アプリケーションは、前記管理手段において関連付けられているデジタル証明書を利用することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、証明書管理方法、証明書管理プログラムに関し、特にデジタル証明書を利用するアプリケーションを有する情報処理装置、証明書管理方法、証明書管理プログラムに関する。
【背景技術】
【0002】
近年、インターネットやLAN等のネットワークの発達と普及により、複合機は通信機能を有するようになった。通信機能を有する複合機は、ネットワークを介して外部機器と接続可能である。
【0003】
このように外部機器と接続可能な複合機は、正当な利用権限を保持していないユーザからの不正アクセスを禁止するアクセスコントロール、なりすまし及び改ざんを防ぐデジタル署名、盗聴を防ぐ暗号化などの仕組みが求められている。そこで、従来、デジタル証明書を用いて通信を行うことで、なりすましや改竄等の防止が図られている。
【0004】
ところで、複合機には、通信を行う複数のアプリケーションが実装されうるが、従来、デジタル証明書の管理は、アプリケーションごとに行われていた。
【特許文献1】特開2004−320715号公報
【特許文献2】特開2005−039790号公報
【特許文献3】特開2007−174314号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、デジタル証明書がアプリケーションごとに行われる場合、アプリケーションの実装や複合機の資源の利用が非常に非効率になるという問題があった。すなわち、各アプリケーションには、デジタル証明書の管理についてほぼ同様の実装が重複して行われる可能性が高い。また、各アプリケーションによって利用されるデジタル証明書が同一のもので事足りる場合であっても、アプリケーション間において共通の認識は無いため、それぞれ別個にデジタル証明書が導入され、複合機の記憶領域を必要以上に消費してしまう。
【0006】
本発明は、上記の点に鑑みてなされたものであって、デジタル証明書を利用する複数のアプリケーションが存在する環境においてデジタル証明書の管理を適切に行うことのできる情報処理装置、証明書管理方法、証明書管理プログラムの提供を目的とする。
【課題を解決するための手段】
【0007】
そこで上記課題を解決するため、本発明は、デジタル証明書を用いて通信を行う複数のアプリケーションを有する情報処理装置であって、前記複数のアプリケーションのそれぞれについてデジタル証明書との関連付けを管理する管理手段を有し前記アプリケーションは、前記管理手段において関連付けられているデジタル証明書を利用することを特徴とする。
【0008】
このような情報処理装置では、デジタル証明書を利用する複数のアプリケーションが存在する環境においてデジタル証明書の管理を適切に行うことができる。
【発明の効果】
【0009】
本発明によれば、デジタル証明書を利用する複数のアプリケーションが存在する環境においてデジタル証明書の管理を適切に行うことのできる情報処理装置、証明書管理方法、証明書管理プログラムを提供することができる。
【発明を実施するための最良の形態】
【0010】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、複合機を情報処理装置の一例として説明する。複合機1は、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する画像形成装置である。
【0011】
図1は、本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。複合機1のハードウェアとしては、コントローラ601と、オペレーションパネル602と、ファクシミリコントロールユニット(FCU)603と、撮像部604と、印刷部605が存在する。
【0012】
コントローラ601は、CPU611、ASIC612、NB621、SB622、MEM−P631、MEM−C632、HDD(ハードディスクドライブ)633、メモリカードスロット634、NIC(ネットワークインタフェースコントローラ)641、USBデバイス642、IEEE1394デバイス643、セントロニクスデバイス644により構成される。
【0013】
CPU611は、種々の情報処理用のICである。ASIC612は、種々の画像処理用のICである。NB621は、コントローラ601のノースブリッジである。SB622は、コントローラ601のサウスブリッジである。MEM−P631は、複合機1のシステムメモリである。MEM−C632は、複合機1のローカルメモリである。HDD633は、複合機1のストレージである。メモリカードスロット634は、メモリカード635をセットするためのスロットである。NIC641は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス642は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス643は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス644は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル602は、オペレータが複合機1に入力を行うためのハードウェア(操作装置)であると共に、オペレータが複合機1から出力を得るためのハードウェア(表示装置)である。
【0014】
図2は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。
【0015】
同図において、複合機1は、OS(Operating System)101、J2ME(Java(登録商標) 2 Micro Edition)102、OSGi(Open Services Gateway Initiative)フレームワーク103、バンドル104、及びネイティブコード105等より構成される。
【0016】
OS101は、いわゆるOS(Operating System)である。J2ME102は、Java(登録商標)の実行環境等を提供するJava(登録商標)プラットフォームである。本実施の形態におけるJ2ME102は、CDC(Connected Device Configuration)を想定実行環境(コンフィギュレーション)とし、Java(登録商標)仮想マシンとしてJVM1021を採用する。JVM1021は、バイトコードをOS101上で動作可能なネイティブコードに変換して実行する。
【0017】
OSGiフレームワーク103は、OSGiアライアンスによる標準化技術であり、Java(登録商標)言語に基づいたオープンなソフトウェア部品化技術に基づいて作成されたソフトウェア部品の実行環境を提供するソフトウェアプラットフォームである。OSGiフレームワーク103上において、Java(登録商標)言語のソフトウェアは「バンドル」と呼ばれるソフトウェア部品の形で実装される。一つのバンドルは、一つのJAR(Java(登録商標) ARchive)ファイルによって構成され、それぞれ独立して動的に(装置の再起動を要することなく)インストール可能である。バンドル104は、斯かるバンドルを示す。なお、バンドル104は複数存在し得る。ネイティブコード105は、例えば、C言語等によって作成された、OS101上において直接動作するプログラムである。
【0018】
複合機1では、バンドル104、ネイティブコード105、又は通常の(バンドルでない)JARファイルとして各ソフトウェアコンポーネントが実装される。図3は、本発明の実施の形態における複合機のソフトウェアコンポーネントの構成例を示す図である。
【0019】
同図に示されるように、複合機1におけるソフトウェアコンポーネント(以下、単に「コンポーネント」という。)は、アプリケーションメカニズム10、サービスメカニズム20、デバイスメカニズム30、及びアスペクトレイヤ40等のレイヤに分類される。同図におけるレイヤの上下関係は、レイヤ間の呼び出し関係に基づいている。基本的に図中において上にあるレイヤが下のレイヤを呼び出す。すなわち、図3では、バンドル104又はネイティブコード105間の呼び出し関係に基づいて、コンポーネントの関係が整理されて示されている。なお、各コンポーネントは、例えば、HDD633に記憶されており、実行時にMEM−P631にロードされてCPU611にその機能を実行させる。
【0020】
アプリケーションメカニズム10には、複合機1が提供する機能又は情報(データ)等の資源をユーザに利用させるためのコンポーネントが属する。図中ではプリンタアプリ11、PCFAXアプリ12、及び文書保管アプリ13等が例示されている。
【0021】
プリンタアプリ11は、ネットワークを介して接続されるPC等より送信される印刷要求に応じて印刷処理(印刷ジョブ)を実行する。PCFAXアプリ12は、ネットワークを介して接続されるPC等より送信されるFAXの送信要求に応じてFAX送信処理(FAX送信ジョブ)を実行する。文書保管アプリ13は、撮像部604によってスキャンされた画像データをHDD633に蓄積するための処理を制御する。
【0022】
サービスメカニズム20には、アプリケーションメカニズム10に属するコンポーネントより共通に利用される、より基本的な機能(サービス)を提供するコンポーネントが属する。図中では、スキャンサービス21、プロッタサービス22、保管文書サービス23、ユーザリポジトリサービス24、UIサービス25、メモリサービス26、及び通信サービス27等が例示されている。
【0023】
スキャンサービス21は、撮像部604を用いた画像データの読み取り処理を制御する。プロッタサービス22は、印刷部605を用いた画像データの印刷処理を制御する。保管文書サービス23は、HDD633への画像データの蓄積又は読み出し等を制御する。ユーザリポジトリサービス24は、HDD633に記録されているユーザ情報(アカウント情報やアドレス帳情報等)を管理する。UIサービス25は、オペレーションパネル602やネットワークを介して接続されるPC(Personal Computer)等に表示させる画面の生成等を行う。通信サービス27は、各種のプロトコルによる通信を制御する。
【0024】
デバイスメカニズム30には、複合機1に設けられたデバイスを制御する、一般的にデバイスドライバと呼ばれるコンポーネントが属する。
【0025】
アスペクトレイヤ40には、アプリケーションメカニズム10、サービスメカニズム20、及びデバイスメカニズム30より共通に利用される横断的なコンポーネントが属する。図中において、アスペクトレイヤ40には証明書状態管理部41、証明書エイリアス管理部42、機器証明書保管部43、及びCA証明書保管部44等が含まれている。
【0026】
証明書状態管理部41は、機器証明書の状態を管理する。ここで、機器証明書とは、複合機1がネットワーク通信を行う際に、通信データの作成者が当該複合機1であること及び通信データが改竄されていないこと等を証明するための用いられる公開鍵証明書等のデジタル証明書である。本実施の形態では、後述されるCA証明書との混同を避けるため「機器証明書」と呼ばれる。機器証明書は、機器内で自己署名証明書として発行されるか、若しくは認証局(CA(Certificate Authority))より発行及び署名され、複合機1に導入される。機器証明書の状態とは、機器証明書が導入済みか否か等を示す情報をいう。より詳しく説明すると、本実施の形態では、機器証明書を格納するための記憶領域として予め5つの領域(以下、「機器証明書格納領域」という。)が用意されている。機器証明書の状態とは、各機器証明書格納領域に対して機器証明書が導入されているか否かを示す情報をいう。なお、各機器証明書格納領域には名前(識別名)が付けられており、当該名前は、それぞれの機器証明書格納領域に格納される機器証明書の別名として扱われる。したがって、具体的には、証明書状態管理部41は、別名ごとに機器証明書が導入されているか否かを示す情報を管理する。
【0027】
機器証明書の導入等は、機器証明書操作画面を介して実行される。図4は、機器証明書操作画面の表示例を示す図である。同図において、機器証明書操作画面510は、一覧表511、作成ボタン512、要求ボタン513、導入ボタン514、削除ボタン515、エクスポートボタン516、及び利用アプリ設定ボタン517等を有する。
【0028】
一覧表511には、機器証明書(機器証明書を格納する機器証明書格納領域)ごとに、別名、発行元、発行者、有効期限、及び証明書状態等が表示される。別名は、機器証明書のエイリアス(別名)又は機器証明書格納領域の名前である。発行元、発行者、及び有効期限は、機器証明書の発行元、発行者、及び有効期限である。証明書状態は、機器証明書が複合機1内に導入されているか否か(すなわち、機器証明書の状態)を示す。
【0029】
作成ボタン512が押下されると、新たに機器証明書を作成する(CAより発行を受ける)ための処理が開始される。要求ボタン513が押下されると、任意のCAからの署名を受けるための証明書要求の作成処理が開始される。導入ボタン514が押下されると、作成された機器証明書を、一覧表511においてチェックボタンがチェックされた行に係る機器証明書格納領域に導入するための処理が開始される。エクスポートボタン516が押下されると、チェックされた行に係る機器証明書の公開鍵をエクスポートするための処理が開始される。利用アプリ設定ボタン517が押下されると、各機器証明書を利用するアプリケーションを設定させるための処理が開始される。なお、ここでいう、アプリケーションとは、主として、通信サービス27に属する各種のソフトウェアコンポーネントをいい、機器証明書を用いてセキュアな通信を行うものをいう。
【0030】
証明書エイリアス管理部42は、各機器証明書についてそのエイリアス(別名)と当該証明書を利用するアプリケーションとの関連付けを管理する。本実施の形態では、一つの機器証明書は、複数のアプリケーションから利用可能とされる。当該関連付けは、機器証明書操作画面510において利用アプリ設定ボタン517が押下された際に表示される、利用アプリ設定画面において設定される。
【0031】
図5は、利用アプリ設定画面の表示例を示す図である。同図に示される利用アプリ設定画面520aでは、アプリケーションごとに、利用する機器証明書がプルダウンリストによって選択可能とされている。プルダウンリスト上には、導入済みの機器証明書の別名の一覧、又は導入若しくは未導入を問わず機器証明書格納領域の名前の一覧が表示される。
【0032】
機器証明書保管部43は、機器証明書について記憶媒体(例えば、HDD633)への保存及び記憶媒体からの読み出し等を行う。但し、当該記憶媒体は、セキュアなデバイスであることが望ましい。
【0033】
CA証明書保管部44は、CA(Certificate Authority)証明書について記憶媒体への保存及び記憶媒体からの読み出し等を行う。ここで、CA証明書とは、機器証明書を発行したCA等のデジタル証明書をいう。ここで「CA等」とは、中間認証局及びルート認証局等の各CAを意味する。したがって、CA証明書保管部44ではCA証明書のリストが管理される。
【0034】
本実施の形態では、特に、アスペクトレイヤ40における各コンポーネントによって実現される機能に注目する。当該機能に関して複合機1において実行される処理手順について、以下に説明する。
【0035】
まず、機器証明書操作画面510や利用証明書設定画面520a等のGUI(Graphical User Interface)を生成するために実行される処理について説明する。図6は、各画面の作成に必要な情報の収集処理を説明するためのシーケンス図である。
【0036】
まず、いずれかの機器証明書を利用する各アプリケーション51は、所定のタイミング(例えば、当該アプリケーションのインストール時等)において、証明書状態管理部41に対して、自らの識別情報(例えば、アプリケーション名)を登録する(S101〜S103)。したがって、証明書状態管理部41では、アプリケーション名の一覧が管理される。
【0037】
続いて、UIサービス25は、機器証明書操作画面510等の表示が要求されたとき、又はそれ以前に以下の処理を実行する。まず、UIサービス25は、機器証明書を利用するアプリケーション名の一覧を証明書状態管理部41より取得する(S104、S105)。
【0038】
続いて、UIサービス25は、機器証明書格納領域の名前(すなわち、導入済み又は未導入の別を問わず機器証明書のエイリアス)の一覧の取得を証明書エイリアス管理部42に対して要求する(S106)。証明書エイリアス管理部42は、機器証明書が保存される記憶媒体上における各機器証明書格納領域に付加された名前を当該記憶媒体より取得し(S107、S108)、取得された名前の一覧をエイリアスの一覧としてUIサービス25に返却する(S109)。
【0039】
続いて、UIサービス25は、取得されたエイリアスの一覧に含まれる一つのエイリアスを指定して、当該エイリアスに係る機器証明書(又は機器証明書格納領域)に関する情報(以下「証明書情報」という。)を機器証明書保管部43に問い合わせる(S110)。機器証明書保管部43は、指定されたエイリアスに係る機器証明書の証明書情報を記憶媒体より取得する(S111、S112)。証明書情報には、導入済みであるか否か、発行元、発行者、及び有効期限等が含まれる。このうち、発行元、発行者、及び有効期限については、機器証明書が導入済みの場合のみ取得される。機器証明書保管部43は、取得された証明書情報をUIサービス25に返却する(S113)。なお、ステップS110〜S113の処理は、ステップS109において取得されたエイリアスの一覧に含まれるエイリアスの数だけ繰り返される(S110−n〜S113−n)。
【0040】
以上の処理によって取得される情報に基づいて、UIサービス25は、機器証明書操作画面510や利用アプリ設定画面520aを、これらの画面の表示が要求された際に生成する。例えば、機器証明書操作画面510は、ステップS109において取得されるエイリアスの一覧、及びステップS110〜S113において取得される証明書情報に基づいて生成される。また、利用アプリ設定画面520aは、ステップS105において取得されるアプリケーションの一覧及びステップS109において取得されるエイリアスの一覧に基づいて生成される。すなわち、利用アプリ設定画面520aにおいて、アプリケーションごとに配置されているリストボックスには、ステップS109においおいて取得されるエイリアスの一覧が設定される。なお、機器証明書操作画面510や利用アプリ設定画面520a等は、例えば、Webページ(HTMLデータ)として生成され、オペレーションパネル602や、複合機1とネットワークを介して接続されるPC(Personal Computer)等のコンピュータの表示装置に表示される。
【0041】
続いて、機器証明書が導入される際の処理手順について説明する。図7は、機器証明書の導入時の処理手順を説明するためのシーケンス図である。
【0042】
機器証明書操作画面510において、未導入の行に係るチェックボタン518がチェックされ、導入ボタン514が押下されると、UIサービス25の制御により証明書導入画面が表示される。証明書導入画面では、導入対象とする機器証明書が選択される。なお、導入対象とする機器証明書は、作成ボタン512の押下によって、予めCAより発行を受け、証明書情報ともに保存されている。但し、この状態では、機器証明書をアプリケーションに利用させることはできない。導入という行為により、機器証明書は、アプリケーションとの関連付けが可能となり、ひいてはアプリケーションから利用可能となる。
【0043】
証明書導入画面において導入対象とする機器証明書が指定されると、UIサービス25は、当該機器証明書及びその証明書情報の保存をエイリアスをキーとして機器証明書保管部43に要求する(S201)。機器証明書保管部43は、指定されたエイリアスに係る機器証明書の導入状態を問い合わせる(S202)。証明書状態管理部41は、当該エイリアスに係る機器証明書格納領域に対する導入状態を取得し(S203)、その結果を機器証明書保管部43に返却する(S204)。
【0044】
当該エイリアスについて機器証明書が未導入の場合、機器証明書保管部43は、導入対象とされた機器証明書及びその証明書情報を記録媒体における当該エイリアスに係る機器証明書格納領域に保存する(S205)。続いて、機器証明書保管部43は、当該エイリアスに係る機器証明書を導入済みへ変更するよう証明書状態管理部41に要求する(S206)。当該要求に応じ、証明書状態管理部41は、当該エイリアスに対する導入状態を導入済みに更新する。
【0045】
なお、ステップS204において、導入済みである旨が返却された場合、同一のエイリアスに対して複数の機器証明書は導入できないため、ステップS205以降は実行されず、UIサービス25に対してエラーが返却される。
【0046】
続いて、利用アプリ設定画面520aを介してアプリケーションと機器証明書との関連付けが要求された際の処理手順について説明する。図8は、機器証明書の関連付け時の処理手順を説明するためのシーケンス図である。
【0047】
利用アプリ設定画面520aのプルダウンリストを操作することにより、各アプリケーションに対する機器証明書のエイリアスが選択され、登録ボタン521が押下されると、UIサービス25は、画面上における設置内容に従って、アプリケーション名とエイリアスとの組を指定して、当該組に係る関連付けを証明書エイリアス管理部42に要求する(S301)。証明書エイリアス管理部42は、指定された組みに係るアプリケーション名とエイリアスとの関連付けを示す情報を記憶媒体に保存する(S302)。
【0048】
続いて、アプリケーションによって機器証明書が利用される際の処理手順について説明する。図9は、機器証明書利用時の処理手順を説明するためのシーケンス図である。
【0049】
アプリケーション51は、機器証明書の利用が必要となると、自らの識別情報(アプリケーション名)を指定して、自らに関連付けられている機器証明書のエイリアスをエイリアス管理部42に問い合わせる(S401)。エイリアス管理部42は、記録媒体に記録されている情報(図8のステップS302において保存された情報)に基づいて、指定されたアプリケーション名に関連付けられているエイリアスを取得し(S403)、当該エイリアスをアプリケーション51に返却する(S404)。
【0050】
続いて、アプリケーション51は、取得されたエイリアス名を指定して機器証明書の取得を機器証明書保管部43に要求する(S405)。機器証明書保管部43は、エイリアス名を指定して機器証明書の導入状態を証明書状態管理部41に問い合わせる(S406)。証明書状態管理部41は、当該エイリアスに係る機器証明書格納領域に対する導入状態を取得し(S407)、その結果を機器証明書保管部43に返却する(S408)。
【0051】
機器証明書が導入済みであった場合、機器証明書保管部43は、記憶媒体における、当該エイリアスに係る機器証明書格納領域より機器証明書を取得し(S409、S410)、
取得された機器証明書をアプリケーション51に返却する(S411)。その後、機器証明書を取得したアプリケーション51は、機器証明書を用いて通信等を実行する。
【0052】
ところで、図5に示される利用アプリ設定画面520aでは、一つのアプリケーションに対して一つの機器証明書しか関連付けることができない。そこで、利用アプリ設定画面を次のように構成してもよい。
【0053】
図10は、第二の利用アプリ設定画面の表示例を示す図である。同図に示される利用アプリ設定画面520bでは、各機器証明書について、アプリケーションごとに当該証明書の利用の可否(又は要否)を設定させるためのチェックボタンが配置されている。斯かる構成によれば、各アプリケーションについて複数の機器証明書を利用対象として設定することができる。例えば、図中においても「SSL/TLS」について、証明書1及び証明書3が利用対象として設定されている。
【0054】
また、図11は、第三の利用アプリ設定画面の表示例を示す図である。同図における利用アプリ設定画面530cでは、アプリケーションごとに利用を推奨する機器証明書が◎によって示されている。いずれの機器証明書を推奨するかについては、例えば、アプリケーションのインストール時に設定するようにし、当該設定に基づいて◎を表示させてもよい。斯かる構成によれば、ユーザが設定を行う際に判断基準を提供することができる。なお、推奨する機器証明書と異なる機器証明書が選択(チェック)された場合、次のような画面を表示させてもよい。
【0055】
図12は、証明書選択確認画面の表示例を示す図である。同図に示されるように、証明書選択確認画面530には、S/MIMEには、「証明書1」が推奨されている旨のメッセージが表示されている。当該メッセージによって、推奨されている機器証明書と異なるものが選択された場合に、注意を喚起することができる。なお、利用アプリ設定画面520a〜520c等において、未導入の機器証明書(機器証明書格納領域)とアプリケーションとの関連付けを行うようにしてもよい。この場合、関連付けの後に機器証明書を導入することになるが、斯かる設定を可能とすることで、導入及び関連付けの一連の操作について柔軟性を持たせることができる。
【0056】
上述したように、本実施の形態における複合機1によれば、証明書状態管理部41、証明書エイリアス管理部42、及び機器証明書保管部43等によって、複数のアプリケーションが利用する機器証明書が一元的に管理されるまた、証明書エイリアス管理部42によって、アプリケーションと機器証明書との関連付けが管理される。
【0057】
したがって、機器証明書の冗長な管理を回避することができる。また、アプリケーションの任意によって機器証明書を選択することはできず、関連付けられた機器証明書を強制的に利用させることができるため、セキュリティを向上させることができる。
【0058】
なお、例えば、機器証明書操作画面510等においてエイリアスを変更可能としてもよい。
【0059】
次に、複合機1におけるCA証明書の取り扱いについて説明する。CA証明書に関する情報は、JVM1201のプロパティ値として管理される。各アプリケーションは、JVM1201に問い合わせることで、当該プロパティ値を入手することができる。
【0060】
図13は、JVMにおけるプロパティを概念的に示す図である。同図に示されるように、例えば、SSL暗号Suitesプロパティp1、CA証明書アクセス用パスワードプロパティp2、及びCA証明書保存位置プロパティp3等の値がプロパティ値として設定される。SSL暗号Suitesプロパティp1の値は、SSL(Secure Socket Layer)通信をする際の暗号化の種類(方式)の推奨値を示す。CA証明書アクセス用パスワードプロパティp2の値は、CA証明書にアクセスするために要求されるパスワードを示す。CA証明書保存位置プロパティp3の値は、CA証明書の保存位置を示す。なお、プロパティ値の設定は、「setProperty()」メソッドによって行うことができる。プロパティ値の取得は、「getProperty()」メソッドによって行うことができる
プロパティ値の取り扱い(JVM1201への設定等)は、Java(登録商標)暗号化拡張機能(JCE(Java(登録商標) Cryptography Extension))のプロバイダにおいて実装すればよい。図14は、JCEのプロバイダを示す図である。同図においてJ2ME102内に示されるJCEは、Java(登録商標)標準の拡張機能であり、予め定められたインタフェースに対する実装を任意に拡張するための手段を提供する。拡張された実装はプロバイダと呼ばれる。本実施の形態では、プロバイダ107に、上記のプロパティ値の取り扱いを実装した例を説明する。
【0061】
図15は、プロパティ値の設定及び参照の処理手順を説明するためのシーケンス図である。
【0062】
或るプログラムモジュールがJCE1022を介して暗号機能に関する呼び出しを行うと(S501)、当該呼び出しはプロバイダ107に委譲される(S502)。プロバイダ107は、当該呼び出しに応じ、例えば、プロパティp1、p2、及びp3の値をJVM1021に対して設定する(S503)。
【0063】
続いて、或るプログラムモジュール(ステップS501に係るプログラムモジュールと同一でなくてよい)が、JVM1021に対してプロパティp1、p2、又はp3の値の参照を要求すると(S504)、JVM1021は、当該プロパティに設定されている値を返却する(S505)。
【0064】
このように、プロパティ値の設定をプロバイダに行わせることで、上位のプログラムモジュールにプロパティ値の設定を意識させることなく、暗号機能に関する呼び出しが行われたときに、プロパティ値を設定することができる。なお、ステップS501の呼び出しは、JVM1021の起動時においても行われる。したがって、少なくとも、アプリケーション51等によって参照が要求されるまでに、各プロパティ値は設定されている。
【0065】
例えば、図16は、SSL暗号通信時の処理手順を説明するためのシーケンス図である。
【0066】
或るアプリケーション51が、JCE1022を介してSSL暗号通信機能を呼び出すと(S601)、当該呼び出しはプロバイダ107に委譲される(S602)。プロバイダ107は、当該呼び出しに応じ、SSL暗号Suitesプロパティp1の値をJVM1021に対して設定する(S603)。続いて、JCE1022は、JVM1021よりSSL暗号Suitesプロパティp1の値を取得し(S604、S605)、当該値に指定された暗号方式によってSSL通信を可能な状態とする(S606)。
【0067】
なお、JSSE(Java(登録商標) Secure Socket Extension)を介してSSL暗号通信が要求された場合、JSSEにおいては、CA証明書保存位置プロパティp3やSSL暗号Suitesプロパティp1等の値が利用される。したがって、上位アプリケーションの任意の暗号化方式によって通信が行われることを防止することができる。よって、本実施の形態の複合機1ように、自由に(サードパーティ等によって)アプリケーションの追加が可能な構成とされている場合において、ネットワーク通信に関するセキュリティを適切に確保することができる。
【0068】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0069】
【図1】本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。
【図2】本発明の実施の形態における複合機のソフトウェア構成例を示す図である。
【図3】本発明の実施の形態における複合機のソフトウェアコンポーネントの構成例を示す図である。
【図4】機器操作画面の表示例を示す図である。
【図5】利用アプリ設定画面の表示例を示す図である。
【図6】各画面の作成に必要な情報の収集処理を説明するためのシーケンス図である。
【図7】機器証明書の導入時の処理手順を説明するためのシーケンス図である。
【図8】機器証明書の関連付け時の処理手順を説明するためのシーケンス図である。
【図9】機器証明書利用時の処理手順を説明するためのシーケンス図である。
【図10】第二の利用アプリ設定画面の表示例を示す図である。
【図11】第三の利用アプリ設定画面の表示例を示す図である。
【図12】証明書選択確認画面の表示例を示す図である。
【図13】JVMにおけるプロパティを概念的に示す図である。
【図14】JCEのプロバイダを示す図である。
【図15】プロパティ値の設定及び参照の処理手順を説明するためのシーケンス図である。
【図16】SSL暗号通信開始時の処理手順を説明するためのシーケンス図である。
【符号の説明】
【0070】
1 複合機
10 アプリケーションメカニズム
11 プリンタアプリ
12 PCFAXアプリ
13 文書保管アプリ
20 サービスメカニズム
21 スキャンサービス
22 プロッタサービス
23 保管文書サービス
24 ユーザリポジトリサービス
25 UIサービス
26 メモリサービス
27 通信サービス
30 デバイスメカニズム
40 アスペクトレイヤ
41 証明書状態管理部
42 証明書エイリアス管理部
43 機器証明書保管部
44 CA証明書保管部
101 OS
102 J2ME
103 OSGiフレームワーク
104 バンドル
105 ネイティブコード
271 印刷サーバ
272 メール受信サーバ
273 FAXサーバ
274 HTTPサーバ
275 メール転送クライアント
276 FAX通信クライアント
277 ファイル転送クライアント
601 コントローラ
602 オペレーションパネル
603 ファクシミリコントロールユニット
604 撮像部
605 印刷部
611 CPU
612 ASIC
621 NB
622 SB
631 MEM−P
632 MEM−C
633 HDD
634 メモリカードスロット
635 メモリカード
641 NIC
642 USBデバイス
643 IEEE1394デバイス
644 セントロニクスデバイス
1021 JVM

【特許請求の範囲】
【請求項1】
デジタル証明書を用いて通信を行う複数のアプリケーションを有する情報処理装置であって、
前記複数のアプリケーションのそれぞれについてデジタル証明書との関連付けを管理する管理手段を有し
前記アプリケーションは、前記管理手段において関連付けられているデジタル証明書を利用することを特徴とする情報処理装置。
【請求項2】
前記アプリケーションと前記デジタル証明書との関連付けを設定させる設定画面を介して前記関連付けの設定を受け付け、設定された関連付けを前記管理手段に登録する設定受け付け手段を有することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記設定受け付け手段は、前記設定画面において、前記デジタル証明書を格納するための記憶領域と前記アプリケーションとの関連付けを設定させることを特徴とする請求項2記載の情報処理装置。
【請求項4】
前記管理手段は、前記記憶領域に対する識別名と前記アプリケーションの識別名との関連付けを管理することを特徴とする請求項3記載の情報処理装置。
【請求項5】
デジタル証明書を用いて通信を行う複数のアプリケーションを有する情報処理装置が実行する証明書管理方法であって、
前記複数のアプリケーションのそれぞれについてデジタル証明書との関連付けを記憶媒体に記録する記録手順と、
前記アプリケーションが、前記記憶媒体において関連付けられているデジタル証明書を利用する証明書利用手順とを有することを特徴とする証明書管理方法。
【請求項6】
前記アプリケーションと前記デジタル証明書との関連付けを設定させる設定画面を介して前記関連付けの設定を受け付ける設定受け付け手順を有し、
前記記録手順は、前記設定受け付け手順において受け付けられた設定に係る関連付けを前記記録媒体に記録することを特徴とする請求項5記載の証明書管理方法。
【請求項7】
前記設定受け付け手順は、前記設定画面において、前記デジタル証明書を格納するための記憶領域と前記アプリケーションとの関連付けを設定させることを特徴とする請求項6記載の証明書管理方法。
【請求項8】
前記記録手順は、前記記憶領域に対する識別名と前記アプリケーションの識別名との関連付けを記録することを特徴とする請求項7記載の証明書管理方法。
【請求項9】
デジタル証明書を用いて通信を行う複数のアプリケーションを有する情報処理装置に、
前記複数のアプリケーションのそれぞれについてデジタル証明書との関連付けを記憶媒体に記録する記録手順と、
前記アプリケーションが、前記記憶媒体において関連付けられているデジタル証明書を利用する証明書利用手順とを実行させるための証明書管理プログラム。
【請求項10】
前記アプリケーションと前記デジタル証明書との関連付けを設定させる設定画面を介して前記関連付けの設定を受け付ける設定受け付け手順を有し、
前記記録手順は、前記設定受け付け手順において受け付けられた設定に係る関連付けを前記記録媒体に記録することを特徴とする請求項9記載の証明書管理プログラム。
【請求項11】
前記設定受け付け手順は、前記設定画面において、前記デジタル証明書を格納するための記憶領域と前記アプリケーションとの関連付けを設定させることを特徴とする請求項10記載の証明書管理プログラム。
【請求項12】
前記記録手順は、前記記憶領域に対する識別名と前記アプリケーションの識別名との関連付けを記録することを特徴とする請求項11記載の証明書管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2009−159053(P2009−159053A)
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願番号】特願2007−332257(P2007−332257)
【出願日】平成19年12月25日(2007.12.25)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】