説明

情報処理装置、ソフトウェア更新方法及びプログラム

【課題】自装置内のソフトウェアの更新と、情報の保護とを容易に両立することができる情報処理装置、ソフトウェア更新方法及び画像処理装置を提供することを目的とする。
【解決手段】自装置内のソフトウェア21の更新を行う情報処理装置であって、ソフトウェア20〜22から一意に計算される値を格納し、値による情報の暗号化及び値によって暗号化されている情報の復号を行う暗号化復号手段5と、ソフトウェア更新ファイル110の認証を行う認証手段と、認証の成功したソフトウェア更新ファイル110を用いてソフトウェア21の更新を行うソフトウェア更新手段と、値によって暗号化されている情報70を、ソフトウェア21の更新に基づいて変化した値によって暗号化し直すように制御する暗号鍵管理手段とを有することで上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、ソフトウェア更新方法及び画像処理装置に係り、特に自装置内のソフトウェアの更新を行う情報処理装置及び画像処理装置、その情報処理装置又は画像処理装置におけるソフトウェア更新方法に関する。
【背景技術】
【0002】
セキュリティを重視するPC等の情報処理装置や複合機(MFP)等の画像処理装置においては、自装置内の秘密情報を保護する必要がある。近年、PC等の情報処理装置や複合機等の画像処理装置ではセキュリティ意識の高まりに伴い、盗聴等を防ぐため、装置内部に保存している秘密情報の暗号化が可能となった。
【0003】
例えば特許文献1にはTCPA(Trusted Computing Platform Alliance)の仕様に基づいたPCにおいて、TPM(Trusted Platform Module )を用いた情報の暗号化について記載されている。TPMを用いることにより、情報処理装置や画像処理装置は秘密情報を暗号化できる。TPMは例えばマザーボードに直付けされるチップで実現される。秘密情報は、通常、パスワード等の特定の利用者と紐づけられた保護情報により保護される。
【0004】
また、特許文献2にはバグやセキュリティホール、又は機能の追加、変更等に対処するため、情報処理装置や画像処理装置において、プログラムの更新を行うことが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、設定情報が管理者の権限によりコントロールされており、管理者不在の状況でも再起動などの初期化と再スタートを実施できることを要求される情報処理装置や画像処理装置では、特定の利用者と紐づけられた保護情報により秘密情報を保持することが困難である。管理者不在の状況での起動時には、管理者が保護情報を情報処理装置や画像処理装置へ入力できない為である。
【0006】
設定情報が管理者の権限によりコントロールされており、管理者不在の状況でも再起動などの初期化と再スタートを実施できることを要求される情報処理装置や画像処理装置で自装置内の秘密情報を保護する場合には、起動時に装置内の構成(システム)の真正性を確認する必要がある。
【0007】
この為、TPM内にあるPCR(Platform Configuration Register)へファームウェアから計算したハッシュ値を登録し、PCRに登録されたハッシュ値を秘密情報の復号条件とすることで、情報処理装置や画像処理装置は自装置内の秘密情報を、不正なシステムによるデータ窃取から保護している。
【0008】
しかしながら、ファームウェアの更新(ファームウェアアップデート)を行う情報処理装置や画像処理装置では、ファームウェアから計算したハッシュ値の真正性の確保が困難であった。
【0009】
また、ファームウェアの更新を行う情報処理装置や画像処理装置では、再起動後にPCRに登録されるハッシュ値の再計算を行うケースも想定できる。しかしながら、この形式では再計算を指示するインターフェースが、脆弱性の原因となる可能性が高かった。
【0010】
本発明は、上記の点に鑑みなされたもので、自装置内のソフトウェアの更新と情報の保護とを容易に両立可能な情報処理装置、ソフトウェア更新方法及び画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決する為、本発明は、自装置内のソフトウェアの更新を行う情報処理装置であって、前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化及び前記値によって暗号化されている情報の復号を行う暗号化復号手段と、ソフトウェア更新ファイルの認証を行う認証手段と、認証の成功した前記ソフトウェア更新ファイルを用いて前記ソフトウェアの更新を行うソフトウェア更新手段と、前記値によって暗号化されている情報を、前記ソフトウェアの更新に基づいて変化した値によって暗号化し直すように制御する暗号鍵管理手段とを有することを特徴とする。
【0012】
上記課題を解決する為、本発明は、自装置内のソフトウェアの更新を行うプロッタ部とスキャナ部とを有する画像処理装置であって、前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化及び前記値によって暗号化されている情報の復号を行う暗号化復号手段と、ソフトウェア更新ファイルの認証を行う認証手段と、認証の成功した前記ソフトウェア更新ファイルを用いて前記ソフトウェアの更新を行うソフトウェア更新手段と、前記値によって暗号化されている情報を、前記ソフトウェアの更新に基づいて変化した値によって暗号化し直すように制御する暗号鍵管理手段とを有することを特徴とする。
【0013】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【0014】
本発明によれば、自装置内のソフトウェアの更新と情報の保護とを容易に両立可能な情報処理装置、ソフトウェア更新方法及び画像処理装置を提供可能である。
【図面の簡単な説明】
【0015】
【図1】本発明による情報処理装置の一実施例のハードウェア構成図である。
【図2】本発明による情報処理装置の一実施例のソフトウェア構成図である。
【図3】TPMの起動時の動作を表した模式図である。
【図4】TPMを用いた情報の暗号化及び復号を表す模式図である。
【図5】起動時にデバイス暗号鍵を取得する処理を表した模式図である。
【図6】起動時にデバイス暗号鍵を取得する処理を表したシーケンス図である。
【図7】起動時にデバイス暗号鍵を取得する処理を表したフローチャートである。
【図8】ファームウェアの更新に利用するファームウェア更新ファイルの一例の構造図である。
【図9】PCR値フィールドの一例の構成図である。
【図10】ファームウェア更新ファイルの頒布形態を表した模式図である。
【図11】ファームウェアを更新する処理を表した模式図である。
【図12】ネットワーク経由でファームウェアを更新する処理を表したフローチャートである。
【図13】ネットワーク経由でファームウェアを更新する処理を表したシーケンス図である。
【図14】SDカードを利用してファームウェアを更新する処理を表したシーケンス図である。
【図15】本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。
【図16】ファームウェアを更新する処理の他の例を表した模式図である。
【図17】ネットワーク経由でファームウェアを更新する処理を表したフローチャートである。
【図18】ネットワーク経由でファームウェアを更新する処理を表したシーケンス図である。
【図19】静的な認証チェーンを表した模式図である。
【図20】本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。
【図21】動的な認証チェーンを表した模式図である。
【図22】本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。
【発明を実施するための形態】
【0016】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例ではPC等の情報処理装置を例に説明しているが、複合機等の画像処理装置であってもよい。
【0017】
図1は本発明による情報処理装置の一実施例のハードウェア構成図である。図1の情報処理装置は、CPU1,ASIC2,揮発性メモリ3,エンジンコントローラ4,TPM5,不揮発メモリ6,ネットワークデバイス7,sdカードI/F8を有するように構成される。
【0018】
CPU1は、メインバス9を介してASIC2,エンジンコントローラ4に接続されている。ASIC2は揮発性メモリ3と接続されると共に、ローカルバス10を介してTPM5,不揮発メモリ6,ネットワークデバイス7,sdカードI/F8に接続される。
【0019】
図1の情報処理装置は、ローカルバス10上にTPM5が搭載されており、秘密情報の暗号化や復号、プラットフォームの真正性を確認するプラットフォーム検証の機能を提供できる構成となっている。
【0020】
図2は本発明による情報処理装置の一実施例のソフトウェア構成図である。図2の情報処理装置は、BIOS20,基本パッケージ21,アプリケーションパッケージ22,アプリケーションパッケージ23を有するように構成される。
【0021】
また、基本パッケージ21は、ネットワーク更新モジュール31,flashメディア更新モジュール32,基本アプリケーション(コピー)33,システム管理モジュール34,システム起動モジュール35,システム更新モジュール36,ファームウェア認証モジュール37,暗号鍵管理モジュール38,TPM管理モジュール(TSS)39,オペレーティングシステム40を有する構成である。なお、オペレーティングシステム40はファイルシステム41,不揮発メモリドライバ42,TPMドライバ43を有する構成である。
【0022】
アプリケーションパッケージ22は、基本アプリケーション(プリンタ)44,基本アプリケーション(ネットワーク)45を有する構成である。アプリケーションパッケージ23は基本アプリケーション(スキャナ)46を有する構成である。
【0023】
BIOS20は、システムの起動の初期を担うモジュールである。BIOS20はTPM5へのアクセス手段を有している。オペレーティングシステム40は他のソフトウェアモジュールからハードウェア機能を利用する機能を提供する。オペレーティングシステム40のファイルシステム41はデータを管理する。不揮発メモリドライバ42は不揮発メモリ6へアクセスを行うためのソフトウェアである。TPMドライバ43はTPM5へアクセスを行うためのソフトウェアである。
【0024】
情報処理装置の起動時、BIOS20はオペレーティングシステム40を起動する。オペレーティングシステム40の起動後は、システム内の他のソフトウェアを起動する為のシステム起動モジュール35が起動される。システム起動モジュール35は、他のソフトウェア(モジュール)を規定された順に起動する。
【0025】
BIOS20,オペレーティングシステム40,ファイルシステム41等のモジュールは、CPU1により揮発性メモリ3等へ読み込まれて実行される。以下の説明では、説明の便宜上、BIOS20,オペレーティングシステム40,ファイルシステム41等のモジュールを処理主体として説明する。なお、図1及び図2に示した情報処理装置の動作の詳細は後述する。
【0026】
ここで、TPMを用いた情報の暗号化及び復号について簡単に説明する。図3はTPMの起動時の動作を表した模式図である。プラットフォーム50では、まず、BIOS20が自身のハッシュ値を計算し、TPM5内のPCR51へ登録する。BIOS20は例えば原文から固定長の疑似乱数を生成する演算手法によって計算されるハッシュ値をPCR51へ登録する。
【0027】
次に、BIOS20は基本パッケージ21のハッシュ値を計算し、TPM5内のPCR52へ登録した後、基本パッケージ21を起動する。また、基本パッケージ21は、アプリケーションパッケージ22のハッシュ値を計算し、TPM5内のPCR52へ登録した後、アプリケーションパッケージ22を起動する。
【0028】
このように、TPM5のPCR51〜53には、情報処理装置の起動に伴い、BIOS20,基本パッケージ21及びアプリケーションパッケージ22から計算されるハッシュ値が登録される。
【0029】
図4はTPMを用いた情報の暗号化及び復号を表す模式図である。図4の上側はTPM5による情報「Data P」の暗号化を表している。TPM5は暗号化を行う情報「Data P」と、「PCR0」〜「PCR2」に格納するハッシュ値「X」〜「Z」とに基づいて、ブロブ60を作成する。
【0030】
図4の下側はTPMによるブロブ61〜63の復号を表している。TPM5は、情報処理装置を起動する際に、例えばBIOS20,基本パッケージ21及びアプリケーションパッケージ22から計算された3つのハッシュ値「X」〜「Z」が「PCR0」〜「PCR2」へ登録されている。
【0031】
情報「Data P」を含むブロブ(Blob)61〜63は、ファイルシステム41が管理している。ブロブ61は、「PCR0」〜「PCR2」に「X」〜「Z」が登録されている。ブロブ62は、「PCR0」〜「PCR2」に「X」,「G」及び「Z」が登録されている。また、ブロブ63は「PCR0」に「X」が登録されている。
【0032】
ブロブ61の「PCR0」〜「PCR2」とTPM5の「PCR0」〜「PCR2」とに登録されているハッシュ値が同じであるため、TPM5はブロブ61からの情報「Data P」の取り出しを許可する。また、ブロブ62の「PCR1」とTPM5の「PCR1」とに登録されているハッシュ値が異なるため、TPM5はブロブ62からの情報「Data P」の取り出しを許可しない。
【0033】
さらに、TPM5はブロブ63の「PCR0」とTPM5の「PCR0」とに登録されているハッシュ値が同じであるため、ブロブ63からの情報「Data P」の取り出しを許可する。なお、TPM5はブロブ63のようにハッシュ値が登録されていない「PCR1」、「PCR2」について、情報「Data P」の取り出しの許可又は不許可の判定に利用しない。
【0034】
本発明による情報処理装置は、プラットフォーム50内のファイルシステム41にデバイス暗号鍵71を暗号化したブロブ(以下、暗号鍵ブロブと呼ぶ)70が含まれる。この暗号鍵ブロブ70の復号可否は、図5に示すように、PCR51〜53に登録されているハッシュ値によって制御される。デバイス暗号鍵71は、ファイルシステム41上に配置された秘密情報の暗号化又は暗号化された秘密情報の復号に用いられる。
【0035】
図5は起動時にデバイス暗号鍵を取得する処理を表した模式図である。TPM5は情報処理装置の起動時、BIOS20,基本パッケージ21及びアプリケーションパッケージ22から計算された3つのハッシュ値「X」〜「Z」が「PCR0」〜「PCR2」へ登録されている。
【0036】
一方、暗号鍵ブロブ70は「PCR0」〜「PCR2」に「X」〜「Z」が登録されている。暗号鍵ブロブ70の「PCR0」〜「PCR2」とTPM5の「PCR0」〜「PCR2」とに登録されているハッシュ値が同じであるため、TPM5は暗号鍵ブロブ70からデバイス暗号鍵71を復号する。暗号鍵管理モジュール38は、デバイス暗号鍵71を用いて、暗号化された秘密情報72から秘密情報73を復号できる。
【0037】
図6は起動時にデバイス暗号鍵を取得する処理を表したシーケンス図である。ステップS1に進み、BIOS20は自身のハッシュ値を計算し、TPM5内のPCR51へ登録する。次に、ステップS2へ進み、BIOS20は基本パッケージ21のハッシュ値を計算する。ステップS3に進み、BIOS20は基本パッケージ21を展開する。ステップS4に進み、BIOS20は基本パッケージ21のハッシュ値を、TPM5内のPCR52へ登録する。ステップS5に進み、BIOS20はオペレーティングシステム40を起動する。
【0038】
ステップS6に進み、オペレーティングシステム40はシステム起動モジュール35を起動する。ステップS7に進み、システム起動モジュール35はシステム管理モジュール34を起動する。また、ステップS8に進み、システム起動モジュール35は基本アプリケーション33を起動する。
【0039】
ステップS9に進み、システム起動モジュール35はアプリケーションパッケージ22のハッシュ値を計算する。ステップS10に進み、システム起動モジュール35はアプリケーションパッケージ22のハッシュ値を、TPM5内のPCR53へ登録する。
【0040】
ステップS11に進み、システム起動モジュール35は暗号鍵管理モジュール38を起動する。そして、ステップS12に進み、暗号鍵管理モジュール38は前述のように暗号鍵ブロブ70からデバイス暗号鍵71を復号(展開)する。暗号鍵管理モジュール38はデバイス暗号鍵71を用いて、暗号化された秘密情報72から秘密情報73を復号することができる。
【0041】
なお、TPM5はBIOS20,基本パッケージ21及びアプリケーションパッケージ22から計算されるハッシュ値がPCR51〜53に登録されたあと、暗号鍵ブロブ70の復号を受け付ける。暗号鍵モジュール38はTPM5が暗号鍵ブロブ70の復号を受け付けるようになったタイミングで、暗号鍵ブロブ70の復号をTPM5へ依頼する。この後、暗号鍵管理モジュール38はTPM5が暗号鍵ブロブ70から復号したデバイス暗号鍵71を取得できる。
【0042】
図7は起動時にデバイス暗号鍵を取得する処理を表したフローチャートである。ステップS21に進み、BIOS20のコア部分が起動される。ステップS22に進み、BIOS20のコア部分はBIOS20のハッシュ値を計算し、TPM5内のPCR51へ登録する。この後、BIOS20の全体が起動される。
【0043】
ステップS23に進み、BIOS20は基本パッケージ21のハッシュ値を計算し、基本パッケージ21のハッシュ値を、TPM5内のPCR52へ登録する。ステップS24に進み、BIOS20はオペレーティングシステム40を起動する。
【0044】
ステップS25に進み、オペレーティングシステム40はシステム起動モジュール35を起動する。ステップS26に進み、システム起動モジュール35は基本パッケージ21内の他のモジュールを起動する。ステップS27に進み、システム起動モジュール35はアプリケーションパッケージ22のハッシュ値を計算し、TPM5内のPCR53へ登録する。
【0045】
ステップS28に進み、システム起動モジュール35はアプリケーションパッケージ22を起動する。ステップS29に進み、暗号鍵管理モジュール38はTPM5を用いて暗号鍵ブロブ70から復号したデバイス暗号鍵71を取得する。そして、ステップS30に進み、暗号鍵管理モジュール38はデバイス暗号鍵71を用いて、暗号化された秘密情報72から秘密情報73を復号することができる。
【0046】
以下、ファームウェアから計算したハッシュ値の真正性を確保しつつ、情報処理装置においてファームウェアの更新を行う手順について説明する。
【0047】
図8はファームウェアの更新に利用するファームウェア更新ファイルの一例の構造図である。図8のファームウェア更新ファイル(FWUファイル)は、ファームウェア用ヘッダ81,ファームウェアROMイメージ82,PCR値83,公開鍵署名84を有する構成である。
【0048】
ファームウェア用ヘッダ81には、ファームウェア更新ファイル80に関する情報が格納されている。ファームウェアROMイメージ82には、更新するファームウェアそのものが格納されている。PCR値83にはファームウェアROMイメージ82から計算したハッシュ値(PCR値)の予測値を含んだ図9のようなPCR値フィールドが格納されている。PCR値は、例えば疑似TPMによるPCR値の予測により取得できる。
【0049】
図9はPCR値フィールドの一例の構成図である。図9のPCR値フィード91はPCRの見出し(index)と、このファームウェアを情報処理装置に適用したときの起動後のPCR値の予測値とを含んでいる。なお、図9は「PCR0」のPCR値フィールド91の例を表している。公開鍵署名84には、改竄を防止する為、秘密鍵により算出されたファームウェアROMイメージ82及びPCR値83の電子署名が格納されている。
【0050】
図10はファームウェア更新ファイルの頒布形態を表した模式図である。ベンダー管理者は管理用PC100を操作して、秘密鍵を保持している署名管理サーバ101にアクセスし、秘密鍵を利用して図8のようなファームウェア更新ファイル80を作成する。ベンダー管理者は管理用PC100を操作して、ファームウェア更新ファイル80をファームウェア管理サーバ102に登録する。
【0051】
利用者であるシステム管理者はファームウェア管理サーバ102からファームウェア更新ファイル80を取得し、そのファームウェア更新ファイル80を用いて対象機器103のファームウェアを更新する。なお、ファームウェア管理サーバ102の信頼性は電子認証等に基づいて確認する形態とする。
【0052】
図11はファームウェアを更新する処理を表した模式図である。図11では一例として基本パッケージ21を更新する例を表している。
【0053】
ファームウェア更新ファイル(FWUファイル)110は、対象機器である情報処理装置内の改竄不可領域に格納されている公開鍵113を利用することで、公開鍵署名が正しいことを確認される。公開鍵署名が正しければ、ファームウェア更新ファイル110は改竄されていないと判定される。なお、情報処理装置内の改竄不可領域は改竄の防止された記憶領域であればよい。
【0054】
改竄されていないと判定すると、基本パッケージ21は、ファームウェア更新ファイル110のファームウェアROMイメージにより基本パッケージ21aへ更新される。基本パッケージ21aへ更新されると、TPM5のPCR52は再起動により基本パッケージ21aのハッシュ値となる。
【0055】
したがって、PCR51〜53に登録されているハッシュ値によって復号可否が制御される暗号鍵ブロブ70や、PCR値リポジトリ112を暗号化したブロブ(以下、PCR値リポジトリブロブと呼ぶ)111は、基本パッケージ21aから計算されるハッシュ値に基づいて暗号し直す必要がある。
【0056】
そこで、本発明による情報処理装置は、TPM5を用いて暗号鍵ブロブ70のデバイス暗号鍵71を復号すると共に、PCR値リポジトリブロブ111のPCR値リポジトリ112を復号する。
【0057】
情報処理装置は、復号したPCR値リポジトリ112を、ファームウェア更新ファイル110のPCR値「YYY」によりPCR値リポジトリ112aに更新する。PCR値リポジトリ112aは、再起動後、TPM5のPCR51〜53へ登録されるハッシュ値となっている。
【0058】
情報処理装置は、PCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71を再暗号化することで、暗号鍵ブロブ70aを得る。また、情報処理装置は、PCR値リポジトリ112aのPCR値を用いて、PCR値リポジトリ112aを再暗号化することで、PCR値リポジトリブロブ111aを得る。
【0059】
図12はネットワーク経由でファームウェアを更新する処理を表したフローチャートである。ステップS41に進み、ネットワーク更新モジュール31はファームウェア更新ファイル110を受け付ける。
【0060】
ステップS42に進み、ネットワーク更新モジュール31はファームウェア更新ファイル110の内容を受け付け、システム管理モジュール34へファームウェアの更新依頼を行う。
【0061】
ステップS43に進み、システム管理モジュール34はファームウェア認証モジュール37へファームウェア更新ファイル110の認証依頼を行う。すると、ファームウェア認証モジュール37は、読み出し専用領域等、情報処理装置内の改竄不可領域に格納されている公開鍵113を取得する。取得した公開鍵113を用いて、ファームウェア認証モジュール37はファームウェア更新ファイル110の認証を行う。
【0062】
具体的に、ファームウェア認証モジュール37はステップS43aにおいて、ファームウェア更新ファイル110のファームウェアROMイメージ及びPCR値のダイジェストを計算する。ステップS43bにおいて、ファームウェア認証モジュール37はファームウェア更新ファイル110の公開鍵署名を公開鍵113で復号し、ステップS43aで計算したダイジェストと照合することで署名検証を行う。この署名検証により、ファームウェア認証モジュール37はファームウェア更新ファイル110の認証を行う。
【0063】
認証が成功すると、ステップS44に進み、システム管理モジュール34はシステム更新モジュール36へファームウェアの更新依頼を行う。ファームウェアの更新依頼を受けたシステム更新モジュール36は、ファームウェア更新ファイル110を用いてファームウェアを更新する。
【0064】
ステップS45に進み、システム管理モジュール34は暗号鍵管理モジュール38へ暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を行う。暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を受けた暗号鍵管理モジュール38は、ファームウェア更新ファイル110のPCR値を用いて暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新を行う。
【0065】
具体的に、暗号鍵管理モジュール38はステップS45aにおいて、暗号鍵ブロブ70を読み出し、TPM5を用いてデバイス暗号鍵71を復号する。また、ステップS45bにおいて、暗号鍵管理モジュール38はPCR値リポジトリブロブ111を読み出し、TPM5を用いてPCR値リポジトリ112を復号する。
【0066】
ステップS45cにおいて、暗号鍵管理モジュール38はファームウェア更新ファイル110のPCR値を用いて、PCR値リポジトリ112を新しいPCR値リポジトリ112aへ更新する。
【0067】
ステップS45dにおいて、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71を再暗号化することで、暗号鍵ブロブ70aを得る。また、ステップS45eにおいて、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、PCR値リポジトリ112aを再暗号化することで、PCR値リポジトリブロブ111aを得る。
【0068】
ステップS46に進み、システム管理モジュール34はファームウェアの更新依頼に対する結果通知をネットワーク更新モジュール31へ行う。ネットワーク更新モジュール31は結果通知をファームウェア更新の依頼元に対して行う。なお、ステップS43において認証が失敗した場合も、システム管理モジュール34はステップS46に進む。例えばネットワーク更新モジュール31はファームウェアの更新成功又は失敗、ファームウェア更新ファイル110の認証失敗などをファームウェア更新の依頼元に通知する。
【0069】
図13はネットワーク経由でファームウェアを更新する処理を表したシーケンス図である。ステップS51ではネットワーク更新モジュール31がネットワーク経由でファームウェアの更新リクエストであるファームウェア更新ファイル110を受け付ける。
【0070】
ステップS52に進み、ネットワーク更新モジュール31はファームウェア更新ファイル110の内容を受け付け、システム管理モジュール34へファームウェアの更新依頼を行う。
【0071】
ステップS53に進み、システム管理モジュール34はファームウェア認証モジュール37へファームウェア更新ファイル110の認証依頼を行う。すると、ファームウェア認証モジュール37は、前述のようにファームウェア更新ファイル110の認証を行う。
【0072】
認証が成功すると、ステップS54に進み、システム管理モジュール34はシステム更新モジュール36へファームウェアの更新依頼を行う。ファームウェアの更新依頼を受けたシステム更新モジュール36は、ファームウェア更新ファイル110を用いてファームウェアを更新する。
【0073】
ステップS55に進み、システム管理モジュール34は暗号鍵管理モジュール38へ暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を行う。ステップS56に進み、暗号鍵管理モジュール38は不揮発メモリ6から暗号鍵ブロブ70,PCR値リポジトリブロブ111を読み出す。
【0074】
ステップS57に進み、暗号鍵管理モジュール38は、TPM5を用いてデバイス暗号鍵71及びPCR値リポジトリ112を復号する。その後、暗号鍵管理モジュール38はファームウェア更新ファイル110のPCR値を用いて、PCR値リポジトリ112を新しいPCR値リポジトリ112aへ更新する。
【0075】
ステップS58に進み、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71及びPCR値リポジトリ112aを再暗号化することで、暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを得る。ステップS59に進み、暗号鍵管理モジュール38は不揮発メモリ6へ暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを書き込む。
【0076】
ステップS60に進み、暗号鍵管理モジュール38は暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼に対する応答として結果通知をシステム管理モジュール34へ行う。
【0077】
ステップS61に進み、システム管理モジュール34はファームウェアの更新依頼に対する応答として結果通知をネットワーク更新モジュール31へ行う。そして、ステップS62に進み、ネットワーク更新モジュール31は結果通知をファームウェア更新の依頼元に対して行う。
【0078】
図14はSDカードを利用してファームウェアを更新する処理を表したシーケンス図である。ステップS71では、システム起動モジュール35が、flashメディア更新モジュールの一例としてのSDカード更新モジュール32aを起動する。ステップS72に進み、SDカード更新モジュール32aはSDカードからファームウェア更新ファイル110を検出する。
【0079】
ステップS73では、システム起動モジュール35がSDカード更新モジュール32aへファームウェアの更新リクエストを行う。すると、ステップS74に進み、SDカード更新モジュール32aはファームウェア更新ファイル110の内容を受け付け、システム管理モジュール34へファームウェアの更新依頼を行う。
【0080】
ステップS75に進み、システム管理モジュール34は例えばディスプレイ等に更新画面を表示する。ステップS76に進み、システム管理モジュール34はファームウェア認証モジュール37へファームウェア更新ファイル110の認証依頼を行う。認証依頼があると、ファームウェア認証モジュール37は、前述のようにファームウェア更新ファイル110の認証を行う。
【0081】
認証が成功すると、ステップS77に進み、システム管理モジュール34はシステム更新モジュール36へファームウェアの更新依頼を行う。ファームウェアの更新依頼を受けたシステム更新モジュール36は、ファームウェア更新ファイル110を用いてファームウェアを更新する。
【0082】
ステップS78に進み、システム管理モジュール34は暗号鍵管理モジュール38へ暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を行う。ステップS79に進み、暗号鍵管理モジュール38は不揮発メモリ6から暗号鍵ブロブ70,PCR値リポジトリブロブ111を読み出す。
【0083】
ステップS80に進み、暗号鍵管理モジュール38は、TPM5を用いてデバイス暗号鍵71及びPCR値リポジトリ112を復号する。その後、暗号鍵管理モジュール38はファームウェア更新ファイル110のPCR値を用いて、PCR値リポジトリ112を新しいPCR値リポジトリ112aへ更新する。
【0084】
ステップS81に進み、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71及びPCR値リポジトリ112aを再暗号化することで、暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを得る。ステップS82に進み、暗号鍵管理モジュール38は不揮発メモリ6へ暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを書き込む。
【0085】
ステップS83に進み、暗号鍵管理モジュール38は暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼に対する応答として結果通知をシステム管理モジュール34へ行う。そして、ステップS84に進み、システム管理モジュール34は例えばディスプレイ等に更新結果画面を表示する。
【0086】
ステップS85に進み、システム管理モジュール34はファームウェアの更新依頼に対する応答として結果通知をSDカード更新モジュール32aへ行う。そして、ステップS86に進み、SDカード更新モジュール32aはファームウェアの更新リクエストに対する応答として完了通知をシステム起動モジュール35に対して行う。
【0087】
図15は本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。図15の情報処理装置は揮発性メモリ3等のプログラム配置用デバイス150にBIOS20,基本パッケージ21及びアプリケーションパッケージ22が配置され、不揮発メモリ6等のデータ配置用デバイス151に暗号鍵ブログ70,PCR値リポジトリブロブ111が配置され、TPM5にPCR51〜53及びシール鍵155が配置され、読み出し専用領域152にファームウェア認証用の公開鍵113が配置されている。
【0088】
なお、TPM5に配置されているシール鍵155はブロブを作る際に利用する暗号鍵である。シール鍵155は共通鍵でも非対象鍵でもよい。シール鍵155にはTPM5から外に出せないものや別の暗号鍵で暗号化されたあとで外に出されるものがある。ファームウェア認証用の公開鍵113はTPM5の読み出し専用不揮発領域に配置してもよい。
【0089】
また、ファームウェアから計算したハッシュ値の真正性を確保しつつ、情報処理装置においてファームウェアの更新を行う他の手順について説明する。
【0090】
図16はファームウェアを更新する処理の他の例を表した模式図である。図16では図11と同様、基本パッケージ21を更新する例を表している。
【0091】
図16において、ファームウェアの更新に利用するファームウェア更新ファイル(FWUファイル)161は、ファームウェアROMイメージ,公開鍵署名84を有する構成である。つまり、ファームウェア更新ファイル161はPCR値を有しない構成である点でファームウェア更新ファイル110と異なっている。
【0092】
なお、ファームウェアROMイメージには、更新するファームウェアそのものが格納されている。公開鍵署名には、改竄を防止する為、秘密鍵により算出されたファームウェアROMイメージの電子署名が格納されている。
【0093】
ファームウェア更新ファイル161は、情報処理装置内の改竄不可領域に格納されている公開鍵113を利用することで、公開鍵署名が正しいことを確認される。公開鍵署名が正しければ、ファームウェア更新ファイル161は改竄されていないと判定される。
【0094】
改竄されていないと判定すると、基本パッケージ21は、ファームウェア更新ファイル161のファームウェアROMイメージにより基本パッケージ21aへ更新される。基本パッケージ21aへ更新されると、TPM5のPCR52は再起動により基本パッケージ21aのハッシュ値となる。
【0095】
したがって、PCR51,52に登録されているハッシュ値によって復号可否が制御される暗号鍵ブロブ70や、PCR値リポジトリブロブ111は、基本パッケージ21aから計算されるハッシュ値に基づいて暗号し直す必要がある。
【0096】
そこで、本発明による情報処理装置は、TPM5を用いて暗号鍵ブロブ70のデバイス暗号鍵71を復号すると共に、PCR値リポジトリブロブ111のPCR値リポジトリ112を復号する。
【0097】
情報処理装置は、基本パッケージ21aからハッシュ値を計算し、そのハッシュ値によりデバイス暗号鍵71を再暗号化して、暗号鍵ブロブ70aを得る。また、情報処理装置は、PCR値リポジトリ112aのPCR値を用いて、PCR値リポジトリ112aを再暗号化することで、PCR値リポジトリブロブ111aを得る。
【0098】
図16では、ファームウェアを更新する際、ファームウェアから直接、PCR値の予測値を計算することができるので、ファームウェア更新ファイル161にPCR値を含めなくてもよい。また、PCR値の予測値を情報処理装置内で計算できるので、例えば機器の状態に応じてPCR値を柔軟に制御できる。
【0099】
図17はネットワーク経由でファームウェアを更新する処理を表したフローチャートである。ステップS91に進み、ネットワーク更新モジュール31はファームウェア更新ファイル161を受け付ける。
【0100】
ステップS92に進み、ネットワーク更新モジュール31はファームウェア更新ファイル161の内容を受け付け、システム管理モジュール34へファームウェアの更新依頼を行う。
【0101】
ステップS93に進み、システム管理モジュール34はファームウェア認証モジュール37へファームウェア更新ファイル161の認証依頼を行う。すると、ファームウェア認証モジュール37は、読み出し専用領域等、情報処理装置内の改竄不可領域に格納されている公開鍵113を取得する。ファームウェア認証モジュール37は、取得した公開鍵113を用いて、ファームウェア更新ファイル110の認証を行う。
【0102】
具体的に、ファームウェア認証モジュール37はステップS93aにおいて、ファームウェア更新ファイル161に含まれるファームウェアROMイメージのダイジェストを計算する。
【0103】
ステップS93bにおいて、ファームウェア認証モジュール37はファームウェア更新ファイル161の公開鍵署名を公開鍵113で復号し、ステップS93aで計算したダイジェストと照合することで署名検証を行う。この署名検証により、ファームウェア認証モジュール37はファームウェア更新ファイル161の認証を行う。
【0104】
認証が成功すると、ステップS94に進み、システム管理モジュール34はシステム更新モジュール36へファームウェアの更新依頼を行う。ファームウェアの更新依頼を受けたシステム更新モジュール36は、ファームウェア更新ファイル161を用いてファームウェアを更新する。
【0105】
ステップS95に進み、システム管理モジュール34は暗号鍵管理モジュール38へ暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を行う。暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を受けた暗号鍵管理モジュール38は、ファームウェア更新ファイル161に含まれるファームウェアROMイメージから算出されたPCR値を用いて暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新を行う。
【0106】
具体的に、暗号鍵管理モジュール38はステップS95aにて、ファームウェア更新ファイル161に含まれるファームウェアROMイメージのダイジェストをファームウェア認証モジュール37に計算させる。ステップS95bにおいて、暗号鍵管理モジュール38はファームウェアROMイメージのダイジェストに基づくPCR値の予測値をファームウェア認証モジュール37に計算させる。
【0107】
また、暗号鍵管理モジュール38はステップS95cにおいて、暗号鍵ブロブ70を読み出し、TPM5を用いてデバイス暗号鍵71を復号する。また、ステップS95dにおいて、暗号鍵管理モジュール38はPCR値リポジトリブロブ111を読み出し、TPM5を用いてPCR値リポジトリ112を復号する。
【0108】
ステップS95eにおいて、暗号鍵管理モジュール38は算出したファームウェアROMイメージのダイジェストに基づくPCR値の予測値を用いて、PCR値リポジトリ112を新しいPCR値リポジトリ112aへ更新する。
【0109】
ステップS95fにおいて、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71を再暗号化することで、暗号鍵ブロブ70aを得る。また、ステップS95gにおいて、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、PCR値リポジトリ112aを再暗号化することで、PCR値リポジトリブロブ111aを得る。
【0110】
ステップS96に進み、システム管理モジュール34はファームウェアの更新依頼に対する結果通知をネットワーク更新モジュール31へ行う。ネットワーク更新モジュール31は結果通知をファームウェア更新の依頼元に対して行う。なお、ステップS93において認証が失敗した場合も、システム管理モジュール34はステップS96に進む。例えばネットワーク更新モジュール31はファームウェアの更新成功又は失敗、ファームウェア更新ファイル110の認証失敗などをファームウェア更新の依頼元に通知する。
【0111】
図18はネットワーク経由でファームウェアを更新する処理を表したシーケンス図である。まず、ネットワーク更新モジュール31はネットワーク経由でファームウェアの更新リクエストであるファームウェア更新ファイル161を受け付ける。
【0112】
ステップS101に進み、ネットワーク更新モジュール31はファームウェア更新ファイル110の内容を受け付け、システム管理モジュール34へファームウェアの更新依頼を行う。ステップS102に進み、システム管理モジュール34はファームウェア認証モジュール37へファームウェア更新ファイル161の認証依頼を行う。すると、ファームウェア認証モジュール37は、前述のようにファームウェア更新ファイル161の認証を行う。
【0113】
認証が成功すると、ステップS103に進み、システム管理モジュール34はシステム更新モジュール36へファームウェアの更新依頼を行う。ファームウェアの更新依頼を受けたシステム更新モジュール36はファームウェア更新ファイル161を用いてファームウェアを更新する。
【0114】
また、ステップS104に進み、システム管理モジュール34はファームウェア認証モジュール37に、ファームウェアROMイメージのダイジェストに基づくPCR値の予測値を計算させる。
【0115】
ステップS105に進み、システム管理モジュール34は暗号鍵管理モジュール38へ暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を行う。ステップS106に進み、暗号鍵管理モジュール38は不揮発メモリ6から暗号鍵ブロブ70,PCR値リポジトリブロブ111を読み出す。
【0116】
ステップS107に進み、暗号鍵管理モジュール38は、TPM5を用いてデバイス暗号鍵71及びPCR値リポジトリ112を復号する。その後、暗号鍵管理モジュール38は計算したファームウェアROMイメージのダイジェストに基づくPCR値の予測値を用いて、PCR値リポジトリ112を新しいPCR値リポジトリ112aへ更新する。
【0117】
ステップS108に進み、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71及びPCR値リポジトリ112aを再暗号化することで、暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを得る。ステップS109に進み、暗号鍵管理モジュール38は不揮発メモリ6へ暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを書き込む。
【0118】
ステップS110に進み、暗号鍵管理モジュール38は暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼に対する応答として結果通知をシステム管理モジュール34へ行う。
【0119】
ステップS111に進み、システム管理モジュール34はファームウェアの更新依頼に対する応答として結果通知をネットワーク更新モジュール31へ行う。ネットワーク更新モジュール31は結果通知をファームウェア更新の依頼元に対して行う。
【0120】
(静的な認証チェーン)
図19は静的な認証チェーンを表した模式図である。図20は本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。静的な認証チェーンはファームウェアの更新時に付与された公開鍵署名84を用いて、以降のファームウェア認証を実現するものである。
【0121】
静的な認証チェーンを利用した方法によれば、情報処理装置内の基本パッケージ21以外のファームウェアのハッシュ値を登録しなくてもファームウェアから計算したハッシュ値の真正性を維持したままアプリケーションパッケージ22を実行できる。結果としてデバイス暗号鍵71の読み出しにアプリケーションパッケージ22のハッシュ値の登録を待つ必要がなくなり、高速に情報処理装置を起動できる。
【0122】
この場合、アプリケーションパッケージはファームウェア更新ファイル110内に含まれる公開鍵署名84を含めてファイルシステム41内に配置される。起動時には、システム起動モジュール35が情報処理装置内の改竄不可領域に格納されている公開鍵113を読み出し、この公開鍵113を用いてアプリケーションパッケージ22の電子認証を実施し、アプリケーションパッケージ22の完全性を確認する。
【0123】
(動的な認証チェーン)
図21は、動的な認証チェーンを表した模式図である。図22は、本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。動的な認証チェーンは、情報処理装置内の改竄不可領域に格納されている公開鍵113をファームウェアの一部と見なすことで、ファームウェアを更新する仕組みを用いて、公開鍵113の更新を実現するものである。
【0124】
図21では、公開鍵113を単一のファームウェアとして見なし、情報処理装置の起動時に、TPM5のPCR53へ暗号鍵113のハッシュ値を登録している。このような動的な認証チェーンを利用した方法によれば、ファイルシステム41上に配置された公開鍵113を用いて、アプリケーションパッケージ22の認証を実施することができる。
【0125】
(TPM5の代替)
TPM5は完全性に基づくデータアクセスをコントロールするモジュールである。具体的に、TPM5はファームウェアの完全性に関するメトリクスを用いてデータのアクセス管理を実施するハードウェア又はソフトウェアモジュールである。
【0126】
例えばTPM5はハッシュ値から計算されるPCR値により完全性メトリクスを実現している。またTPM5はPCR値でアクセスコントロールされた暗号鍵ブログ70を復号できるかどうかでデータのアクセス管理を実現している。
【0127】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した暗号化復号手段はTPM5に相当し、認証手段はファームウェア認証モジュール37に相当し、ソフトウェア更新手段はシステム更新モジュール36に相当し、暗号鍵管理手段は暗号鍵管理モジュール38に相当する。
【符号の説明】
【0128】
1 CPU
2 ASIC
3 揮発性メモリ
4 エンジンコントローラ
5 TPM
6 不揮発メモリ
7 ネットワークデバイス
8 sdカードI/F
9 メインバス
10 ローカルバス
20 BIOS
21 基本パッケージ
22,23 アプリケーションパッケージ
31 ネットワーク更新モジュール
32 flashメディア更新モジュール
33 基本アプリケーション(コピー)
34 システム管理モジュール
35 システム起動モジュール
36 システム更新モジュール
37 ファームウェア認証モジュール
38 暗号鍵管理モジュール
39 TPM管理モジュール(TSS)
40 オペレーティングシステム
41 ファイルシステム
42 不揮発メモリドライバ
43 TPMドライバ
44 基本アプリケーション(プリンタ)
45 基本アプリケーション(ネットワーク)
46 基本アプリケーション(スキャナ)
50 プラットフォーム
51〜53 PCR
60〜63 ブロブ
70 暗号鍵ブロブ
71 デバイス暗号鍵
72 暗号化された秘密情報
73 秘密情報
80,110,161 ファームウェア更新ファイル
81 ファームウェア用ヘッダ
82 ファームウェアROMイメージ
83 PCR値
84 公開鍵署名
91 PCR値フィード
100 管理用PC
101 署名管理サーバ
102 ファームウェア管理サーバ
103 対象機器
111 PCR値リポジトリブロブ
112 PCR値リポジトリ
113 公開鍵
【先行技術文献】
【特許文献】
【0129】
【特許文献1】特開2004−282391号公報
【特許文献2】特開2005−196745号公報

