(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-26
(45)【発行日】2024-05-09
(54)【発明の名称】情報処理装置、情報処理装置の制御方法、及び、プログラム
(51)【国際特許分類】
H04L 9/08 20060101AFI20240430BHJP
【FI】
H04L9/08 F
(21)【出願番号】P 2022164404
(22)【出願日】2022-10-13
(62)【分割の表示】P 2018125180の分割
【原出願日】2018-06-29
【審査請求日】2022-11-09
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】角谷 直哉
【審査官】金沢 史明
(56)【参考文献】
【文献】特開2014-171265(JP,A)
【文献】特開2012-186695(JP,A)
【文献】米国特許第08949597(US,B1)
【文献】米国特許出願公開第2011/0213966(US,A1)
【文献】特開2020-005196(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
ネットワークを介して外部装置と接続可能な情報処理装置であって、
電子証明書の有効期限が所定期間以下になったことに基づき、前記外部装置に電子証明書の発行要求を送信し、前記発行要求に応じて前記外部装置から電子証明書を取得する
前記情報処理装置が有する第1の機能を有効にする第1の設定手段と、
ユーザからの電子証明書の発行要求の指示に応じて、前記外部装置に電子証明書の発行要求を送信し、前記発行要求に応じて前記外部装置から電子証明書を取得する
前記情報処理装置が有する第2の機能を有効にする第2の設定手段とを有し、
前記第1の設定手段により前記第1の機能が有効にされている
状態では、前記第2の機能を有効に
させないことを特徴とする情報処理装置。
【請求項2】
さらに、前記電子証明書の発行要求に応じて公開鍵ペアを生成し、当該公開鍵ペアに基づいて電子証明書の署名要求を生成する生成手段を有し、
前記電子証明書の発行要求は、前記電子証明書の署名要求を含むことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
さらに、前記第1の設定手段により前記第1の機能が有効にされていることに基づき、電子証明書の有効期限が所定期間以下になったことに従って、前記外部装置に電子証明書の発行要求を送信し、前記発行要求に応じて前記外部装置から電子証明書を取得する第1の取得手段を有することを特徴とする請求項
1に記載の情報処理装置。
【請求項4】
さらに、前記第2の設定手段により前記第2の機能が有効にされていることに基づき、ユーザからの電子証明書の発行要求の指示に応じて、前記外部装置に電子証明書の発行要求を送信し、前記発行要求に応じて前記外部装置から電子証明書を取得する第2の取得手段を有することを特徴とする請求項
1に記載の情報処理装置。
【請求項5】
前記第1の取得手段は、さらに、前記電子証明書の発行要求の結果を取得することを特徴とする請求項
3に記載の情報処理装置。
【請求項6】
前記第2の取得手段は、さらに、前記電子証明書の発行要求の結果を取得することを特徴とする請求項
4に記載の情報処理装置。
【請求項7】
さらに、前記第1の取得手段によって取得した前記電子証明
書を記憶する記憶手段を有することを特徴とする請求項
3に記載の情報処理装置。
【請求項8】
前記第1の設定手段により前記第1の機能が有効にされている場合、電子証明書の発行要求の送信を受け付けない画面を生成することに基づき、前記第2の機能を有効にさせないことを特徴とする請求項
1に記載の情報処理装置。
【請求項9】
ネットワークを介して外部装置と接続可能な情報処理装置における制御方法であって、
電子証明書の有効期限が所定期間以下になったことに基づき、前記外部装置に電子証明書の発行要求を送信し、前記発行要求に応じて前記外部装置から電子証明書を取得する
前記情報処理装置が有する第1の機能を有効にする第1の設定ステップと、
ユーザからの電子証明書の発行要求の指示に応じて、前記外部装置に電子証明書の発行要求を送信し、前記発行要求に応じて前記外部装置から電子証明書を取得する
前記情報処理装置が有する第2の機能を有効にする第2の設定ステップとを有し、
前記第1の設定ステップにより前記第1の機能が有効にされている
状態では、前記第2の機能を有効にさせないことを特徴とする情報処理装置における制御方法。
【請求項10】
コンピュータを、請求項1乃至
8のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、及び、プログラムに関するものである。
【背景技術】
【0002】
従来、電子証明書を使った公開鍵基盤(PKI:public key infrastructure)の技術により、セキュアなネットワークの識別と認証が実現されている。
【0003】
例えば、サーバから取得したサーバ公開鍵証明書と、そのサーバ公開鍵証明書を発行した認証局の認証局証明書を取得することにより、クライアントとしての情報処理装置はサーバの正当性を検証することができる。また、情報処理装置のクライアント公開鍵証明書をサーバに提供することによって、サーバがクライアントの正当性を検証することも可能となる。
【0004】
電子証明書には有効期限があり、有効期限が切れると、その電子証明書を使用した通信が不可能になってしまう。そのため、有効期限が切れた場合や、切れる直前に電子証明書を更新する必要がある。
【0005】
従来、有効期限が切れる前に所定のタイミングで電子証明書を自動で更新する技術が知られている(例えば、特許文献1)。情報処理装置は、あらかじめ設定された所定のタイミングになると、証明書管理サーバに更新要求をネットワーク経由で送信し、証明書管理サーバから電子証明書を受信する。また、情報処理装置の操作部からの指示により、証明書管理サーバから手動で電子証明書を受信することもできる。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、ストレージの容量が少ない情報処理装置においては、電子証明書の格納領域には限りがある。所定時間になると証明書管理サーバから自動で証明書を取得する自動更新機能を設定している場合に、手動で証明書を取得すると、格納領域が上限に達することがあり、証明書の自動更新機能で取得した証明書を保存できなくなってしまう場合がある。この場合、証明書の自動更新機能による証明書の更新ができなくなる。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は以下のような構成を備える。すなわち、ネットワークを介して外部装置と接続可能な情報処理装置であって、電子証明書の有効期限が所定期間以下になったことに基づき、前記外部装置に電子証明書の発行要求を送信し、前記発行要求に応じて前記外部装置から電子証明書を取得する前記情報処理装置が有する第1の機能を有効にする第1の設定手段と、ユーザからの電子証明書の発行要求の指示に応じて、前記外部装置に電子証明書の発行要求を送信し、前記発行要求に応じて前記外部装置から電子証明書を取得する前記情報処理装置が有する第2の機能を有効にする第2の設定手段とを有し、前記第1の設定手段により前記第1の機能が有効にされている状態では、前記第2の機能を有効にさせないことを特徴とする。
【発明の効果】
【0010】
本発明によれば、電子証明書を外部装置から、予め指定された日時、または、予め指定された周期で取得する機能が有効にされている場合、取得した電子証明書を保存することができなくなることを防ぐことができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態1に係るネットワーク構成を説明する図。
【
図2】実施形態1に係る複合機のハードウェア構成を説明するブロック図。
【
図3】実施形態1に係る複合機が有するソフトウェアモジュールを説明するブロック図。
【
図4】実施形態1に係るシステムにおける、電子証明書の発行要求に関する初期設定、電子証明書の情報表示、発行要求と受信、再起動と、その電子証明書を反映するまでの全体処理の流れを説明するシーケンス図。
【
図5】実施形態1に係る複合機による、
図4のS402の鍵ペア・電子証明書のリストの取得及び表示データの作成処理を説明するフローチャート(A)、実施形態1に係る複合機が、詳細情報を表示する要求をPCから受信したときの処理を説明するフローチャート(B)。
【
図6】実施形態1に係る複合機による、
図4のS407の認証局・登録局への接続設定の設定処理を説明するフローチャート。
【
図7】実施形態1に係る複合機による、
図4のS412からS416に示すCA証明書取得・登録処理を説明するフローチャート。
【
図8】実施形態1に係る複合機による、
図4のS417-2の証明書の発行要求・取得処理を説明するフローチャート。
【
図9】実施形態1に係る複合機による、
図4のS424からS427の複合機100の再起動に関する処理を説明するフローチャート。
【
図10】実施形態1に係るPCで表示されるRUIのWebページ画面の例を示す図。
【
図11】実施形態1に係るPCで表示されるRUIのWebページ画面の例を示す図。
【
図12】実施形態1に係るPCで表示されるRUIのWebページ画面の例を示す図。
【
図13】実施形態1に係るPCで表示されるRUIのWebページ画面の例を示す図。
【
図14】実施形態1に係るPCで表示されるRUIのWebページ画面の例を示す図。
【
図15】実施形態1に係るPCで表示されるRUIのWebページ画面の例を示す図。
【
図16】実施形態1に係るPCで表示される電子証明書の詳細情報の一例を示す図。
【
図17】実施形態1に係る複合機の鍵ペア・証明書管理部が管理している鍵ペア・電子証明書の詳細情報のデータベースを概念図。
【
図18】実施形態1に係る複合機が有する電子証明書の更新予約設定画面の一例を示す図。
【
図19】実施形態1に係る複合機が、電子証明書の更新予約設定を基に電子証明書の自動更新機能と自動削除機能を実行するときの処理を説明するフローチャート。
【
図20】実施形態1に係る複合機が有する証明書発行要求画面の生成処理を説明するフローチャート
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、実施形態に係る電子証明書の利用及び管理する情報処理装置として複合機(デジタル複合機/MFP/Multi Function Peripheral)を例に説明する。しかしながら適用範囲は複合機に限定はせず、電子証明書が利用可能な情報処理装置であればよい。
【0013】
[実施形態1]
図1は、本発明の実施形態1に係るネットワーク構成を説明する図である。印刷機能を有する複合機100は、ネットワーク110を介して他の情報処理装置と接続可能である。複合機100は、ネットワーク110を介して、他の情報処理装置との間で、印刷データ、スキャンした画像データ、デバイスの管理情報等の送受信が可能である。また複合機100は、TLS,IPSEC,IEEE802.1X等の暗号化通信を行う機能を有し、それらの暗号処理に使用する公開鍵ペアと電子証明書を保持している。ここで複合機100は画像形成装置の一例であり、画像形成装置としてはこれに限らず、ファクシミリ装置、プリンタ、コピー機の単独の機能、或いはこれらの複合的な機能を併せ持つ装置であってもよい。ネットワーク100には、複合機101も接続されており、この複合機101は、複合機100と同等の機能をもっている。以下、複合機100を主に説明するが、電子証明書のやりとりについては、複数台の複合機を対象とすることもできるものとする。
【0014】
認証局・登録局102は、電子証明書を発行する認証局CA(Certificate Authority)の機能と、電子証明書の発行要求の受付、登録処理を行う登録局RA(Registration Authority)の機能を有する。即ち、この認証局・登録局102は、ネットワーク110を介してCA証明書の配布、電子証明書の発行・登録する機能を有するサーバ装置である。実施形態1では、この際のネットワーク110のプロトコルとして、SCEP(Simple Certificate Enrollment Protocol)を利用するものとする。複合機100などの情報処理装置は、このSCEPを利用し、ネットワーク110経由で電子証明書の発行要求、取得のための通信を認証局・登録局102に対して行う。実施形態1に係る複合機100は、Webサーバ機能を有し、電子証明書の発行要求、取得のための処理を実行することが可能なWebページ型のRUI(Remoto UI)機能をネットワーク110に公開している。
【0015】
認証局・登録局102は、ネットワーク110を介して他の情報処理装置から電子証明書の発行要求を受信すると、その発行要求に基づく電子証明書の発行と登録処理を行い、発行した電子証明書を、その発行要求の応答として送信する。尚、実施形態1では、認証局と登録局の機能が同一のサーバ装置で実現されているが、認証局と登録局が別のサーバ装置で実現される構成であってもよく、特に限定はしない。また実施形態1では、電子証明書の発行要求やそれを取得するプロトコルとしてSCEPを利用しているが、同等の機能を持つプロトコルであればよく、本実施形態は特に限定はしない。例えば、CMP(Certificate Management Protocol)やEST(Enrollment over Secure Transport)protocol)などでもよい。
【0016】
PC103はパーソナルコンピュータで、PC103にはWebブラウザ機能が搭載されており、ネットワーク110に接続された情報処理装置が公開しているHTML文書やWebサイトを閲覧、利用することが可能である。
【0017】
次に、実施形態1に係る電子証明書の取得・更新の処理概要を説明する。
【0018】
複合機100の管理者は、PC103に搭載されているWebブラウザを利用して、複合機100が公開している電子証明書の発行要求及びその取得のためにWebページに接続して、電子証明書の発行要求、取得のための処理の実行のための設定と指示を行う。複合機100は、管理者が設定及び指示した内容に従って、認証局・登録局102に対しSCEPによるCA証明書の取得及び電子証明書の発行要求を行う。また複合機100は、電子証明書の発行要求の応答に含まれる認証局・登録局102が発行した電子証明書を取得し、その取得した電子証明書の複合機100での利用設定を行う。
【0019】
次に実施形態1に係る複合機100のハードウェア構成を説明する。
【0020】
図2は、実施形態1に係る複合機100のハードウェア構成を説明するブロック図である。
【0021】
CPU201は、複合機100のソフトウェアプログラムを実行し、装置全体の制御を行う。ROM202はリードオンリーメモリで、複合機100のブートプログラムや固定パラメータ等を格納している。RAM203はランダムアクセスメモリで、CPU201が複合機100を制御する際に、プログラムや一時的なデータの格納などに使用される。HDD204はハードディスクドライブで、システムソフトウェア、アプリケーション、各種データを格納する。CPU201はROM202に記憶されているブートプログラムを実行し、HDD204に格納されているプログラムをRAM203に展開し、その展開したプログラムを実行することにより、この複合機100の動作を制御する。ネットワークI/F制御部205は、ネットワーク110とのデータの送受信を制御する。スキャナI/F制御部206は、スキャナ211による原稿の読み取り制御する。プリンタI/F制御部207は、プリンタ210による印刷処理などを制御する。パネル制御部208は、タッチパネル式の操作パネル212を制御し、各種情報の表示、使用者からの指示入力を制御する。バス209はCPU201、ROM202、RAM203、HDD204、ネットワークI/F制御部205、スキャナI/F制御部206、プリンタI/F制御部207、パネル制御部208を相互に接続している。このバス209を介して、CPU201からの制御信号や各装置間のデータ信号が送受信される。
【0022】
図3は、実施形態1に係る複合機100が有するソフトウェアモジュールを説明するブロック図である。尚、この
図3に示すソフトウェアモジュールは、CPU201がRAM203に展開したプログラムを実行することにより実現される。
【0023】
ネットワークドライバ301は、ネットワーク110に接続されるネットワークI/F制御装置205を制御して、ネットワーク110を介して外部とデータの送受信を行なう。ネットワーク制御部302は、TCP/IP等のネットワーク通信プロトコルにおけるトランスポート層以下の通信を制御して、データの送受信を行なう。通信制御部303は、複合機100がサポートする複数の通信プロトコルの制御を行うためのモジュールである。実施形態1に係る電子証明書の取得及び更新処理では、通信制御部303がHTTPプロトコル通信のための要求、及び応答データの生成、解析処理とデータ送受信の制御を行い、認証局・登録局102やPC103との通信を実行する。また複合機100がサポートするTLS,IPSEC,IEEE802.1Xの暗号化通信も通信制御部303によって実行される。
【0024】
Webページ制御部304は、電子証明書の発行要求とその取得のための処理を実行することが可能なWebページの表示のためのHTMLデータの生成及び通信制御を行うモジュールである。Webページ制御部304は、ネットワークドライバ301から通信制御部304を介して送られてきたWebページの表示要求や、電子証明書の発行要求及び取得の実行指示に対する処理を実行する。Webページ制御部304は、RAM203やHDD204に保存されている既定のWebページのHTMLデータ、又は表示要求の内容に応じて生成したHTMLデータを、Webブラウザからのリクエストへの応答として送信する。
【0025】
鍵ペア・証明書取得制御部305は、Webページ制御部304からの指示に基づく電子証明書の取得処理を実行するためのモジュールである。鍵ペア・証明書取得制御部305は、SCEPによる通信制御、PKCS#7,PKCS#10等のSCEPによる通信で必要な暗号化データの生成と解析処理及び、取得した電子証明書の保存、用途設定等の処理を行うモジュールである。暗号化処理部306は、データの暗号化及び復号処理、電子署名の生成・検証、ハッシュ値生成等の各種暗号処理を実行するためのモジュールである。暗号化処理部306は、実施形態1に係る電子証明書の取得及び更新処理で、SCEPの要求・応答データの生成、解析処理において必要な各暗号処理を実行する。鍵ペア・証明書管理部307は、複合機100が保持する公開鍵ペア、電子証明書を管理するモジュールである。鍵ペア・証明書管理部307は、公開鍵ペア、電子証明書のデータをRAM203やHDD204に各種設定値とともに保存する。また公開鍵ペア、電子証明書の詳細表示、生成、削除等の処理は、実施形態1では図示しないが、操作パネル212を介したユーザの指示によって実行することも可能である。操作パネル212及びパネル制御部208の制御は、UI制御部308によって実行される。尚、通信制御部303によって実行されるTLS,IPSEC,IEEE802.1X等の暗号化通信処理においても、暗号化処理部306で暗号化処理が行われ、鍵ペア・証明書管理部307から、使用する公開鍵ペア・電子証明書データを取得する。
【0026】
印刷/読取処理部309は、プリンタ210による印刷や、スキャナ211による原稿の読み取り等の機能を実行するためのモジュールである。デバイス制御部310は、複合機100の制御コマンドや制御データを生成して、複合機100を統括的に制御するためのモジュールである。尚、実施形態1に係るデバイス制御部306は、複合機100の電源の制御を行い、Webページ制御部304からの指示によって複合機100の再起動処理を実行する。
【0027】
図18は、実施形態1に係る複合機100が有する証明書の更新予約設定画面の一例を示す図であり、他の画面と同様にWebページ型のRUIによって表示される。この証明書の更新予約の設定画面を介して証明書の更新日を設定できる。
【0028】
実施形態1では、更新日や更新間隔の指定として、更新日1801、有効期限1802、周期1803の3つの設定を可能とする。本実施形態では、これらの設定値をまとめて証明書更新予約設定と称する。更新日1801は、更新する年月日時刻を指定可能であり、複合機100に保持されている現在日時が、この更新日1801の日時となったときに、証明書の自動更新機能を実行する。有効期限1802は、利用している証明書の有効期限に到達するまでの日数を指定する。複合機100に保持されている現在日時が、有効期限から指定された日数よりも短くなった場合に証明書の自動更新機能を実行する。周期1803は、この周期で証明書の自動更新機能を実行する。実施形態1では、この周期は、日数、毎月所定の日付、毎年所定の月日で設定できる。また実施形態2では、これらの証明書の更新日や更新周期の設定を「証明書の更新予約設定」と称する。これらの証明書の更新予約設定が更新されると、CPU201が、それをHDD204に保存する。
【0029】
図18は、有効期限1802で、有効期限より14日前になると証明書の自動更新機能を実行することを設定した画面の例を示す。実施形態2では、上述の証明書の更新予約設定の種別で証明書の自動更新機能の予約を行っているが、別の日時やタイミングの指定方法でもよく、特に限定はしない。
【0030】
また、
図18は更新後に不要な証明書を自動削除する指定として、証明書自動削除設定1804を有する。これは自動削除を「実施する18041」「実施しない18042」を有する。「実施する18041」が有効な場合、「証明書の格納領域の空きがない場合にのみ削除する」設定18043と「自動削除詳細設定」1805が設定可能となる。「証明書の格納領域の空きがない場合にのみ削除する」設定18043が有効な場合、新しい証明書を取得した際に証明書の格納領域が上限に達する場合に、証明書を削除する設定である。この設定が無効な場合、格納領域の上限に関わらず自動削除詳細設定1805で指定された条件時に証明書を削除する。自動削除詳細設定は、18051~18055の設定を有する。
【0031】
「同じ用途設定の前の証明書を削除する」設定18051が有効な場合、
図13(A)の1305で指定したTLSなどの用途設定と同じ用途となる更新前の証明書が自動で削除される。
【0032】
「用途設定の無い証明書を削除する」設定18052が有効な場合、更新前に複合機100が保持する証明書において、用途設定されていないものは利用していないと判断し、自動で削除する。
【0033】
「自己証明書の場合のみ削除する」設定18053が有効な場合、更新前に複合機100が保持する自己証明書を削除する。自己証明書以外を消さない条件としているのは、複合機100には外部から購入した証明書である可能性もあり、自動削除してよいかの判断がつかない場合の利用を想定している。
【0034】
「工場出荷時の証明書を削除する」設定18054が有効な場合、更新前に複合機100が保持する工場出荷時の証明書を削除する。工場出荷時の証明書以外を消さない条件としているのは、複合機100に後から入れた証明書に対して自動削除してよいかの判断がつかない場合の利用を想定している。
【0035】
「有効期限が切れている証明書を削除する」設定18055が有効な場合、更新前に複合機100が保持する証明書が有効期限が切れている場合、証明書を利用することができないため、自動削除する。尚、これらの設定値はCPU201が、それをHDD204に保存する。
【0036】
尚、本実施形態1において、証明書自動削除設定は
図18の更新予約設定画面のみから設定できるが、後述の
図13の証明書の発行要求画面でも同じ設定値を保持してもよく、特に限定はしない。
【0037】
図19は、複合機100が、証明書更新予約設定を基に電子証明書の自動更新機能を実行するときの処理を説明するフローチャートである。最初に複数の複合機を指定(複合機ごとに異なる時間設定も可)することで、複数の複合機に対して
図19で入力できる指示を実行することもできる。その場合、
図19の処理は、複数の複合機において並列に処理が実行される。尚、この処理は、CPU201がRAM203に展開したプログラムを実行することにより達成される。
【0038】
先ずS1901でCPU201は、HDD204から証明書更新予約設定を取得する。次にS1902に進みCPU201は、現在利用されている電子証明書の情報を取得する。この情報は
図17で保持している情報などである。次にS1903に進みCPU201は、複合機100が管理している現在の日時を取得する。そしてS1904に進みCPU201は、証明書更新予約設定と電子証明書の情報とを比較し、現在利用している電子証明書の更新が必要かどうか判定する。ここで電子証明書の更新が必要ではないと判定した場合はS1901に戻る。
【0039】
一方、電子証明書の更新が必要であると判定した場合はS1905に進み、
図8の「証明書発行要求処理」の制御に移行する。そして
図8の処理が完了するとS1906に移行する。
【0040】
S1906でCPU201は、
図18の証明書自動削除設定をHDD204から取得する。
【0041】
次にS1907でCPU201は証明書自動削除設定が有効であるかを判断し、有効ではないと判断した場合、S1910に移行する。S1907でCPU201は証明書自動削除設定が有効であると判断した場合、S1908でCPU201は削除対象の条件に該当する証明書が存在するかを判断する。これはCPU201が複合機100の持つ証明書に対して、
図18の18043、18051~18055の設定に該当するかを判断する。S1908で削除に該当する証明書が存在すると判断した場合、S1909に移行し、CPU201はHDD204内の該当する証明書を削除する。そしてS1910に移行する。S1908で削除に該当する証明書が存在しないと判断した場合、S1910に移行する。
【0042】
図4は、実施形態1に係るシステムにおける、電子証明書の発行要求に関する初期設定、電子証明書の情報表示、発行要求と受信、再起動と、その電子証明書を反映するまでの全体処理の流れを説明するシーケンス図である。
【0043】
このシーケンスは、鍵ペア及び電子証明書リストの表示指示がユーザにより入力されたことに応答して開始される。実施形態1では、一つの複合機100に対する処理の例で説明するが、一回の開始指示に応じて、複数の複合機100,101に対して実行させてもよい。例えば、PC103から、複合機100及び101に対してリクエストを出し、それぞれの複合機で、後述するフローチャートで示す処理を実行させてもよい。この際、複合機100,101から証明書を取得して表示し確認させる工程をスキップしてもよい。そして、有効期限が切れた証明書を自動的に複合機で検出し、その書誌情報(証明書IDや有効期限)をPC103に送信し、PC103では有効期限が切れそう、或いは切れた証明書の更新を、複数の複合機に自動的に実行させてもよい。これは、所謂、サイレントインストールと呼ばれるものである。
【0044】
まずS401で複合機100は、PC103からの接続を受け付けると、PC103から送信される複合機100が保持している鍵ペア・電子証明書のリスト表示要求を受信する。実施形態1では、複合機100の管理者は、PC103に搭載されているWebブラウザを利用して、複合機100が公開している電子証明書の発行要求・取得のためのWebページ形式のRUI形式に接続し、指示などの操作を行うものとする。このRUIはリモートユーザインタフェースの略であり、PC103のウェブブラウザを使用して、遠隔で複合機100や101の操作画面データを要求してPC103で表示できる技術である。このとき画面は、HTMLやサーブレット等で実装できる。
【0045】
次にS402で複合機100は、複合機100が保持している鍵ペア・電子証明書のリスト表示のためのデータの取得、及びそれを表示するためのWebページ画面の生成処理を実行する。
【0046】
図5(A)は、
図4のS402の鍵ペア・電子証明書のリストの取得及び表示データの作成処理を説明するフローチャートである。尚、この処理は、CPU201がRAM203に展開したプログラムを実行することにより達成される。
【0047】
また
図17は、鍵ペア・証明書管理部307が管理している鍵ペア・電子証明書の詳細情報のデータベースを概念図であり、このデータベースは、複合機100のHDD204に保存されている。
【0048】
図5(A)のフローチャートを説明する。この処理は、鍵ペア・電子証明書リストの取得要求を受信することにより開始される。まずS501でCPU201は、鍵ペア・電子証明書リストの取得要求を受信する。次にS502に進みCPU201は、鍵ペア・証明書管理部307が管理している、例えば
図17(A)に示す鍵ペア・電子証明書の詳細情報を取得する。次にS503に進みCPU201は、S502で取得した鍵ペア・電子証明書の詳細情報を使用して、RUIとして提供するWebページ画面のHTMLデータを生成する。
【0049】
図10~
図15は、実施形態1に係るPC103で表示されるRUIのWebページ画面の例を示す図である。実施形態1に係る
図5のS503では、
図10(A)に示すWebページ画面のHTMLデータが生成されるものとし、これはPC103のWebブラウザによって表示される。これにより、PC103で複合機100が保持している鍵ペア・電子証明書リストが確認可能となる。
【0050】
図10(A)のリストに表示される電子証明書の情報は、証明書の名前1011、用途1012、発行者1013、有効期限終了日1014、証明書の詳細1015を含んでいる。名前1011は、鍵ペア・電子証明書の発行の際に、複合機100の管理者等の操作者が任意に付与した文字列である。用途1012は、その鍵ペア・電子証明書がTLS,IPSEC,IEEE802.1Xの何れかの用途で使用される事を示す設定値である。発行者1013は、電子証明書を発行した認証局の識別名(DN:Distinguished Name)である。有効期限終了日1014は、その電子証明書の有効期限が終了する日の情報である。詳細1015は、電子証明書の詳細情報を表示させるためのアイコンである。そしてS504に進みCPU201は、S503で生成したHTMLデータをS501への応答としてPC103へ送信して、この処理を終了する。こうして
図4のS403が実行される。
【0051】
尚、
図4のシーケンス図には図示しないが、複合機100の管理者が、PC103に表示された
図10(A)の詳細1015のアイコンをクリックすると、該当の電子証明書の詳細情報の表示要求がPC103から複合機100へ送信される。その表示要求を受信した複合機100は、その電子証明書の詳細情報を取得し、その取得した情報に基づく証明書の詳細情報のHTMLデータを生成し、生成したデータを、応答としてPC103へ送信する。
【0052】
これにより例えば
図16に示すような、電子証明書の詳細情報がPC103のWebブラウザにより表示される。
図16は、PC103で表示される電子証明書の詳細情報の一例を示す図である。
【0053】
図5(B)は、実施形態1に係る複合機100が、この詳細情報を表示する要求をPC103から受信したときの処理を説明するフローチャートである。尚、この処理は、CPU201がRAM203に展開したプログラムを実行することにより達成される。
【0054】
まずS511でCPU201は、PC103から電子証明書の詳細情報の取得要求を受信する。次にS512に進みCPU201は、鍵ペア・証明書管理部307が管理している
図17(A)に示す鍵ペア・電子証明書の詳細情報を取得する。次にS513に進みCPU201は、S512で取得した鍵ペア・電子証明書の詳細情報を使用してWebページ画面のHTMLデータを生成し、S514でそれをPC103に送信する。
【0055】
図16は、実施形態1に係る電子証明書の詳細情報の表示画面の一例を示す図で、この画面はPC103でRUIとしてWebページ形式で表示される。
【0056】
再び
図4の説明に戻り、S403で複合機100は、S402で生成した
図10(A)で示すWebページ画面のHTMLデータを、応答としてPC103へ送信する。
【0057】
尚、上述の
図4のS401~S403及び、
図5のS501~S504、S511~S514で示す処理は、鍵ペア・電子証明書リストの表示要求を受信した複合機100における電子証明書情報の表示処理に関する制御処理を示している。
【0058】
そしてS404で複合機100は、PC103から、SCEPサーバの接続設定画面の表示要求を受信する。実施形態1では、複合機100の管理者は認証局・登録局102との接続設定を行うために、
図10(A)の接続設定1002をクリックすることで、接続設定画面の表示要求を複合機100に対して送信するものとする。
【0059】
次にS405で複合機100は、S404の応答として、
図10(B)に示す既定のSCEPサーバの接続設定画面のHTMLデータを応答としてPC103に送信する。
【0060】
図10(B)に示す接続設定画面は、SCEPサーバのホスト名及び接続先ポート番号を入力するサーバ名1016、ポート番号1017の入力フィールドと、入力した設定値の設定を指示する設定ボタン1018を含んでいる。
【0061】
次にS406で複合機100は、PC103から接続設定の設定指示要求を受信する。実施形態1における複合機100の管理者は、PC103から
図10(B)のサーバ名1016、ポート番号1017へ入力を行い、設定ボタン1018をクリックすることで複合機100に対して、この設定指示要求を送信するものとする。
【0062】
次にS407で複合機100は、接続設定の設定処理と設定結果を示すWebページ画面の生成処理を実行し、S408で、S407で生成した
図11(A)に示すWebページ画面のHTMLデータを、応答としてPC103へ送信する。
【0063】
図6は、実施形態1に係る複合機100による、
図4のS407の認証局・登録局102への接続設定の設定処理を説明するフローチャートである。尚、この処理は、CPU201がRAM203に展開したプログラムを実行することにより達成される。
【0064】
まずS601でCPU201は、PC103から接続設定の設定要求を受信する。次にS602に進みCPU201は、その接続設定の設定要求に含まれるホスト名と、ポート番号の設定値を取得し、その取得した設定値をRAM203或いはHDD204に保存する。次にS603に進みCPU201は、例えば
図11(A)のWebページ画面のHTMLデータを生成する。そしてS604に進みCPU201は、S603で生成したHTMLデータをS601の応答として送信して、この処理を終了する。こうしてS408に移行する。これによりPC103では、
図11(A)に示すように、設定が反映されたことを示す文字列1101が表示される。
【0065】
上述のS406~S408及びS600~604で示す処理が、複合機100における接続設定の処理に関する制御である。
【0066】
次に
図4のS409で複合機100は、PC103のブラウザから送信されるCA証明書の取得画面の表示要求を受信する。実施形態1では、複合機100の管理者が、認証局・登録局102が発行したCA証明書の取得を行うため、
図10(A)のCA証明書取得1003をクリックすることで、CA証明書の取得画面の表示要求を複合機100に送信するものとする。
【0067】
これによりS410で複合機100は、S409の応答として、
図11(B)に示す既定のCA証明書の取得画面のHTMLデータを応答として送信する。
【0068】
図11(B)の接続設定画面は、CA証明書の取得を指示する実行ボタン1102を含んでいる。
【0069】
次にS411で複合機100は、
図11(B)の実行ボタン1102がクリックされてPC103のブラウザから送信されるCA証明書の取得要求を受信する。実施形態1では、複合機100の管理者が
図11(B)の実行ボタン1102をクリックすることで、CA証明書の取得要求を複合機100に送信するものとする。
【0070】
次にS412で複合機100は、CA証明書の取得要求データの生成処理を実行する。そしてS413に進み複合機100は、S412で生成したCA証明書の取得要求データを、S407で設定した情報に基づいて、SCEPサーバである認証局・登録局102に対して送信する。そしてS414に進み複合機100は、認証局・登録局102から送信されるCA証明書の取得要求に対する応答を受信する。これによりS415に進み複合機100は、受信したCA証明書の取得応答を解析し、その応答に含まれるCA証明書を取得し、その取得したCA証明書を複合機100が信頼するCA証明書として登録する処理を行う。そしてS416に進み複合機100は、S415で生成した
図12(A)又は
図12(B)に示すWebページ画面のHTMLデータをPC103へ送信する。
図12(A)は、CA証明書の取得に成功して、CA証明書として登録したときに表示される画面例を示す。一方、
図12(B)は、CA証明書の取得に失敗したときに表示される画面例を示す。
【0071】
図7は、実施形態1に係る複合機100による、
図4のS412からS416に示すCA証明書取得・登録処理を説明するフローチャートである。尚、この処理は、CPU201がRAM203に展開したプログラムを実行することにより達成される。
【0072】
先ずS701でCPU201は、PC103からCA証明書の取得要求を受信する。次にS702に進みCPU201は、S407で取得した認証局・登録局102への接続設定の情報を基にCA証明書の取得要求のメッセージを生成する。以下は、実施形態1において生成される取得要求のメッセージの例である。実施形態1では、通信プロトコルとしてSCEPを利用しており、このプロトコルを利用するためのリクエストメッセージとなる。
xxxxxxx/yyyyy?operation=GetCAXyz&message=CAIdentifier
【0073】
次にS703に進みCPU201は、
図4のS407で取得した認証局・登録局102への接続設定に基づき、SCEPサーバである認証局・登録局102に対してTCP/IPプロトコルでの接続を行う。次にS704に進みCPU201は、S703における接続が成功したかを判断し、成功した場合はS705へ進み、失敗した場合はS714へ進む。
【0074】
S705でCPU201は、S702で生成したCA証明書の取得メッセージをHTTPプロトコルのGETまたはPOSTメソッドで認証局・登録局102に送信する。次にS706に進みCPU201は、S704における接続が成功したかを判断し、成功した場合はS707へ進み、失敗した場合はS714へ進む。S707でCPU201は、CA証明書の取得要求に対する、認証局・登録局102からの応答データを受信する。そしてS708に進みCPU201は、S707における応答データの受信が成功したかを判定し、成功した場合はS709へ進み、失敗した場合はS714へ進む。S709でCPU201は、S708で受信した応答データを解析し、その応答データに含まれるCA証明書のデータを取得する。この応答データの解析処理とCA証明書の取得処理は、暗号処理部306によって行われる。
【0075】
尚、実施形態1における応答データは、X.509(RFC5280)形式のバイナリデータとする。但し、例えばPKCS#7(RFC5652: Cryptographic Message Syntax)形式のデータが応答として送信されてもよく、データ形式については限定しない。
【0076】
次にS710に進みCPU201は、S709におけるCA証明書の取得に成功したかを判定し、成功した場合はS711へ進み、失敗した場合はS714へ進む。S711でCPU201は、S709で取得したCA証明書を、複合機100が信頼するCA証明書として登録する。このときCPU201は、取得したCA証明書をRAM203に保持するとともに、鍵ペア・証明書管理部307によってHDD204の複合機100が信頼するCA証明書を格納する所定のディレクトリに保存する。そしてS712に進みCPU201は、S710におけるCA証明書の登録処理が成功したか否かを判定し、成功したと判定した場合はS713へ進み、失敗した場合はS714へ進む。S713でCPU201は、CA証明書の取得成功の際に
図12(A)の1201に表示するCA証明書の拇印(SHA1アルゴリズムによるハッシュ値)を生成する。この拇印の生成は、暗号処理部306によって実行される。そしてS715に進みCPU201は、S703からS714までの処理結果から
図12(A)、
図12(A)のCA証明書の取得結果の表示データのHTMLデータを生成する。そしてS716に進みCPU201は、S715で生成したHTMLデータをS701の応答としてPC103に送信して、この処理を終了する。そして
図4のS417に移行する。実施形態1では、CA証明書の取得結果に応じて
図12(A)の文字列1201を表示する。また或いはS714でエラー処理を実行した場合は、
図12(B)の文字列1202を表示する。つぎに
図4の説明に戻る。
【0077】
S417で複合機100は、PC103のブラウザから送信される証明書の発行要求画面の表示要求を受信する。実施形態1では、複合機100の管理者が、
図10(A)の証明書発行要求1004をクリックすることで、認証局・登録局102に対する証明書の発行要求・取得を行うものとする。次にS417-2で複合機100は、証明書発行要求画面を示すWebページ画面の生成処理を実行する。
【0078】
図20は、実施形態1に係る複合機100による、
図4のS417-2における証明書発行要求画面の生成処理を説明するフローチャートである。尚、この処理は、CPU201がRAM203に展開したプログラムを実行することにより達成される。
【0079】
図20のS2001でCPU201は、PC103から証明書発行要求画面の表示要求を受信する。
【0080】
次にS2002に進みCPU201は、HDD204から証明書更新予約設定を取得する。次に、S2003において、CPU201は証明書更新予約設定が有効であるかを判断する。S2003において、CPU201はS2002で取得した証明書更新予約設定は無効であると判断した場合、S2004に進み、CPU201はHDD204から証明書の格納情報を取得する。本実施例では
図10(A)の証明書リストに保存されている証明書の保存数が取得される。
図10(A)では、保存数は3である。そしてS2005に移行する。
【0081】
S2005において、CPU201は保持している証明書の格納領域は上限に達しているかを判断する。本実施例の格納領域の上限とは、証明書の保存数の上限とし、5つまでとするが、これ以外の数でもよい。また証明書の数ではなくHDD204などのストレージの記憶領域のサイズでもよく、特に限定はしない。
【0082】
S2005において、CPU201は保持している証明書の格納領域は上限に達していないと判断した場合、CPU201はS2007で、
図13(A)の証明書発行要求の送信を受け付けるWebページ画面のHTMLデータを生成する。そしてS2008に進みCPU201は、S2007で生成したHTMLデータをS417-2の応答として送信して、この処理を終了する。そしてS418に移行する。
【0083】
図13(A)の証明書の発行要求画面は、証明書の名前1301、生成する鍵ペアの鍵長を設定する鍵の長さ1302、発行先情報の入力フィールド1303を含む。また、
図13(A)の証明書の発行要求画面は、認証局・登録局102から送信される証明書の発行要求の応答に付与される署名を検証するか否かの設定署名検証1304を含む。また、
図13(A)の証明書の発行要求画面は、発行された証明書の用途設定を行うための鍵の用途1305、証明書発行要求に含めるパスワード1306、証明書の発行要求を実行する実行ボタン1307を含む。用途1305はチェックボックスになっており、一つの鍵に対して複数の用途を設定できることを示している。
【0084】
S2003において、CPU201はS2002で取得した証明書更新予約設定は有効であると判断した場合、S2006に進みCPU201は、例えば
図13(C)の証明書発行要求の送信を禁止する旨を表示するWebページ画面のHTMLデータを生成する。そしてS2008に進みCPU201は、S2006で生成したHTMLデータをS417-2の応答として送信して、この処理を終了する。そしてS418に移行する。
【0085】
S2005において、CPU201は保持している証明書の格納領域は上限に達していると判断した場合S2006に進み、CPU201は、例えば、
図13(C)の証明書発行要求の送信を禁止する旨を表示するWebページ画面のHTMLデータを生成する。そしてS2008に進み、CPU201は、S2006で生成したHTMLデータをS417-2の応答として送信して、この処理を終了する。そしてS418に移行する。
【0086】
このS2003~S2006及びS2005~S2006の処理によって、複合機100は証明書更新予約設定が無効な場合にのみ、手動実行による証明書の発行要求の送信の受付を可能としている。証明書更新予約設定が有効な場合に証明書を手動による発行要求によって取得させないことで、電子証明書の自動更新機能で証明書取得が実行された際に、証明書の格納領域の上限にすでに達していて、証明書の取得と更新に失敗することを防ぐことが可能である。
【0087】
なお、本実施例では証明書更新予約設定が有効な場合は証明書の発行要求の送信の受付を禁止しているが、必ず禁止するのではなく警告を表示し、証明書の発行要求の送信を継続するかキャンセルするかをユーザに選択させてもよい。
【0088】
次に、PC103は、S418の応答を受信することによって
図13(A)または
図13(C)に示す画面を表示する表示制御を行う。
【0089】
次にS419で複合機100は、
図13(A)の画面の実行ボタン1307がクリックされてPC103のブラウザから送信される1301~1306までの各入力・設定情報を含む証明書の発行要求を受信する。実施形態1では、複合機100の管理者が
図13(A)の1301~1306までの各入力・設定を行い、実行ボタン1307をクリックすることで、PC103から証明書の発行要求を送信する。
【0090】
次にS420で複合機100は、証明書の発行要求データの生成処理を実行する。そしてS421で複合機100は、S420で生成した証明書の発行要求データを、S407で設定した情報に基づきSCEPサーバである認証局・登録局102に対して送信する。そしてS422で複合機100は、認証局・登録局102から送信される証明書の発行要求に対する応答を受信する。次にS423で複合機100は、S422で受信した証明書の発行要求に対する応答の解析(設定に応じた署名検証の実行、応答に含まれる証明書の取得、取得した証明書を指定された用途に設定)処理を行う。そして、証明書の発行要求の結果を示すWebページ画面の生成処理を実行する。
【0091】
ここで証明書の発行・取得が成功した場合は、S423の処理によって、電子証明書データの保存、用途設定が行われる。ここで用途設定とは、電子証明書を使う通信機能のことであり、実施形態1では、TLS,IPSEC,IEEE802.1Xといった暗号化通信が設定可能となる。また実施形態1に係る複合機100は、複数の電子証明書を持つことが可能であり、且つその電子証明書毎に用途設定を行うものとする。例えば複合機100がWebサーバとしてTLS通信を行うサーバサービスを提供する際に使う電子証明書と、複合機100がIEEE802.1Xを使ったクライアント通信を行うための電子証明書が異なる場合にそれぞれが設定可能となる。但し、1つの電子証明書を全ての通信の用途に自動的に適用してもよい。
【0092】
そしてS424で複合機100は、S423で生成した
図13(B)又は
図14(A)に示すWebページ画面のHTMLデータをPC103へ送信する。なお、証明書の発行要求の結果に応じて
図13(B)の1308、
図14(A)の1401に示すように設定結果の文字列が表示される。
図13(B)は、証明書の発行及び取得に成功した場合の画面例を示し、
図14(A)は、証明書の発行及び取得に失敗した場合の画面例を示す。
【0093】
こうして証明書の発行・取得が成功した場合には、S423の処理によって、電子証明書データの保存、用途設定が行われる。実施形態1に係る通信制御部303は、TLS,IPSEC,IEEE802.1Xの暗号化通信が使用する電子証明書のデータを複合機100の起動時に取得するため、用途変更された場合は、複合機100の再起動が必要になる。
【0094】
図8は、実施形態1に係る複合機100による、
図4のS419からS424の証明書の発行要求・取得処理を説明するフローチャートである。尚、この処理は、CPU201がRAM203に展開したプログラムを実行することにより達成される。
【0095】
まずS81でCPU201は、PC103から証明書の発行要求を受信する。
【0096】
次にS82でCPU201は、HDD204から証明書更新予約設定を取得する。
【0097】
次にCPU201はS83において、S82で取得した証明書更新予約設定が無効であると判断した場合、S84に進み、CPU201はHDD204から証明書の格納情報を取得する。そしてS85に移行し、CPU201は保持している証明書の格納領域は上限に達しているかを判断する。
【0098】
S85においてCPU201は保持している証明書の格納領域は上限に達していないと判断した場合、S802に移行する。
【0099】
CPU201はS83において、S82で取得した証明書更新予約設定が有効であると判断した場合、S823に進みCPU201は、例えば
図13(C)の証明書発行要求の送信を禁止する旨を表示するWebページ画面のHTMLデータを生成する。そしてS824に進みCPU201は、S823で生成したHTMLデータをS81の応答として送信して、この処理を終了する。
【0100】
CPU201はS85において、証明書の更新予約設定は有効であると判断した場合、S823に移行する。
【0101】
このS82~S823、S85~S823までの処理によって、複合機100は証明書更新予約設定が無効な場合にのみ、手動実行による証明書の発行要求の送信を可能としている。証明書更新予約設定が有効な場合に証明書を手動による発行要求によって取得させないことで、電子証明書の自動更新機能で証明書取得が実行された際に、証明書の格納領域の上限にすでに達していて、証明書の取得と更新に失敗することを防ぐことが可能である。
【0102】
図20のS2003~S2006の処理と
図8のS82~S823処理の違いとしては、前者は設定を行う画面上で設定を受け付けず、後者は設定反映を実行された際に反映を受け付けない処理となる。複合機100を使うユーザが1名であれば
図20のS2003~S2006の処理で設定変更を受け付けないように可能である。しかし
図4のS418までは証明書更新予約設定が無効な状態であっても、S419~S420の間に別ユーザが別のPCからRUIにログインして証明書更新予約設定を有効にした場合、証明書発行要求が送信されてしまう場合が存在する。そのためにS81の証明書発行要求の指示受信の後にS82において証明書更新予約設定を確認し、証明書更新予約設定が有効な場合や証明書の格納領域が上限に達していた場合、証明書の発行要求の送信を禁止する制御を行う。
【0103】
S802において、CPU201は、S801で受信した証明書の発行要求に含まれる証明書の名前1301、鍵の長さ1302、発行先情報の入力1303、署名検証1304、鍵の用途1305の情報を取得する。次にS803に進みCPU201は、
図4のS412からS415で取得したCA証明書を取得する。そしてS804に進みCPU201は、S802で取得した名前1301、鍵の長さ1302の情報に基づく鍵ペアの生成処理を行う。また、CPU201は、発行先情報の入力1303、パスワード1306の情報に基づくPKSC#10(RFC2986)形式の証明書署名要求(CSR:Certificate Signing Request)データを暗号処理部306によって生成する。次にS805に進みCPU201は、S804における鍵ペア・証明書の署名要求の生成が成功したかを判定し、成功したと判定した場合はS806へ進み、失敗した場合はS823へ進む。S806でCPU201は、証明書の発行要求データを生成する。このS806で生成される取得要求データは、
図4のS407で取得した認証局・登録局102への接続設定に基づき、SCEPで定義されているPKCS#7形式のデータとなる。
【0104】
次にS808に進みCPU201は、
図4のS407で取得した認証局・登録局102への接続設定に基づきSCEPサーバである認証局・登録局102にTCP/IPプロトコルでの接続を行う。次にS809に進みCPU201は、S808における接続が成功したかを判定し、成功した場合はS810へ進み、失敗した場合はS823へ進む。S810でCPU201は、S806で生成した証明書の発行要求データをHTTPプロトコルのGET又はPOSTメソッドで送信する。そしてS811でCPU201は、S810における送信が成功したかを判定し、成功した場合はS812へ進み、失敗した場合はS823へ進む。S812でCPU201は、認証局・登録局102から、証明書の発行要求に対する応答データを受信する。SCEPで定義されている応答データは、PKCS#7形式のデータが応答として送信される。
【0105】
次にS813に進みCPU201は、S812における応答データの受信に成功したかを判定し、成功した場合はS814へ進み、失敗した場合はS823へ進む。S814でCPU201は、S802で取得した署名検証1304の設定に基づき、署名検証する設定かどうか判定し、そうであればS815へ進み、署名検証しない設定の場合はS817へ進む。S815でCPU201は、S812で受信したデータに付与されている署名データを、S803において取得したCA証明書に含まれる公開鍵を用いて検証する。そしてS816に進みCPU201は、S815での署名検証の結果が成功したかどうか判定し、成功した場合はS817へ進み、失敗した場合はS823へ進む。
【0106】
S817でCPU201は、S812で受信したデータを解析し、その応答データに含まれる証明書のデータを取得する。このとき暗号処理部306によって応答データの解析と証明書の取得処理を行う。次にS818に進みCPU201は、S817における証明書の取得に成功したかを判定し、成功した場合はS819へ進み、失敗した場合はS823へ進む。S819でCPU201は、S818で取得した証明書を、S804で生成した鍵ペアに対応する電子証明書として登録する。このときCPU201は、S804で生成した公開鍵ペア、及び取得した電子証明書を、鍵ペア・証明書管理部307によってHDD204の鍵ペア・電子証明書を格納する所定のディレクトリに保存する。このとき鍵ペア・証明書管理部307は、
図17(B)に示すように鍵ペア・証明書の詳細情報のリストにS804で生成した公開鍵ペア及び取得した電子証明書の情報を追加する。
図17(B)では、新たに鍵ペア・証明書Xyz4が追加されている。
【0107】
次にS820に進みCPU201は、S819におけるCA証明書の登録処理が成功したかを判定し、成功した場合はS821へ進み、失敗した場合はS823へ進む。S821でCPU201は、S802で取得した鍵の用途1305の情報に基づき、証明書の用途設定を行う。このとき鍵ペア・証明書管理部307は、例えば
図17(C)に示したように鍵ペア・証明書の詳細情報のリストにある、用途の情報を更新する。
図17(C)では、TLSで使用する鍵ペア・証明書が、Xyz1からXyz4に変更されている。
【0108】
次にS824に進みCPU201は、S801からS823までの処理結果に応じた
図13(B)に示した証明書の発行要求結果のHTMLデータを生成する。S825においてS824で生成したHTMLデータをS801の証明書の発行要求に対する応答としてPC103に送信して、この処理を終了する。そして
図4のS425に移行する。
【0109】
上述のS419~S424及びS801~S825の処理が、複合機100における電子証明書の発行要求と受信処理、通信用途の設定に関する制御となる。この実施形態1では、これらの発行要求と受信処理、通信用途の設定までの処理を総称して「電子証明書の自動更新機能」と称する。
【0110】
この電子証明書の自動更新機能によって、複合機100はネットワークを介して電子証明書の発行要求や受信処理を自動で行い、更に、受信した電子証明書の用途設定も行うことができ、ユーザの作業の手間を削減することが可能となる。
図4の説明に戻る。
【0111】
S425で複合機100は、複合機100の再起動のリクエストを受信する。実施形態1では、複合機100の管理者が、複合機100の再起動を行うため、
図13(B)の再起動ボタン1309をクリックするものとする。
【0112】
次にS426に進み複合機100は、S425の応答として、
図14(B)に示す既定の再起動実行画面のHTMLデータを応答として送信する。次にS427に進み複合機100は、複合機100の再起動処理を実行する。
【0113】
実施形態1に係る複合機100は、受信した電子証明書に対してIEEE802.1Xなどの通信の用途を設定した際、再起動を行わなければ反映できないことを想定している。これは例えばIEEE802.1Xなどの電子証明書は、複合機100の起動時にRAM203に展開されて使用され続けるため、HDD204に保存される受信した電子証明書に置き換わらない場合があるためである。但し、もしも複合機100が再起動を必要せずに通信の用途で使われる電子証明書を切り替えることが可能であれば、再起動は不要でもよい。例えば、TLSの用途に設定した場合は、再起動を不要にすることとしてもよい。例えば、予め、複数の用途に対してそれぞれ再起動の要否を設定しておき、複合機100は、その再起動要否情報に応じて再起動の有無を自動的に決定してもよい。
【0114】
図9は、実施形態1に係る複合機100による、
図4のS424からS427の複合機100の再起動に関する処理を説明するフローチャートである。尚、この処理は、CPU201がRAM203に展開したプログラムを実行することにより達成される。
【0115】
まずS901でCPU201は、PC103から複合機100の再起動要求を受信する。次にS902に進みCPU201は、
図14(B)に示した既定の複合機100の再起動要求のHTMLデータを、S501への応答としてPC103に送信する。次にS903に進みCPU201は、デバイス制御部310へ再起動処理の開始を指示して、この処理を終了する。
【0116】
以上の一連の動作によって、再起動した後の複合機100は、認証局・登録局102から取得した電子証明書が利用される。
【0117】
図15は、証明書の発行・取得が成功した場合に、再びS401の処理によって鍵ペア・電子証明書リストの表示を行った場合の画面例を示す図で、認証局・登録局102が発行した証明書(Xyz4)の情報1501が追加されている。
【0118】
上述の処理によって、証明書の自動更新機能が有効時に、手動での証明書取得を禁止することによって、証明書の自動更新機能で取得した証明書を保存できなくなる場合を防ぐことが可能となる。
【0119】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。