(57)【要約】【課題】機器にインストールされたソフトウェアの改竄の検知を、ユーザに手間をかけずに確実に実行する。【解決手段】複合機１を出荷するとき、複合機１にインストールしたファ―ムウェアのバージョン情報をＴＰＭ２０で生成した機器固有ＩＤとともに、管理サーバ２のファ―ムウェアバージョンＤＢ（データベース）２８に保存する。複合機１のＨＤＤ１４を暗号化したとき、そのデバイス暗号鍵を機器固有ＩＤ及びパスフレーズとともに、管理サーバ２のデバイス鍵用ＤＢに２９に保存する。複合機１にインストールされているファ―ムウェアのバージョン情報と、管理サーバ２に保存されているバージョン情報とを比較して改竄を検知する。【選択図】図１
2014026663.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアがインストールされる機器と該機器に接続された管理装置とを含む機器管理システムであって、
前記機器にインストールしたソフトウェアのソフトウェア識別情報を前記機器の機器識別情報と関連付けて前記管理装置に保存する手段と、
前記機器が前記ソフトウェアをインストールした後に前記機器識別情報を前記管理装置へ送信する手段と、
前記管理装置が受信した機器識別情報を基に前記管理装置に保存されている機器識別情報を検索し、その検索結果を前記機器へ送信する手段と、
前記機器が前記管理装置に前記機器識別情報が存在するとの検索結果を受信した場合、前記機器にインストールされたソフトウェアのソフトウェア識別情報を前記管理装置へ送信する手段と、
前記管理装置が受信したソフトウェア識別情報と前記管理装置に保存されているソフトウェア識別情報とを比較する手段と、
比較の結果を基に前記機器にインストールされたソフトウェアが改竄されたか否かを判断するソフトウェア改竄判断手段と、
を有することを特徴とする機器管理システム。
【請求項２】
請求項１に記載の機器管理システムにおいて、
前記機器識別情報は、前記機器が内蔵するセキュリティ手段に保持された暗号鍵であることを特徴とする機器管理システム。
【請求項３】
請求項１または２に記載の機器管理システムにおいて、
前記機器の記憶デバイスに記憶するデータを暗号化するためのデバイス暗号鍵を前記管理装置に保存する手段と、
前記管理装置に保存されているデバイス暗号鍵を前記機器に供給することにより、前記デバイス暗号鍵を復活させるデバイス暗号鍵復活手段と、
を有することを特徴とする機器管理システム。
【請求項４】
請求項３に記載の機器管理システムにおいて、
前記デバイス暗号鍵を前記管理装置に保存する手段は、前記記憶デバイスのデバイス識別情報と前記デバイス暗号鍵とを関連付けて前記管理装置に保存することを特徴とする機器管理システム。
【請求項５】
請求項３または４に記載の機器管理システムにおいて、
前記デバイス暗号鍵を前記管理装置に保存する手段は、前記デバイス暗号鍵を作成したときに前記デバイス暗号鍵を前記管理装置に保存することを特徴とする機器管理システム。
【請求項６】
請求項３〜５のいずれか１項に記載の機器管理システムにおいて、
前記機器が内蔵するセキュリティ手段に保持された暗号鍵で前記デバイス暗号鍵を暗号化したデバイス暗号鍵ブロブを前記機器に保存する手段と、
を有することを特徴とする機器管理システム。
【請求項７】
請求項３に記載の機器管理システムにおいて、
前記デバイス暗号鍵復活手段は、
前記デバイス識別情報を前記管理装置へ送信する手段と、
前記管理装置が受信したデバイス識別情報を基に前記管理装置に保存されているデバイス識別情報を検索する手段と、
前記管理装置に前記デバイス識別情報が存在する場合、前記デバイス暗号鍵を前記機器へ送信する手段と、
を有することを特徴とする機器管理システム。
【請求項８】
ソフトウェアがインストールされる機器と該機器に接続された管理装置とを含む機器管理システムに、
前記機器にインストールしたソフトウェアのソフトウェア識別情報を前記機器の機器識別情報と関連付けて前記管理装置に保存する工程と、
前記機器が前記ソフトウェアをインストールした後に前記機器識別情報を前記管理装置へ送信する工程と、
前記管理装置が受信した機器識別情報を基に前記管理装置に保存されている機器識別情報を検索し、その検索結果を前記機器へ送信する工程と、
前記機器が前記管理装置に前記機器識別情報が存在するとの検索結果を受信した場合、前記機器にインストールされたソフトウェアのソフトウェア識別情報を前記管理装置へ送信する工程と、
前記管理装置が受信したソフトウェア識別情報と前記管理装置に保存されているソフトウェア識別情報とを比較する工程と、
比較の結果を基に前記機器にインストールされたソフトウェアが改竄されたか否かを判断するソフトウェア改竄判断工程と、
を実行させるためのプログラム。
【請求項９】
ソフトウェアがインストールされる機器に接続された管理装置であって、
前記機器にインストールしたソフトウェアのソフトウェア識別情報を前記機器の機器識別情報と関連付けて保存する手段と、
前記機器から前記機器が前記ソフトウェアをインストールした後に送信された機器識別情報を受信し、その機器識別情報を基に前記管理装置に保存されている機器識別情報を検索し、その検索結果を前記機器へ送信する手段と、
前記管理装置に前記機器識別情報が存在するとの検索結果を受信した前記機器から送信された、前記機器にインストールされたソフトウェアのソフトウェア識別情報を受信し、そのソフトウェア識別情報と前記管理装置に保存されているソフトウェア識別情報とを比較する手段と、
比較の結果を基に前記機器にインストールされたソフトウェアが改竄されたか否かを判断するソフトウェア改竄判断手段と、
を有することを特徴とする管理装置。
【請求項１０】
管理装置に接続され、ソフトウェアがインストールされる機器であって、
該機器にインストールしたソフトウェアのソフトウェア識別情報及び機器識別情報を前記管理装置に保存させるために前記管理装置へ送信する手段と、
前記ソフトウェアをインストールした後に前記機器識別情報を前記管理装置へ送信する手段と、
前記管理装置から送信された、前記管理装置に前記機器識別情報が存在するとの検索結果を受信した場合、前記機器にインストールされたソフトウェアのソフトウェア識別情報を前記管理装置へ送信する手段と、
該送信したソフトウェア識別情報と前記管理装置に保存されているソフトウェア識別情報との比較の結果を基に判断された、前記機器にインストールされたソフトウェアが改竄されたか否かの判断結果を前記管理装置から受信する手段と、
を有することを特徴とする機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器、その機器の管理装置、管理システム、及びプログラムに関する。
【背景技術】
【０００２】
コンピュータにインストールされたソフトウェアの改竄を検知する方法として、ハッシュ値を利用した方法がある（特許文献１参照）。この方法では、ソフトウェアをイントスールするときに、そのハッシュ値を計算して二次記憶装置に保存しておき、次にコンピュータを起動したとき、ソフトウェアを読み出してハッシュ値を計算し、二次記憶装置に保存しておいたハッシュ値と一致するか否かに基づいてソフトウェアの改竄の有無を判定する。
【０００３】
しかしながら、この改竄検知方法では、ソフトウェアと共に、二次記憶装置に保存しておいたハッシュ値も改竄されると、ソフトウェアの改竄を検知できないという問題がある。
【０００４】
この問題を解決する方法として、二次記憶装置に保存するハッシュ値を暗号化しておくことで、ハッシュ値の改竄を防ぐことが考えられる。しかし、ハッシュ値を暗号化／復号するための暗号化／復号鍵が二次記憶装置に保存されるため、悪意の第三者が復号鍵を不正に入手し、暗号化されたハッシュ値を復号することを阻止できないという問題がある。
【０００５】
そこで、本願の出願人は、ＴＰＭ（Trusted Platform Module）を用いて、ファームウェアの改竄を検知する方法を提案し、特許出願した（特願２００８−３６２６７号）。
【０００６】
ＴＰＭは、業界標準団体であるＴＣＧ（Trusted Computing Group）によって定義された仕様に準拠するセキュリティチップであり、例えば、複合機のマザーボードに実装され、外部に取り出せない秘密鍵及び外部に取り出せる公開鍵からなる非対称鍵ペア（Endorsement key）を格納する不揮発性メモリや、暗号処理専用のマイクロプロセッサを備えている。
【０００７】
先に出願した発明では、予め非対称鍵ペアの公開鍵で暗号化した暗号鍵（鍵ブロブ）を複合機内部の二次記憶装置（不揮発性メモリ等）に保存しておき、工場出荷時等にファームウェアをインストールするとき、ハッシュ値を計算し、ＴＰＭにより鍵ブロブから暗号鍵を復号し、その暗号鍵でハッシュ値を暗号化して、外部の二次記憶装置（ＳＤカード等）に保存しておく。その後、複合機の設置時に、内部の二次記憶装置から読み出した鍵ブロブをＴＰＭにより復号し、外部の二次記憶装置から読み出した暗号化されたハッシュ値を、鍵ブロブから復号した暗号鍵により復号し、そのハッシュ値と、ファームウェアから再計算されたハッシュ値とを比較する。そして、比較の結果、一致していればファームウェアの改竄はなかったものと判定し、一致しなければ改竄されたものと判定することにより、複合機の輸送過程におけるファ―ムウェアの改竄を検知することができる。
【０００８】
しかしながら、この方法の場合、ソフトウェアの改竄の検知処理が複合機内で閉じているため、例えば比較の結果の一致／不一致を判定するソフトウェアが改竄された場合、ファームウェアの改竄を検知できないという問題がある。
【０００９】
また、このような機器では、内部に保存しているデータの盗聴を防ぐため、ハードディスク装置（以下、ＨＤＤと言う）などの記憶デバイスに記憶する情報を暗号化することが行われている。そして、文献に記載されたものではないが、ＴＰＭの非対称鍵ペアの公開鍵を用いて、記憶デバイスに対する記憶データを暗号化するためのデバイス暗号鍵を暗号化して鍵ブロブとし、機器の不揮発性メモリに保管することが考えられている。
【００１０】
しかしながら、ＴＰＭを搭載しているボードが故障した場合、デバイス暗号鍵を復号することができなくなるため、ＨＤＤなどの記憶デバイスが正常であっても、その記憶デバイスに保存した暗号化データを利用することができなくなるという問題がある。鍵ブロブを何らかの形でユーザが保管（バックアップ）する手段を設ければ、この問題は解決されるが、安全性のため鍵の変更をユーザが行う度に鍵をバックアップする必要が生じる。この処理はユーザの手間となるばかりでなく、運用によっては鍵情報の流出が懸念され、システムの安全性が損なわれる。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、このような問題を解決するためになされたもので、その目的は、機器にインストールされたソフトウェアの改竄の検知を、ユーザに手間をかけることなく、確実に実行できるようにすることである。
【課題を解決するための手段】
【００１２】
本発明は、ソフトウェアがインストールされる機器と該機器に接続された管理装置とを含む機器管理システムであって、前記機器にインストールしたソフトウェアのソフトウェア識別情報を前記機器の機器識別情報と関連付けて前記管理装置に保存する手段と、前記機器が前記ソフトウェアをインストールした後に前記機器識別情報を前記管理装置へ送信する手段と、前記管理装置が受信した機器識別情報を基に前記管理装置に保存されている機器識別情報を検索し、その検索結果を前記機器へ送信する手段と、前記機器が前記管理装置に前記機器識別情報が存在するとの検索結果を受信した場合、前記機器にインストールされたソフトウェアのソフトウェア識別情報を前記管理装置へ送信する手段と、前記管理装置が受信したソフトウェア識別情報と前記管理装置に保存されているソフトウェア識別情報とを比較する手段と、比較の結果を基に前記機器にインストールされたソフトウェアが改竄されたか否かを判断するソフトウェア改竄判断手段と、を有することを特徴とする機器管理システムである。
【００１３】
〔作用〕
本発明では、機器にソフトウェアをインストールしたとき、その機器に固有の機器識別情報及びインストールしたソフトウェアのソフトウェア識別情報を関連付けて、外部の管理装置に保存する。従って、機器にインストールされているソフトウェアのソフトウェア識別情報と管理装置に保存されているソフトウェア識別情報とを比較することにより、ソフトウェアが改竄されたか否かを検知することができる。
【発明の効果】
【００１４】
本発明によれば、機器にインストールされたソフトウェアの改竄の検知を、ユーザに手間をかけることなく、確実に行える。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態の機器管理システムの構成を示す図である。
【図２】ＴＰＭの概略構成を示す図である。
【図３】ＨＤＤの暗号化を説明するための図である。
【図４】複合機にファームウェアをインストールするときに使用されるソフトウェアを示す図である。
【図５】複合機にファームウェアをインストールするときの動作を示すシーケンス図である。
【図６】バージョンレポートの一例を示す図である。
【図７】図５のバージョンレポート送信手順の詳細を示すシーケンス図である。
【図８】ファームウェアバージョンデータベースの一例を示す図である。
【図９】複合機の起動時にデバイス暗号鍵の処理に係わるソフトウェアを示す図である。
【図１０】複合機の起動時のＴＰＭの動作を示す図である。
【図１１】ＴＰＭを用いた情報の暗号化及び復号を示す図である。
【図１２】複合機の起動時にデバイス暗号鍵を取得する処理を示す図である。
【図１３】複合機の起動時にデバイス暗号鍵を取得する処理を示すシーケンス図である。
【図１４】鍵レポート送信手順を示すシーケンス図である。
【図１５】鍵レポートの一例を示す図である。
【図１６】デバイス鍵用データベースの一例を示す図である。
【図１７】出荷時にインストールされたファームウェアの改竄を検知する手順を示すシーケンス図である。
【図１８】デバイス暗号鍵を復活させる手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について図面を参照しながら説明する。
図１に示すように、本発明の実施形態の機器管理システムは、管理対象機器である複合機１と、管理サーバ２とを、ネットワーク３により通信可能に接続したものである。
【００１７】
複合機１は、コピー機能、ファクシミリ機能、プリンタ機能、スキャナ機能などを備えた画像形成装置であって、バス１０と、それぞれがバス１０に接続されたコントローラボード１１、操作・表示部１２、不揮発性メモリ１３、及びＨＤＤ１４を備えている。操作・表示部１２は、各種操作キー及びＬＣＤなどからなる。不揮発性メモリ１３は、ＮＶＲＡＭ、ＦＲＡＭ（登録商標）等からなり、電源オフ時にも保持されるべき各種のデータが書き込まれる。
【００１８】
コントローラボード１２は、ＣＰＵ１５、ＲＯＭ１６、ＲＡＭ１７、ネットワークＩ／Ｆ（インタフェース）１８、エンジンコントローラ１９、及びＴＰＭ２０を備えている。これらはバス１０を介して接続されている。
【００１９】
ＣＰＵ１５は、この複合機１全体の制御などを行う。ＲＯＭ１６は、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ等からなり、ＢＩＯＳ、ＯＳ（オペレーティングシステム）、プログラム等のファームウェアが格納される。ＲＡＭ１７は、ＣＰＵ１５が動作するときに、プログラムやデータを一時的に記憶するワークエリアとなる。ネットワークＩ／Ｆ１８は、複合機１をネットワーク３に接続するためのインタフェースである。エンジンコントローラ１９は、図示されていないプリンタエンジン、スキャナエンジン等を制御する。
【００２０】
ＴＰＭ２０は、図２に示すように、ルート鍵１６１と、双方向通信インタフェース１６２とを有する。ルート鍵１６１はＴＰＭ２０の外部に取り出し不能な秘密鍵（復号鍵）と取り出し可能な公開鍵（暗号鍵）からなる非対称鍵ペアである。双方向通信インタフェース１６２は、入力された平文データをルート鍵１６１の公開鍵で暗号化して出力し、入力された、ルート鍵１６１の公開鍵で暗号化されたデータをルート鍵１６１の秘密鍵で復号して出力するインタフェースである。以下の説明では、ルート鍵１６１の公開鍵で暗号化すること、ルート鍵１６１の秘密鍵で復号することを、それぞれ、ルート鍵１６１で暗号化する、ルート鍵１６１で復号する、と言う。ＴＰＭ２０は、コントローラボード１２に直付けされており、取り外して別のボードに取り付けて利用することはできない。
【００２１】
不揮発性メモリ１３には、図３に示すように、ルート鍵１６１の公開鍵で暗号化したデバイス暗号鍵／復号鍵（デバイス暗号鍵ブロブ）が非暗号化領域に格納される。また、不揮発性メモリ１３の暗号化領域に記憶されるデータは、デバイス暗号鍵／復号鍵で暗号化された暗号化データであり、この暗号化データを読み出したときは、デバイス暗号鍵／復号鍵で復号することで、利用可能となる。ＨＤＤ１４に保存するデータの暗号化に用いるデバイス暗号鍵、及びその暗号化データの復号に用いるデバイス復号鍵も、不揮発性メモリ１３にデバイス暗号鍵ブロブとして保存される。
【００２２】
図１の説明に戻る。管理サーバ２は、バス２１と、それぞれがバス２１に接続されたＣＰＵ２２、ＲＯＭ２３、ＲＡＭ２４、ネットワークＩ／Ｆ２５、操作・表示部２６、及びＨＤＤ２７を備えている。これらの各構成要素の機能は、複合機１の同名の構成要素と同様である。ＨＤＤ２７には、複合機１の不揮発性ソモリ１３に書き込まれているファームウェアのバージョン情報を保存するファームウェアバージョンＤＢ（データベース）２６、及び複合機１のＨＤＤ１４のデバイス暗号鍵／復号鍵などのようなデバイス鍵を保存するデバイス鍵用ＤＢ２９が作成され、保存される。
【００２３】
以上の構成を有する機器管理システムにおいて、複合機１を工場から出荷するときに、ＴＰＭ２０を初期化する。この初期化では、非対称鍵ペア（Endorsement key）を作成する。この非対称鍵ペアが前述したルート鍵１６１である。非対称鍵ペアの公開鍵は、そのまま、或いはコントローラボード１１の型番・製造番号等、一意に識別可能なＩＤと組み合わせて機器固有識別ＩＤ情報とする。また、管理サーバ２との所定の通信に用いる通信鍵（以下、出荷時設定通信鍵と言う）が管理サーバ２から供給される。複合機１は、この出荷時設定通信鍵をルート鍵１６１で暗号化して通信鍵ブロブとし、不揮発性メモリ１３に保存するか、又はＴＰＭ２０内のＮＶＲＡＭに保存する。
【００２４】
ＴＰＭ２０の初期化が終了したら、次に複合機１にファームウェアをインストールする。図４は、複合機１にファームウェアをインストールするときに使用されるソフトウェアを示す図であり、プラットフォーム１３２として構成された、ＯＳ（オペレーティングシステム）１３３、インストールアプリ１８０、及びインストール用ファイル群１８５からなる。インストール用ファイル群１８５には、ファームウェア群１８２及びそれぞれのバージョンファイル群１８６が含まれている。バージョンファイル群１８６の各バージョンファイル１〜ｎは、ファームウェア群１８２の対応するファームウェア１〜ｎのバージョン情報の文字列のテキストファイルである。ここで、インストールアプリ１８０、及びインストール用ファイル群１８５は、管理サーバ２からネットワークを介して供給するか、又はそれらを記録した記録媒体の読取（再生）装置を複合機１に接続して読み込む。
【００２５】
図５は、複合機１にファームウェアをインストールするときの動作を示すシーケンス図である。まず、ステップＳ１で、インストールアプリ１８０は、インストール用ファイル群１８５、即ちファームウェア群１８２、及びバージョンファイル群１８６をＲＯＭ１６及びＨＤＤ１４にインストールし、次にステップＳ２で管理サーバ２に対して、バージョンレポートを送信する。
【００２６】
バージョンレポートは、図６に示すように、機器固有ＩＤ情報と、ファームウェアバージョンリストからなる。ファームウェアバージョンリストは、図４のバージョンファイル群１８６に相当するものであり、ファームウェア識別子及びそのバージョン情報からなる。
【００２７】
図７は、図５のステップＳ２の詳細な手順のシーケンス図である。
まず、ステップＳ１１で、複合機１は管理サーバ２に対して、セッション通信鍵の送付を要求する。このセッション通信鍵要求信号は、ＴＰＭ２０の初期化時にコントローラボード１１内に保存した通信鍵ブロブをＴＰＭ２０のルート鍵で復号して得た出荷時通信鍵により暗号化されている。
【００２８】
管理サーバ２は、セッション通信鍵要求信号を受信し、内部に保持している出荷時設定通信鍵により復号する。そして、ステップＳ１２で、複合機１に対し、セッション通信鍵を送付する。このセッション通信鍵は、出荷時設定通信鍵により暗号化されている。
【００２９】
複合機１は、暗号化されたセッション通信鍵を受信し、出荷時設定通信鍵により復号して、セッション通信鍵を取得した後、ステップＳ１３で、バージョンレポートを送信する。このバージョンレポートは、セッション通信鍵により暗号化されている。
【００３０】
管理サーバ２は、暗号化されたバージョンレポートを受信し、セッション通信鍵により復号して、バージョンレポートを取得したら、それをＨＤＤ２７内のファームウェアバージョンＤＢ２８に保存する。図８にファームウェアバージョンＤＢ２８の一例を示す。
【００３１】
管理サーバ２は、バージョンレポートを正常に取得し、保存できた場合は内容受付ＯＫ通知を、正常に取得できなかった場合は内容受付ＮＧ通知を、ステップＳ１４で複合機１へ送信する。この通知はセッション通信鍵で暗号化されている。
【００３２】
以上が複合機１の出荷時の処理である。次に複合機１を出荷先で設置し、記憶デバイスであるＨＤＤ１４を暗号化するときの処理について説明する。
図９は、複合機１にインストールされるソフトウェアの内、複合機１の起動時にデバイス暗号鍵の処理に係わるソフトウェアであり、ＢＩＯＳ２２０、基本パッケージ２２１、第１のアプリケーションパッケージ２２２、第２のアプリケーションパッケージ２２３からなる。これらのソフトウェアは複合機１の出荷時にインストールされるものであり、その内ＢＩＯＳ２２０はＲＯＭ１６に、それ以外のファームウェアはＲＯＭ１６及びＨＤＤ１４にインストールされる。
【００３３】
基本パッケージ２２１は、ＯＳ１３３、システム起動モジュール２３１、システム管理モジュール２３２、暗号鍵管理モジュール２３３、及び基本アプリケーション（コピー）２３４を有する。また、第１のアプリケーションパッケージ２２２は、基本アプリケーション（プリンタ）２４４、基本アプリケーション（ネットワーク）２４５を有し、第２のアプリケーションパッケージ２２３は基本アプリケーション（スキャナ）２４６を有する。
【００３４】
ＢＩＯＳ２２０は、システムの起動の初期を担うモジュールであり、ＴＰＭ２０へのアクセス手段を有する。ＯＳ１３３は他のソフトウェアモジュールからハードウェア機能を利用する機能を提供する。ＯＳ１３３のファイルシステム２４１はデータを管理する。
【００３５】
複合機１の起動時、ＢＩＯＳ２２０はＯＳ１３３を起動する。ＯＳ１３３の起動後は、システム内の他のソフトウェアを起動する為のシステム起動モジュール２３１が起動される。システム起動モジュール２３１は、他のソフトウェア（モジュール）を規定された順に起動する。ＢＩＯＳ２２０、ＯＳ１３３、ファイルシステム２４１等のモジュールはＣＰＵ１５によりＲＡＭ１７に読み込まれて実行される。
【００３６】
ここで、ＴＰＭ２０を用いた情報の暗号化及び復号について簡単に説明する。図１０は、複合機1の起動時のＴＰＭ２０の動作を示す図である。プラットフォーム１３２では、まずＢＩＯＳ２２０が自身のハッシュ値を計算し、ＴＰＭ２０内のＰＣＲ（ＰＣＲ_０）２５１へ登録する。ＢＩＯＳ１２０は例えば原文から固定長の疑似乱数を生成する演算手法によって自身のハッシュ値を計算する。
【００３７】
次に、ＢＩＯＳ２２０は第１の基本パッケージ２２１のハッシュ値を計算し、ＴＰＭ２０内のＰＣＲ（ＰＣＲ_１）２５２へ登録した後、基本パッケージ２２１を起動する。また、基本パッケージ２２１は、アプリケーションパッケージ２２２のハッシュ値を計算し、ＴＰＭ５内のＰＣＲ（ＰＣＲ_２）２５３へ登録した後、アプリケーションパッケージ２２２を起動する。
【００３８】
このように、ＴＰＭ２０のＰＣＲ２５１〜２５３には、複合機１の起動に伴い、ＢＩＯＳ２２０、基本パッケージ２２１及びアプリケーションパッケージ２２２から計算されるハッシュ値が登録される。
【００３９】
図１１は、ＴＰＭ２０を用いた情報の暗号化及び復号を示す図である。この図のＡはＴＰＭ２０による情報「Ｄａｔａ  Ｐ」の暗号化を表す。ＴＰＭ２０は暗号化を行う情報「Ｄａｔａ  Ｐ」と、「ＰＣＲ_０」〜「ＰＣＲ_２」に格納するハッシュ値「Ｘ」〜「Ｚ」とに基づいて、ブロブ（ＢＬＯＢ）２６０を作成する。
【００４０】
図１１ＢはＴＰＭ２０によるブロブ２６１〜２６３の復号を示す。ＴＰＭ２０では、複合機１を起動した際に、例えばＢＩＯＳ２２０、基本パッケージ２２１及びアプリケーションパッケージ２２２から計算された３つのハッシュ値「Ｘ」〜「Ｚ」が「ＰＣＲ_０」〜「ＰＣＲ_２」に登録されている。
【００４１】
情報「Ｄａｔａ  Ｐ」を含むブロブ２６１〜２６３は、ファイルシステム２４１が管理している。ブロブ２６１には、「ＰＣＲ_０」〜「ＰＣＲ_２」に「Ｘ」〜「Ｚ」が登録されている。ブロブ２６２には、「ＰＣＲ_０」〜「ＰＣＲ_２」に「Ｘ」，「Ｇ」及び「Ｚ」が登録されている。また、ブロブ２６３には「ＰＣＲ_０」に「Ｘ」が登録されている。
【００４２】
ブロブ２６１の「ＰＣＲ_０」〜「ＰＣＲ_２」とＴＰＭ２０の「ＰＣＲ_０」〜「ＰＣＲ_２」に登録されているハッシュ値とが同じであるため、ＴＰＭ２０はブロブ２６１からの情報「Ｄａｔａ  Ｐ」の取り出しを許可する。しかし、ブロブ２６２の「ＰＣＲ_１」とＴＰＭ２０の「ＰＣＲ_１」とに登録されているハッシュ値が異なるため、ＴＰＭ２０はブロブ２６２からの情報「Ｄａｔａ  Ｐ」の取り出しを許可しない。ブロブ６３については、その「ＰＣＲ_０」とＴＰＭ５の「ＰＣＲ_０」に登録されているハッシュ値とが同じであるため、ＴＰＭ２０はブロブ２６３からの情報「Ｄａｔａ  Ｐ」の取り出しを許可する。なお、ＴＰＭ２０はブロブ２６３の「ＰＣＲ_１」、「ＰＣＲ_２」のようなハッシュ値が登録されていないＰＣＲについては、情報「Ｄａｔａ  Ｐ」の取り出しの許可又は不許可の判定に利用しない。
【００４３】
図１２は、複合機１の起動時にデバイス暗号鍵を取得する処理を示す図である。複合機１のプラットフォーム１３２内のファイルシステム２４１にデバイス暗号鍵２７１をルート鍵１６１で暗号化したブロブ（デバイス暗号鍵ブロブ）２７０が予め出荷時等に保存されている。このデバイス暗号鍵ブロブ２７０の復号可否は、ＰＣＲ２５１〜２５３に登録されているハッシュ値によって制御される。デバイス暗号鍵２７１は、ファイルシステム２４１上に配置された秘密情報の暗号化又は暗号化された秘密情報の復号に用いられる。
【００４４】
ＴＰＭ２０では、複合機１の起動時、ＢＩＯＳ２２０、基本パッケージ２２１及びアプリケーションパッケージ２２２から計算された３つのハッシュ値「Ｘ」〜「Ｚ」が「ＰＣＲ_０」〜「ＰＣＲ_２」に登録されている。
【００４５】
一方、暗号鍵ブロブ２７０では、「ＰＣＲ_０」〜「ＰＣＲ_２」に「Ｘ」〜「Ｚ」が登録されている。暗号鍵ブロブ２７０の「ＰＣＲ_０」〜「ＰＣＲ_２」とＴＰＭ２０の「ＰＣＲ_０」〜「ＰＣＲ_２」に登録されているハッシュ値とが同じであるため、ＴＰＭ２０は暗号鍵ブロブ２７０からデバイス暗号鍵２７１を復号する。暗号鍵管理モジュール２３８は、デバイス暗号鍵２７１を用いて、暗号化された秘密情報２７２から秘密情報２７３を復号することができる。
【００４６】
図１３は起動時にデバイス暗号鍵を取得する処理を表したシーケンス図である。まずステップＳ２１で、ＢＩＯＳ２２０は自身のハッシュ値を計算し、ＴＰＭ２０内のＰＣＲ２５１に登録する。次に、ステップＳ２２に進み、ＢＩＯＳ２２０は基本パッケージ２２１のハッシュ値を計算する。ステップＳ２３に進み、ＢＩＯＳ２２０は基本パッケージ２２１を展開する。ステップＳ２４に進み、ＢＩＯＳ２２０は基本パッケージ２２１のハッシュ値をＴＰＭ２０内のＰＣＲ２５２に登録する。ステップＳ２５に進み、ＢＩＯＳ２２０はＯＳ１３３を起動する。
【００４７】
ステップＳ２６に進み、ＯＳ１３３はシステム起動モジュール２３５を起動する。ステップＳ２７に進み、システム起動モジュール２３５はシステム管理モジュール２３４を起動する。ステップＳ２８に進み、システム起動モジュール２３５は基本アプリケーション２３３を起動する。
【００４８】
ステップＳ２９に進み、システム起動モジュール２３５はアプリケーションパッケージ２２２のハッシュ値を計算する。ステップＳ３０に進み、システム起動モジュール２３５はアプリケーションパッケージ２２２のハッシュ値をＴＰＭ２０内のＰＣＲ２５３に登録する。
【００４９】
ステップＳ３１に進み、システム起動モジュール２３５は暗号鍵管理モジュール２３８を起動する。そして、ステップＳ３２に進み、暗号鍵管理モジュール２３８は前述のように暗号鍵ブロブ２７０からデバイス暗号鍵２７１を復号（展開）する。暗号鍵管理モジュール２３８はデバイス暗号鍵２７１を用いて、暗号化された秘密情報２７２から秘密情報２７３を復号することができる。
【００５０】
なお、ＴＰＭ２０はＢＩＯＳ２２０、基本パッケージ２２１及びアプリケーションパッケージ２２２から計算されるハッシュ値がＰＣＲ２５１〜２５３に登録されたあと、暗号鍵ブロブ２７０の復号を受け付ける。暗号鍵モジュール２３８はＴＰＭ２０が暗号鍵ブロブ２７０の復号を受け付けるようになったタイミングで、暗号鍵ブロブ２７０の復号をＴＰＭ２０へ依頼する。この後、暗号鍵管理モジュール２３８はＴＰＭ２０が暗号鍵ブロブ２７０から復号したデバイス暗号鍵２７１を取得できる。
【００５１】
上記のようにして取得したデバイス暗号鍵２７１を用いて、ＨＤＤ１４に対して、データを暗号化しながら書き込みを行い、復号化しながら読み込みを行うことで、ＨＤＤ１４上のデータを使用することができる。デバイス暗号鍵２７１を更新し、新しいデバイス暗号鍵でＨＤＤ１４を初期化した場合には、管理サーバ２に対し、図１４に示すシーケンスで鍵レポートを送信する。なお、この鍵レポートの送信は、複合機１の出荷時又は設置時に、デバイス暗号鍵を新規に作成した場合にも実行する。本発明において、「デバイス暗号鍵を作成する」とは、デバイス暗号鍵を新規に作成すること、及び既存のデバイス暗号鍵を変更（更新）することを意味する。
【００５２】
この図のシーケンスにおいて、ステップＳ４１、Ｓ４２は、それぞれ図７のステップＳ１１、Ｓ１２と同じである。次のステップＳ４３では、複合機１は管理サーバ２に対し、鍵レポートを送信する。この鍵レポートはセッション通信鍵により暗号化されている。
【００５３】
図１５に示すように、鍵レポートは、機器固有ＩＤ情報、デバイス種別（ＨＤＤ等）、デバイスＩＤ情報（ＨＤＤの場合、ＡＴＡコマンドで得られるＩＤ情報等）、デバイス暗号鍵、及びシステム管理者が操作・表示部１２から入力したパスフレーズからなる。
【００５４】
管理サーバ２は、暗号化された鍵レポートを受信し、セッション通信鍵により復号して、鍵レポートを取得したら、それをＨＤＤ２７内のデバイス鍵用ＤＢ３０に保存する。図１６にデバイス鍵用ＤＢ２９の一例を示す。
【００５５】
管理サーバ２は、鍵レポートを正常に取得し、保存できた場合は内容受付ＯＫ通知を、正常に取得できなかった場合は内容受付ＮＧ通知を、ステップＳ４４で複合機１へ送信する。この通知は、セッション通信鍵で暗号化されている。
【００５６】
次に、出荷時にインストールされたファームウェアの改竄を検知する手順について、図１７に示すシーケンス図を参照しながら説明する。この手順は、出荷後、設置時までの間、即ち輸送中に意図しない改竄を受けたことを検知するものである。
【００５７】
複合機１は、ステップＳ５１で、管理サーバ２に対し、セッション通信鍵を要求する。管理サーバ２は、この要求に応じて、ステップＳ５２で、セッション通信鍵を複合機１へ送付する。これらの通信は図１０の手順Ｓ１１、Ｓ１２と同様、出荷時設定通信鍵で暗号化してもよい。
【００５８】
次いで複合機１は、ステップＳ５３で、セッション通信鍵により暗号化した機器固有ＩＤ検索要求信号を管理サーバ２へ送信する。この機器固有ＩＤ検索要求信号には、複合機１の機器固有ＩＤが添付されている。
【００５９】
機器固有ＩＤ検索要求信号を受信した管理サーバ２は、ファ―ムウェアバージョンデータベース２８を検索し、ステップＳ５４で、その検索結果を応答する。この検索結果応答通知は、要求された機器固有ＩＤの有無を示す通知であり、セッション通信鍵により暗号化されている。
【００６０】
複合機１は、管理サーバ２から、自分の機器固有ＩＤが有るとの通知を受けた場合、ステップＳ５５で、ファームウェア比較要求信号を送信する。このファームウェア比較要求信号には、複合機１の機器固有ＩＤ、及びその時点で不揮発性メモリ１３にインストールされているファームウェアのバージョン情報が添付されており、かつセッション通信鍵により暗号化されている。
【００６１】
ファームウェア比較要求信号を受信した管理サーバ２は、受信した機器固有ＩＤを用いてファームウェアバージョンデータベース２９を参照し、そこに書き込まれているバージョン情報と、受信したバージョン情報とが一致するか否かを判断し、その判断結果をセッション通信鍵で暗号化し、ステップＳ５６で複合機１に応答するとともに、その判断結果をＨＤＤ１４に保存する。複合機１では、受信した応答により、一致の場合は改竄無し、不一致の場合は改竄有りと判断することができる。
【００６２】
このように、本実施形態では、複合機１を出荷するときに、インストールしたファームウェアのバージョン情報を管理サーバ２に保存しておき、設置時に、複合機１が管理サーバ２に問い合わせ、管理サーバ２でバージョン情報を比較するので、改竄検知処理が複合機内に閉じていた従来方法と比べ、より確実に改竄検知が可能となる。
【００６３】
次にデバイス暗号鍵の復活処理について説明する。従来、デバイス暗号鍵がＨＤＤ等の二次記憶装置にデバイス暗号鍵ブロブとして保存されているため、コントローラボード１１が使用できなくなると、デバイス暗号鍵ブロブからデバイス暗号鍵を復号することができないため、ＨＤＤ１４内に暗号化されて保存されているデータを利用することはできなかった。本実施形態では、管理サーバ２のデバイス鍵用データベース２９にデバイス鍵が保存されている場合は、それを受け取ることで、ＨＤＤ１４内に暗号化されて保存されているデータを利用できる。
【００６４】
以下、この手順の一例について、図１８のシーケンス図を参照しながら説明する。この図の手順は、コントローラボード１１が使用できなくなったため、ＨＤＤ１４を別の複合機１に取り付け、その複合機１を起動したときに実行する手順である。
【００６５】
まず、複合機１のシステムがＨＤＤ１４のデバイスＩＤを読み出したとき、既に認識したＩＤでなかった場合、ステップＳ６１で、新しいＨＤＤが複合機１に接続されたことを検知する。
【００６６】
次のステップＳ６２と、その次のステップＳ６３は、図１７のステップＳ５１、Ｓ５２と同じである。次いで複合機１は、ステップＳ６４で、セッション通信鍵により暗号化したデバイス固有ＩＤ検索要求信号を管理サーバ２へ送信する。このデバイス固有ＩＤ検索要求信号には、ＨＤＤ１４のデバイス固有ＩＤが添付されている。
【００６７】
デバイス固有ＩＤ検索要求信号を受信した管理サーバ２は、デバイス鍵用データベース３０を検索し、ステップＳ６５で、その検索結果を応答する。この検索結果応答通知は、検索要求されたデバイス固有ＩＤの有無を示す通知であり、セッション通信鍵により暗号化されている。
【００６８】
複合機１は、管理サーバ２から、検索要求したデバイス固有ＩＤが有るとの通知を受けた場合、ステップＳ６６で、デバイス鍵要求信号を送信する。このデバイス鍵要求信号には、複合機１の機器固有ＩＤ、及びパスフレーズが添付されており、かつセッション通信鍵により暗号化されている。
【００６９】
デバイス暗号鍵要求信号を受信した管理サーバ２は、受信した機器固有ＩＤを用いてデバイス鍵用データベース２９を参照し、そこに書き込まれているパスフレーズと、受信したパスフレーズとを比較し、一致した場合はデバイス暗号鍵を、一致しなかった場合は、送付拒否通知を、それぞれセッション通信鍵で暗号化し、ステップＳ６７で複合機１へ送付する。複合機１は、受信したデバイス暗号鍵を用いて、ＨＤＤ１４から読み出したデータを復号することができる。
【００７０】
なお、以上は、ＨＤＤ１４を別の複合機１に取り付けた場合にＨＤＤ１４のデバイス暗号鍵を復元する手順であるが、コントローラボード１１を交換した場合も同じ手順でデバイス暗号鍵を復活させることができる。
【符号の説明】
【００７１】
１・・・複合機、２・・・管理サーバ、１３・・・不揮発性メモリ、１４・・・ＨＤＤ、２０・・・ＴＰＭ、２８・・・ファ―ムウェアバージョンＤＢ、２９・・・デバイス鍵用ＤＢ、１６１・・・ルート鍵、２７０・・・デバイス暗号鍵ブロブ。
【先行技術文献】
【特許文献】
【００７２】
【特許文献１】特開２００５−８４９８９号公報
【図１】
2014026663.tif 000003
【図２】
2014026663.tif 000004
【図３】
2014026663.tif 000005
【図４】
2014026663.tif 000006
【図５】
2014026663.tif 000007
【図６】
2014026663.tif 000008
【図７】
2014026663.tif 000009
【図８】
2014026663.tif 000010
【図９】
2014026663.tif 000011
【図１０】
2014026663.tif 000012
【図１１】
2014026663.tif 000013
【図１２】
2014026663.tif 000014
【図１３】
2014026663.tif 000015
【図１４】
2014026663.tif 000016
【図１５】
2014026663.tif 000017
【図１６】
2014026663.tif 000018
【図１７】
2014026663.tif 000019
【図１８】
2014026663.tif 000020