【特許請求の範囲】
【請求項1】
自装置内のソフトウェアの更新を行う情報処理装置であって、
前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化及び前記値によって暗号化されている情報の復号を行う暗号化復号手段と、
ソフトウェア更新ファイルの認証を行う認証手段と、
認証の成功した前記ソフトウェア更新ファイルを用いて前記ソフトウェアの更新を行うソフトウェア更新手段と、
前記値によって暗号化されている情報を、前記ソフトウェアの更新に基づいて変化した値によって暗号化し直すように制御する暗号鍵管理手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記認証手段は、更新ソフトウェアと、前記更新ソフトウェアから一意に計算される値と、前記更新ソフトウェア及び前記更新ソフトウェアの電子署名とを含んで成る前記ソフトウェア更新ファイルの前記電子署名を用いて、前記ソフトウェア更新ファイルの認証を行うことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記暗号鍵管理手段は、前記値によって暗号化されている情報を、前記認証の成功した前記ソフトウェア更新ファイルに含まれる前記更新ソフトウェアから一意に計算される値によって暗号化し直すように制御することを特徴とする請求項2記載の情報処理装置。
【請求項4】
前記認証手段は、更新ソフトウェアと、前記更新ソフトウェアの電子署名とを含んで成る前記ソフトウェア更新ファイルの前記電子署名を用いて、前記ソフトウェア更新ファイルの認証を行うことを特徴とする請求項1記載の情報処理装置。
【請求項5】
前記認証手段は、前記認証の成功した前記ソフトウェア更新ファイルに含まれる前記更新ソフトウェアから一意に値を計算し、
前記暗号鍵管理手段は、前記値によって暗号化されている情報を、前記認証手段が計算した前記値によって暗号化し直すように制御することを特徴とする請求項4記載の情報処理装置。
【請求項6】
前記認証手段は、前記ソフトウェア更新ファイルの認証を、改竄の防止された公開鍵によって行うことを特徴とする請求項2又は4記載の情報処理装置。
【請求項7】
前記値によって暗号化されている情報は、自装置内のデバイスに格納する情報の暗号化及び前記デバイスに格納されている情報の復号に用いるデバイス暗号鍵と、前記デバイス暗号鍵の暗号化に用いた値とを含むことを特徴とする請求項1記載の情報処理装置。
【請求項8】
前記暗号化復号手段は、TPM(Trusted Platform Module)によって実現されることを特徴とする請求項1乃至7何れか一項記載の情報処理装置。
【請求項9】
自装置内のソフトウェアの更新を行う情報処理装置のソフトウェア更新方法であって、
前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化を行う暗号化復号ステップと、
ソフトウェア更新ファイルの認証を行う認証ステップと、
認証の成功した前記ソフトウェア更新ファイルを用いて前記ソフトウェアの更新を行うソフトウェア更新ステップと、
前記値によって暗号化されている情報を、前記ソフトウェアの更新に基づいて変化した値によって暗号化し直すように制御する暗号鍵管理ステップと
を有することを特徴とするソフトウェア更新方法。
【請求項10】
前記認証ステップは、更新ソフトウェアと、前記更新ソフトウェアから一意に計算される値と、前記更新ソフトウェア及び前記更新ソフトウェアの電子署名とを含んで成る前記ソフトウェア更新ファイルの前記電子署名を用いて、前記ソフトウェア更新ファイルの認証を行うことを特徴とする請求項9記載のソフトウェア更新方法。
【請求項11】
前記暗号鍵管理ステップは、前記値によって暗号化されている情報を、前記認証の成功した前記ソフトウェア更新ファイルに含まれる前記更新ソフトウェアから一意に計算される値によって暗号化し直すように制御することを特徴とする請求項10記載のソフトウェア更新方法。
【請求項12】
前記認証ステップは、更新ソフトウェアと、前記更新ソフトウェアの電子署名とを含んで成る前記ソフトウェア更新ファイルの前記電子署名を用いて、前記ソフトウェア更新ファイルの認証を行うことを特徴とする請求項9記載のソフトウェア更新方法。
【請求項13】
前記認証ステップは、前記認証の成功した前記ソフトウェア更新ファイルに含まれる前記更新ソフトウェアから一意に値を計算し、
前記暗号鍵管理ステップは、前記値によって暗号化されている情報を、前記認証ステップが計算した前記値によって暗号化し直すように制御することを特徴とする請求項12記載のソフトウェア更新方法。
【請求項14】
前記認証ステップは、前記ソフトウェア更新ファイルの認証を、改竄の防止された公開鍵によって行うことを特徴とする請求項10又は12記載のソフトウェア更新方法。
【請求項15】
前記値によって暗号化されている情報は、自装置内のデバイスに格納する情報の暗号化及び前記デバイスに格納されている情報の復号に用いるデバイス暗号鍵と、前記デバイス暗号鍵の暗号化に用いた値とを含むことを特徴とする請求項9記載のソフトウェア更新方法。
【請求項16】
前記暗号化復号ステップは、TPM(Trusted Platform Module)によって実現されることを特徴とする請求項9乃至15何れか一項記載のソフトウェア更新方法。
【請求項17】
自装置内のソフトウェアの更新を行うプロッタ部とスキャナ部とを有する画像処理装置であって、
前記ソフトウェアから一意に計算される値を格納し、前記値による情報の暗号化及び前記値によって暗号化されている情報の復号を行う暗号化復号手段と、
ソフトウェア更新ファイルの認証を行う認証手段と、
認証の成功した前記ソフトウェア更新ファイルを用いて前記ソフトウェアの更新を行うソフトウェア更新手段と、
前記値によって暗号化されている情報を、前記ソフトウェアの更新に基づいて変化した値によって暗号化し直すように制御する暗号鍵管理手段と
を有することを特徴とする画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2013−54769(P2013−54769A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2012−249936(P2012−249936)
【出願日】平成24年11月14日(2012.11.14)
【分割の表示】特願2012−84212(P2012−84212)の分割
【原出願日】平成19年3月15日(2007.3.15)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】