(57)【要約】【課題】  情報処理システムを提供すること。【解決手段】  情報処理システム１００は、１以上の情報機器１５０と、管理装置１１０とを含む。管理装置１１０は、情報機器１５０各々から、各々に接続される付属装置１８０の装置情報を取得する取得手段２１２と、装置情報に基づいて、付属装置１８０各々に対応する制御データを選択する選択手段２１４と、付属装置１８０各々に対し選択された制御データを含む更新データを生成する生成手段２１８とを含む。情報機器１５０は、管理装置１１０から、更新データを受信する受信手段２５８と、付属装置の提供元から発行された証明情報を取得する取得手段２５６と、更新データの配信元を、取得した提供元の証明情報に基づいて検証する検証手段２６０と、更新データの配信元が検証を通過した場合、付属装置に対し、検証された更新データに基づく制御データの更新を指令する指令手段２５４とを含む。【選択図】  図４
2017173893.tif 000002
【特許請求の範囲】
【請求項１】
１以上の情報機器と、該１以上の情報機器にネットワークを介して接続される管理装置とを含む情報処理システムであって、前記管理装置は、
前記１以上の情報機器各々から、各々に接続される付属装置の装置情報を取得する取得手段と、
取得された前記装置情報に基づいて、前記付属装置各々に対応する制御データを選択する選択手段と、
前記付属装置各々に対し選択された制御データを含む更新データを生成する生成手段と
を含み、前記情報機器は、
前記管理装置から、生成された前記更新データを受信する受信手段と、
前記付属装置の提供元から発行された証明情報を取得する取得手段と、
前記更新データの配信元を、取得した前記提供元の証明情報に基づいて検証する検証手段と、
前記更新データの配信元が検証を通過した場合、前記付属装置に対し、検証された更新データに基づく制御データの更新を指令する指令手段と
を含む、情報処理システム。
【請求項２】
前記管理装置は、
秘密鍵を格納する秘密鍵格納手段と、
前記秘密鍵に基づいて更新データに対し署名を施す署名手段と、
を含み、前記情報機器の前記検証手段は、
さらに前記秘密鍵に対応する管理装置の証明情報に基づいて、受信した更新データに施された署名を検証することを特徴とする、請求項１に記載の情報処理システム。
【請求項３】
前記情報機器の前記検証手段は、受信した更新データに施された署名が前記秘密鍵に対応する前記管理装置の証明情報での検証に通過した場合であって、さらに、前記管理装置の証明情報が前記提供元の証明情報に基づく検証を通過した場合に、前記更新データの配信元が正当であると判定する、請求項２に記載の情報処理システム。
【請求項４】
前記更新データに含まれる前記制御データは、前記提供元による署名が施された、前記付属装置を動作させるためのファームウェアデータである、請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
前記更新データは、さらに、前記付属装置を特定する装置特定情報を含み、前記検証手段は、さらに、前記更新データに含まれる前記装置特定情報で示される付属装置が当該情報機器に接続されているかを検証することを特徴とする、請求項１〜４のいずれか１項に記載の情報処理システム。
【請求項６】
前記装置情報は、付属装置を特定する装置特定情報と、該付属装置の現在の制御データの世代を識別する情報とを含み、前記選択手段は、装置特定情報と、制御データと、該制御データの世代を識別する情報と、適用可能な世代を表す情報とを含み構成される対応付け情報を参照して、前記装置情報に基づいて、制御データの更新が可能であるか否かを判定する、請求項１〜５のいずれか１項に記載の情報処理システム。
【請求項７】
前記情報処理システムは、前記１以上の情報機器各々に接続される１以上の付属装置を含み、前記１以上の付属装置のいずれかは、カードリーダまたはカードリーダライタであり、前記１以上の付属装置各々は、前記更新を指令に応答して、検証された更新データに基づく制御データの更新を適用することを特徴とする、請求項１〜６のいずれか１項に記載の情報処理システム。
【請求項８】
前記情報処理システムは、前記１以上の情報機器各々に接続される１以上の付属装置を含み、前記１以上の付属装置のいずれかは、生体認証装置またはカメラであり、前記１以上の付属装置各々は、前記更新を指令に応答して、検証された更新データに基づく制御データの更新を適用することを特徴とする、請求項１〜６のいずれか１項に記載の情報処理システム。
【請求項９】
情報機器と、該情報機器にネットワークを介して接続される管理装置との間で実行される制御データの更新方法であって、
前記管理装置が、前記情報機器に接続される付属装置の装置情報を取得するステップと、
前記管理装置が、取得された前記装置情報に基づいて、前記付属装置に対応する制御データを選択するステップと、
前記管理装置が、前記付属装置に対し選択された制御データを含む更新データを生成するステップと、
前記情報機器が、前記管理装置から更新データを受信するステップと、
前記情報機器が、前記付属装置の提供元から発行された証明情報を取得するステップと、
前記情報機器が、前記更新データの配信元を、取得した前記提供元の証明情報に基づいて検証するステップと、
前記情報機器が、前記更新データの配信元が検証を通過した場合、前記付属装置に対し、検証された更新データに基づく制御データの更新を指令するステップと
を含む、更新方法。
【請求項１０】
管理装置にネットワークを介して接続される情報機器であって、
前記管理装置に対し、当該情報機器に接続される付属装置の装置情報を送信する送信手段と、
前記管理装置から、前記付属装置の装置情報に対応して選択された制御データを含む更新データを受信する受信手段と、
前記付属装置の提供元から発行された証明情報を取得する取得手段と、
前記更新データの配信元を、取得した前記提供元の証明情報に基づいて検証する検証手段と、
前記更新データの配信元が検証を通過した場合、前記付属装置に対し、検証された更新データに基づく制御データの更新を指令する指令手段と
を含む、情報機器。
【請求項１１】
管理装置にネットワークを介して接続される情報機器を実現するためのプログラムであって、コンピュータを、
前記管理装置に対し、当該情報機器に接続される付属装置の装置情報を送信する送信手段、
前記管理装置から、前記付属装置の装置情報に対応する制御データを含む更新データを受信する受信手段、
前記付属装置の提供元から発行された証明情報を取得する取得手段、
前記更新データの配信元を、取得した前記提供元の証明情報に基づいて検証する検証手段、および
前記更新データの配信元が検証を通過した場合、前記付属装置に対し、検証された更新データに基づく制御データの更新を指令する指令手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、更新方法、情報機器およびプログラムに関する。
【背景技術】
【０００２】
従来、周辺機器のファームウェアを更新する技術が知られている。また、官公庁、教育機関、企業などの組織においては、複合機などの情報機器を一元管理している場合もあるところ、情報機器のファームウェアを遠隔操作により更新することを可能とする技術も知られている。
【０００３】
上述した情報機器に接続されるカードリーダなどの周辺機器のファームウェアを更新する場合、情報機器から周辺機器を取り外して、繋ぎ換えを行うことを要する場合がある。パーソナル・コンピュータ上から、ファームウェアを更新する必要があるためである。そして、一つ一つ更新対象の周辺機器毎にファームウェアを更新することを要する場合がある。
【０００４】
また、カードリーダなどの周辺機器は、機種やバージョンも一様ではなく、更新作業以外にも、対応するファームウェアを選択する手間も大きい。さらに、周辺機器を取り外してファームウェアを更新することが前提である場合、管理上、周辺機器と情報機器との接続部分への物理的なアクセスを制限することを要する。
【０００５】
周辺機器のファームウェア更新に関連して、特許第５４１９１２３号公報（特許文献１）も知られている。しかしながら、一元管理される情報機器に一括で更新を実施することができるものではなかった。また、周辺機器毎に適切なファームウェアを選択する必要があり、充分なものではなかった。さらに、ファームウェアの更新において、より一層高いセキュリティ保護が求められていた。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記点に鑑みてなされたものであり、本発明は、管理する１以上の情報機器各々に接続された付属装置の制御データを、保護された状態で効率的に更新することが可能な情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態では、上記課題を解決するために、下記特徴を有する、１以上の情報機器と、該１以上の情報機器にネットワークを介して接続される管理装置とを含む情報処理システムを提供する。管理装置は、１以上の情報機器各々から、各々に接続される付属装置の装置情報を取得する取得手段と、取得された装置情報に基づいて、付属装置各々に対応する制御データを選択する選択手段と、付属装置各々に対し選択された制御データを含む更新データを生成する生成手段とを含む。
【０００８】
情報機器は、管理装置から、生成された更新データを受信する受信手段と、上記付属装置の提供元から発行された証明情報を取得する取得手段と、上記更新データの配信元を、取得した提供元の証明情報に基づいて検証する検証手段と、上記更新データの配信元が検証を通過した場合、付属装置に対し、検証された更新データに基づく制御データの更新を指令する指令手段とを含む。
【発明の効果】
【０００９】
上記構成により、管理する１以上の情報機器各々に接続された付属装置の制御データを、保護された状態で効率的に更新することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態による機器管理システムを示す概略図。
【図２】本実施形態による機器管理サーバのハードウェア構成を示す図。
【図３】本実施形態による情報機器のハードウェア構成を示す図。
【図４】本実施形態による機器管理システムの構成を示すブロック図。
【図５】本実施形態における機器管理システムを構成する機器管理サーバ、情報機器および周辺機器間で実行されるファームウェア更新処理を示すシーケンス図。
【図６】（Ａ）生成されるファームウェア更新データおよび（Ｂ）対応付け情報のデータ構造を例示する図。
【図７】本実施形態における機器管理システムを構成する機器管理サーバが実行する装置検証処理を示すフローチャート。
【図８】本実施形態における機器管理システムを構成する情報機器が実行する配信元検証処理を示すフローチャート。
【図９】本実施形態における配信元検証処理を説明する図。
【図１０】特定の実施形態における証明チェーンを例示する図。
【発明を実施するための形態】
【００１１】
以下、本実施形態について説明するが、実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、情報処理システムおよび情報機器として、機器管理システム１００および情報機器１５０を一例として説明する。
【００１２】
図１は、本実施形態による機器管理システム１００を示す概略図である。図１に示すように、機器管理システム１００は、ネットワーク１０２を介して相互に接続される機器管理サーバ１１０と、１以上の情報機器１５０とを含み構成される。ネットワーク１０２は、特に限定されるものではないが、ローカル・エリア・ネットワークなどの有線または無線のネットワークである。機器管理サーバ１１０および情報機器１５０は、ネットワーク１０２を介して、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）プロトコルに従い、互いにデータをやり取りすることができるよう構成される。
【００１３】
機器管理サーバ１１０は、特に限定されるものではないが、パーソナル・コンピュータ、ワークステーション、サーバ・コンピュータなどの汎用コンピュータとして構成される。説明する実施形態において、機器管理サーバ１１０は、１以上の情報機器１５０を監視し、管理する機能を提供する。情報機器１５０の管理者は、機器管理サーバ１１０を用いて、遠隔から情報機器１５０のステータスを把握したり、その内部のファームウェアやアプリケーションを更新することもできる。
【００１４】
情報機器１５０は、一例では、コピー、プリント、スキャナ、ファクシミリなどの各種画像処理機能を提供する複合機である。情報機器１５０は、機器管理サーバ１１０によって管理される管理対象の情報機器である。なお、図１には、情報機器として、２台の情報機器１５０ａ，１５０ｂが示されているが、情報機器の数は、特に限定されるものではない。また、情報機器１５０としては、特に限定されるものではないが、好ましくは、機器管理サーバ１１０の管理対象として電源状態などのステータスやファームウェアが管理されるような、複合機や複写機やプリンタなどの画像形成装置、スキャナなどの画像読取装置、ファクシミリなどの画像通信装置などの装置を挙げることができる。
【００１５】
説明する実施形態において、情報機器１５０それぞれには、周辺機器１８０が接続される。周辺機器１８０は、情報機器１５０に接続されて、情報機器１５０に対しその一部機能を実現するための補助的な機能を提供する。周辺機器１８０としては、カードリーダ、カードリーダライタなどの認証装置、指紋認証、静脈認証、虹彩認証などの生体認証装置、顔認証のためのカメラなどを挙げることができる。
【００１６】
説明する実施形態では、情報機器１５０および周辺機器１８０は、ＵＳＢ（Universal Serial Bus）などのシリアルバスインタフェースを介して接続されるものとして説明する。しかしながら、接続方式は、特に限定されるものではなく、有線および無線を問わず、如何なる接続方式を採用することができる。また、説明する実施形態では、情報機器１５０および周辺機器１８０のセット１４０それぞれが、機器管理サーバ１１０の管理対象となる。なお、図１には、付属装置として、情報機器１５０ａ，１５０ｂそれぞれに接続された周辺機器１８０ａ，１８０ｂが示されているが、情報機器当たりの管理対象となる付属装置の数は、特に限定されるものではない。
【００１７】
上述したように情報機器１５０に対し、周辺機器１８０が外付けされる場合、情報機器１５０の管理上、情報機器１５０のファームウェアを更新する必要性があるほか、周辺機器１８０のファームウェアを更新する必要性が生じる場合がある。
【００１８】
その際に、情報機器１５０から周辺機器１８０を取り外して、パーソナル・コンピュータに繋ぎ換えてファームウェアを更新することが求められる場合、管理者は、煩雑な作業を行う必要がある。さらに、周辺機器１８０は、運用環境によっては、機種やバージョンも一様ではなく、各周辺機器に適合したファームウェアを選択する手間も大きくなる場合もある。さらに、周辺機器１８０を取り外してファームウェアを更新することが前提であるとすると、権限のある作業者のみがファームウェアを更新できるように、別途、周辺機器１８０やその接続部分への物理的なアクセスの制限を施すことを要する場合がある。
【００１９】
そこで、本実施形態による機器管理サーバ１１０は、１以上の情報機器１５０各々に接続される周辺機器１８０各々のファームウェアを、保護された状態で、リモートで一括に更新する機能を備える。情報機器１５０は、それぞれ、機器管理サーバ１１０からのリモート更新の要求に応答して、配信元の正当性を検証した上で、周辺機器１８０のファームウェアを更新する機能を備える。
【００２０】
より具体的には、機器管理サーバ１１０は、１以上の情報機器１５０各々から、各々に接続される周辺機器１８０の装置情報を取得し、取得された装置情報に基づいて、周辺機器１８０各々に対応するファームウェアデータを選択する。機器管理サーバ１１０は、周辺機器１８０各々に対し、選択されたファームウェアデータを含むファームウェア更新データを生成し、対応する情報機器１５０各々に送信する。
【００２１】
情報機器１５０は、機器管理サーバ１１０から、生成されたファームウェア更新データを受信すると、配信元を検証するために周辺機器１８０の提供元から発行された証明情報を取得する。情報機器１５０は、ファームウェア更新データの配信元を、取得した提供元の証明情報に基づいて検証し、検証を通過した場合、接続される周辺機器１８０に対し、検証されたファームウェア更新データに基づくファームウェアの更新を指令する。
【００２２】
更新の指令を受けた周辺機器１８０は、受け取ったファームウェア更新データに基づいて、必要に応じて自身でも検証を行った上で、ファームウェア更新を適用する。
【００２３】
上記構成により、管理される１以上の情報機器１５０各々に接続された周辺機器１８０のファームウェアを効率的に更新することが可能となる。提供元から発行された証明情報に基づいて配信元が検証されるため、配信元が付属装置の提供元から許可された管理装置であることの正当性を確認した上で、安全に付属装置のファームウェアを更新することが可能となる。
【００２４】
以下、図２〜図１０を参照しながら、本実施形態による機器管理システム１００で実行される、セキュリティ保護されたファームウェア更新処理について、より詳細を説明する。
【００２５】
以下、まず、図２および図３を参照しながら、機器管理システム１００を構成する各装置のハードウェア構成について説明する。
【００２６】
図２は、本実施形態による機器管理サーバ１１０のハードウェア構成を示す図である。機器管理サーバ１１０は、汎用コンピュータなどとして構成されている。図２に示す機器管理サーバ１１０は、シングルコアまたはマルチコアのＣＰＵ（Central Processing Unit）１２と、ＲＡＭ（Random Access Memory）１４と、ＲＯＭ（Read Only Memory）１６と、ＨＤＤ（Hard Disk Drive）１８と、通信インタフェース機器２４とを含み構成される。機器管理サーバ１１０は、必要に応じて、入力装置２０と、表示装置２２とを含む場合がある。
【００２７】
ＣＰＵ１２は、機器管理サーバ１１０内部の処理などの全体制御を行う。ＲＡＭ１４は、ＣＰＵ１２の作業領域を提供する。ＲＯＭ１６は、ＢＩＯＳ（Basic Input / Output System）などの制御プログラムを記憶する。ＨＤＤ１８は、コンピュータ装置を制御するためのＯＳ、後述する機能部を実現するためのプログラムや各種システム情報や各種設定情報を格納する。
【００２８】
入力装置２０は、マウス、キーボード、タッチスクリーンパネルなどの入力装置である。表示装置２２は、液晶ディスプレイ装置、有機ＥＬ（Electroluminescence）ディスプレイなどの表示装置である。入力装置２０および表示装置２２は、管理者からの各種指示の入力を受け付けるためのユーザ・インタフェースを提供する。通信インタフェース機器２４は、ＮＩＣ（Network Interface Card）などの機器管理サーバ１１０をネットワーク１０２に接続させるインタフェース機器である。
【００２９】
本実施形態による機器管理サーバ１１０は、ＲＯＭ１６やＨＤＤ１８からプログラムを読み出し、ＲＡＭ１４が提供する作業空間に展開することにより、ＣＰＵ１２の制御の下、後述する各部および各処理を実現する。
【００３０】
図３は、本実施形態による情報機器１５０のハードウェア構成を示す。情報機器１５０は、画像形成機能および画像読取機能を備えた画像形成装置として構成されている。図３に示す情報機器１５０は、コントローラボード５０上に、シングルコアまたはマルチコアのＣＰＵ５２と、ＲＯＭ５４と、ＣＰＵ５２の作業領域を提供するＲＡＭ５６と、画像メモリ５８と、通信インタフェース機器６０とを備える。コントローラボード５０には、さらに、操作パネル６２と、スキャナ６４と、プロッタ６６とが接続される。
【００３１】
ＣＰＵ５２は、情報機器１５０内部の画像処理などの動作を制御する。ＲＯＭ５４は、情報機器１５０を機能させるためのプログラムを格納する。ＲＡＭ５６は、ＣＰＵ５２の作業領域を提供し、ＲＯＭ５４やＨＤＤなどに格納されているプログラムを実行する。画像メモリ５８は、スキャンや印刷での画像処理に利用する作業領域を提供する。通信インタフェース機器６０は、ＩＥＥＥ８０２．１１などの規格に従った無線ＬＡＮアダプタやＮＩＣなどの情報機器１５０をネットワーク１０２に接続させるインタフェース機器である。
【００３２】
操作パネル６２は、コントローラボード５０と接続され、液晶パネルや有機ＥＬなどの表示装置と、タッチスクリーンパネルなどの入力装置とを備える。操作パネル６２は、操作画面を表示し、操作者からの各種指示の入力を受付け、画面表示を行うためのユーザ・インタフェースを提供する。スキャナ６４は、コントローラボード５０からの画像読取の実行指令に応答して、画像読取処理を実行する。プロッタ６６は、コントローラボード５０からの画像形成の実行指令に応答して、端末装置からの印刷データやスキャナ６４により読み取られた画像読取データに基づき画像形成処理を実行する。
【００３３】
本実施形態による情報機器１５０は、ＲＯＭ５４やＨＤＤからプログラムを読み出し、ＲＡＭ５６が提供する作業空間に展開することにより、ＣＰＵ５２の制御の下、後述する各部および各処理を実現する。
【００３４】
なお、図２および図３を参照して、それぞれ、機器管理サーバ１１０および情報機器１５０のハードウェア構成を説明したが。周辺機器１８０については、用途に応じた適切なハードウェアコンポーネントを含み構成されるが、詳細な説明は割愛する。
【００３５】
以下、図４を参照しながら、本実施形態による機器管理システム１００における、セキュリティ保護されたファームウェア更新処理を実行するための機能ブロックについて説明する。図４は、本実施形態による機器管理システム１００の構成を示すブロック図である。図４には、機器管理サーバ１１０が備えるモジュール構成２１０、情報機器１５０が備えるモジュール構成２５０、周辺機器１８０が備えるモジュール構成２８０が示されている。
【００３６】
まず、機器管理サーバ１１０側の機能構成について説明する。図４に示すように、機器管理サーバ１１０のモジュール構成２１０としては、装置情報収集部２１２と、更新可否検証部２１４と、ファームウェア情報格納部２１６と、ファームウェア更新データ生成部２１８と、ファームウェアデータ格納部２２０と、署名部２２２と、ファームウェア更新データ配信部２２６とが含まれる。
【００３７】
装置情報収集部２１２は、１以上の情報機器１５０各々に対し、各々に接続される周辺機器１８０に関する装置情報の取得を要求し、情報機器１５０各々から装置情報を収集する。ここで、装置情報は、ベンダ識別情報や製品識別情報といった周辺機器１８０のファームウェアを特定する情報と、周辺機器１８０の現在のファームウェアの世代（バージョンともいう。）を識別する情報とを含む。なお、装置情報の取得を要求する相手方の１以上の情報機器１５０との通信のための情報は、事前に、管理対象として登録されているものとする。装置情報収集部２１２は、本実施形態における管理装置側の取得手段を構成する。
【００３８】
ファームウェア情報格納部２１６は、ベンダ識別情報や製品識別情報といった周辺機器１８０のファームウェアを特定する情報と、機器管理サーバ１１０で保持されるファームウェアの実体データと、ファームウェアの世代情報と、ファームウェアが適用可能な世代情報とを対応付ける対応付け情報を格納する。すなわち、ファームウェア情報格納部２１６により、保持するファームウェアが、どのような種類の周辺機器のどのような世代のファームウェアに対して有効であるかが管理される。
【００３９】
更新可否検証部２１４は、取得された装置情報に基づいて、ファームウェア情報格納部２１６に格納される対応付け情報を参照し、装置情報を取得した周辺機器１８０でファームウェアの更新が可能であるか否かを判定する。更新可否検証部２１４は、更新できると判定した場合には、さらに、周辺機器１８０各々に対応したファームウェアデータを選択する。更新可否検証部２１４は、本実施形態における選択手段を構成する。
【００４０】
ファームウェアデータ格納部２２０は、ファームウェアの実体データであるファームウェアデータを格納する。特定の実施形態では、ファームウェアデータは、ベンダによる署名が施されている。なお、ファームウェアデータ格納部２２０には、機器管理サーバ１１０が管理対象とする情報機器１５０に接続され得る周辺機器１８０各々について、１以上の世代のファームウェアデータが、予め準備されているものとする。このファームウェアデータは、例えば、情報機器１５０や周辺機器１８０の提供元のサーバからインターネットを介して事前に取得されてもよいし、ＤＶＤなどの記録媒体を介して事前に提供されてもよい。ファームウェアデータは、本実施形態において、周辺機器１８０を動作させるための制御データを構成する。
【００４１】
ファームウェア更新データ生成部２１８は、ファームウェアデータ格納部２２０から、更新可否検証部２１４により選択されたファームウェアデータを読み出し、ファームウェア更新データを生成する。ここで、ファームウェア更新データは、セキュリティ保護されたデータ構造を有する形で生成される。ファームウェア更新データ生成部２１８は、本実施形態における生成手段を構成する。
【００４２】
図４に示す実施形態において、機器管理サーバ１１０は、管理装置秘密鍵２２４を保持する。管理装置秘密鍵２２４は、機器管理サーバ１１０の記憶装置上に、保護された状態で格納される。署名部２２２は、署名アルゴリズムを実装しており、管理装置秘密鍵２２４を用いてデータに対し署名を施す機能を提供する。管理装置秘密鍵２２４を記憶する記憶装置および署名部２２２は、それぞれ、本実施形態における秘密鍵格納手段および署名手段を構成する。
【００４３】
説明する実施形態において、ファームウェア更新データ生成部２１８は、署名部２２２を呼び出して、ベンダにより署名されたファームウェアデータにさらに機器管理サーバ１１０の署名を施す。これにより、セキュリティ保護されたファームウェア更新データが生成される。機器管理サーバ１１０の署名を施すことで、ファームウェアが正当な管理者によって配信されたものであることが保証される。なお、管理装置秘密鍵２２４に対応する公開鍵は、後述するように管理装置証明書として情報機器１５０に事前に適切な方法で配布される。
【００４４】
ファームウェア更新データ配信部２２６は、装置情報を送信してきた情報機器１５０各々に対し生成されたファームウェア更新データを、対応する情報機器１５０各々に対し配信する。
【００４５】
なお、図４に示した機器管理サーバ１１０の各モジュール２１２〜２２６の一部または全部は、一例として、周辺機器１８０のファームウェア更新を管理するアプリケーションとして、機器管理サーバ１１０上に導入される。
【００４６】
引き続き、情報機器１５０側の機能構成について説明する。図４に示すように、情報機器１５０のモジュール構成２５０としては、装置情報送信部２５２と、装置制御部２５４と、装置ドライバ２５６と、ファームウェア更新データ受信部２５８と、配信元検証部２６０とが含まれる。
【００４７】
装置情報送信部２５２は、機器管理サーバ１１０から装置情報の取得要求に応答して、機器管理サーバ１１０に対し、当該情報機器１５０に接続される周辺機器１８０の装置情報を送信する。装置情報は、一例では、後述するように、周辺機器１８０から取得することができる。装置情報送信部２５２は、本実施形態における送信手段を構成する。
【００４８】
ファームウェア更新データ受信部２５８は、機器管理サーバ１１０から、装置情報に対応して生成されたファームウェア更新データを受信する。ファームウェア更新データ受信部２５８は、本実施形態における受信手段を構成する。
【００４９】
配信元検証部２６０は、ファームウェア更新データの配信元を検証する。配信元検証部２６０は、証明書パス検証アルゴリズムを実装しており、ベンダ証明書を用いて配信元の検証を行う。また、配信元検証部２６０は、署名検証アルゴリズムを実装しており、機器管理サーバ１１０側の管理装置秘密鍵に対応する管理装置証明書２６２に基づいて、受信したファームウェア更新データに施された署名を検証することができる。好ましい実施形態において、配信元検証部２６０は、管理装置証明書２６２での検証に通過した場合であって、さらに、管理装置証明書２６２がベンダ証明書に基づく検証を通過した場合に、ファームウェア更新データの配信元が正当であると判定する。このようにして、受信したファームウェア更新データが、正当な管理者から配布されたものかどうかを検証する。なお、ファームウェア更新データの配信元の検証については、詳細を後述する。配信元検証部２６０は、本実施形態における検証手段を構成する。
【００５０】
なお、管理装置証明書２６２は、機器管理サーバ１１０内の管理装置秘密鍵２２４に対応した公開鍵を保持しており、事前に適切な配布されている。配布の方法は問わない。
【００５１】
装置制御部２５４は、周辺機器１８０のファームウェア更新を制御するモジュールである。装置制御部２５４は、装置ドライバ２５６を介して周辺機器１８０と通信を行う。より具体的には、装置ドライバ２５６を介して周辺機器１８０から装置情報を取得し、装置情報送信部２５２に渡すことができる。装置制御部２５４は、さらに、ファームウェア更新データの配信元の検証を通過した場合に、装置ドライバ２５６を介して周辺機器１８０に対し、機器管理サーバ１１０から配信されたファームウェア更新データを送信し、ファームウェア更新を指令する。装置制御部２５４は、本実施形態における指令手段を構成する。
【００５２】
装置ドライバ２５６は、周辺機器１８０と通信し、周辺機器１８０を制御するドライバソフトウェアである。装置ドライバ２５６は、情報機器１５０が周辺機器１８０に対しファームウェアの更新を制御するために用いられる。装置ドライバ２５６は、周辺機器１８０に対し制御コマンドを送信することにより、ベンダ証明書の取得要求を発行したり、ファームウェア更新データを送信したりする。装置ドライバ２５６は、本実施形態における情報機器側の取得手段を構成する。
【００５３】
なお、図４に示した情報機器１５０の各モジュール２５２〜２６２の一部または全部は、一例として、機器管理サーバ１１０上のファームウェア更新管理アプリケーションと連携して周辺機器１８０のファームウェア更新を制御するアプリケーションとして、情報機器１５０上に導入される。
【００５４】
引き続き、周辺機器１８０側の機能構成について説明する。図４に示すように、周辺機器１８０のモジュール構成２８０としては、通信部２８２と、ファームウェア検証部２９０と、ファームウェア更新適用部２９２とが含まれる。
【００５５】
通信部２８２は、情報機器１５０側の装置ドライバ２５６から制御コマンドを受け取り、ファームウェアデータを受信したり、取得要求に応答して、周辺機器１８０が保持する装置情報２８４やベンダ証明書２８６を読み出し返したりする。
【００５６】
ここで、装置情報２８４は、当該周辺機器１８０の装置を記述するものとして事前に周辺機器１８０に保持されているものとして説明する。ベンダ証明書２８６についても同様であり、周辺機器１８０が製造された際に、周辺機器１８０の製造会社などにより、事前に周辺機器１８０内に記録されているものとして説明する。このベンダ証明書２８６は、周辺機器１８０内で、ファームウェアに施されたベンダ署名を検証する際に利用される。説明する実施形態では、ベンダ証明書２８６は、さらに、情報機器１５０側に提供されて、ファームウェア更新データの配信元を検証する際に利用される。
【００５７】
通信部２８２は、情報機器１５０からファームウェアデータを受信すると、ファームウェアデータを所定の記憶領域に保存する。ファームウェアデータ２８８は、機器管理サーバ１１０のファームウェアデータ格納部２２０に存在されていたものを、情報機器１５０のファームウェア更新データ受信部２５８、装置制御部２５４、装置ドライバ２５６を経て、周辺機器１８０の通信部２８２で受信して保存されたものである。
【００５８】
ファームウェア検証部２９０は、ベンダ証明書２８６を用いて、ファームウェアデータ２８８が適切な製造元により発行されたものかどうかを検証する。ファームウェア更新適用部２９２は、ファームウェアデータ２８８が検証を通過した場合に、ファームウェアデータ２８８に基づいて更新を周辺機器１８０に対して適用する。
【００５９】
なお、図４に示した周辺機器１８０の各モジュール２８２〜２９２の一部または全部は、一例として、情報機器１５０側のファームウェア更新制御アプリケーションの指令の下、ファームウェアの実際の更新作業を実行するためのファームウェアなどとして周辺機器１８０上に事前に実装される。
【００６０】
なお、図４を参照しながら、情報機器１５０および周辺機器１８０の１つのセット２４０について説明した。しかしながら、上述したように情報機器１５０の数は、特に限定されるものではなく、情報機器１５０当たりの周辺機器１８０の数も特に限定されるものではない。情報機器１５０が複数ある場合は、情報機器１５０それぞれについてセット２４０が存在することになる。情報機器１５０当たりに周辺機器１８０が複数ある場合は、各セット２４０内で、複数の周辺機器１８０上のモジュール２８０が設けられることになる。
【００６１】
以下、図５を参照しながら、本実施形態による周辺機器１８０のファームウェア更新処理の全体的な流れを説明する。図５は、本実施形態における機器管理システム１００を構成する機器管理サーバ１１０、情報機器１５０および周辺機器１８０間で実行されるファームウェア更新処理を示すシーケンス図である。
【００６２】
図５に示す処理は、機器管理サーバ１１０が、管理者からのファームウェア一括更新の指示を受けたことに応答して、ステップＳ１０１から開始される。なお、ファームウェア一括更新の指示は、機器管理サーバ１１０が備える入力装置を介して行われてもよいし、機器管理サーバ１１０が、ネットワークを介して、管理者端末から受け取ってもよい。また、図５には、１台の情報機器１５０が示されており、１台の情報機器１５０についての処理を示すが、情報機器１５０が複数台ある場合は、図５に示す処理が、情報機器毎に実行されることになる。
【００６３】
ステップＳ１０１では、機器管理サーバ１１０は、装置情報収集部２１２により、情報機器１５０に対し、接続された周辺機器１８０の装置情報の取得要求を送信する。ステップＳ１０２では、装置情報取得要求を受信した情報機器１５０は、装置制御部２５４により、自身に接続される周辺機器１８０に対し、装置ドライバ２５６を介して、装置情報の取得要求を発行し、装置情報の取得を試みる。装置情報を取得できれば、情報機器１５０は、装置情報送信部２５２により、要求元の機器管理サーバ１１０へ装置情報を応答する。情報機器１５０は、装置情報を取得できなければ、要求元の機器管理サーバ１１０に失敗通知を応答する。ここでは、装置情報が成功裡に取得されたものとして説明を続ける。なお、説明では、便宜上、情報機器１５０に接続される周辺機器１８０は、１つであるものして説明するが、接続される周辺機器１８０が複数ある場合は、複数の周辺機器各々の装置情報が返却されることになる。
【００６４】
ステップＳ１０３では、装置情報を取得した機器管理サーバ１１０は、取得した装置情報に基づき装置検証を実行する。ここでの装置検証は、装置情報を取得した周辺機器１８０のファームウェアが更新可能であるかの検証を含み、更新可能である場合は、取得された装置情報に基づいて、周辺機器１８０に対応するファームウェアデータが選択される。装置検証処理については、詳細を後述する。
【００６５】
検証が正常に終了すると、ステップＳ１０４では、機器管理サーバ１１０は、ファームウェア更新データ生成部２１８により、周辺機器１８０に対し選択されたファームウェアデータを含むファームウェア更新データを生成する。ステップＳ１０５では、機器管理サーバ１１０は、ファームウェア更新データ配信部２２６により、ファームウェア更新データを情報機器１５０に送信する。
【００６６】
図６（Ａ）は、生成されるファームウェア更新データのデータ構造を例示する。ファームウェアを更新するためのデータ一式であるファームウェア更新データ３００は、ファームウェアデータ３０２を含み構成される。ファームウェアデータ３０２には、周辺機器１８０の製造会社（提供元）による署名（ベンダ署名）が行われている。この署名は、ファームウェアデータが、製造会社により生成され、改竄が無いことを保証するためのものである。なお、署名のための秘密鍵は、製造会社により管理されている。
【００６７】
図６（Ａ）に示すファームウェア更新データ３００は、ベンダ署名済みファームウェアデータ３０４に加えて、さらに、更新対象装置情報３０６をさらに含む。更新対象装置情報３０６は、更新対象の周辺機器１８０を特定するために、提供元識別情報と、製品識別情報とを含むことができる。更新対象装置情報３０６は、単に更新対象となるファームウェアのバージョンでも良く、周辺機器またはそのファームウェアを一意に示すものであればいかなる情報であってよい。情報機器１５０に複数の周辺機器１８０が接続され得るところ、更新対象装置情報３０６は、ファームウェア更新データの適用対象となる周辺機器１８０を特定するものである。
【００６８】
図６（Ａ）に示すファームウェア更新データ３００では、署名されたファームウェアデータ３０４および更新対象装置情報３０６を一組にしたものに対してさらに、機器管理サーバ１１０による管理装置秘密鍵２２４に基づいて署名（管理装置署名）が施されている。この署名は、正当な機器管理サーバにより生成されたファームウェア更新データであることを示すためのものである。このように、ファームウェアデータをそのまま送信しないのは、通信経路での改変を防止するためである。
【００６９】
ここで、再び図５を参照する。ファームウェア更新データ受信部２５８によりファームウェア更新データを受信した情報機器１５０は、ステップＳ１０６で、受信したファームウェア更新データを保存する。ステップＳ１０７では、情報機器１５０は、配信元検証部２６０により、更新データの配信元の検証処理を実行する。
【００７０】
ここでの配信元検証処理は、そのファームウェア更新データが、信頼される機器管理サーバ１１０から配信されたものであるかどうかを検証するものである。本実施形態による配信元検証処理においては、ステップＳ１０８で、情報機器１５０は、装置制御部２５４および装置ドライバ２５６を通じて、周辺機器１８０に対しベンダ証明書の取得要求を発行し、周辺機器１８０からベンダ証明書を取得する。なお、説明する実施形態では、周辺機器１８０からベンダ証明書を取得するものとして説明するが、取得方法は、特に限定されるものではない。そして、ステップＳ１０７で示す配信元検証処理では、ファームウェア更新データの配信元の正当性が、事前配布された管理装置証明書２６２と、さらに取得されたベンダ証明書とに基づいて検証される。これにより、通信路上での改竄を防止し、また改竄されたファームウェアによる更新を防止することができる。
【００７１】
ステップＳ１０９では、情報機器１５０は、装置制御部２５４により、ファームウェア更新対象の周辺機器１８０の検証を行う。ここでの検証は、装置情報を取得した周辺機器１８０が、情報機器１５０に接続された状態を維持しているか否か、また、構成に変更が無いかを確認するものである。ステップＳ１１０では、情報機器１５０は、実際にファームウェア更新データを送信することができるか、ベンダ識別情報や製品識別情報といった周辺機器１８０のファームウェアを特定する情報が示す周辺機器１８０に対し、装置制御部２５４から装置ドライバ２５６を介して接続テストを行う。
【００７２】
配信元が正当であり、かつ、接続テストを通過すると、ステップＳ１１１では、情報機器１５０は、周辺機器１８０に対し、ファームウェアデータを送信する。これにより、検証されたファームウェアデータに基づくファームウェアの更新が指令される。
【００７３】
通信部２８２によりファームウェアデータを受信した周辺機器１８０は、ステップＳ１１２で、受信したファームウェアデータを保存する。ステップＳ１１３では、周辺機器１８０は、ファームウェア検証部２９０により、ファームウェアデータの検証処理を実行する。ここ検証処理では、ファームウェアデータの発行元が、その製造元であり、改変が無いことを検証するものであり、典型的には、ベンダ証明書２８６を用いて行われる。ファームウェアデータに施されたベンダ署名と、ファームウェアデータ（あるいはそのダイジェスト）と、ベンダ証明書２８６の公開鍵とが検証アルゴリズムに入力され、検証される。ここでは、ファームウェアデータに破損がないかも検証される。
【００７４】
検証を通過すると、ステップＳ１１４では、周辺機器１８０は、ファームウェア更新適用部２９２により、ファームウェアの更新を適用する。更新が正常に終了すると、更新結果が、通信部２８２により情報機器１５０に通知される。ステップＳ１１５では、情報機器１５０は、機器管理サーバ１１０に更新結果を通知する。なお、検証で署名が破棄される場合は、ファームウェアの更新は適用されない。
【００７５】
以下、図７および図６（Ｂ）を参照しながら、図５に示したステップＳ１０３における装置検証処理について、より詳細に説明する。図７は、本実施形態における機器管理システム１００を構成する機器管理サーバ１１０が実行する装置検証処理を示すフローチャートである。図６（Ｂ）は、ファームウェア情報格納部２１６に格納される対応付け情報のデータ構造を例示する図である。なお、図７に示す処理は、更新可否検証部２１４により実行される。
【００７６】
図７に示す処理は、図５に示したステップＳ１０３で呼び出されて、ステップＳ２００から開始される。上述したステップＳ１０１で取得される装置情報には、上述したように、ベンダ識別情報および製品識別情報といった周辺機器１８０を特定する情報およびファームウェアの世代情報が含まれる。装置情報は、例えばＵＳＢデバイスであれば、ＵＳＢディスクリプタという情報として取得される。ステップＳ２０１では、機器管理サーバ１１０は、装置情報の取得を試みた結果、装置情報が取得できたか否かを判定する。ステップＳ２０１で、装置情報が取得できない場合（ＮＯ）は、ステップＳ２０６へ処理が分岐される。ステップＳ２０６では、機器管理サーバ１１０は、ファームウェア更新データ生成部２１８に更新不可の通知を行い、ステップＳ２０７で、失敗したものとして処理を終了させる。
【００７７】
ステップＳ２０１で、装置情報が取得できた場合（ＹＥＳ）は、ステップＳ２０２へ処理が進められる。ステップＳ２０２では、機器管理サーバ１１０は、取得された装置情報に基づいて、ファームウェア情報格納部２１６に格納される対応付け情報の中から、提供元識別情報および製品識別情報が一致するファームウェアデータを検索する。
【００７８】
図６（Ｂ）に示すように、ファームウェア情報格納部２１６に格納される対応付け情報は、ベンダＩＤと、製品ＩＤと、ファームウェアバージョンと、更新可能バージョンと、ファームウェアデータとを対応付けている。図６（Ｂ）に示すテーブルにおいて、各一行が一つのファームウェアデータを表現している。
【００７９】
図６（Ｂ）に示す対応付け情報において、ベンダＩＤは、周辺機器１８０の製造会社（提供元）を一意に示す識別子である。ＵＳＢデバイスである場合は、一般的には、４桁の１６進数にて表現される。製品ＩＤは、周辺機器１８０を一意に示す識別子である。ＵＳＢデバイスである場合は、一般的には、４桁の１６進数にて表現される。ファームウェアバージョンは、各行が表すファームウェアデータの世代を示す。
【００８０】
ここで、再び図７を参照する。ステップＳ２０２で、一致するものが一つもない場合（ＮＯ）は、ステップＳ２０６へ処理が分岐され、機器管理サーバ１１０は、更新不可の通知を行い、ステップＳ２０７で、失敗したものとして処理を終了させる。
【００８１】
一方、ステップＳ２０２で、装置情報に一致するものが少なくとも１つあった場合（ＹＥＳ）は、ステップＳ２０３へ処理が進められる。ステップＳ２０３では、機器管理サーバ１１０は、取得した装置情報に含まれる現行バージョンが更新可能バージョンの区間内に含まれる、装置情報が一致するファームウェアデータがあるか否かを判定する。
【００８２】
図６（Ｂ）に示す対応付け情報において、更新可能バージョンは、このファームウェアがどのバージョンのファームウェアに対して有効であるかを示す。古すぎるファームウェアを一度に最新バージョンに更新してしまわないように、また、古いファームウェアで新しいファームウェアを更新してしまわないようにするために、更新可能バージョンが設定される。
【００８３】
図６（Ｂ）に示す例では、数学の区間表記によって表されている。上限が記載されていない場合、そのファームウェアのバージョンまでが有効であることを示す。例えば、１行目のファームウェアは、ファームウェアバージョンが１．２３であるので、更新可能バージョンの上限は１．２３となる。したがって、取得した装置情報に含まれる現行バージョンが、１．０１より大きく１．２３以下のバージョンである場合に、当該ファームウェアデータによって更新可能であると判定される。
【００８４】
ここで、再び図７を参照する。ステップＳ２０３で現行バージョンが更新可能バージョンの区間内に含まれる、装置情報が一致するファームウェアデータが一つも無い場合（ＮＯ）は、ステップＳ２０６へ処理が分岐される。ステップＳ２０６では、機器管理サーバ１１０は、更新不可の通知を行い、ステップＳ２０７で、失敗したものとして処理を終了させる。
【００８５】
一方、ステップＳ２０３で、現行バージョンが更新可能バージョンの区間内に含まれる、装置情報が一致するものが少なくとも１つあった場合（ＮＯ）は、ステップＳ２０４へ処理が進められる。なお、検索の結果、更新可能なファームウェアデータが複数のバージョン見つかる場合がある。
【００８６】
ステップＳ２０４では、機器管理サーバ１１０は、ファームウェアデータ格納部２２０から、該当するファームウェアデータのうちの最新バージョンのデータを取得する。図６（Ｂ）に示す対応付け情報において、ファームウェアデータの欄は、ファームウェアデータ格納部２２０におけるファームウェアの実データの保存場所を示す。保存場所が一意に示されれば、形式は、問われない。ステップＳ２０５では、機器管理サーバ１１０は、ファームウェア更新データ生成部２１８に更新成功の通知を行い、ステップＳ２０７で、成功したものとして処理を終了させる。
【００８７】
以下、図８および図９を参照しながら、図５に示したステップＳ１０６〜ステップＳ１１１に示す情報機器１５０が実行する配信元検証処理について、より詳細に説明する。図８は、本実施形態における機器管理システム１００を構成する情報機器１５０が実行する配信元検証処理を示すフローチャートである。また、図９は、本実施形態における配信元検証処理を説明する図である。
【００８８】
ここで、まず、配信元検証のための前提となるファームウェア更新データの生成について説明を加える。更新用のファームウェアデータをそのまま送信して、更新を行うようなシステムでは、仮にファームウェアデータに改竄検証用の署名がされていたとしても、改竄検証用の署名用秘密鍵が漏洩してしまう可能性もあるため、改竄されたファームウェアによる更新を防止することが望ましい。
【００８９】
そこで、本実施形態では、機器管理サーバ１１０は、改竄防止用のベンダ署名がされたファームウェアデータ上に、さらに管理装置秘密鍵２２４による署名を行い、信頼される管理者からの要求であることを証明する。ただ、証明書自体は、誰でも発行できるところ、誰でも作れるような秘密鍵および証明書を用いることは好ましくない。そこで、説明する実施形態では、管理装置秘密鍵２２４に対応する管理装置証明書２６２の証明書チェーンにおいてベンダ証明書２８６が含まれることを強制する。これにより、周辺機器１８０のベンダにファームウェアの配信を許可された機器管理サーバから配信されたものであること証明する。
【００９０】
図８に示す処理は、機器管理サーバ１１０から情報機器１５０へ、図６（Ａ）に示すような形で生成されたファームウェア更新データが送信されたことに応答して、ステップＳ３００から開始される。情報機器１５０は、ステップＳ３０１で、機器管理サーバ１１０からファームウェア更新データを受信し、ステップＳ３０２で、更新データを記憶装置上に保存する。
【００９１】
ステップＳ３０３では、機器管理サーバ１１０は、装置制御部２５４および装置ドライバ２５６を介して、周辺機器１８０からベンダ証明書を取得する。ステップＳ３０４では、ベンダ証明書の取得に成功したか否かに応じて処理を分岐させる。ステップＳ３０４で、ベンダ証明書の取得に失敗したと判定された場合（ＮＯ）は、ステップＳ３１４へ処理が分岐されて、ファームウェア更新を中止し、ステップＳ３１５で本処理を終了させる。
【００９２】
一方、ステップＳ３０４で、ベンダ証明書の取得に成功したと判定された場合（ＹＥＳ）は、ステップＳ３０５へ処理が進められる。ステップＳ３０５では、情報機器１５０は、配信元検証部２６０により、まず、管理装置証明書２６２と、ファームウェア更新データ３００の署名との対応を検証し、ステップＳ３０６で、検証結果に応じて処理を分岐させる。
【００９３】
図９に示すように、ファームウェア更新データ３００に施される署名は、機器管理サーバ１１０側で管理される管理装置秘密鍵２２４に基づいて行われた管理装置署名である。管理装置秘密鍵２２４とペアとなる管理装置公開鍵３１０は、情報機器１５０が保持する管理装置証明書２６２内に含まれる。そのため、情報機器１５０は、署名検証アルゴリズムに対し、ファームウェア更新データ３００の署名と、ファームウェア更新データ３００の署名以外の部分（またはそのダイジェスト）と、管理装置公開鍵３１０とを入力し、ファームウェア更新データ３００の署名が、管理装置秘密鍵２２４で署名されたものであるかどうかを検証する。
【００９４】
ステップＳ３０６で、一致しないと判定された場合（ＮＯ）は、ステップＳ３１４へ処理が分岐されて、ファームウェア更新を中止し、ステップＳ３１５で本処理を終了させる。
【００９５】
一方、ステップＳ３０６で、一致すると判定された場合（ＹＥＳ）は、ステップＳ３０７へ処理が分岐される。ステップＳ３０７では、情報機器１５０は、さらに、証明チェーンを検証し、ステップＳ３０８で、証明チェーンにベンダ証明書が含まれるか否かに応じて処理を分岐させる。
【００９６】
管理装置証明書２６２は、証明チェーンにベンダ証明書が含まれることが強制されており、正当である場合は、一例では、図９に示すように、管理装置証明書２６２には、ベンダ側で管理されるベンダ秘密鍵３２０に基づく署名が施されている。ベンダ秘密鍵３２０とペアとなるベンダ公開鍵３３０は、情報機器１５０が取得することができるベンダ証明書２８６内に含まれる。そのため、情報機器１５０は、署名検証アルゴリズムに対し、管理装置証明書２６２の署名と、管理装置証明書２６２の署名以外の部分（またはそのダイジェスト）と、ベンダ公開鍵３３０とを入力し、管理装置証明書２６２の署名が、ベンダ秘密鍵３２０で署名されたものであるかどうかを検証する。なお、ベンダ証明書２８６は、さらに上位の認証局が管理する秘密鍵３４０で署名が施されている。また、図９は、一例であり、管理装置証明書２６２が直接ベンダにより署名されない場合もある。
【００９７】
なお、情報機器１５０に接続される周辺機器１８０は、複数のベンダにより提供される場合もある。図１０は、特定の実施形態における証明チェーンを例示する。複数ベンダに対応する場合は、図１０に示すように、証明チェーンに複数のベンダによる署名が含まれる形とすればよい。あるいは、ベンダＩＤから提供元が識別できるので、ベンダごとに、管理装置秘密鍵および管理装置証明書を準備し、これらを使い分けてもよい。
【００９８】
ステップＳ３０８で、ベンダ証明書が証明チェーンに含まれないと判定された場合（ＮＯ）は、ステップＳ３１４へ処理が分岐されて、ファームウェア更新を中止し、ステップＳ３１５で本処理を終了させる。一方、ステップＳ３０８で、ベンダ証明書が証明チェーンに含まれると判定された場合（ＹＥＳ）は、ステップＳ３０９へ処理が分岐される。
【００９９】
ステップＳ３０９では、情報機器１５０は、さらに、装置情報で示される周辺機器１８０に対し接続テストを実施し、ステップＳ３１０で、接続テストの結果に応じて処理を分岐させる。ステップＳ３１０で、接続テストに失敗したと判定された場合（ＮＯ）は、ステップＳ３１４へ処理が分岐されて、ファームウェア更新を中止し、ステップＳ３１５で本処理を終了させる。
【０１００】
一方、ステップＳ３１０で、接続テストに成功したと判定された場合（ＹＥＳ）は、ステップＳ３１１へ処理が分岐される。ステップＳ３１１では、情報機器１５０は、さらに、周辺機器１８０の構成を確認し、ステップＳ３１２では、構成確認の結果に応じて処理を分岐させる。ステップＳ３１２で、例えば装置情報を送信してからバージョンが変更されるなどにより、構成が変更されていると判定された場合（ＮＯ）は、ステップＳ３１４へ処理が分岐されて、ファームウェア更新を中止し、ステップＳ３１５で本処理を終了させる。
【０１０１】
ステップＳ３１２で、構成が従前のまま変更されていないと判定された場合（ＹＥＳ）は、ステップＳ３１３へ処理が分岐される。ステップＳ３１３では、情報機器１５０は、周辺機器１８０に対し、装置制御部２５４および装置ドライバ２５６を介して、ファームウェア更新データ３００に含まれる少なくともベンダ署名済みのファームウェアデータ３０４を送信し、ファームウェア更新適用を指令し、ステップＳ３１５で、本処理を終了させる。
【０１０２】
図８に示す処理により、（１）情報機器１５０に事前に配布された管理装置証明書２６２と、ファームウェア更新データの管理装置署名の対応が一致すること、（２）管理装置証明書２６２の証明書チェーンに周辺機器１８０の対応するベンダ証明書が含まれていること、（３）署名された更新対象装置情報で特定される周辺機器１８０が、情報機器１５０に接続されていることの３点を確認したことをもって、機器管理サーバ１１０によってなされた署名が正当であることが確認される。そのため、通信路での改竄や、ファームウェアの改竄や、正当ではない管理装置からのファームウェア更新のリモート実行を防止することが可能となる。
【０１０３】
以上説明したように、上述した実施形態によれば、管理する１以上の情報機器各々に接続された付属装置の制御データを、保護された状態で効率的に更新することが可能な情報処理システム、更新方法、情報機器およびプログラムを提供することができる。
【０１０４】
なお、上述した説明では、機器管理サーバ１１０から情報機器１５０に接続される周辺機器１８０のファームウェアを更新するものとして説明した。しかしながら、周辺機器１８０のファームウェア更新に伴い、情報機器１５０上のソフトウェアコンポーネントの更新も必要になるような場合は、機器管理サーバ１１０から、周辺機器１８０のファームウェア更新とともに、情報機器１５０側のファームウェアや他のソフトウェアコンポーネントの更新を制御することができる。
【０１０５】
また、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【０１０６】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１０７】
１２，５２…ＣＰＵ、１４，５６…ＲＡＭ、１６，５４…ＲＯＭ、１８…ＨＤＤ、２０…入力装置、２２…表示装置、２４，６０…通信インタフェース機器、５０…コントローラボード、５８…画像メモリ、６２…操作パネル、６４…スキャナ、６６…プロッタ、１００…機器管理システム、１０２…ネットワーク、１１０…機器管理サーバ、１５０…情報機器、１８０…周辺機器、２１２…装置情報収集部、２１４…更新可否検証部、２１６…ファームウェア情報格納部、２１８…ファームウェア更新データ生成部、２２０…ファームウェアデータ格納部、２２２…署名部、２２４…管理装置秘密鍵、２２６…ファームウェア更新データ配信部、２５２…装置情報送信部、２５４…装置制御部、２５６…装置ドライバ、２５８…ファームウェア更新データ受信部、２６０…配信元検証部、２６２…管理装置証明書、２８２…通信部、２８４…装置情報、２８６…ベンダ証明書、２８８…ファームウェアデータ、２９０…ファームウェア検証部、２９２…ファームウェア更新適用部、３００…ファームウェア更新データ、３０４…ベンダ署名済みファームウェアデータ、３０６…更新対象装置情報、３１０…管理装置公開鍵、３２０…ベンダ秘密鍵、３３０…ベンダ公開鍵、３４０…秘密鍵
【先行技術文献】
【特許文献】
【０１０８】
【特許文献１】特許第５４１９１２３号公報
【図１】
2017173893.tif 000003
【図２】
2017173893.tif 000004
【図３】
2017173893.tif 000005
【図４】
2017173893.tif 000006
【図５】
2017173893.tif 000007
【図６】
2017173893.tif 000008
【図７】
2017173893.tif 000009
【図８】
2017173893.tif 000010
【図９】
2017173893.tif 000011
【図１０】
2017173893.tif 000012