JP5116325B2 - 情報処理装置、ソフトウェア更新方法及び画像処理装置 - Google Patents

情報処理装置、ソフトウェア更新方法及び画像処理装置 Download PDF

Info

Publication number
JP5116325B2
JP5116325B2 JP2007067251A JP2007067251A JP5116325B2 JP 5116325 B2 JP5116325 B2 JP 5116325B2 JP 2007067251 A JP2007067251 A JP 2007067251A JP 2007067251 A JP2007067251 A JP 2007067251A JP 5116325 B2 JP5116325 B2 JP 5116325B2
Authority
JP
Japan
Prior art keywords
software
value
information
processing apparatus
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007067251A
Other languages
English (en)
Other versions
JP2008226159A (ja
JP2008226159A5 (ja
Inventor
秀一 瀬川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007067251A priority Critical patent/JP5116325B2/ja
Priority to US12/046,858 priority patent/US8347107B2/en
Priority to EP08152702A priority patent/EP1973052A1/en
Publication of JP2008226159A publication Critical patent/JP2008226159A/ja
Publication of JP2008226159A5 publication Critical patent/JP2008226159A5/ja
Priority to US13/675,085 priority patent/US8732484B2/en
Application granted granted Critical
Publication of JP5116325B2 publication Critical patent/JP5116325B2/ja
Priority to US14/242,201 priority patent/US9729328B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理装置、ソフトウェア更新方法及び画像処理装置に係り、特に自装置内のソフトウェアの更新を行う情報処理装置及び画像処理装置、その情報処理装置又は画像処理装置におけるソフトウェア更新方法に関する。
セキュリティを重視するPC等の情報処理装置や複合機(MFP)等の画像処理装置においては、自装置内の秘密情報を保護する必要がある。近年、PC等の情報処理装置や複合機等の画像処理装置ではセキュリティ意識の高まりに伴い、盗聴等を防ぐため、装置内部に保存している秘密情報の暗号化が可能となった。
例えば特許文献1にはTCPA(Trusted Computing Platform Alliance)の仕様に基づいたPCにおいて、TPM(Trusted Platform Module )を用いた情報の暗号化について記載されている。TPMを用いることにより、情報処理装置や画像処理装置は秘密情報を暗号化できる。TPMは例えばマザーボードに直付けされるチップで実現される。秘密情報は、通常、パスワード等の特定の利用者と紐づけられた保護情報により保護される。
また、特許文献2にはバグやセキュリティホール、又は機能の追加、変更等に対処するため、情報処理装置や画像処理装置において、プログラムの更新を行うことが記載されている。
特開2004−282391号公報 特開2005−196745号公報
しかし、設定情報が管理者の権限によりコントロールされており、管理者不在の状況でも再起動などの初期化と再スタートを実施できることを要求される情報処理装置や画像処理装置では、特定の利用者と紐づけられた保護情報により秘密情報を保持することが困難である。管理者不在の状況での起動時には、管理者が保護情報を情報処理装置や画像処理装置へ入力できない為である。
設定情報が管理者の権限によりコントロールされており、管理者不在の状況でも再起動などの初期化と再スタートを実施できることを要求される情報処理装置や画像処理装置で自装置内の秘密情報を保護する場合には、起動時に装置内の構成(システム)の真正性を確認する必要がある。
この為、TPM内にあるPCR(Platform Configuration Register)へファームウェアから計算したハッシュ値を登録し、PCRに登録されたハッシュ値を秘密情報の復号条件とすることで、情報処理装置や画像処理装置は自装置内の秘密情報を、不正なシステムによるデータ窃取から保護している。
しかしながら、ファームウェアの更新(ファームウェアアップデート)を行う情報処理装置や画像処理装置では、ファームウェアから計算したハッシュ値の真正性の確保が困難であった。
また、ファームウェアの更新を行う情報処理装置や画像処理装置では、再起動後にPCRに登録されるハッシュ値の再計算を行うケースも想定できる。しかしながら、この形式では再計算を指示するインターフェースが、脆弱性の原因となる可能性が高かった。
本発明は、上記の点に鑑みなされたもので、自装置内のソフトウェアの更新と情報の保護とを容易に両立可能な情報処理装置、ソフトウェア更新方法及び画像処理装置を提供することを目的とする。
上記課題を解決する為、本発明は、自装置内に順次起動される複数のソフトウェアを含む情報処理装置であって、前記複数のソフトウェアから一意に計算される値に基づく情報の暗号化及び復号を行う暗号化復号手段と、ソフトウェア更新ファイルを用いて前記複数のソフトウェアのうちの所定のソフトウェアの更新を行うソフトウェア更新手段と、前記値によって暗号化されている情報を復号し、前記複数のソフトウェアのうちの更新したソフトウェアから一意に計算される値及び更新していないソフトウェアから一意に計算される値によって前記復号した情報を暗号化し直すように制御する暗号情報管理手段とを有することを特徴とする。
上記課題を解決する為、本発明は、自装置内に順次起動される複数のソフトウェアを含むプロッタ部とスキャナ部とを有する画像処理装置であって、前記複数のソフトウェアから一意に計算される値に基づく情報の暗号化及び復号を行う暗号化復号手段と、ソフトウェア更新ファイルを用いて前記複数のソフトウェアのうちの所定のソフトウェアの更新を行うソフトウェア更新手段と、前記値によって暗号化されている情報を復号し、前記複数のソフトウェアのうちの更新したソフトウェアから一意に計算される値及び更新していないソフトウェアから一意に計算される値によって前記復号した情報を暗号化し直すように制御する暗号情報管理手段とを有することを特徴とする。
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
本発明によれば、自装置内のソフトウェアの更新と情報の保護とを容易に両立可能な情報処理装置、ソフトウェア更新方法及び画像処理装置を提供可能である。
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例ではPC等の情報処理装置を例に説明しているが、複合機等の画像処理装置であってもよい。
図1は本発明による情報処理装置の一実施例のハードウェア構成図である。図1の情報処理装置は、CPU1,ASIC2,揮発性メモリ3,エンジンコントローラ4,TPM5,不揮発メモリ6,ネットワークデバイス7,sdカードI/F8を有するように構成される。
CPU1は、メインバス9を介してASIC2,エンジンコントローラ4に接続されている。ASIC2は揮発性メモリ3と接続されると共に、ローカルバス10を介してTPM5,不揮発メモリ6,ネットワークデバイス7,sdカードI/F8に接続される。
図1の情報処理装置は、ローカルバス10上にTPM5が搭載されており、秘密情報の暗号化や復号、プラットフォームの真正性を確認するプラットフォーム検証の機能を提供できる構成となっている。
図2は本発明による情報処理装置の一実施例のソフトウェア構成図である。図2の情報処理装置は、BIOS20,基本パッケージ21,アプリケーションパッケージ22,アプリケーションパッケージ23を有するように構成される。
また、基本パッケージ21は、ネットワーク更新モジュール31,flashメディア更新モジュール32,基本アプリケーション(コピー)33,システム管理モジュール34,システム起動モジュール35,システム更新モジュール36,ファームウェア認証モジュール37,暗号鍵管理モジュール38,TPM管理モジュール(TSS)39,オペレーティングシステム40を有する構成である。なお、オペレーティングシステム40はファイルシステム41,不揮発メモリドライバ42,TPMドライバ43を有する構成である。
アプリケーションパッケージ22は、基本アプリケーション(プリンタ)44,基本アプリケーション(ネットワーク)45を有する構成である。アプリケーションパッケージ23は基本アプリケーション(スキャナ)46を有する構成である。
BIOS20は、システムの起動の初期を担うモジュールである。BIOS20はTPM5へのアクセス手段を有している。オペレーティングシステム40は他のソフトウェアモジュールからハードウェア機能を利用する機能を提供する。オペレーティングシステム40のファイルシステム41はデータを管理する。不揮発メモリドライバ42は不揮発メモリ6へアクセスを行うためのソフトウェアである。TPMドライバ43はTPM5へアクセスを行うためのソフトウェアである。
情報処理装置の起動時、BIOS20はオペレーティングシステム40を起動する。オペレーティングシステム40の起動後は、システム内の他のソフトウェアを起動する為のシステム起動モジュール35が起動される。システム起動モジュール35は、他のソフトウェア(モジュール)を規定された順に起動する。
BIOS20,オペレーティングシステム40,ファイルシステム41等のモジュールは、CPU1により揮発性メモリ3等へ読み込まれて実行される。以下の説明では、説明の便宜上、BIOS20,オペレーティングシステム40,ファイルシステム41等のモジュールを処理主体として説明する。なお、図1及び図2に示した情報処理装置の動作の詳細は後述する。
ここで、TPMを用いた情報の暗号化及び復号について簡単に説明する。図3はTPMの起動時の動作を表した模式図である。プラットフォーム50では、まず、BIOS20が自身のハッシュ値を計算し、TPM5内のPCR51へ登録する。BIOS20は例えば原文から固定長の疑似乱数を生成する演算手法によって計算されるハッシュ値をPCR51へ登録する。
次に、BIOS20は基本パッケージ21のハッシュ値を計算し、TPM5内のPCR52へ登録した後、基本パッケージ21を起動する。また、基本パッケージ21は、アプリケーションパッケージ22のハッシュ値を計算し、TPM5内のPCR52へ登録した後、アプリケーションパッケージ22を起動する。
このように、TPM5のPCR51〜53には、情報処理装置の起動に伴い、BIOS20,基本パッケージ21及びアプリケーションパッケージ22から計算されるハッシュ値が登録される。
図4はTPMを用いた情報の暗号化及び復号を表す模式図である。図4の上側はTPM5による情報「Data P」の暗号化を表している。TPM5は暗号化を行う情報「Data P」と、「PCR0」〜「PCR2」に格納するハッシュ値「X」〜「Z」とに基づいて、ブロブ60を作成する。
図4の下側はTPMによるブロブ61〜63の復号を表している。TPM5は、情報処理装置を起動する際に、例えばBIOS20,基本パッケージ21及びアプリケーションパッケージ22から計算された3つのハッシュ値「X」〜「Z」が「PCR0」〜「PCR2」へ登録されている。
情報「Data P」を含むブロブ(Blob)61〜63は、ファイルシステム41が管理している。ブロブ61は、「PCR0」〜「PCR2」に「X」〜「Z」が登録されている。ブロブ62は、「PCR0」〜「PCR2」に「X」,「G」及び「Z」が登録されている。また、ブロブ63は「PCR0」に「X」が登録されている。
ブロブ61の「PCR0」〜「PCR2」とTPM5の「PCR0」〜「PCR2」とに登録されているハッシュ値が同じであるため、TPM5はブロブ61からの情報「Data P」の取り出しを許可する。また、ブロブ62の「PCR1」とTPM5の「PCR1」とに登録されているハッシュ値が異なるため、TPM5はブロブ62からの情報「Data P」の取り出しを許可しない。
さらに、TPM5はブロブ63の「PCR0」とTPM5の「PCR0」とに登録されているハッシュ値が同じであるため、ブロブ63からの情報「Data P」の取り出しを許可する。なお、TPM5はブロブ63のようにハッシュ値が登録されていない「PCR1」、「PCR2」について、情報「Data P」の取り出しの許可又は不許可の判定に利用しない。
本発明による情報処理装置は、プラットフォーム50内のファイルシステム41にデバイス暗号鍵71を暗号化したブロブ(以下、暗号鍵ブロブと呼ぶ)70が含まれる。この暗号鍵ブロブ70の復号可否は、図5に示すように、PCR51〜53に登録されているハッシュ値によって制御される。デバイス暗号鍵71は、ファイルシステム41上に配置された秘密情報の暗号化又は暗号化された秘密情報の復号に用いられる。
図5は起動時にデバイス暗号鍵を取得する処理を表した模式図である。TPM5は情報処理装置の起動時、BIOS20,基本パッケージ21及びアプリケーションパッケージ22から計算された3つのハッシュ値「X」〜「Z」が「PCR0」〜「PCR2」へ登録されている。
一方、暗号鍵ブロブ70は「PCR0」〜「PCR2」に「X」〜「Z」が登録されている。暗号鍵ブロブ70の「PCR0」〜「PCR2」とTPM5の「PCR0」〜「PCR2」とに登録されているハッシュ値が同じであるため、TPM5は暗号鍵ブロブ70からデバイス暗号鍵71を復号する。暗号鍵管理モジュール38は、デバイス暗号鍵71を用いて、暗号化された秘密情報72から秘密情報73を復号できる。
図6は起動時にデバイス暗号鍵を取得する処理を表したシーケンス図である。ステップS1に進み、BIOS20は自身のハッシュ値を計算し、TPM5内のPCR51へ登録する。次に、ステップS2へ進み、BIOS20は基本パッケージ21のハッシュ値を計算する。ステップS3に進み、BIOS20は基本パッケージ21を展開する。ステップS4に進み、BIOS20は基本パッケージ21のハッシュ値を、TPM5内のPCR52へ登録する。ステップS5に進み、BIOS20はオペレーティングシステム40を起動する。
ステップS6に進み、オペレーティングシステム40はシステム起動モジュール35を起動する。ステップS7に進み、システム起動モジュール35はシステム管理モジュール34を起動する。また、ステップS8に進み、システム起動モジュール35は基本アプリケーション33を起動する。
ステップS9に進み、システム起動モジュール35はアプリケーションパッケージ22のハッシュ値を計算する。ステップS10に進み、システム起動モジュール35はアプリケーションパッケージ22のハッシュ値を、TPM5内のPCR53へ登録する。
ステップS11に進み、システム起動モジュール35は暗号鍵管理モジュール38を起動する。そして、ステップS12に進み、暗号鍵管理モジュール38は前述のように暗号鍵ブロブ70からデバイス暗号鍵71を復号(展開)する。暗号鍵管理モジュール38はデバイス暗号鍵71を用いて、暗号化された秘密情報72から秘密情報73を復号することができる。
なお、TPM5はBIOS20,基本パッケージ21及びアプリケーションパッケージ22から計算されるハッシュ値がPCR51〜53に登録されたあと、暗号鍵ブロブ70の復号を受け付ける。暗号鍵モジュール38はTPM5が暗号鍵ブロブ70の復号を受け付けるようになったタイミングで、暗号鍵ブロブ70の復号をTPM5へ依頼する。この後、暗号鍵管理モジュール38はTPM5が暗号鍵ブロブ70から復号したデバイス暗号鍵71を取得できる。
図7は起動時にデバイス暗号鍵を取得する処理を表したフローチャートである。ステップS21に進み、BIOS20のコア部分が起動される。ステップS22に進み、BIOS20のコア部分はBIOS20のハッシュ値を計算し、TPM5内のPCR51へ登録する。この後、BIOS20の全体が起動される。
ステップS23に進み、BIOS20は基本パッケージ21のハッシュ値を計算し、基本パッケージ21のハッシュ値を、TPM5内のPCR52へ登録する。ステップS24に進み、BIOS20はオペレーティングシステム40を起動する。
ステップS25に進み、オペレーティングシステム40はシステム起動モジュール35を起動する。ステップS26に進み、システム起動モジュール35は基本パッケージ21内の他のモジュールを起動する。ステップS27に進み、システム起動モジュール35はアプリケーションパッケージ22のハッシュ値を計算し、TPM5内のPCR53へ登録する。
ステップS28に進み、システム起動モジュール35はアプリケーションパッケージ22を起動する。ステップS29に進み、暗号鍵管理モジュール38はTPM5を用いて暗号鍵ブロブ70から復号したデバイス暗号鍵71を取得する。そして、ステップS30に進み、暗号鍵管理モジュール38はデバイス暗号鍵71を用いて、暗号化された秘密情報72から秘密情報73を復号することができる。
以下、ファームウェアから計算したハッシュ値の真正性を確保しつつ、情報処理装置においてファームウェアの更新を行う手順について説明する。
図8はファームウェアの更新に利用するファームウェア更新ファイルの一例の構造図である。図8のファームウェア更新ファイル(FWUファイル)は、ファームウェア用ヘッダ81,ファームウェアROMイメージ82,PCR値83,公開鍵署名84を有する構成である。
ファームウェア用ヘッダ81には、ファームウェア更新ファイル80に関する情報が格納されている。ファームウェアROMイメージ82には、更新するファームウェアそのものが格納されている。PCR値83にはファームウェアROMイメージ82から計算したハッシュ値(PCR値)の予測値を含んだ図9のようなPCR値フィールドが格納されている。PCR値は、例えば疑似TPMによるPCR値の予測により取得できる。
図9はPCR値フィールドの一例の構成図である。図9のPCR値フィード91はPCRの見出し(index)と、このファームウェアを情報処理装置に適用したときの起動後のPCR値の予測値とを含んでいる。なお、図9は「PCR0」のPCR値フィールド91の例を表している。公開鍵署名84には、改竄を防止する為、秘密鍵により算出されたファームウェアROMイメージ82及びPCR値83の電子署名が格納されている。
図10はファームウェア更新ファイルの頒布形態を表した模式図である。ベンダー管理者は管理用PC100を操作して、秘密鍵を保持している署名管理サーバ101にアクセスし、秘密鍵を利用して図8のようなファームウェア更新ファイル80を作成する。ベンダー管理者は管理用PC100を操作して、ファームウェア更新ファイル80をファームウェア管理サーバ102に登録する。
利用者であるシステム管理者はファームウェア管理サーバ102からファームウェア更新ファイル80を取得し、そのファームウェア更新ファイル80を用いて対象機器103のファームウェアを更新する。なお、ファームウェア管理サーバ102の信頼性は電子認証等に基づいて確認する形態とする。
図11はファームウェアを更新する処理を表した模式図である。図11では一例として基本パッケージ21を更新する例を表している。
ファームウェア更新ファイル(FWUファイル)110は、対象機器である情報処理装置内の改竄不可領域に格納されている公開鍵113を利用することで、公開鍵署名が正しいことを確認される。公開鍵署名が正しければ、ファームウェア更新ファイル110は改竄されていないと判定される。なお、情報処理装置内の改竄不可領域は改竄の防止された記憶領域であればよい。
改竄されていないと判定すると、基本パッケージ21は、ファームウェア更新ファイル110のファームウェアROMイメージにより基本パッケージ21aへ更新される。基本パッケージ21aへ更新されると、TPM5のPCR52は再起動により基本パッケージ21aのハッシュ値となる。
したがって、PCR51〜53に登録されているハッシュ値によって復号可否が制御される暗号鍵ブロブ70や、PCR値リポジトリ112を暗号化したブロブ(以下、PCR値リポジトリブロブと呼ぶ)111は、基本パッケージ21aから計算されるハッシュ値に基づいて暗号し直す必要がある。
そこで、本発明による情報処理装置は、TPM5を用いて暗号鍵ブロブ70のデバイス暗号鍵71を復号すると共に、PCR値リポジトリブロブ111のPCR値リポジトリ112を復号する。
情報処理装置は、復号したPCR値リポジトリ112を、ファームウェア更新ファイル110のPCR値「YYY」によりPCR値リポジトリ112aに更新する。PCR値リポジトリ112aは、再起動後、TPM5のPCR51〜53へ登録されるハッシュ値となっている。
情報処理装置は、PCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71を再暗号化することで、暗号鍵ブロブ70aを得る。また、情報処理装置は、PCR値リポジトリ112aのPCR値を用いて、PCR値リポジトリ112aを再暗号化することで、PCR値リポジトリブロブ111aを得る。
図12はネットワーク経由でファームウェアを更新する処理を表したフローチャートである。ステップS41に進み、ネットワーク更新モジュール31はファームウェア更新ファイル110を受け付ける。
ステップS42に進み、ネットワーク更新モジュール31はファームウェア更新ファイル110の内容を受け付け、システム管理モジュール34へファームウェアの更新依頼を行う。
ステップS43に進み、システム管理モジュール34はファームウェア認証モジュール37へファームウェア更新ファイル110の認証依頼を行う。すると、ファームウェア認証モジュール37は、読み出し専用領域等、情報処理装置内の改竄不可領域に格納されている公開鍵113を取得する。取得した公開鍵113を用いて、ファームウェア認証モジュール37はファームウェア更新ファイル110の認証を行う。
具体的に、ファームウェア認証モジュール37はステップS43aにおいて、ファームウェア更新ファイル110のファームウェアROMイメージ及びPCR値のダイジェストを計算する。ステップS43bにおいて、ファームウェア認証モジュール37はファームウェア更新ファイル110の公開鍵署名を公開鍵113で復号し、ステップS43aで計算したダイジェストと照合することで署名検証を行う。この署名検証により、ファームウェア認証モジュール37はファームウェア更新ファイル110の認証を行う。
認証が成功すると、ステップS44に進み、システム管理モジュール34はシステム更新モジュール36へファームウェアの更新依頼を行う。ファームウェアの更新依頼を受けたシステム更新モジュール36は、ファームウェア更新ファイル110を用いてファームウェアを更新する。
ステップS45に進み、システム管理モジュール34は暗号鍵管理モジュール38へ暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を行う。暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を受けた暗号鍵管理モジュール38は、ファームウェア更新ファイル110のPCR値を用いて暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新を行う。
具体的に、暗号鍵管理モジュール38はステップS45aにおいて、暗号鍵ブロブ70を読み出し、TPM5を用いてデバイス暗号鍵71を復号する。また、ステップS45bにおいて、暗号鍵管理モジュール38はPCR値リポジトリブロブ111を読み出し、TPM5を用いてPCR値リポジトリ112を復号する。
ステップS45cにおいて、暗号鍵管理モジュール38はファームウェア更新ファイル110のPCR値を用いて、PCR値リポジトリ112を新しいPCR値リポジトリ112aへ更新する。
ステップS45dにおいて、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71を再暗号化することで、暗号鍵ブロブ70aを得る。また、ステップS45eにおいて、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、PCR値リポジトリ112aを再暗号化することで、PCR値リポジトリブロブ111aを得る。
ステップS46に進み、システム管理モジュール34はファームウェアの更新依頼に対する結果通知をネットワーク更新モジュール31へ行う。ネットワーク更新モジュール31は結果通知をファームウェア更新の依頼元に対して行う。なお、ステップS43において認証が失敗した場合も、システム管理モジュール34はステップS46に進む。例えばネットワーク更新モジュール31はファームウェアの更新成功又は失敗、ファームウェア更新ファイル110の認証失敗などをファームウェア更新の依頼元に通知する。
図13はネットワーク経由でファームウェアを更新する処理を表したシーケンス図である。ステップS51ではネットワーク更新モジュール31がネットワーク経由でファームウェアの更新リクエストであるファームウェア更新ファイル110を受け付ける。
ステップS52に進み、ネットワーク更新モジュール31はファームウェア更新ファイル110の内容を受け付け、システム管理モジュール34へファームウェアの更新依頼を行う。
ステップS53に進み、システム管理モジュール34はファームウェア認証モジュール37へファームウェア更新ファイル110の認証依頼を行う。すると、ファームウェア認証モジュール37は、前述のようにファームウェア更新ファイル110の認証を行う。
認証が成功すると、ステップS54に進み、システム管理モジュール34はシステム更新モジュール36へファームウェアの更新依頼を行う。ファームウェアの更新依頼を受けたシステム更新モジュール36は、ファームウェア更新ファイル110を用いてファームウェアを更新する。
ステップS55に進み、システム管理モジュール34は暗号鍵管理モジュール38へ暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を行う。ステップS56に進み、暗号鍵管理モジュール38は不揮発メモリ6から暗号鍵ブロブ70,PCR値リポジトリブロブ111を読み出す。
ステップS57に進み、暗号鍵管理モジュール38は、TPM5を用いてデバイス暗号鍵71及びPCR値リポジトリ112を復号する。その後、暗号鍵管理モジュール38はファームウェア更新ファイル110のPCR値を用いて、PCR値リポジトリ112を新しいPCR値リポジトリ112aへ更新する。
ステップS58に進み、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71及びPCR値リポジトリ112aを再暗号化することで、暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを得る。ステップS59に進み、暗号鍵管理モジュール38は不揮発メモリ6へ暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを書き込む。
ステップS60に進み、暗号鍵管理モジュール38は暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼に対する応答として結果通知をシステム管理モジュール34へ行う。
ステップS61に進み、システム管理モジュール34はファームウェアの更新依頼に対する応答として結果通知をネットワーク更新モジュール31へ行う。そして、ステップS62に進み、ネットワーク更新モジュール31は結果通知をファームウェア更新の依頼元に対して行う。
図14はSDカードを利用してファームウェアを更新する処理を表したシーケンス図である。ステップS71では、システム起動モジュール35が、flashメディア更新モジュールの一例としてのSDカード更新モジュール32aを起動する。ステップS72に進み、SDカード更新モジュール32aはSDカードからファームウェア更新ファイル110を検出する。
ステップS73では、システム起動モジュール35がSDカード更新モジュール32aへファームウェアの更新リクエストを行う。すると、ステップS74に進み、SDカード更新モジュール32aはファームウェア更新ファイル110の内容を受け付け、システム管理モジュール34へファームウェアの更新依頼を行う。
ステップS75に進み、システム管理モジュール34は例えばディスプレイ等に更新画面を表示する。ステップS76に進み、システム管理モジュール34はファームウェア認証モジュール37へファームウェア更新ファイル110の認証依頼を行う。認証依頼があると、ファームウェア認証モジュール37は、前述のようにファームウェア更新ファイル110の認証を行う。
認証が成功すると、ステップS77に進み、システム管理モジュール34はシステム更新モジュール36へファームウェアの更新依頼を行う。ファームウェアの更新依頼を受けたシステム更新モジュール36は、ファームウェア更新ファイル110を用いてファームウェアを更新する。
ステップS78に進み、システム管理モジュール34は暗号鍵管理モジュール38へ暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を行う。ステップS79に進み、暗号鍵管理モジュール38は不揮発メモリ6から暗号鍵ブロブ70,PCR値リポジトリブロブ111を読み出す。
ステップS80に進み、暗号鍵管理モジュール38は、TPM5を用いてデバイス暗号鍵71及びPCR値リポジトリ112を復号する。その後、暗号鍵管理モジュール38はファームウェア更新ファイル110のPCR値を用いて、PCR値リポジトリ112を新しいPCR値リポジトリ112aへ更新する。
ステップS81に進み、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71及びPCR値リポジトリ112aを再暗号化することで、暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを得る。ステップS82に進み、暗号鍵管理モジュール38は不揮発メモリ6へ暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを書き込む。
ステップS83に進み、暗号鍵管理モジュール38は暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼に対する応答として結果通知をシステム管理モジュール34へ行う。そして、ステップS84に進み、システム管理モジュール34は例えばディスプレイ等に更新結果画面を表示する。
ステップS85に進み、システム管理モジュール34はファームウェアの更新依頼に対する応答として結果通知をSDカード更新モジュール32aへ行う。そして、ステップS86に進み、SDカード更新モジュール32aはファームウェアの更新リクエストに対する応答として完了通知をシステム起動モジュール35に対して行う。
図15は本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。図15の情報処理装置は揮発性メモリ3等のプログラム配置用デバイス150にBIOS20,基本パッケージ21及びアプリケーションパッケージ22が配置され、不揮発メモリ6等のデータ配置用デバイス151に暗号鍵ブログ70,PCR値リポジトリブロブ111が配置され、TPM5にPCR51〜53及びシール鍵155が配置され、読み出し専用領域152にファームウェア認証用の公開鍵113が配置されている。
なお、TPM5に配置されているシール鍵155はブロブを作る際に利用する暗号鍵である。シール鍵155は共通鍵でも非対象鍵でもよい。シール鍵155にはTPM5から外に出せないものや別の暗号鍵で暗号化されたあとで外に出されるものがある。ファームウェア認証用の公開鍵113はTPM5の読み出し専用不揮発領域に配置してもよい。
また、ファームウェアから計算したハッシュ値の真正性を確保しつつ、情報処理装置においてファームウェアの更新を行う他の手順について説明する。
図16はファームウェアを更新する処理の他の例を表した模式図である。図16では図11と同様、基本パッケージ21を更新する例を表している。
図16において、ファームウェアの更新に利用するファームウェア更新ファイル(FWUファイル)161は、ファームウェアROMイメージ,公開鍵署名84を有する構成である。つまり、ファームウェア更新ファイル161はPCR値を有しない構成である点でファームウェア更新ファイル110と異なっている。
なお、ファームウェアROMイメージには、更新するファームウェアそのものが格納されている。公開鍵署名には、改竄を防止する為、秘密鍵により算出されたファームウェアROMイメージの電子署名が格納されている。
ファームウェア更新ファイル161は、情報処理装置内の改竄不可領域に格納されている公開鍵113を利用することで、公開鍵署名が正しいことを確認される。公開鍵署名が正しければ、ファームウェア更新ファイル161は改竄されていないと判定される。
改竄されていないと判定すると、基本パッケージ21は、ファームウェア更新ファイル161のファームウェアROMイメージにより基本パッケージ21aへ更新される。基本パッケージ21aへ更新されると、TPM5のPCR52は再起動により基本パッケージ21aのハッシュ値となる。
したがって、PCR51,52に登録されているハッシュ値によって復号可否が制御される暗号鍵ブロブ70や、PCR値リポジトリブロブ111は、基本パッケージ21aから計算されるハッシュ値に基づいて暗号し直す必要がある。
そこで、本発明による情報処理装置は、TPM5を用いて暗号鍵ブロブ70のデバイス暗号鍵71を復号すると共に、PCR値リポジトリブロブ111のPCR値リポジトリ112を復号する。
情報処理装置は、基本パッケージ21aからハッシュ値を計算し、そのハッシュ値によりデバイス暗号鍵71を再暗号化して、暗号鍵ブロブ70aを得る。また、情報処理装置は、PCR値リポジトリ112aのPCR値を用いて、PCR値リポジトリ112aを再暗号化することで、PCR値リポジトリブロブ111aを得る。
図16では、ファームウェアを更新する際、ファームウェアから直接、PCR値の予測値を計算することができるので、ファームウェア更新ファイル161にPCR値を含めなくてもよい。また、PCR値の予測値を情報処理装置内で計算できるので、例えば機器の状態に応じてPCR値を柔軟に制御できる。
図17はネットワーク経由でファームウェアを更新する処理を表したフローチャートである。ステップS91に進み、ネットワーク更新モジュール31はファームウェア更新ファイル161を受け付ける。
ステップS92に進み、ネットワーク更新モジュール31はファームウェア更新ファイル161の内容を受け付け、システム管理モジュール34へファームウェアの更新依頼を行う。
ステップS93に進み、システム管理モジュール34はファームウェア認証モジュール37へファームウェア更新ファイル161の認証依頼を行う。すると、ファームウェア認証モジュール37は、読み出し専用領域等、情報処理装置内の改竄不可領域に格納されている公開鍵113を取得する。ファームウェア認証モジュール37は、取得した公開鍵113を用いて、ファームウェア更新ファイル110の認証を行う。
具体的に、ファームウェア認証モジュール37はステップS93aにおいて、ファームウェア更新ファイル161に含まれるファームウェアROMイメージのダイジェストを計算する。
ステップS93bにおいて、ファームウェア認証モジュール37はファームウェア更新ファイル161の公開鍵署名を公開鍵113で復号し、ステップS93aで計算したダイジェストと照合することで署名検証を行う。この署名検証により、ファームウェア認証モジュール37はファームウェア更新ファイル161の認証を行う。
認証が成功すると、ステップS94に進み、システム管理モジュール34はシステム更新モジュール36へファームウェアの更新依頼を行う。ファームウェアの更新依頼を受けたシステム更新モジュール36は、ファームウェア更新ファイル161を用いてファームウェアを更新する。
ステップS95に進み、システム管理モジュール34は暗号鍵管理モジュール38へ暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を行う。暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を受けた暗号鍵管理モジュール38は、ファームウェア更新ファイル161に含まれるファームウェアROMイメージから算出されたPCR値を用いて暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新を行う。
具体的に、暗号鍵管理モジュール38はステップS95aにて、ファームウェア更新ファイル161に含まれるファームウェアROMイメージのダイジェストをファームウェア認証モジュール37に計算させる。ステップS95bにおいて、暗号鍵管理モジュール38はファームウェアROMイメージのダイジェストに基づくPCR値の予測値をファームウェア認証モジュール37に計算させる。
また、暗号鍵管理モジュール38はステップS95cにおいて、暗号鍵ブロブ70を読み出し、TPM5を用いてデバイス暗号鍵71を復号する。また、ステップS95dにおいて、暗号鍵管理モジュール38はPCR値リポジトリブロブ111を読み出し、TPM5を用いてPCR値リポジトリ112を復号する。
ステップS95eにおいて、暗号鍵管理モジュール38は算出したファームウェアROMイメージのダイジェストに基づくPCR値の予測値を用いて、PCR値リポジトリ112を新しいPCR値リポジトリ112aへ更新する。
ステップS95fにおいて、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71を再暗号化することで、暗号鍵ブロブ70aを得る。また、ステップS95gにおいて、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、PCR値リポジトリ112aを再暗号化することで、PCR値リポジトリブロブ111aを得る。
ステップS96に進み、システム管理モジュール34はファームウェアの更新依頼に対する結果通知をネットワーク更新モジュール31へ行う。ネットワーク更新モジュール31は結果通知をファームウェア更新の依頼元に対して行う。なお、ステップS93において認証が失敗した場合も、システム管理モジュール34はステップS96に進む。例えばネットワーク更新モジュール31はファームウェアの更新成功又は失敗、ファームウェア更新ファイル110の認証失敗などをファームウェア更新の依頼元に通知する。
図18はネットワーク経由でファームウェアを更新する処理を表したシーケンス図である。まず、ネットワーク更新モジュール31はネットワーク経由でファームウェアの更新リクエストであるファームウェア更新ファイル161を受け付ける。
ステップS101に進み、ネットワーク更新モジュール31はファームウェア更新ファイル110の内容を受け付け、システム管理モジュール34へファームウェアの更新依頼を行う。ステップS102に進み、システム管理モジュール34はファームウェア認証モジュール37へファームウェア更新ファイル161の認証依頼を行う。すると、ファームウェア認証モジュール37は、前述のようにファームウェア更新ファイル161の認証を行う。
認証が成功すると、ステップS103に進み、システム管理モジュール34はシステム更新モジュール36へファームウェアの更新依頼を行う。ファームウェアの更新依頼を受けたシステム更新モジュール36はファームウェア更新ファイル161を用いてファームウェアを更新する。
また、ステップS104に進み、システム管理モジュール34はファームウェア認証モジュール37に、ファームウェアROMイメージのダイジェストに基づくPCR値の予測値を計算させる。
ステップS105に進み、システム管理モジュール34は暗号鍵管理モジュール38へ暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼を行う。ステップS106に進み、暗号鍵管理モジュール38は不揮発メモリ6から暗号鍵ブロブ70,PCR値リポジトリブロブ111を読み出す。
ステップS107に進み、暗号鍵管理モジュール38は、TPM5を用いてデバイス暗号鍵71及びPCR値リポジトリ112を復号する。その後、暗号鍵管理モジュール38は計算したファームウェアROMイメージのダイジェストに基づくPCR値の予測値を用いて、PCR値リポジトリ112を新しいPCR値リポジトリ112aへ更新する。
ステップS108に進み、暗号鍵管理モジュール38はPCR値リポジトリ112aのPCR値を用いて、デバイス暗号鍵71及びPCR値リポジトリ112aを再暗号化することで、暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを得る。ステップS109に進み、暗号鍵管理モジュール38は不揮発メモリ6へ暗号鍵ブロブ70a及びPCR値リポジトリブロブ111aを書き込む。
ステップS110に進み、暗号鍵管理モジュール38は暗号鍵ブロブ70,PCR値リポジトリブロブ111及びPCR値リポジトリ112の更新依頼に対する応答として結果通知をシステム管理モジュール34へ行う。
ステップS111に進み、システム管理モジュール34はファームウェアの更新依頼に対する応答として結果通知をネットワーク更新モジュール31へ行う。ネットワーク更新モジュール31は結果通知をファームウェア更新の依頼元に対して行う。
(静的な認証チェーン)
図19は静的な認証チェーンを表した模式図である。図20は本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。静的な認証チェーンはファームウェアの更新時に付与された公開鍵署名84を用いて、以降のファームウェア認証を実現するものである。
静的な認証チェーンを利用した方法によれば、情報処理装置内の基本パッケージ21以外のファームウェアのハッシュ値を登録しなくてもファームウェアから計算したハッシュ値の真正性を維持したままアプリケーションパッケージ22を実行できる。結果としてデバイス暗号鍵71の読み出しにアプリケーションパッケージ22のハッシュ値の登録を待つ必要がなくなり、高速に情報処理装置を起動できる。
この場合、アプリケーションパッケージはファームウェア更新ファイル110内に含まれる公開鍵署名84を含めてファイルシステム41内に配置される。起動時には、システム起動モジュール35が情報処理装置内の改竄不可領域に格納されている公開鍵113を読み出し、この公開鍵113を用いてアプリケーションパッケージ22の電子認証を実施し、アプリケーションパッケージ22の完全性を確認する。
(動的な認証チェーン)
図21は、動的な認証チェーンを表した模式図である。図22は、本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。動的な認証チェーンは、情報処理装置内の改竄不可領域に格納されている公開鍵113をファームウェアの一部と見なすことで、ファームウェアを更新する仕組みを用いて、公開鍵113の更新を実現するものである。
図21では、公開鍵113を単一のファームウェアとして見なし、情報処理装置の起動時に、TPM5のPCR53へ暗号鍵113のハッシュ値を登録している。このような動的な認証チェーンを利用した方法によれば、ファイルシステム41上に配置された公開鍵113を用いて、アプリケーションパッケージ22の認証を実施することができる。
(TPM5の代替)
TPM5は完全性に基づくデータアクセスをコントロールするモジュールである。具体的に、TPM5はファームウェアの完全性に関するメトリクスを用いてデータのアクセス管理を実施するハードウェア又はソフトウェアモジュールである。
例えばTPM5はハッシュ値から計算されるPCR値により完全性メトリクスを実現している。またTPM5はPCR値でアクセスコントロールされた暗号鍵ブログ70を復号できるかどうかでデータのアクセス管理を実現している。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した暗号化復号手段はTPM5に相当し、認証手段はファームウェア認証モジュール37に相当し、ソフトウェア更新手段はシステム更新モジュール36に相当し、暗号鍵管理手段は暗号鍵管理モジュール38に相当する。
本発明による情報処理装置の一実施例のハードウェア構成図である。 本発明による情報処理装置の一実施例のソフトウェア構成図である。 TPMの起動時の動作を表した模式図である。 TPMを用いた情報の暗号化及び復号を表す模式図である。 起動時にデバイス暗号鍵を取得する処理を表した模式図である。 起動時にデバイス暗号鍵を取得する処理を表したシーケンス図である。 起動時にデバイス暗号鍵を取得する処理を表したフローチャートである。 ファームウェアの更新に利用するファームウェア更新ファイルの一例の構造図である。 PCR値フィールドの一例の構成図である。 ファームウェア更新ファイルの頒布形態を表した模式図である。 ファームウェアを更新する処理を表した模式図である。 ネットワーク経由でファームウェアを更新する処理を表したフローチャートである。 ネットワーク経由でファームウェアを更新する処理を表したシーケンス図である。 SDカードを利用してファームウェアを更新する処理を表したシーケンス図である。 本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。 ファームウェアを更新する処理の他の例を表した模式図である。 ネットワーク経由でファームウェアを更新する処理を表したフローチャートである。 ネットワーク経由でファームウェアを更新する処理を表したシーケンス図である。 静的な認証チェーンを表した模式図である。 本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。 動的な認証チェーンを表した模式図である。 本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。
符号の説明
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 公開鍵

Claims (17)

  1. 自装置内に順次起動される複数のソフトウェアを含む情報処理装置であって、
    前記複数のソフトウェアから一意に計算される値に基づく情報の暗号化及び復号を行う暗号化復号手段と、
    ソフトウェア更新ファイルを用いて前記複数のソフトウェアのうちの所定のソフトウェアの更新を行うソフトウェア更新手段と、
    前記値によって暗号化されている情報を復号し、前記複数のソフトウェアのうちの更新したソフトウェアから一意に計算される値及び更新していないソフトウェアから一意に計算される値によって前記復号した情報を暗号化し直すように制御する暗号情報管理手段と
    を有することを特徴とする情報処理装置。
  2. 前記ソフトウェア更新ファイルの認証を行う認証手段をさらに備え、前記ソフトウェア更新手段は、認証の成功した前記ソフトウェア更新ファイルを用いて前記ソフトウェアの更新を行うことを特徴とする請求項1記載の情報処理装置。
  3. 前記認証手段は、更新ソフトウェアと、前記更新ソフトウェアから一意に計算される値と、前記更新ソフトウェア及び前記更新ソフトウェアから一意に計算される値の電子署名とを含前記ソフトウェア更新ファイルの前記電子署名を用いて、前記ソフトウェア更新ファイルの認証を行うことを特徴とする請求項2記載の情報処理装置。
  4. 前記暗号情報管理手段は、前記値によって暗号化されている情報を、前記認証の成功した前記ソフトウェア更新ファイルに含まれる前記更新ソフトウェアから一意に計算される値によって暗号化し直すように制御することを特徴とする請求項3記載の情報処理装置。
  5. 前記認証手段は、更新ソフトウェアと、前記更新ソフトウェアの電子署名とを含前記ソフトウェア更新ファイルの前記電子署名を用いて、前記ソフトウェア更新ファイルの認証を行うことを特徴とする請求項2記載の情報処理装置。
  6. 前記認証手段は、前記認証の成功した前記ソフトウェア更新ファイルに含まれる前記更新ソフトウェアから一意に値を計算し、
    前記暗号情報管理手段は、前記値によって暗号化されている情報を、前記認証手段が計算した前記値によって暗号化し直すように制御することを特徴とする請求項5記載の情報処理装置。
  7. 前記認証手段は、前記ソフトウェア更新ファイルの認証を、改竄の防止された公開鍵によって行うことを特徴とする請求項乃至何れか一項記載の情報処理装置。
  8. 前記値によって暗号化されている情報は、自装置内のデバイスに格納する情報の暗号化及び前記デバイスに格納されている情報の復号に用いるデバイス暗号鍵と、前記デバイス暗号鍵の暗号化に用いた値とを含み、前記暗号情報管理手段は、前記値によって暗号化されている情報である暗号鍵及び該暗号鍵の暗号化に用いた値をそれぞれ復号し、前記複数のソフトウェアのうちの更新したソフトウェアから一意に計算される値及び更新していないソフトウェアから一意に計算される値によって前記復号した情報をそれぞれ暗号化し直すように制御することを特徴とする請求項1乃至7何れか一項記載の情報処理装置。
  9. 前記暗号化復号手段は、TPM(Trusted Platform Module)によって実現されることを特徴とする請求項1乃至8何れか一項記載の情報処理装置。
  10. 自装置内に順次起動される複数のソフトウェアを含む情報処理装置のソフトウェア更新方法であって、
    前記複数のソフトウェアから一意に計算される値に基づく情報の暗号化及び復号を行う暗号化復号ステップと、
    ソフトウェア更新ファイルを用いて前記複数のソフトウェアのうちの所定のソフトウェアの更新を行うソフトウェア更新ステップと、
    前記値によって暗号化されている情報を復号し、前記複数のソフトウェアのうちの更新したソフトウェアから一意に計算される値及び更新していないソフトウェアから一意に計算される値によって前記復号した情報を暗号化し直すように制御する暗号情報管理ステップと
    を有することを特徴とするソフトウェア更新方法。
  11. 前記ソフトウェア更新ファイルの認証を行う認証ステップをさらに備え、ソフトウェア更新ステップは、認証の成功した前記ソフトウェア更新ファイルを用いて前記ソフトウェアの更新を行うことを特徴とする請求項10記載のソフトウェア更新方法。
  12. 前記認証ステップは、更新ソフトウェアと、前記更新ソフトウェアから一意に計算される値と、前記更新ソフトウェア及び前記更新ソフトウェアから一意に計算される値の電子署名とを含前記ソフトウェア更新ファイルの前記電子署名を用いて、前記ソフトウェア更新ファイルの認証を行うことを特徴とする請求項11記載のソフトウェア更新方法。
  13. 前記暗号情報管理ステップは、前記値によって暗号化されている情報を、前記認証の成功した前記ソフトウェア更新ファイルに含まれる前記更新ソフトウェアから一意に計算される値によって暗号化し直すように制御することを特徴とする請求項12記載のソフトウェア更新方法。
  14. 前記認証ステップは、前記ソフトウェア更新ファイルの認証を、改竄の防止された公開鍵によって行うことを特徴とする請求項11乃至13何れか一項記載のソフトウェア更新方法。
  15. 前記値によって暗号化されている情報は、自装置内のデバイスに格納する情報の暗号化及び前記デバイスに格納されている情報の復号に用いるデバイス暗号鍵と、前記デバイス暗号鍵の暗号化に用いた値とを含み、前記暗号情報管理手段は、前記値によって暗号化されている情報である暗号鍵及び該暗号鍵の暗号化に用いた値をそれぞれ復号し、前記複数のソフトウェアのうちの更新したソフトウェアから一意に計算される値及び更新していないソフトウェアから一意に計算される値によって前記復号した情報をそれぞれ暗号化し直すように制御することを特徴とする請求項10乃至14何れか一項記載のソフトウェア更新方法。
  16. 前記暗号化復号ステップは、TPM(Trusted Platform Module)によって実現されることを特徴とする請求項10乃至15何れか一項記載のソフトウェア更新方法。
  17. 自装置内に順次起動される複数のソフトウェアを含むプロッタ部とスキャナ部とを有する画像処理装置であって、
    前記複数のソフトウェアから一意に計算される値に基づく情報の暗号化及び復号を行う暗号化復号手段と、
    ソフトウェア更新ファイルを用いて前記複数のソフトウェアのうちの所定のソフトウェアの更新を行うソフトウェア更新手段と、
    前記値によって暗号化されている情報を復号し、前記複数のソフトウェアのうちの更新したソフトウェアから一意に計算される値及び更新していないソフトウェアから一意に計算される値によって前記復号した情報を暗号化し直すように制御する暗号情報管理手段と
    を有することを特徴とする画像処理装置。
JP2007067251A 2007-03-15 2007-03-15 情報処理装置、ソフトウェア更新方法及び画像処理装置 Expired - Fee Related JP5116325B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007067251A JP5116325B2 (ja) 2007-03-15 2007-03-15 情報処理装置、ソフトウェア更新方法及び画像処理装置
US12/046,858 US8347107B2 (en) 2007-03-15 2008-03-12 Information processing apparatus, software updating method, and image processing apparatus
EP08152702A EP1973052A1 (en) 2007-03-15 2008-03-13 Information processing apparatus, software updating method, and image processing apparatus
US13/675,085 US8732484B2 (en) 2007-03-15 2012-11-13 Information processing apparatus, software updating method, and image processing apparatus
US14/242,201 US9729328B2 (en) 2007-03-15 2014-04-01 Information processing apparatus, software updating method, and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007067251A JP5116325B2 (ja) 2007-03-15 2007-03-15 情報処理装置、ソフトウェア更新方法及び画像処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012084212A Division JP5310897B2 (ja) 2012-04-02 2012-04-02 情報処理装置、ソフトウェア更新方法及び記録媒体

Publications (3)

Publication Number Publication Date
JP2008226159A JP2008226159A (ja) 2008-09-25
JP2008226159A5 JP2008226159A5 (ja) 2009-12-24
JP5116325B2 true JP5116325B2 (ja) 2013-01-09

Family

ID=39673404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007067251A Expired - Fee Related JP5116325B2 (ja) 2007-03-15 2007-03-15 情報処理装置、ソフトウェア更新方法及び画像処理装置

Country Status (3)

Country Link
US (3) US8347107B2 (ja)
EP (1) EP1973052A1 (ja)
JP (1) JP5116325B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235767A1 (en) * 2004-01-20 2008-09-25 Koninklijke Philips Electronic, N.V. Method of Controlling Access to a Communication Network
JP2009053901A (ja) * 2007-08-27 2009-03-12 Seiko Epson Corp プリンタ
JP5369502B2 (ja) 2008-06-04 2013-12-18 株式会社リコー 機器、管理装置、機器管理システム、及びプログラム
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US8544092B2 (en) * 2009-03-12 2013-09-24 International Business Machines Corporation Integrity verification using a peripheral device
JP5493951B2 (ja) 2009-04-17 2014-05-14 株式会社リコー 情報処理装置、正当性検証方法及びプログラム
JP5493946B2 (ja) 2010-02-08 2014-05-14 株式会社リコー 複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体
CN105468982A (zh) * 2010-04-12 2016-04-06 交互数字专利控股公司 无线网络设备及将其完整性确认绑定至其它功能的方法
DE102010043011A1 (de) * 2010-08-30 2012-03-01 Tridonic Gmbh & Co. Kg Parallele Programmierung und Aktualisierung von Gebäudetechnik-Busteilnehmern
US9152793B2 (en) * 2012-09-28 2015-10-06 Intel Corporation Methods, systems and apparatus to self authorize platform code
JP5907937B2 (ja) * 2013-09-11 2016-04-26 京セラドキュメントソリューションズ株式会社 組込システム
JP6399763B2 (ja) * 2014-02-19 2018-10-03 キヤノン株式会社 情報処理装置、情報処理方法
US10389709B2 (en) * 2014-02-24 2019-08-20 Amazon Technologies, Inc. Securing client-specified credentials at cryptographically attested resources
US9690943B2 (en) * 2014-06-04 2017-06-27 Dell Products L.P. BIOS secure data management system
US9383989B1 (en) 2014-06-16 2016-07-05 Symantec Corporation Systems and methods for updating applications
US9767304B2 (en) * 2014-09-25 2017-09-19 Microsoft Technology Licensing, Llc Representation of operating system context in a trusted platform module
GB2538773A (en) * 2015-05-28 2016-11-30 Vodafone Ip Licensing Ltd Device key security
JP6197000B2 (ja) 2015-07-03 2017-09-13 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
CN105404470B (zh) * 2015-10-27 2018-04-24 浪潮电子信息产业股份有限公司 数据存储方法及安全装置、数据存储***
US10992453B2 (en) 2016-05-18 2021-04-27 International Business Machines Corporation System architecture for encrypting external memory
WO2017204823A1 (en) * 2016-05-27 2017-11-30 Hewlett-Packard Development Company, L.P. Printer firmware encryption
KR101795457B1 (ko) * 2016-09-27 2017-11-10 시큐리티플랫폼 주식회사 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법
WO2018138789A1 (ja) * 2017-01-25 2018-08-02 三菱電機株式会社 組み込み装置及びファームウェア更新方法
JP6440334B2 (ja) * 2017-08-18 2018-12-19 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
CN107944263A (zh) * 2017-12-15 2018-04-20 联想(北京)有限公司 一种固件更新方法及固件
CN108038381A (zh) * 2017-12-27 2018-05-15 中国人民解放军战略支援部队信息工程大学 一种密钥安全性检测方法及***
US20210075604A1 (en) * 2019-09-06 2021-03-11 STMicroelectronics (Grand Ouest) SAS Key generation method
US11409880B2 (en) 2019-07-11 2022-08-09 International Business Machines Corporation Blackbox security for containers
KR20210046418A (ko) * 2019-10-18 2021-04-28 삼성전자주식회사 보안 패치가 가능한 롬을 갖는 반도체 장치 및 그것의 패치 방법
US20220407714A1 (en) * 2021-06-18 2022-12-22 Dell Products L.P. System and method of authenticating updated firmware of an information handling system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3627384B2 (ja) 1996-01-17 2005-03-09 富士ゼロックス株式会社 ソフトウェアの保護機能付き情報処理装置及びソフトウェアの保護機能付き情報処理方法
US8909555B2 (en) 2001-04-24 2014-12-09 Hewlett-Packard Development Company, L.P. Information security system
US6993648B2 (en) * 2001-08-16 2006-01-31 Lenovo (Singapore) Pte. Ltd. Proving BIOS trust in a TCPA compliant system
EP1683556A3 (en) 2002-07-05 2012-08-29 Mudalla Technology, Inc. Secure game download
JP4501349B2 (ja) 2003-03-13 2010-07-14 ソニー株式会社 システムモジュール実行装置
JP2004282391A (ja) 2003-03-14 2004-10-07 Fujitsu Ltd 認証機能を有する情報処理装置及び認証機能付与方法
US20050021968A1 (en) * 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
JP2005196745A (ja) 2003-12-10 2005-07-21 Ricoh Co Ltd 情報処理装置、プログラム復旧方法、プログラム復旧プログラム及び記録媒体
US7421588B2 (en) * 2003-12-30 2008-09-02 Lenovo Pte Ltd Apparatus, system, and method for sealing a data repository to a trusted computing platform
US7930503B2 (en) * 2004-01-26 2011-04-19 Hewlett-Packard Development Company, L.P. Method and apparatus for operating multiple security modules
JP4772291B2 (ja) * 2004-04-09 2011-09-14 富士通株式会社 セキュリティ機能を備えた情報処理装置
US7716494B2 (en) * 2004-07-15 2010-05-11 Sony Corporation Establishing a trusted platform in a digital processing system
JP2006146748A (ja) * 2004-11-24 2006-06-08 Konica Minolta Business Technologies Inc コンピュータ組込機器およびデータ受渡方法
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
US8028172B2 (en) * 2005-01-14 2011-09-27 Microsoft Corporation Systems and methods for updating a secure boot process on a computer with a hardware security module
JP4754299B2 (ja) 2005-08-18 2011-08-24 株式会社エヌ・ティ・ティ・データ 情報処理装置
JP4797519B2 (ja) 2005-09-01 2011-10-19 三菱電機株式会社 半導体装置の製造方法
US7831051B2 (en) * 2007-03-13 2010-11-09 Aladdin Europe Gmbh Secure communication between a hardware device and a computer

Also Published As

Publication number Publication date
US20080313627A1 (en) 2008-12-18
US9729328B2 (en) 2017-08-08
JP2008226159A (ja) 2008-09-25
US20130073869A1 (en) 2013-03-21
EP1973052A1 (en) 2008-09-24
US20140215223A1 (en) 2014-07-31
US8732484B2 (en) 2014-05-20
US8347107B2 (en) 2013-01-01

Similar Documents

Publication Publication Date Title
JP5116325B2 (ja) 情報処理装置、ソフトウェア更新方法及び画像処理装置
JP6595822B2 (ja) 情報処理装置及びその制御方法
JP5369502B2 (ja) 機器、管理装置、機器管理システム、及びプログラム
JP4890309B2 (ja) 情報処理装置及び情報保護方法
JP4099039B2 (ja) プログラム更新方法
JP6720581B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5096022B2 (ja) 情報処理装置、ソフトウェア検証方法及びソフトウェア検証プログラム
JP2010515159A (ja) セキュアコンテンツおよびアプリケーションのコピーを防ぐセキュリティメカニズムを有するメモリカードのアップグレード
JP2016146618A (ja) 情報処理装置
JP2009080772A (ja) ソフトウェア起動システム、ソフトウェア起動方法、及びソフトウェア起動プログラム
JP5582231B2 (ja) 情報処理装置、真正性確認方法、及び記録媒体
JP2008226146A (ja) 情報処理装置と情報処理装置のデータ転送方法
JP5617981B2 (ja) 機器、管理装置、機器管理システム、及びプログラム
JP2008234079A (ja) 情報処理装置、ソフトウェア正当性通知方法及び画像処理装置
JP5234217B2 (ja) 情報処理装置、ソフトウェア更新方法及びプログラム
JP2013191226A (ja) 情報処理装置、ソフトウェア更新方法及び画像処理装置
JP5310897B2 (ja) 情報処理装置、ソフトウェア更新方法及び記録媒体
JP5278520B2 (ja) 情報処理装置、情報保護方法
JP5574007B2 (ja) 情報処理装置及び情報保護方法
JP2009245135A (ja) 情報処理端末装置及びアプリケーションプログラムの起動認証方法
US11971991B2 (en) Information processing apparatus, control method for controlling the same and storage medium
JP5500232B2 (ja) 情報処理装置及び情報保護方法
US20240080206A1 (en) Automatic Root Key and Certificate Update During Firmware Update Procedure
JP2007272923A5 (ja)
JP2007272923A (ja) サーバ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120402

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120810

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120817

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120918

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121016

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5116325

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151026

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees