(57)【要約】【課題】起動したソフトウェアの正当性に関する信頼性の高い情報を通知できる情報処理装置、ソフトウェア正当性通知方法及び画像処理装置を提供することを目的とする。【解決手段】起動したソフトウェア５０の正当性に関する情報を通知する情報処理装置１００であって、起動したソフトウェア５０から一意に計算される値を格納し、値による情報の暗号化及び値によって暗号化されている情報の復号を行う暗号化復号手段５と、正当なソフトウェアから一意に計算される値で暗号化されている情報処理装置の識別情報７１を、暗号化復号手段５により復号し、起動したソフトウェア５０の正当性に関する情報である識別情報７１を通知するソフトウェア正当性管理手段２２とを有することにより上記課題を解決する。【選択図】図４
2008234079.tif 000002
【特許請求の範囲】
【請求項１】
起動したソフトウェアの正当性に関する情報を通知する情報処理装置であって、
起動した前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化及び前記値によって暗号化されている情報の復号を行う暗号化復号手段と、
正当なソフトウェアから一意に計算される値で暗号化されている前記情報処理装置の識別情報を、前記暗号化復号手段により復号し、起動した前記ソフトウェアの正当性に関する情報である前記識別情報を通知するソフトウェア正当性管理手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記ソフトウェア正当性管理手段は、起動した前記ソフトウェアの正当性を前記情報処理装置の識別情報により検証する外部装置に前記情報処理装置の識別情報を送信することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記ソフトウェア正当性管理手段は、復号した前記情報処理装置の識別情報を秘密鍵として署名を作成したあと、起動した前記ソフトウェアの正当性を前記情報処理装置の識別情報により検証する公開鍵を有する外部装置に前記署名を送信することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記ソフトウェア正当性管理手段は、ユーザが前記ソフトウェアの正当性確認を要求したときに、復号した前記情報処理装置の識別情報を秘密鍵として署名を作成したあと、起動した前記ソフトウェアの正当性を前記情報処理装置の識別情報により検証する公開鍵を有する外部装置に前記署名を送信することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記ソフトウェア正当性管理手段は、正当なソフトウェアから一意に計算される全ての値で暗号化されている前記情報処理装置の識別情報，正当なソフトウェアから一意に計算される値で個別に暗号化されている前記ソフトウェアの識別情報を、前記暗号化復号手段により復号し、前記情報処理装置の識別情報が復号できなかったときに前記ソフトウェアの識別情報の復号可否によって正当性のない前記ソフトウェアを特定して、起動した前記ソフトウェアの正当性を前記情報処理装置の識別情報により検証する外部装置に通知することを特徴とする請求項１又は２記載の情報処理装置。
【請求項６】
前記ソフトウェア正当性管理手段は、前記情報処理装置の識別情報が復号できなかったときに前記ソフトウェア正当性管理手段の識別情報を秘密鍵として署名を作成して前記外部装置に送信したあと、特定した正当性のない前記ソフトウェアを前記外部装置に通知することを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記ソフトウェア正当性管理手段は、前記ソフトウェアの識別情報の復号可否によって正当性のない前記ソフトウェアを特定し、正当性のない前記ソフトウェアから前記外部装置へ正常に通知できるか判定し、前記外部装置へ正常に通知できると判定したとき、前記ソフトウェア正当性管理手段の識別情報を秘密鍵として署名を作成して前記外部装置に送信し、特定した正当性のない前記ソフトウェアを前記外部装置に通知することを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記暗号化復号手段は、ＴＰＭ（Trusted Platform Module）によって実現されることを特徴とする請求項１乃至７何れか一項記載の情報処理装置。
【請求項９】
起動したソフトウェアの正当性に関する情報を通知する情報処理装置のソフトウェア正当性通知方法であって、
起動した前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化及び前記値によって暗号化されている情報の復号を行う暗号化復号手段により、正当なソフトウェアから一意に計算される値で暗号化されている前記情報処理装置の識別情報を復号する復号ステップと、
起動した前記ソフトウェアの正当性に関する情報である前記識別情報をソフトウェア正当性管理手段により通知する通知ステップと
を有することを特徴とするソフトウェア正当性通知方法。
【請求項１０】
前記通知ステップは、起動した前記ソフトウェアの正当性を前記情報処理装置の識別情報により検証する外部装置に前記情報処理装置の識別情報を送信することを特徴とする請求項９記載のソフトウェア正当性通知方法。
【請求項１１】
前記通知ステップは、復号した前記情報処理装置の識別情報を秘密鍵として署名を作成したあと、起動した前記ソフトウェアの正当性を前記情報処理装置の識別情報により検証する公開鍵を有する外部装置に前記署名を送信することを特徴とする請求項９記載のソフトウェア正当性通知方法。
【請求項１２】
前記通知ステップは、ユーザが前記ソフトウェアの正当性確認を要求したときに、復号した前記情報処理装置の識別情報を秘密鍵として署名を作成したあと、起動した前記ソフトウェアの正当性を前記情報処理装置の識別情報により検証する公開鍵を有する外部装置に前記署名を送信することを特徴とする請求項１１記載のソフトウェア正当性通知方法。
【請求項１３】
前記通知ステップは、正当なソフトウェアから一意に計算される全ての値で暗号化されている前記情報処理装置の識別情報，正当なソフトウェアから一意に計算される値で個別に暗号化されている前記ソフトウェアの識別情報を、前記暗号化復号手段により復号し、前記情報処理装置の識別情報が復号できなかったときに前記ソフトウェアの識別情報の復号可否によって正当性のない前記ソフトウェアを特定して、起動した前記ソフトウェアの正当性を前記情報処理装置の識別情報により検証する外部装置に通知することを特徴とする請求項９又は１０記載のソフトウェア正当性通知方法。
【請求項１４】
前記通知ステップは、前記情報処理装置の識別情報が復号できなかったときに前記ソフトウェア正当性管理手段の識別情報を秘密鍵として署名を作成して前記外部装置に送信したあと、特定した正当性のない前記ソフトウェアを前記外部装置に通知することを特徴とする請求項１３記載のソフトウェア正当性通知方法。
【請求項１５】
前記通知ステップは、前記ソフトウェアの識別情報の復号可否によって正当性のない前記ソフトウェアを特定し、正当性のない前記ソフトウェアから前記外部装置へ正常に通知できるか判定し、前記外部装置へ正常に通知できると判定したとき、前記ソフトウェア正当性管理手段の識別情報を秘密鍵として署名を作成して前記外部装置に送信し、特定した正当性のない前記ソフトウェアを前記外部装置に通知することを特徴とする請求項１４記載のソフトウェア正当性通知方法。
【請求項１６】
前記暗号化復号手段は、ＴＰＭ（Trusted Platform Module）によって実現されることを特徴とする請求項９乃至１５何れか一項記載のソフトウェア正当性通知方法。
【請求項１７】
起動したソフトウェアの正当性に関する情報を通知するプロッタ部及びスキャナ部の少なくとも一方を有する画像処理装置であって、
起動した前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化及び前記値によって暗号化されている情報の復号を行う暗号化復号手段と、
正当なソフトウェアから一意に計算される値で暗号化されている前記情報処理装置の識別情報を、前記暗号化復号手段により復号し、起動した前記ソフトウェアの正当性に関する情報である前記識別情報を通知するソフトウェア正当性管理手段と
を有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ソフトウェア正当性通知方法及び画像処理装置に係り、特に起動したソフトウェアの正当性に関する情報を通知する情報処理装置、ソフトウェア正当性通知方法及び画像処理装置に関する。
【背景技術】
【０００２】
セキュリティを重視するＰＣ等の情報処理装置や複合機（ＭＦＰ）等の画像処理装置においては、自装置内の秘密情報を保護する必要がある。近年、ＰＣ等の情報処理装置や複合機等の画像処理装置ではセキュリティ意識の高まりに伴い、盗聴等を防ぐため、装置内部に保存している秘密情報の暗号化が可能となった。
【０００３】
例えば特許文献１にはＴＣＰＡ（Trusted Computing Platform Alliance）の仕様に基づいたＰＣにおいて、ＴＰＭ（Trusted Platform Module ）を用いた情報の暗号化について記載されている。また、特許文献２にはＴＰＭと認証との連携に関する内容について記載されている。
【０００４】
ＴＰＭは、ＰＣＲ（Platform Configuration Register）へファームウェアから計算したハッシュ値を登録する。そして、ＴＰＭはＰＣＲに登録されたハッシュ値を秘密情報の復号条件として暗号化することで、秘密情報をデータ窃取から保護している。例えばＴＰＭはマザーボードに直付けされるチップで実現される。
【０００５】
従来の情報処理装置や画像処理装置では、起動したモジュール（ソフトウェア）が正しくインストールされた正当性のあるモジュールかどうかをＴＰＭから秘密情報を復号できるか否かにより検知することができた。
【特許文献１】特開２００４−２８２３９１号公報
【特許文献２】特表２００３−５０７７８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の情報処理装置や画像処理装置では起動したモジュールが正しくインストールされた正当性のあるモジュールでない、言い換えれば改竄されたモジュールであることを検知しても管理者に通知する仕組みがなかった。また、管理者は従来の情報処理装置や画像処理装置から改竄されたモジュールが起動されたことを通知されても、その通知が信頼できるものかを検証できないという問題があった。
【０００７】
本発明は、上記の点に鑑みなされたもので、起動したソフトウェアの正当性に関する信頼性の高い情報を通知できる情報処理装置、ソフトウェア正当性通知方法及び画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決する為、本発明は、起動したソフトウェアの正当性に関する情報を通知する情報処理装置であって、起動した前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化及び前記値によって暗号化されている情報の復号を行う暗号化復号手段と、正当なソフトウェアから一意に計算される値で暗号化されている前記情報処理装置の識別情報を、前記暗号化復号手段により復号し、起動した前記ソフトウェアの正当性に関する情報である前記識別情報を通知するソフトウェア正当性管理手段とを有することを特徴とする。
【０００９】
また、本発明は、起動したソフトウェアの正当性に関する情報を通知する情報処理装置のソフトウェア正当性通知方法であって、起動した前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化及び前記値によって暗号化されている情報の復号を行う暗号化復号手段により、正当なソフトウェアから一意に計算される値で暗号化されている前記情報処理装置の識別情報を復号する復号ステップと、起動した前記ソフトウェアの正当性に関する情報である前記識別情報をソフトウェア正当性管理手段により通知する通知ステップとを有することを特徴とする。
【００１０】
また、本発明は、起動したソフトウェアの正当性に関する情報を通知するプロッタ部及びスキャナ部の少なくとも一方を有する画像処理装置であって、起動した前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化及び前記値によって暗号化されている情報の復号を行う暗号化復号手段と、正当なソフトウェアから一意に計算される値で暗号化されている前記情報処理装置の識別情報を、前記暗号化復号手段により復号し、起動した前記ソフトウェアの正当性に関する情報である前記識別情報を通知するソフトウェア正当性管理手段とを有することを特徴とする。
【００１１】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、起動したソフトウェアの正当性に関する信頼性の高い情報を通知できる情報処理装置、ソフトウェア正当性通知方法及び画像処理装置を提供可能である。
【発明を実施するための最良の形態】
【００１３】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では画像処理装置としての複合機（ＭＦＰ）を例に説明しているが、ＰＣ等の情報処理装置であってもよい。
【００１４】
図１は本発明による複合機の一実施例のハードウェア構成図である。図１の複合機１００は、ＣＰＵ１，ＡＳＩＣ２，揮発性メモリ３，エンジンコントローラ４，ＴＰＭ５，不揮発メモリ６，ネットワークデバイス７，ｓｄカードＩ／Ｆ８を有する構成である。
【００１５】
ＣＰＵ１は、メインバス９を介してＡＳＩＣ２，エンジンコントローラ４に接続されている。ＡＳＩＣ２は揮発性メモリ３と接続されると共に、ローカルバス１０を介してＴＰＭ５，不揮発メモリ６，ネットワークデバイス７，ｓｄカードＩ／Ｆ８に接続される。
【００１６】
図１の複合機１００は、ローカルバス１０上にＴＰＭ５が搭載されており、秘密情報の暗号化や復号、プラットフォームの真正性を確認するプラットフォーム検証の機能を提供できる構成となっている。
【００１７】
図２は、本発明による複合機のソフトウェア構成と、ＴＰＭの起動時の動作とを表した模式図である。複合機１００は、ＢＩＯＳ２０，基本パッケージ２１，ファーム正当性管理モジュール２２，アプリケーションパッケージ２３を有する構成である。
【００１８】
ＢＩＯＳ２０は、システム起動の初期を担っているモジュールである。基本パッケージ２１は、システム管理モジュール，システム起動モジュール，ＴＰＭ管理モジュール，オペレーティングシステム等を有する構成である。
【００１９】
ファーム正当性管理モジュール２２は、ファームウェアの正当性を管理するモジュールである。アプリケーションパッケージ２３は１つ以上の基本アプリケーションを有する構成である。
【００２０】
ＢＩＯＳ２０はＴＰＭ５へのアクセス手段を有している。基本パッケージ２１が有するオペレーティングシステムはＴＰＭ５へのアクセス手段を有している。オペレーティングシステムは他のモジュールからハードウェアを利用させる機能を提供する。
【００２１】
複合機１００の起動時、ＢＩＯＳ２０は基本パッケージ２１が有するオペレーティングシステムを起動する。オペレーティングシステムの起動後は、オペレーティングシステム内の他のソフトウェアを起動する為のシステム起動モジュールが起動される。システム起動モジュールは他のモジュールを規定された順に起動する。
【００２２】
ＢＩＯＳ２０，オペレーティングシステム，ファーム正当性管理モジュール２２，基本アプリケーション等のモジュールは、ＣＰＵ１により揮発性メモリ３等へ読み込まれて実行される。以下の説明では、説明の便宜上、モジュールを処理主体として説明する。
【００２３】
更に、ＴＰＭ５を用いた秘密情報の暗号化及び復号について説明する。図２のプラットフォーム５０では、まず、ＢＩＯＳ２０が自身のハッシュ値を計算し、ＴＰＭ５内のＰＣＲ５１へ登録する。ＢＩＯＳ２０は例えば原文から固定長の疑似乱数を生成する演算手法によって計算されるハッシュ値をＰＣＲ５１へ登録する。
【００２４】
ＢＩＯＳ２０は基本パッケージ２１のハッシュ値を計算し、ＴＰＭ５内のＰＣＲ５２へ登録した後、基本パッケージ２１を起動する。基本パッケージ２１はファーム正当性管理モジュール２２のハッシュ値を計算し、ＴＰＭ５内のＰＣＲ５３へ登録した後、ファーム正当性管理モジュール２２を起動する。また、基本パッケージ２１は、アプリケーションパッケージ２３のハッシュ値を計算し、ＴＰＭ５内のＰＣＲ５４へ登録した後で、アプリケーションパッケージ２３を起動する。
【００２５】
このように、ＴＰＭ５のＰＣＲ５１〜５４には複合機の起動に伴い、ＢＩＯＳ２０，基本パッケージ２１，ファーム正当性管理モジュール２２及びアプリケーションパッケージ２３から計算されるハッシュ値が登録される。
【００２６】
図３はＴＰＭを用いた情報の暗号化及び復号を表す模式図である。図３の上側はＴＰＭ５による情報「Ｄａｔａ  Ｐ」の暗号化を表している。ＴＰＭ５は暗号化を行う情報「Ｄａｔａ  Ｐ」と、「ＰＣＲ０」〜「ＰＣＲ２」に格納するハッシュ値「Ｘ」〜「Ｚ」とに基づいて、ブロブ６０を作成する。
【００２７】
図３の下側はＴＰＭ５によるブロブ６１〜６３の復号を表している。ＴＰＭ５は、複合機１００を起動する際に、例えばＢＩＯＳ２０，基本パッケージ２１，ファーム正当性管理モジュール２２およびアプリケーションパッケージ２３から計算された３つのハッシュ値「Ｘ」〜「Ｗ」が「ＰＣＲ０」〜「ＰＣＲ３」へ登録されている。
【００２８】
ブロブ（Blob）６１〜６３は情報「Ｄａｔａ  Ｐ」を秘密情報として含む。ブロブ６１は、「ＰＣＲ０」〜「ＰＣＲ２」に「Ｘ」〜「Ｚ」が登録されている。ブロブ６２は、「ＰＣＲ０」〜「ＰＣＲ２」に「Ｘ」，「Ｇ」及び「Ｚ」が登録されている。また、ブロブ６３は「ＰＣＲ０」に「Ｘ」が登録されている。
【００２９】
ブロブ６１の「ＰＣＲ０」〜「ＰＣＲ２」とＴＰＭ５の「ＰＣＲ０」〜「ＰＣＲ２」とに登録されているハッシュ値が同じであるため、ＴＰＭ５はブロブ６１からの情報「Ｄａｔａ  Ｐ」の取り出しを許可する。また、ブロブ６２の「ＰＣＲ１」とＴＰＭ５の「ＰＣＲ１」とに登録されているハッシュ値が異なるため、ＴＰＭ５はブロブ６２からの情報「Ｄａｔａ  Ｐ」の取り出しを許可しない。
【００３０】
さらに、ＴＰＭ５はブロブ６３の「ＰＣＲ０」とＴＰＭ５の「ＰＣＲ０」とに登録されているハッシュ値が同じであるため、ブロブ６３からの情報「Ｄａｔａ  Ｐ」の取り出しを許可する。なお、ＴＰＭ５はブロブ６３のようにハッシュ値が登録されていない「ＰＣＲ１」、「ＰＣＲ２」について、情報「Ｄａｔａ  Ｐ」の取り出しの許可又は不許可の判定に利用しない。
【００３１】
本発明による複合機１００は、不揮発性メモリ６に自機を一意に識別可能な機器ＩＤ７１を暗号化したブロブ７０が含まれる。このブロブ７０の復号可否は、図４に示しているように、ＰＣＲ５１〜５３に登録されているハッシュ値によって制御される。
【００３２】
図４は起動時に機器ＩＤを取得する処理を表した模式図である。ＴＰＭ５は複合機１００の起動時、ＢＩＯＳ２０，基本パッケージ２１，ファーム正当性管理モジュール２２及びアプリケーションパッケージ２３から計算された４つのハッシュ値「Ｘ」〜「Ｗ」が「ＰＣＲ０」〜「ＰＣＲ３」へ登録されている。一方、ブロブ７０は「ＰＣＲ０」〜「ＰＣＲ２」に「Ｘ」〜「Ｚ」が登録されている。
【００３３】
ブロブ７０の「ＰＣＲ０」〜「ＰＣＲ２」とＴＰＭ５の「ＰＣＲ０」〜「ＰＣＲ２」とに登録されているハッシュ値が同じであるため、ＴＰＭ５はブロブ７０から機器ＩＤ７１を復号する。
【００３４】
以下では、ＴＰＭ５を利用してブロブ７０から復号した機器ＩＤ７１により、複合機１００で起動したソフトウェアの正当性に関する情報を管理者等に通知する手順について説明する。
【実施例１】
【００３５】
図５は本発明による複合機を含むシステムのネットワーク構成図である。図５のシステムは複合機１００及び機器認証サーバ１０１がインターネットやＬＡＮ等のネットワーク１０２を介して接続されている。
【００３６】
図６は本発明による複合機を含むシステムの処理手順を表した一例のフローチャートである。ステップＳ１に進み、複合機１００は正当なＢＩＯＳ２０，基本パッケージ２１及びファーム正当性管理モジュール２２から計算された３つのハッシュ値「Ｘ」〜「Ｚ」を基に機器ＩＤを暗号化した図４に示すブロブ７０を作成し、不揮発性メモリ６に格納しておく。
【００３７】
ステップＳ２に進み、信頼できる機器認証サーバ１０１は複合機１００の機器ＩＤを管理する。複合機１００は機器認証サーバ１０１へのアクセス情報（ＩＰアドレスなど）が登録される。
【００３８】
ステップＳ３に進み、複合機１００は起動する際に、ＢＩＯＳ２０，基本パッケージ２１，ファーム正当性管理モジュール２２及びアプリケーションパッケージ２３から計算された４つのハッシュ値「Ｘ」〜「Ｗ」を「ＰＣＲ０」〜「ＰＣＲ３」へ登録する。ブロブ７０は「ＰＣＲ０」〜「ＰＣＲ２」に「Ｘ」〜「Ｚ」が登録されている。
【００３９】
ブロブ７０の「ＰＣＲ０」〜「ＰＣＲ２」とＴＰＭ５の「ＰＣＲ０」〜「ＰＣＲ２」とに登録されているハッシュ値が同じであるため、ＴＰＭ５はブロブ７０から機器ＩＤ７１を復号できる。起動したファームウェア５０に正当性があるとき、ファーム正当性管理モジュール２２はＴＰＭ５を利用してブロブ７０から機器ＩＤ７１を復号する。
【００４０】
ステップＳ４に進み、複合機１００はステップＳ２で登録された機器認証サーバ１０１へ機器ＩＤ７１を送信する。機器認証サーバ１０１は管理している機器ＩＤに、受信した機器ＩＤ７１が含まれるか否かで認証を行う。サーバ１０１は、認証の結果、管理している機器ＩＤに、受信した機器ＩＤ７１が含まれていなければ、不正な機器ＩＤであると判定する。
【００４１】
不正な機器ＩＤである場合、機器認証サーバ１０１はメール等で管理者又はサポートセンタ等にファームウェア５０が改竄されていることを通知してもよい。実施例１の複合機１００ではＴＰＭ５を利用することにより秘密性が保たれる機器ＩＤを、ファームウェア５０の認証に使用することでファームウェア５０の改竄を検知できる。
【実施例２】
【００４２】
図７は本発明による複合機を含むシステムの処理手順を表した他の例のフローチャートである。なお、実施例２のネットワーク構成は図５と同様である。
【００４３】
ステップＳ１１に進み、複合機１００は正当なＢＩＯＳ２０，基本パッケージ２１及びファーム正当性管理モジュール２２から計算された３つのハッシュ値「Ｘ」〜「Ｚ」を基に機器ＩＤを暗号化したブロブ７０を作成し、不揮発性メモリ６に格納しておく。
【００４４】
ステップＳ１２に進み、信頼できる機器認証サーバ１０１は複合機１００の機器ＩＤを管理する。複合機１００は機器認証サーバ１０１へのアクセス情報が登録される。
【００４５】
ステップＳ１３に進み、複合機１００は起動する際に、ＢＩＯＳ２０，基本パッケージ２１，ファーム正当性管理モジュール２２及びアプリケーションパッケージ２３から計算された４つのハッシュ値「Ｘ」〜「Ｗ」を「ＰＣＲ０」〜「ＰＣＲ３」へ登録する。ブロブ７０は「ＰＣＲ０」〜「ＰＣＲ２」に「Ｘ」〜「Ｚ」が登録されている。
【００４６】
ブロブ７０の「ＰＣＲ０」〜「ＰＣＲ２」とＴＰＭ５の「ＰＣＲ０」〜「ＰＣＲ２」とに登録されているハッシュ値が同じであるため、ＴＰＭ５はブロブ７０から機器ＩＤ７１を復号できる。起動したファームウェア５０に正当性があるとき、ファーム正当性管理モジュール２２はＴＰＭ５を利用してブロブ７０から機器ＩＤ７１を復号する。
【００４７】
ステップＳ１４に進み、複合機１００は機器ＩＤ７１を秘密鍵として利用し、機器認証サーバ１０１から受信した文字列を暗号化することで署名を作成する。複合機１００は作成した署名を機器認証サーバ１０１に送信する。即ち、機器ＩＤ７１はネットワーク１０２上を流れることが無くなり、機器ＩＤ７１の秘密性を保つことができる。
【００４８】
ステップＳ１５に進み、機器認証サーバ１０１は公開鍵を有しており、受信した署名により認証を行う。機器認証サーバ１０１は受信した署名を公開鍵で復号し、複合機１００に送信した文字列と一致するか否かで認証を行う。サーバ１０１は、認証の結果、復号した文字列と複合機１００に送信した文字列とが一致しなければ、不正な機器ＩＤであると判定する。
【００４９】
不正な機器ＩＤである場合、機器認証サーバ１０１はメール等で管理者又はサポートセンタ等にファームウェア５０が改竄されていることを通知してもよい。
【実施例３】
【００５０】
図８は本発明による複合機を含むシステムのネットワーク構成図である。図８のシステムは複合機１００および管理者の携帯電話等に搭載された署名検証機能を有する機器認証サーバ１０３がネットワーク１０２を介して接続されている。
【００５１】
図９は本発明による複合機を含むシステムの処理手順を表した一例のフローチャートである。ステップＳ２１に進み、複合機１００は正当なＢＩＯＳ２０，基本パッケージ２１及びファーム正当性管理モジュール２２から計算されたハッシュ値「Ｘ」〜「Ｚ」を基に機器ＩＤを暗号化したブロブ７０を作成し、不揮発性メモリ６に格納しておく。
【００５２】
ステップＳ２２に進み、信頼できる機器認証サーバ１０３は複合機１００の機器ＩＤを管理する。複合機１００は、機器認証サーバ１０１へのアクセス情報及び公開鍵が登録される。
【００５３】
ステップＳ２３に進み、複合機１００は起動する際に、ＢＩＯＳ２０，基本パッケージ２１，ファーム正当性管理モジュール２２及びアプリケーションパッケージ２３から計算されたハッシュ値「Ｘ」〜「Ｗ」を「ＰＣＲ０」〜「ＰＣＲ３」へ登録する。ブロブ７０は「ＰＣＲ０」〜「ＰＣＲ２」に「Ｘ」〜「Ｚ」が登録されている。
【００５４】
ブロブ７０の「ＰＣＲ０」〜「ＰＣＲ２」とＴＰＭ５の「ＰＣＲ０」〜「ＰＣＲ２」とに登録されているハッシュ値が同じであるため、ＴＰＭ５はブロブ７０から機器ＩＤ７１を復号できる。起動したファームウェア５０に正当性があるとき、ファーム正当性管理モジュール２２はＴＰＭ５を利用してブロブ７０から機器ＩＤ７１を復号する。
【００５５】
ステップＳ２４に進み、管理者は起動したファームウェア５０の正当性確認を複合機１００の操作部から要求する。ステップＳ２５に進み、複合機１００は機器ＩＤ７１を秘密鍵として利用し、機器認証サーバ１０３から受信した文字列を暗号化することで署名を作成する。複合機１００は作成した署名を機器認証サーバ１０３に送信する。
【００５６】
ステップＳ２６に進み、機器認証サーバ１０３は公開鍵を有しており、受信した署名により認証を行う。機器認証サーバ１０３は受信した署名を公開鍵で復号し、複合機１００に送信した文字列と一致するか否かで認証を行う。サーバ１０３は、認証の結果、復号した文字列と複合機１００に送信した文字列とが一致しなければ、不正な機器ＩＤであると判定する。したがって、管理者は機器認証サーバ１０３が搭載されている携帯電話などでファームフェア５０が改竄されているかを管理者が要求したタイミングで確認できる。
【実施例４】
【００５７】
本発明による複合機１００は、不揮発性メモリ６に自機を一意に識別可能な機器ＩＤ７１を暗号化したブロブ７０，ＢＩＯＳ２０を一意に識別可能なＢＩＯＳ  ＩＤ７３を暗号化したブロブ７２，基本パッケージ２１を一意に識別可能な基本パッケージＩＤ７５を暗号化したブロブ７４，ファーム正当性管理モジュール２２を一意に識別可能なファーム正当性管理モジュールＩＤ７７を暗号化したブロブ７６が含まれる。ブロブ７０，７２，７４及び７６の復号可否は、図１０に示しているように、ＰＣＲ５１〜５３に登録されているハッシュ値によって制御される。
【００５８】
図１０は起動時に機器ＩＤを取得する処理を表した模式図である。ＴＰＭ５は複合機１００の起動時、ＢＩＯＳ２０，基本パッケージ２１，ファーム正当性管理モジュール２２及びアプリケーションパッケージ２３から計算された４つのハッシュ値「Ｘ」〜「Ｗ」が「ＰＣＲ０」〜「ＰＣＲ３」へ登録されている。
【００５９】
ブロブ７０は「ＰＣＲ０」〜「ＰＣＲ２」に「Ｘ」〜「Ｚ」が登録されている。ブロブ７２は「ＰＣＲ０」に「Ｘ」が登録されている。ブロブ７４は「ＰＣＲ１」に「Ｙ」が登録されている。ブロブ７６は「ＰＣＲ２」に「Ｚ」が登録されている。
【００６０】
ブロブ７２はＢＩＯＳ２０から生成されたハッシュ値に基づいてＢＩＯＳ  ＩＤ７３が暗号化されている。ブロブ７４は基本パッケージ２１から生成されたハッシュ値に基づいて基本パッケージＩＤ７５が暗号化されている。また、ブロブ７６はファーム正当性管理モジュール２２から生成されたハッシュ値に基づいてファーム正当性管理モジュールＩＤ７７が暗号化されている。
【００６１】
つまり、ブロブ７２は正当性のあるＢＩＯＳ２０が起動されたときにＢＩＯＳ  ＩＤ７３が復号される。ブロブ７４は、正当性のある基本パッケージ２１が起動されたときに基本パッケージＩＤ７５が復号される。また、ブロブ７６は、正当性のあるファーム正当性管理モジュール２２が起動されたときにファーム正当性管理モジュールＩＤ７７が復号される。図１０の模式図の場合は以下のようになる。
【００６２】
ブロブ７０の「ＰＣＲ０」〜「ＰＣＲ２」とＴＰＭ５の「ＰＣＲ０」〜「ＰＣＲ２」とに登録されているハッシュ値が同じであるため、ＴＰＭ５はブロブ７０から機器ＩＤ７１を復号できる。
【００６３】
ブロブ７２の「ＰＣＲ０」とＴＰＭ５の「ＰＣＲ０」とに登録されているハッシュ値が同じであるため、ＴＰＭ５はブロブ７２からＢＩＯＳ  ＩＤ７３を復号できる。ブロブ７４の「ＰＣＲ１」とＴＰＭ５の「ＰＣＲ１」とに登録されているハッシュ値が同じであるため、ＴＰＭ５はブロブ７４から基本パッケージＩＤ７５を復号できる。
【００６４】
ブロブ７６の「ＰＣＲ２」とＴＰＭ５の「ＰＣＲ２」とに登録されているハッシュ値が同じであるため、ＴＰＭ５はブロブ７６からファーム正当性管理モジュールＩＤ７７を復号できる。
【００６５】
以下ではＴＰＭ５を利用してブロブ７０から復号した機器ＩＤ７１により、複合機１００で起動したソフトウェアの正当性に関する情報を管理者等に通知し、ブロブ７２，７４及び７６から復号したＢＩＯＳ  ＩＤ７３，基本パッケージＩＤ７５及びファーム正当性管理モジュールＩＤ７７により、改竄されているファームウェア５０を特定し、管理者等に通知する手順について説明する。
【００６６】
図１１は本発明による複合機を含むシステムの処理手順を表した一例のフローチャートである。なお、実施例４のネットワーク構成は図５と同様である。
【００６７】
ステップＳ３１に進み、複合機１００は、正当なＢＩＯＳ２０，基本パッケージ２１及びファーム正当性管理モジュール２２から計算された３つのハッシュ値「Ｘ」〜「Ｚ」を基に、図１０を用いて前述したブロブ７０，７２，７４及び７６を作成し、不揮発性メモリ６に格納しておく。
【００６８】
ステップＳ３２に進み、信頼できる機器認証サーバ１０１は複合機１００の機器ＩＤを管理する。複合機１００は機器認証サーバ１０１へのアクセス情報が登録される。
【００６９】
ステップＳ３３に進み、複合機１００は起動する際に、ＢＩＯＳ２０，基本パッケージ２１，ファーム正当性管理モジュール２２及びアプリケーションパッケージ２３から計算された４つのハッシュ値「Ｘ」〜「Ｗ」を「ＰＣＲ０」〜「ＰＣＲ３」へ登録する。ブロブ７０の「ＰＣＲ０」〜「ＰＣＲ２」とＴＰＭ５の「ＰＣＲ０」〜「ＰＣＲ２」とに登録されているハッシュ値が同じであれば、ＴＰＭ５はブロブ７０から機器ＩＤ７１を復号できる。つまり、起動したファームウェア５０に正当性があるとき、ファーム正当性管理モジュール２２はＴＰＭ５を利用してブロブ７０から機器ＩＤ７１を復号する。
【００７０】
ステップＳ３４に進み、ファーム正当性管理モジュール２２は機器ＩＤ７１の復号に成功したか否かを判定する。ファーム正当性管理モジュール２２は機器ＩＤ７１の復号に成功しなければ（Ｓ３４においてＮＯ）、ステップＳ３５に進み、ＴＰＭ５を利用してブロブ７２，７４及び７６からＢＩＯＳ  ＩＤ７３，基本パッケージＩＤ７５及びファーム正当性管理モジュールＩＤ７７を復号する。
【００７１】
ステップＳ３６に進み、ファーム正当性管理モジュール２２は復号に失敗したファームウェア５０の情報を機器認証サーバ１０１に送信する。例えばＢＩＯＳ  ＩＤ７３の復号に失敗すれば、ファーム正当性管理モジュール２２は復号に失敗したファームウェア５０としてＢＩＯＳ２０を機器認証サーバ１０１に通知する。
【００７２】
すなわち、ファーム正当性管理モジュール２２は復号の失敗に基づいて、改竄されているファームウェア５０を特定し、ファームウェア５０が改竄されていること、改竄されているファームウェア５０の情報を機器認証サーバ１０１に通知する。
【００７３】
ファーム正当性管理モジュール２２は機器ＩＤ７１の復号に成功すれば（Ｓ３４においてＹＥＳ）、ステップＳ３７に進み、ステップＳ３２で登録された機器認証サーバ１０１へ機器ＩＤ７１を送信する。機器認証サーバ１０１は管理している機器ＩＤに、受信した機器ＩＤ７１が含まれるか否かで認証を行う。サーバ１０１は、認証の結果、管理している機器ＩＤに、受信した機器ＩＤ７１が含まれていなければ、不正な機器ＩＤであると判定する。
【００７４】
不正な機器ＩＤである場合、機器認証サーバ１０１はメール等で管理者又はサポートセンタ等にファームウェア５０が改竄されていることを通知してもよい。
【実施例５】
【００７５】
図１２は本発明による複合機を含むシステムの処理手順を表した一例のフローチャートである。なお、実施例５のネットワーク構成は図５と同様である。
【００７６】
ステップＳ４１に進み、複合機１００は、正当なＢＩＯＳ２０，基本パッケージ２１及びファーム正当性管理モジュール２２から計算された３つのハッシュ値「Ｘ」〜「Ｚ」を基に、ブロブ７０を作成し、不揮発性メモリ６に格納しておく。
【００７７】
ステップＳ４２に進み、複合機１００は、正当なＢＩＯＳ２０，基本パッケージ２１及びファーム正当性管理モジュール２２から計算された３つのハッシュ値「Ｘ」〜「Ｚ」を基に、ブロブ７２，７４及び７６を作成し、不揮発性メモリ６に格納しておく。
【００７８】
なお、信頼できる機器認証サーバ１０１は複合機１００の機器ＩＤを管理する。複合機１００は機器認証サーバ１０１へのアクセス情報が登録される。
【００７９】
ステップＳ４３に進み、複合機１００は起動する際に、ＢＩＯＳ２０，基本パッケージ２１，ファーム正当性管理モジュール２２及びアプリケーションパッケージ２３から計算された４つのハッシュ値「Ｘ」〜「Ｗ」を「ＰＣＲ０」〜「ＰＣＲ３」へ登録する。
【００８０】
ブロブ７０の「ＰＣＲ０」〜「ＰＣＲ２」とＴＰＭ５の「ＰＣＲ０」〜「ＰＣＲ２」とに登録されているハッシュ値が同じであれば、ＴＰＭ５はブロブ７０から機器ＩＤ７１を復号する。
【００８１】
ステップＳ４４に進み、ファーム正当性管理モジュール２２は機器ＩＤ７１の復号に成功したか否かを判定する。ファーム正当性管理モジュール２２は機器ＩＤ７１の復号に成功しなければ（Ｓ４４においてＮＯ）、ステップＳ４５に進み、ＴＰＭ５を利用してブロブ７２，７４及び７６からＢＩＯＳ  ＩＤ７３，基本パッケージＩＤ７５及びファーム正当性管理モジュールＩＤ７７を復号する。
【００８２】
ステップＳ４６に進み、複合機１００はファーム正当性管理モジュールＩＤ７７を秘密鍵として利用し、機器認証サーバ１０１から受信した文字列を暗号化することで署名を作成する。複合機１００は作成した署名を機器認証サーバ１０３に送信して署名による認証を依頼する。つまり、機器認証サーバ１０３ではファーム正当性管理モジュール２２の正当性を判定できる。そして、ステップＳ４７に進み、ファーム正当性管理モジュール２２は復号に失敗したファームウェア５０の情報を機器認証サーバ１０１に送信する。
【００８３】
すなわち、ファーム正当性管理モジュール２２は復号の失敗に基づいて、改竄されているファームウェア５０を特定し、ファームウェア５０が改竄されていること、改竄されているファームウェア５０の情報を機器認証サーバ１０１に通知する。
【００８４】
ファーム正当性管理モジュール２２は機器ＩＤ７１の復号に成功すれば（Ｓ４４においてＹＥＳ）、ステップＳ４８に進み、登録されている機器認証サーバ１０１へ機器ＩＤ７１を送信する。機器認証サーバ１０１は管理している機器ＩＤに、受信した機器ＩＤ７１が含まれるか否かで認証を行う。
【００８５】
不正な機器ＩＤである場合、機器認証サーバ１０１はメール等で管理者又はサポートセンタ等にファームウェア５０が改竄されていることを通知してもよい。
【実施例６】
【００８６】
図１３は本発明による複合機を含むシステムの処理手順を表した一例のフローチャートである。なお、実施例６のネットワーク構成は図５と同様である。ステップＳ５１〜Ｓ５５の処理は図１２のステップＳ４１〜Ｓ４５と同様である。
【００８７】
ステップＳ５６に進み、ファーム正当性管理モジュール２２は復号の失敗に基づき、改竄されているファームウェア５０を特定し、正常な情報を機器認証サーバ１０１に送信可能か否かを判定する。
【００８８】
正常な情報を機器認証サーバ１０１に送信可能であれば（Ｓ５６においてＹＥＳ）、複合機１００は、ファーム正当性管理モジュールＩＤ７７を秘密鍵として利用して署名を作成する。複合機１００は作成した署名を機器認証サーバ１０３に送信して署名による認証を依頼する。つまり、機器認証サーバ１０３ではファーム正当性管理モジュール２２の正当性を判定できる。そして、ステップＳ５８に進み、ファーム正当性管理モジュール２２は復号に失敗したファームウェア５０の情報を機器認証サーバ１０１に送信する。
【００８９】
すなわち、ファーム正当性管理モジュール２２は復号の失敗に基づいて、改竄されているファームウェア５０を特定し、ファームウェア５０が改竄されていること、改竄されているファームウェア５０の情報を機器認証サーバ１０１に通知する。
【００９０】
ファーム正当性管理モジュール２２は機器ＩＤ７１の復号に成功すれば（Ｓ５４においてＹＥＳ）、ステップＳ５９に進み、登録されている機器認証サーバ１０１へ機器ＩＤ７１を送信する。機器認証サーバ１０１は管理している機器ＩＤに、受信した機器ＩＤ７１が含まれるか否かで認証を行う。
【００９１】
不正な機器ＩＤである場合、機器認証サーバ１０１はメール等で管理者又はサポートセンタ等にファームウェア５０が改竄されていることを通知してもよい。
【００９２】
正常な情報を機器認証サーバ１０１に送信可能でなければ（Ｓ５６においてＮＯ）、複合機１００は、そのまま処理を終了する。ファーム正当性管理モジュール２２は正常な情報の機器認証サーバ１０１への送信を保障できる場合に、改竄されているファームウェア５０の情報を機器認証サーバ１０１へ送信することにより、情報の信頼性を向上させることができる。
【００９３】
以上、実施例１〜６によれば、ＴＰＭ５を利用した機密性の高い情報を、外部の機器認証サーバ１０１で認証し、ファームウェア５０の改竄を管理者に通知することで、管理者に情報の信頼性を検証する仕組みを提供できる。
【００９４】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した暗号化復号手段はＴＰＭ５に相当する。
【図面の簡単な説明】
【００９５】
【図１】本発明による複合機の一実施例のハードウェア構成図である。
【図２】本発明による複合機のソフトウェア構成と、ＴＰＭの起動時の動作とを表した模式図である。
【図３】ＴＰＭを用いた情報の暗号化及び復号を表す模式図である。
【図４】起動時に機器ＩＤを取得する処理を表した模式図である。
【図５】本発明による複合機を含むシステムのネットワーク構成図である。
【図６】本発明による複合機を含むシステムの処理手順を表した一例のフローチャートである。
【図７】本発明による複合機を含むシステムの処理手順を表した他の例のフローチャートである。
【図８】本発明による複合機を含むシステムのネットワーク構成図である。
【図９】本発明による複合機を含むシステムの処理手順を表した一例のフローチャートである。
【図１０】起動時に機器ＩＤを取得する処理を表した模式図である。
【図１１】本発明による複合機を含むシステムの処理手順を表した一例のフローチャートである。
【図１２】本発明による複合機を含むシステムの処理手順を表した一例のフローチャートである。
【図１３】本発明による複合機を含むシステムの処理手順を表した一例のフローチャートである。
【符号の説明】
【００９６】
１    ＣＰＵ
２    ＡＳＩＣ
３    揮発性メモリ
４    エンジンコントローラ
５    ＴＰＭ
６    不揮発メモリ
７    ネットワークデバイス
８    ｓｄカードＩ／Ｆ
９    メインバス
１０    ローカルバス
２０    ＢＩＯＳ
２１    基本パッケージ
２２    ファーム正当性管理モジュール
２３    アプリケーションパッケージ
５０    プラットフォーム
５１〜５４    ＰＣＲ
６０〜６３，７０，７２，７４，７６    ブロブ
７１    機器ＩＤ
７３    ＢＩＯＳ  ＩＤ
７５    基本パッケージＩＤ
７７    ファーム正当性管理モジュールＩＤ
１００    複合機
１０１，１０３    機器認証サーバ
１０２    ネットワーク
【図１】
2008234079.tif 000003
【図２】
2008234079.tif 000004
【図３】
2008234079.tif 000005
【図４】
2008234079.tif 000006
【図５】
2008234079.tif 000007
【図６】
2008234079.tif 000008
【図７】
2008234079.tif 000009
【図８】
2008234079.tif 000010
【図９】
2008234079.tif 000011
【図１０】
2008234079.tif 000012
【図１１】
2008234079.tif 000013
【図１２】
2008234079.tif 000014
【図１３】
2008234079.tif 000015