(57)【要約】【課題】ＳＳＬ通信に利用される証明書及び秘密鍵の管理を適切に行うことのできる画像形成装置、情報管理方法、及びプログラムの提供を目的とする。【解決手段】画像形成装置であって、当該画像形成装置に固有の暗号鍵を記憶したセキュアな記憶手段と、ＳＳＬ通信に利用されるクライアント証明書及び秘密鍵の入力を受け付ける入力受付手段と、入力された前記クライアント証明書及び秘密鍵を前記固有の暗号鍵によって暗号化し、証明書記憶手段に記憶させる証明書管理手段とを有する。【選択図】図６
2010217604.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置であって、
当該画像形成装置に固有の暗号鍵を記憶したセキュアな記憶手段と、
ＳＳＬ通信に利用されるクライアント証明書及び秘密鍵の入力を受け付ける入力受付手段と、
入力された前記クライアント証明書及び秘密鍵を前記固有の暗号鍵によって暗号化し、証明書記憶手段に記憶させる証明書管理手段とを有する画像形成装置。
【請求項２】
ＳＳＬ通信を実行する通信制御手段を有し、
前記証明書管理手段は、前記通信制御手段からの要求に応じ、前記クライアント証明書及び秘密鍵を前記証明書記憶手段より取得し、該クライアント証明書及び秘密鍵を前記固有の暗号鍵によって復号する請求項１記載の画像形成装置。
【請求項３】
前証クライアント証明書と同一のデータ構造を有し、前記ＳＳＬ通信に利用される付随情報を含む情報保管用証明書を生成する情報保管用証明書生成手段を有し、
前記証明書管理手段は、前記情報保管用証明書を前記固有の暗号鍵によって暗号化し、前記クライアント証明書に関連付けて前記証明書記憶手段に記憶させ、前記通信制御手段からの要求に応じ、前記クライアント証明書に関連付けられている前記情報保管用証明書を前記証明書記憶手段より取得し、前記固有の暗号鍵によって復号する請求項２記載の画像形成装置。
【請求項４】
画像形成装置が実行する情報管理方法であって、
ＳＳＬ通信に利用されるクライアント証明書及び秘密鍵の入力を受け付ける入力受付手順と、
入力された前記クライアント証明書及び秘密鍵を、セキュアな記憶手段に記憶された当該画像形成装置に固有の暗号鍵によって暗号化し、証明書記憶手段に記憶させる証明書保存手順とを有する情報管理方法。
【請求項５】
前記クライアント証明書及び秘密鍵を前記証明書記憶手段より取得し、該クライアント証明書及び秘密鍵を前記固有の暗号鍵によって復号する証明書取得手順と、
取得された前記クライアント証明書及び秘密鍵を利用してＳＳＬ通信を実行する通信手順とを有する請求項４記載の情報管理方法。
【請求項６】
前証クライアント証明書と同一のデータ構造を有し、前記ＳＳＬ通信に利用される付随情報を含む情報保管用証明書を生成する情報保管用証明書生成手順を有し、
前記証明書保存手順は、前記情報保管用証明書を前記固有の暗号鍵によって暗号化し、前記クライアント証明書に関連付けて前記証明書記憶手段に記憶させ、
前記証明書取得手順は、前記クライアント証明書に関連付けられている前記情報保管用証明書を前記証明書記憶手段より取得し、前記固有の暗号鍵によって復号する請求項５記載の情報管理方法。
【請求項７】
画像形成装置に、
ＳＳＬ通信に利用されるクライアント証明書及び秘密鍵の入力を受け付ける入力受付手順と、
入力された前記クライアント証明書及び秘密鍵を、セキュアな記憶手段に記憶された当該画像形成装置に固有の暗号鍵によって暗号化し、証明書記憶手段に記憶させる証明書保存手順とを実行させるためのプログラム。
【請求項８】
前記クライアント証明書及び秘密鍵を前記証明書記憶手段より取得し、該クライアント証明書及び秘密鍵を前記固有の暗号鍵によって復号する証明書取得手順と、
取得された前記クライアント証明書及び秘密鍵を利用してＳＳＬ通信を実行する通信手順とを有する請求項７記載のプログラム。
【請求項９】
前証クライアント証明書と同一のデータ構造を有し、前記ＳＳＬ通信に利用される付随情報を含む情報保管用証明書を生成する情報保管用証明書生成手順を有し、
前記証明書保存手順は、前記情報保管用証明書を前記固有の暗号鍵によって暗号化し、前記クライアント証明書に関連付けて前記証明書記憶手段に記憶させ、
前記証明書取得手順は、前記クライアント証明書に関連付けられている前記情報保管用証明書を前記証明書記憶手段より取得し、前記固有の暗号鍵によって復号する請求項８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報管理方法、及びプログラムに関し、特にＳＳＬ通信に関する証明書等を利用する画像形成装置、情報管理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年の画像形成装置は高機能化し、ネットワークを介して接続されているコンピュータと連携して各種のサービスの提供が可能となっている。ネットワークを介したコンピュータとの連携において通信の安全性の確保は重要な課題である。そこで、画像形成装置が行う通信に関しても、暗号化技術を利用したセキュアな通信が必要とされている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
セキュアな通信技術の一つとして、ＳＳＬ（Secure Socket Layer）が存在する。ＳＳＬでは、公開鍵を含む証明書と、当該公開鍵と対をなす秘密鍵とが利用される。すなわち、送信側は、公開鍵によって情報を暗号化して送信し、受信側は、秘密鍵によって当該情報を復号する。したがって、通信経路において情報の漏洩等が防止される。
【０００４】
そうすると、ＳＳＬ通信において証明書及び秘密鍵の管理が非常に重要となる。すなわち、証明書及び秘密鍵が盗まれた場合、他者による成りすましや、通信情報の盗聴等が容易となってしまう。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、ＳＳＬ通信に利用される証明書及び秘密鍵の管理を適切に行うことのできる画像形成装置、情報管理方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、画像形成装置であって、当該画像形成装置に固有の暗号鍵を記憶したセキュアな記憶手段と、ＳＳＬ通信に利用されるクライアント証明書及び秘密鍵の入力を受け付ける入力受付手段と、入力された前記クライアント証明書及び秘密鍵を前記固有の暗号鍵によって暗号化し、証明書記憶手段に記憶させる証明書管理手段とを有する。
【０００７】
このような画像形成装置では、ＳＳＬ通信に利用される証明書及び秘密鍵の管理を適切に行うことができる。
【発明の効果】
【０００８】
ＳＳＬ通信に利用される証明書及び秘密鍵の管理を適切に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。
【図３】情報保管用証明書のデータ構造例を説明するための図である。
【図４】本実施の形態における証明書及び秘密鍵に関するデーターフローを説明するための図である。
【図５】証明書管理部の構成例を説明するための図である。
【図６】本発明の実施の形態におけるシステムの構成例を示す図である。
【図７】情報保管用証明書の生成処理の処理手順を説明するためのシーケンス図である。
【図８】証明書及び秘密鍵の保存形態の例を示す図である。
【図９】証明書及び秘密鍵の利用時の処理手順を説明するためのシーケンス図である。
【図１０】証明書管理部による証明書又は秘密鍵の保存処理又は読み出し処理の処理手順を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図１において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、操作パネル１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００１１】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、ＨＤＤ１１４、及びＴＰＭ（Trusted Platform Module）１１５等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記録される。ＴＰＭ１１５は、セキュアな記憶手段の一例であり、セキュリティチップとも呼ばれる。ＴＰＭ１１５は、各画像形成装置１０に対して固有のものであり、画像形成装置１０より取り外されてしまうと画像形成装置１０の起動はできなくなる。また、ＴＰＭ１１５を取り外して他の画像形成装置１０又はコンピュータによってＴＰＭ１１５の内容を読み込むことはできない。本実施の形態において、ＴＰＭ１１５は、暗号鍵を生成し格納する。暗号鍵は、画像形成装置１０がＳＳＬ（Secure Socket Layer）通信に利用するクライアント証明書（電子証明書）及び秘密鍵の暗号化及び復号に利用される。暗号鍵は、画像形成装置１０ごとに固有のＴＰＭ１１５によって生成されるため、画像形成装置１０ごとに異なるもの（固有のもの）となる。なお、ＳＳＬ通信に利用する秘密鍵と、ＴＰＭ１１５に保存されている暗号鍵との混同を避けるため、以下において後者の暗号鍵を「機器固有鍵」という。
【００１２】
スキャナ１２は、原稿より画像データを読み取るためのハードウェアである。プリンタは１３、画像データを印刷用紙に印刷するためのハードウェアである。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル１５は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記録されたプログラムだけでなく、ＳＤカード８０に記録されたプログラムもＲＡＭ１１２にロードされ、実行されうる。
【００１３】
図２は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図に示されるように、画像形成装置１０は、ＶＭ１２１ａ、１２１ｂ、及び１２１ｃ（以下、それぞれを区別しないで称する場合「ＶＭ１２１」という。）の三つのＪａｖａ（登録商標）ＶＭ（Virtual Machine：仮想マシン）を有する。ＶＭ１２１は、Ｊａｖａ（登録商標）に固有のバイトコードの形式によるプログラムをネイティブコードに変換してＣＰＵ１１１に実行させる。但し、画像形成装置１０は、複数のＶＭ１２１を有していなくてもよく、少なくとも一つのＶＭ１２１を有していればよい。
【００１４】
各ＶＭ１２１において動作するソフトウェアコンポーネント（以下、単に「コンポーネント」という。）は、アプリケーションメカニズム１３１、サービスメカニズム１３２、デバイスメカニズム１３３、及びアスペクトレイヤ１３４等の論理的な層に分類されて実装される。
【００１５】
アプリケーションメカニズム１３１には、基本的にユーザから認識される単位におけるサービス（例えばコピー、印刷等）を提供するための処理を実行するコンポーネントが属する。同図では、ＶＭ１２１ａ上で動作するコンポーネントＡがアプリケーションメカニズム１３１に属するコンポーネントとして例示されている。
【００１６】
サービスメカニズム１３２には、アプリケーションメカニズム１３１に属する複数のコンポーネントから（共通的に）利用される、よりプリミティブな機能を実現するコンポーネントが属する。同図では、ＶＭ１２１ｂ上で動作するコンポーネントＢがサービスメカニズム１３２に属するコンポーネントとして例示されている。
【００１７】
デバイスメカニズム１３３には、画像形成装置１０のハードウェアを制御するコンポーネントが属する。同図では、ＶＭ１２１ａ上で動作するコンポーネントＣがデバイスメカニズム１３３に属するコンポーネントとして例示されている。
【００１８】
アスペクトレイヤ１３４は、アプリケーションメカニズム１３１、サービスメカニズム１３２、及びデバイスメカニズム１３３に属するコンポーネントより共通的に利用される機能を有する。同図において、アスペクトレイヤ１３４は、情報保管用証明書生成部１４０及び証明書管理部１５０等を含む。
【００１９】
情報保管用証明書生成部１４０は、情報保管用証明書を生成する。本実施の形態において、情報保管用証明書は、ＳＳＬ通信に利用されるクライアント証明書を利用する際に必要となる情報（すなわち、ＳＳＬ通信において利用される情報。以下「付随情報」という。）を保管（格納）するための電子証明書であり、そのデータ構造は、クライアント証明書と同様である。例えば、本実施の形態においてクライアント証明書が公開鍵証明書の標準規格の一つであるＸ５０９形式に準拠する場合、情報保管用証明書は、Ｘ５０９形式に準拠する。情報保管証明書をクライアント証明書と同様に扱えるようにするためのである。
【００２０】
図３は、情報保管用証明書のデータ構造例を説明するための図である。同図では、Ｘ５０９形式に準拠した構造が示されている。Ｘ５０９形式の証明書は、ｖｅｒｓｉｏｎ（Ｘ５０９のバージョン）、ｓｅｒｉａｌＮｕｍｂｅｒ（シリアル番号）、ｓｉｇｎａｔｕｒｅ（証明書の署名方式）、ｉｓｓｕｅｒ（証明書の発行者である認証局の識別名）、ｖａｌｉｄｉｔｙ（公開鍵の有効期限（開始日時と終了日時））、ｓｕｂｊｅｃｔ（証明書内に含まれる公開鍵に対応する秘密鍵の所有者の識別名）、ｓｕｂｊｅｃｔＰｕｂｌｉｃＫｅｙＩｎｆｏ（証明書の公開鍵）、ｉｓｓｕｅｒＵｎｉｑｕｅＩｄｅｎｔｉｆｉｅｒ（認証局の固有識別子）、ｓｕｂｊｅｃｔＵｎｉｑｕｅＩｄｅｎｔｉｆｉｅｒ（所有者の固有識別子）、及びｅｘｔｅｎｓｉｏｎｓ（拡張用フィールド）等の項目より構成される。
【００２１】
これらの項目の中で、ｉｓｓｕｒｅ及びｓｕｂｊｅｃｔについては、記載内容に関する自由度が高い。そこで、本実施の形態では、情報保管用証明書のｉｓｓｕｒｅ内に付随情報を格納させる。本証明書は自己署名により生成されるため、ｓｕｂｊｅｃｔ内にも同一の付随情報が格納される。そのため、ｓｕｂｊｅｃｔ内にも同一の付随情報を利用してもよい。
【００２２】
同図には、付随情報の一例として、ＩＰ、ＵＳＥＲ、ＰＡＳＳ、ＰＡＴＨ等が示されている。ＩＰは、クライアント証明書を利用したＳＳＬ通信における通信相手（例えば、ＳＳＬサーバ）のＩＰアドレスである。ＵＳＥＲ及びＰＡＳＳは、通信相手において管理されているリソースに対してアクセスするために要求されるユーザ名及びパスワードである。ＰＡＴＨは、通信相手において管理されているリソースのパス名である。
【００２３】
なお、当該情報の構成は一例に過ぎない。当該情報の構成は、クライアント証明書の用途に応じて適宜定義可能である。
【００２４】
証明書管理部１５０は、ＨＤＤ１１４を利用して証明書及び秘密鍵の管理を行う。証明書及び秘密鍵の管理において、証明書管理部１５０は、ＴＰＭ１１５に保存されている機器固有鍵を利用して証明書及び秘密鍵の暗号化及び復号を行う。なお、クライアント証明書及び情報保管用証明書の他にＣＡ（Certificate Authority）証明書が管理されていてもよい。本実施の形態において単に「証明書」というとき、少なくともクライアント証明書及び情報保管用証明書を含み、ＣＡ証明書が含まれてもよい。
【００２５】
図４は、本実施の形態における証明書及び秘密鍵に関するデーターフローを説明するための図である。
【００２６】
同図において、証明書及び秘密鍵は、ＵＩ（User Interface）コンポーネント１３７によって入力（インポート）される（但し、情報保管用証明書については、情報保管用証明書生成部１４０によって生成される）。ＵＩコンポーネント１３７は、図２における各種コンポーネントの具体例であり、ローカル環境又はリモート環境の別を問わず、ユーザとのインタフェースを制御するコンポーネントである。したがって、ＵＩコンポーネント１３７によって入力される証明書及び秘密鍵は、操作パネル１５を介して入力されてもよいし、画像形成装置１０ネットワークを介して接続されたコンピュータより入力されるものであってもよい。または、ＳＤカード８０等の可搬性の有る記録媒体より入力されるものであってもよい。
【００２７】
ＵＩコンポーネント１３７より入力された証明書及び秘密鍵は、証明書管理部１５０によって暗号化されてＨＤＤ１１４に保存される。暗号化において、証明書管理部１５０は、ＴＰＭ１１５に保存されている機器固有鍵を利用する。
【００２８】
同図において、ＳＳＬサーバ１３５及びＳＳＬクライアント１３６は、図２における各種コンポーネントの具体例である。ＳＳＬサーバ１３５は、ＳＳＬ通信においてサーバとして機能するコンポーネントである。ＳＳＬクライアントは、ＳＳＬ通信においてクライアントとして機能するコンポーネントである。ＳＳＬサーバ１３５及びＳＳＬクライアント１３６は、図４において、証明書及び秘密鍵の利用者に相当する。
【００２９】
証明書管理部１５０は、ＳＳＬサーバ１３５又はＳＳＬクライアント１３６より証明書及び秘密鍵の取得要求を受け付けると、ＨＤＤ１１４に保存されている証明書及び秘密鍵を機器固有鍵によって復号し、ＳＳＬサーバ１３５又はＳＳＬクライアント１３６に出力する。なお、同図では、証明書及び秘密鍵の保存場所としてＨＤＤ１１４が利用されているが、当該保存場所はＨＤＤ１１４に限定されない。他のストレージであってもよい。
【００３０】
続いて、証明書管理部の構成について説明する。図５は、証明書管理部の構成例を説明するための図である。
【００３１】
同図において、証明書管理部１５０は、ＫｅｙＳｔｏｒｅクラス１５１、ＫｅｙＳｏｔｒｅＳＰＩ１５２、証明書管理プロバイダ１５３、ＪＮＩライブラリ１５４、及び証明書アクセスライブラリ１５５等を含む。
【００３２】
ＫｅｙＳｔｏｒｅクラス１５１は、ＪＣＥ（Java（登録商標） Cryptography Extension）：Ｊａｖａ（登録商標）暗号化拡張機能）のＳＰＩ（Service Provider Interface）において証明書及び暗号鍵の管理に関するフレームワークとしてのクラスであり、当該管理に関する実装も備える。本実施の形態において、証明書管理部１５０を利用する各コンポーネントからはＫｅｙＳｔｏｒｅクラス１５１のインタフェースが見える。すなわち、証明書管理部１５０は、ＫｅｙＳｔｏｒｅクラス１５１が備えるメソッドを介して利用される。
【００３３】
ＫｅｙＳｔｏｒｅＳＰＩ１５２は、ＫｅｙＳｔｏｒｅクラス１５１に関するＪＣＥ  ＳＰＩ（Service Provider Interface）である。すなわち、ＫｅｙＳｔｏｒｅＳＰＩ１５２は、ＫｅｙＳｔｏｒｅクラス１５１の拡張点として位置付けられる。具体的には、ＫｅｙＳｔｏｒｅクラス１５１は、ＫｅｙＳｔｏｒｅＳＰＩ１５２において規定されるインタフェースを備えた実装によって拡張されうる。斯かるインタフェースを備えた実装はプロバイダと呼ばれる。
【００３４】
証明書管理プロバイダ１５３は、ＫｅｙＳｔｏｒｅクラス１５１に対するプロバイダである。すなわち、証明書管理プロバイダ１５３は、ＫｅｙＳｔｏｒｅＳＰＩ１５２に準拠したインタフェースを備え、ＫｅｙＳｔｏｒｅクラス１５１のメソッドの呼び出しに応じて透過的に呼び出される。証明書管理プロバイダ１５３は、呼び出しに応じ、証明書及び秘密鍵の管理に関して本実施の形態における独自の機能を実現するための処理を実行する。
【００３５】
証明書アクセスライブラリ１５５は、証明書及び秘密鍵に関するＨＤＤ１１４への書き込み（保存）機能及びＨＤＤ１１４からの読み出し機能を実行する。証明書アクセスライブラリ５５は、また、当該書き込み機能及び当該読み出し機能において、ＴＰＭ１１５に保存されている機器固有鍵を利用した暗号化又は復号を実行する。
【００３６】
なお、証明書アクセスライブラリ１５５は、Ｃ言語等によって記述された後、コンパイル及びリンク等を経てマシン語に変換されたネイティブ（Ｎａｔｉｖｅ）コードによるライブラリである。すなわち、Ｊａｖａ（登録商標）コードではＴＰＭ１１５等へのアクセスは不可能であるため、証明書及び秘密鍵の書き込み機能及び読み出し機能は、ネイティブコードによって実装されているのである。
【００３７】
ＪＮＩライブラリ１５４は、Ｊａｖａ（登録商標）コードである証明書管理プロバイダ１５３によるネイティブコードである証明書アクセスライブラリ１５５の利用を可能とするための、いわゆるＪＮＩ（Java（登録商標） Native Interface）である。
【００３８】
すなわち、証明書管理プロバイダ１５３が実行する、本実施の形態における独自の機能実現するための処理とは、証明書アクセスライブラリ１５５を利用して証明書及び秘密鍵の管理を行うための処理である。
【００３９】
本実施の形態では、以上のようなソフトウェア構成を有する画像形成装置１０を図６に示されるようなシステムに適用した例について説明する。
【００４０】
図６は、本発明の実施の形態におけるシステムの構成例を示す図である。同図において、画像形成装置１０は、ＳＳＬサーバ装置２０ａ及び２０ｂ等、一台以上のＳＳＬサーバ装置２０とＬＡＮ（Local Area Network）又はインターネット等のネットワークを介して接続されている。
【００４１】
各ＳＳＬサーバ装置２０は、ＳＳＬ（Secure Socket Layer）通信においてサーバとして機能するコンピュータであり、画像形成装置１０に対して所定のサービス（例えば、Ｗｅｂコンテンツの提供）を提供する。
【００４２】
画像形成装置１０において、ＳＳＬサーバ装置２０と通信を行うコンポーネントは、ｈｔｔｐｓクライアント１３６ａである。ｈｔｔｐｓクライアント１３６ａは、図２における各種コンポーネントの一つであり、図４におけるＳＳＬクライアント１３６の一例である。ｈｔｔｐｓクラアイント１３６ａは、ＳＳＬサーバ装置２０とのＳＳＬ通信に際し、証明書管理部１３６ａより証明書及び秘密鍵を取得する。
【００４３】
ＵＩコンポーネント１３７は、操作パネル１５又はネットワークを介して接続されるコンピュータにおいて表示されている表示画面等におけるユーザによる指示入力に応じ、情報保管用証明書生成部１４０に情報保管用証明書の生成を要求する。ＵＩコンポーネント１３７は、生成された情報保管用証明書の管理を証明書管理部１５０に要求する。
【００４４】
以下、図６のシステム構成における画像形成装置１０の処理手順について説明する。図７は、情報保管用証明書の生成処理の処理手順を説明するためのシーケンス図である。
【００４５】
ステップＳ１０１〜Ｓ１０４において、ＵＩコンポーネント１３７は、操作パネル１５等を介してユーザより入力される、情報保管用証明書に保管させる付随情報を情報保管用証明書生成部１４０に通知する。図７では、接続先のＳＳＬサーバ２０のＩＰアドレス（Ｓ１０１）、接続時の認証において要求されるユーザ名及びパスワード（Ｓ１０２、Ｓ１０３）、及びその他の設定情報（Ｓ１０４）が通知される例が示されている。続いて、ＵＩコンポーネント１３７は、情報保管用証明書の生成を情報保管用証明書生成部１４０に要求する（Ｓ１０５）。なお、ステップＳ１０１〜Ｓ１０５は、一つのステップによって実行されてもよい。すなわち、情報保管証明書の生成要求の引数として、ステップＳ１０１〜Ｓ１０４において通知された情報が通知されてもよい。
【００４６】
続いて、情報保管用証明書生成部１４０は、ステップＳ１０５〜Ｓ１０４において通知された情報をｉｓｓｕｒｅに含む自己署名証明書を情報保管用証明書（図３参照）として生成し、生成された情報保管用証明書をＵＩコンポーネント１３７に出力する（Ｓ１０６）。
【００４７】
続いて、ＵＩコンポーネント１３７は、生成された情報保管用証明書に対応するクライアント証明書及び秘密鍵等の入力を操作パネル１５、ネットワーク、又はＳＤカード８０等を介して受け付ける（Ｓ１０７）。なお、ステップＳ１０７は、ステップＳ１０１の前に実行されてもよい。また、クライアント証明書及び秘密鍵は、図７の処理とは非同期に予め導入され、証明書管理部１５０によって管理されていてもよい。この場合、ステップＳ１０７では、証明書管理部１５０に既に管理されているクライアント証明書のエイリアスの一覧を操作パネル１５等に表示させ、当該一覧の中から情報保管用証明書に対応するクライアント証明書を選択させるようにしてもよい。なお、エイリアス（ａｌｉａｓ）とは、証明書を管理するために証明書ごとに付与される識別名である。
【００４８】
続いて、ＵＩコンポーネント１３７は、情報保管用証明書、クライアント証明書、及び秘密鍵等の保存（ストレージへの書き込み）を証明書管理部１５０に要求する（Ｓ１０８）。当該要求は、ＫｅｙＳｔｏｒｅクラス１５１が提供するインタフェース（メソッド）を利用して行われる。なお、保存要求に応じてエイリアスが指定される。クライアント証明書を新規に保存する場合、エイリアスは例えばユーザによって入力される。
【００４９】
続いて、証明書管理部１５０は、指定されたエイリアスに関連付けて、情報保管用証明書、クライアント証明書、及び秘密鍵等をＨＤＤ１１４に保存する（記憶させる）（Ｓ１０９）。保存処理の際に、証明書管理部１５０は、ＴＰＭ１１５に保存されている機器固有鍵を利用して情報保管用証明書、クライアント証明書、及び秘密鍵等を暗号化する。
【００５０】
なお、ステップＳ１０７では、ＣＡ証明書も共に入力されてもよい。この場合、ステップＳ１０９では、ＣＡ証明書も共に保存される。
【００５１】
図８は、証明書及び秘密鍵の保存形態の例を示す図である。同図に示されるように、各秘密鍵及び証明書のセットは、セットごとに付与されるエイリアスに関連付けられ保存される。例えば、エイリアスＡに対して、秘密鍵Ａ、ＣＡ証明書Ａ、クライアント証明書Ａ、及び情報保管用証明書Ａのセットが関連付けられて保存されている。
【００５２】
また、証明書については、クライアント証明書、ＣＡ証明書、及び情報保管用証明書を要素とする証明書の配列として管理される。このように、本実施の形態において、情報保管用証明書は、対応するクライアント証明書と一体的に管理される。したがって、クライアント証明書とそれに付随する情報とを一体的に扱うことができる。なお、情報保管用証明書を、クライアント証明書と共に同じ配列内において管理することが可能なのは、情報保管用証明書がクライアント証明書と同じデータ構造を有することに起因する。
【００５３】
続いて、保存されている証明書及び秘密鍵の利用時の処理手順について説明する。図９は、証明書及び秘密鍵の利用時の処理手順を説明するためのシーケンス図である。
【００５４】
例えば、ｈｔｔｐｓクライアント１３６ａは、操作パネル１５への所定のＷｅｂページの表示要求の入力に応じ、エイリアスを指定して証明書及び秘密鍵の取得要求を証明書管理部１５０に入力する（Ｓ２０１）。当該取得要求は、ＫｅｙＳｔｏｒｅクラス１５１が提供するインタフェース（メソッド）を介して入力される。続いて、証明書管理部１５０は、指定されたエイリアスに対応する秘密鍵及び証明書の配列をＨＤＤ１１４より読み出し（取得し）、ＴＰＭ１１５に保存されている機器固有鍵を利用して当該秘密鍵及び各証明書を復号する（Ｓ２０２）。続いて、証明書管理部１５０は、復号された秘密鍵及び証明書をｈｔｔｐｓクライアント１３６ａに出力する（Ｓ２０３）。なお、ステップＳ２０１〜Ｓ２０３は、厳密には秘密鍵と証明書の配列とについて別々に実行される。
【００５５】
続いて、ｈｔｔｐｓクライアント１３６ａは、取得された証明書の配列に含まれている情報保管用証明書のｉｓｓｕｒｅに記録されている付随情報を取得する（Ｓ２０４）。続いて、ｈｔｔｐｓクライアント１３６ａは、取得された付随情報に含まれている接続先のＩＰアドレスに係るＳＳＬサーバ装置２０に対して接続要求を行う（Ｓ２０５）。続いて、ＳＳＬに基づくやり取りが行われる。すなわち、ｈｔｔｐｓクライアント１３６ａは、接続先のＳＳＬサーバ装置２０のＣＡ証明書の検証を行う（Ｓ２０６）。当該ＣＡ証明書の正当性が確認されると、ｈｔｔｐｓクライアント１３６ａは、ＳＳＬサーバ装置２０に対して自らのクライアント証明書を提示（送信）する（Ｓ２０７）。ＳＳＬに基づいて通信の安全性が確保されると、ｈｔｔｐｓクライアント１３６ａは、例えば、情報保管用証明書より取得されたユーザ名及びパスワードを指定して、保護されたコンテンツへのアクセス要求をＳＳＬサーバ装置２０に送信する（Ｓ２０８）。ＳＳＬサーバ装置２０は、当該ユーザ名及びパスワードに基づく認証に成功すると、当該コンテンツをｈｔｔｐｓクライアント１３６ａに返信する（Ｓ２０９）。
【００５６】
なお、ステップＳ２０８以降は、ｈｔｔｐｓクライアント１３６ａが実現する機能に応じて多種多様である。すなわち、当該機能において必要な情報が付随情報として情報保管用証明書に記録されていると便利である。
【００５７】
続いて、図７のステップＳ１０８又は図９のステップＳ２０３の詳細について説明する。図１０は、証明書管理部による証明書又は秘密鍵の保存処理又は読み出し処理の処理手順を説明するための図である。
【００５８】
ステップＳ３０１において、或るコンポーネントより、パスワード及びエイリアスが指定されて秘密鍵又は証明書の保存要求又は読み出し要求がＫｅｙＳｔｏｒｅクラス１５１のメソッドを介して入力される（Ｓ３０１）。ここで指定されるパスワードは、証明書等を保護するためのパスワードであり、例えば各コンポーネントに予め付与されている。また、保存要求の場合は、保存対象の秘密鍵又は証明書が指定される。ここで、情報保管用証明書は、クライアント証明書等と同じデータ構造を有する。したがって、ＫｅｙＳｔｏｒｅクラスのメソッドのインタフェース仕様に従ったデータ型の変数によってクライアント証明書を指定することができる。換言すれば、情報保管用証明書は、クライアント証明書等と同じデータ構造を有するからこそＫｅｙＳｔｏｒｅクラス１５１のメソッドの引数に指定することができる。
【００５９】
続いて、ＫｅｙＳｔｏｒｅクラス１５１は、指定されたパスワードのチェックを行う（Ｓ３０２）。正当なパスワードが指定されている場合、証明書管理プロバイダ１５３は、Ｊａｖａ（登録商標）におけるコードベースのアクセス制御機構に基づいて、要求元のコンポーネントについて証明書若しくは秘密鍵、又は証明書等の保存領域へのアクセス権限の有無を判定する（Ｓ３０３）。なお、コードベースのアクセス制御機構は、各リソースに対するアクセスをクラスごとに制御するための機構である。当該機構は、Ｊａｖａ（登録商標）の標準として提供されているものであるため、ここでの詳細な説明は省略する。
【００６０】
コードベースのアクセス制御機構に基づいて要求元のコンポーネントのアクセス権限が認められると、証明書管理プロバイダ１５３は、証明書アクセスライブラリ１５５を利用してＴＰＭ１１５より機器固有鍵を取得する（Ｓ３０４）。コンポーネントからの要求が証明書又は秘密鍵の読み出し要求である場合（呼び出されたメソッドが読み出し要求に係るものである場合）、証明書管理プロバイダ１５３は、証明書アクセスライブラリ１５５を利用して、証明書の配列又は秘密鍵をＨＤＤ１１４より取得し（Ｓ３０５）、機器固有鍵によって復号する（Ｓ３０６）。復号された証明書又は秘密鍵は、呼び出されたメソッドの戻り値として返却される。ここで、情報保管用証明書は、クライアント証明書等と同じデータ構造を有するため、ＫｅｙＳｔｏｒｅクラス１５１のインタフェース仕様に従ったデータ型による戻り値として返却されうる。
【００６１】
コンポーネントからの要求が証明書又は秘密鍵の保存要求である場合（呼び出されたメソッドが保存要求に係るものである場合）、証明書管理プロバイダ１５３は、証明書アクセスライブラリ１５５を利用して、証明書又は秘密鍵を機器固有鍵によって暗号化し（Ｓ３１５）、暗号化された証明書又は秘密鍵をＨＤＤ１１４に保存する（Ｓ３１６）。
【００６２】
上述したように、本実施の形態によれば、ＳＳＬ通信に利用されるクライアント証明書及び秘密鍵等は、ＴＰＭ１１５に保存された機器固有鍵によって暗号化されてＨＤＤ１１５に保存される。したがって、クライアント証明書及び秘密鍵等の管理に関する安全性を向上させることができる。すなわち、仮にＨＤＤ１１５よりクラアイント証明書等が盗まれたとしても、当該クライアント証明書等は機器固有鍵によって暗号化されているため解読するのは非常に困難である。そして、機器固有鍵はＴＰＭ１１５に保存されているため機器固有鍵を利用可能な状態で盗み出すのは非常に困難である。したがって、実際上、クライアント証明書及び秘密鍵等は、画像形成装置１０内においてのみ利用可能とすることができる。
【００６３】
また、本実施の形態によれば、クライアント証明書を利用したＳＳＬ通信において必要となる情報がクライアント証明書と一体的に管理される。したがって、当該クライアント証明書と付随情報との管理構成を単純化することができると共に、当該クライアント証明書の利便性を向上させることができる。
【００６４】
なお、本実施の形態の画像形成装置１０の機能を他のネットワーク機器に適用してもよい。
【００６５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６６】
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０、２０ａ、２０ｂ    ＳＳＬサーバ装置
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１１５        ＴＰＭ
１３１        アプリケーションメカニズム
１３２        サービスメカニズム
１３３        デバイスメカニズム
１３４        アスペクトレイヤ
１３５        ＳＳＬサーバ
１３６        ＳＳＬクライアント
１３７        ＵＩコンポーネント
１４０        情報保管用証明書生成部
１５０        証明書管理部
１５１        ＫｅｙＳｔｏｒｅクラス
１５２        ＫｅｙＳｏｔｒｅＳＰＩ
１５３        証明書管理プロバイダ
１５４        ＪＮＩライブラリ
１５５        証明書アクセスライブラリ
【先行技術文献】
【特許文献】
【００６７】
【特許文献１】特開２００７−２５１８４２号公報
【図１】
2010217604.tif 000003
【図２】
2010217604.tif 000004
【図３】
2010217604.tif 000005
【図４】
2010217604.tif 000006
【図５】
2010217604.tif 000007
【図６】
2010217604.tif 000008
【図７】
2010217604.tif 000009
【図８】
2010217604.tif 000010
【図９】
2010217604.tif 000011
【図１０】
2010217604.tif 000012