(57)【特許請求の範囲】
【請求項１】
暗号鍵を用いて保護対象となる保護対象データを暗号化又は復号する暗号化復号手段を備えた情報処理装置であって、
第一の暗号鍵が有効に存在するか否かを判定する判定手段と、
前記第一の暗号鍵が有効に存在していない場合に、前記第一の暗号鍵を生成する生成手段と、
生成された前記第一の暗号鍵とアクセスの可否を制御するための固有値とを記憶する記憶手段と、
ファームウェアの構成を示す固有値を算出する算出手段と、
前記記憶手段に記憶されている前記固有値が、前記算出手段によって算出された前記固有値に一致するか否かに基づいて、前記記憶手段に記憶されている前記第一の暗号鍵に対するアクセスの可否を制御するアクセス制御手段と、
前記保護対象データを更新する更新手段と、を備え、
前記更新手段は、前記保護対象データを更新用の保護対象データに置き換えると前記第一の暗号鍵を破棄し、前記第一の暗号鍵を破棄した後に、自装置を再起動させる
ことを特徴とする情報処理装置。
【請求項２】
前記生成手段が前記第一の暗号鍵を生成すると、前記暗号化復号手段は前記保護対象データを前記第一の暗号鍵により暗号化することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記保護対象データは予め前記第一の暗号鍵とは異なる第二の暗号鍵により暗号化されており、
前記生成手段が前記第一の暗号鍵を生成すると、前記暗号化復号手段は前記第二の暗号鍵により復号した前記保護対象データを前記第一の暗号鍵により暗号化することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記記憶手段は、夫々前記第一の暗号鍵を記憶する複数の領域を有し、
前記アクセス制御手段は、前記領域毎に前記各第一の暗号鍵へのアクセスの可否を制御することを特徴とする請求項１乃至３の何れか一項に記載の情報処理装置。
【請求項５】
暗号鍵を用いて保護対象となる保護対象データを暗号化又は復号する情報処理装置において実行される情報処理方法であって、
第一の暗号鍵が有効に存在するか否かを判定するステップと、
前記第一の暗号鍵が有効に存在していない場合に、前記第一の暗号鍵を生成するステップと、
生成された前記第一の暗号鍵とアクセスの可否を制御するための固有値とを記憶手段に記憶させるステップと、
ファームウェアの構成を示す固有値を算出するステップと、
前記記憶手段に記憶されている前記固有値が、前記算出手段によって算出された前記固有値に一致するか否かに基づいて、前記記憶手段に記憶されている前記第一の暗号鍵に対するアクセスの可否を制御するステップと、
保護対象データを更新用の保護対象データに置き換えた後に、前記第一の暗号鍵を破棄し、前記第一の暗号鍵を破棄した後に、自装置を再起動させるステップと、
を実行することを特徴とする情報処理方法。
【請求項６】
暗号鍵を用いて保護対象となる保護対象データを暗号化又は復号する情報処理装置に、
第一の暗号鍵が有効に存在するか否かを判定するステップと、
前記第一の暗号鍵が有効に存在していない場合に、前記第一の暗号鍵を生成するステップと、
生成された前記第一の暗号鍵とアクセスの可否を制御するための固有値とを記憶手段に記憶させるステップと、
ファームウェアの構成を示す固有値を算出するステップと、
前記記憶手段に記憶されている前記固有値が、前記算出手段によって算出された前記固有値に一致するか否かに基づいて、前記記憶手段に記憶されている前記第一の暗号鍵に対するアクセスの可否を制御するステップと、
保護対象データを更新用の保護対象データに置き換えた後に、前記第一の暗号鍵を破棄し、前記第一の暗号鍵を破棄した後に、自装置を再起動させるステップと、
を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
従来、それぞれ通信機能を備えた複数の通信装置を、ネットワークを介して通信可能に接続して様々なシステムを構築することが行われている。その一例として、クライアント装置として機能するＰＣ（Personal Computer）等から商品の注文を送信し、ＰＣとインターネットを介して通信可能なサーバ装置においてその注文を受け付けるといった、いわゆる電子商取引システムが挙げられる。また、種々の電子装置にクライアント装置あるいはサーバ装置の機能を持たせてネットワークを介して接続し、電子装置間の通信によって電子装置の遠隔管理を行うシステムも提案されている。
このようなシステムを構築する上では、通信を行う際に、通信相手が適切か、又は送信されてくる情報が改竄されていないかといったことを確認することが重要である。また、機密情報を送信する場合、その内容を他のコンピュータに漏洩させないようにする必要もある。
このような要求に応える通信プロトコルの一例としてＳＳＬ（Secure Socket Layer）が開発されており、広く用いられている。ＳＳＬにおいては、公開鍵暗号方式と共通鍵暗号方式とを組み合わせて通信相手の認証を行うと共に、情報を暗号化することにより情報の改竄及び盗聴の防止を図ることができる。
【０００３】
特許文献１には、認証の基準に２通りのレベルを設けることが記載されている。具体的には、第１のレベルは、通信相手の機器が、同一のベンダーから供給された機器であるか、又は一定のテストに合格した機器であるか等、一定の基準を満たす機器か否かを判断するものであり、第２のレベルは、通信相手となる機器の個体を特定するものである。
第１のレベルの認証を行う場合は、予め一定の基準を満たす機器に共通の公開鍵証明書（以下、「共通証明書」という。）と私有鍵のセットを記憶させておき、ＳＳＬ通信の際にこれを用いて認証を行い、通信相手が確かにその公開鍵証明書の発行対象の装置であると確認する。第２のレベルの認証を行う場合は、例えば上記の第１のレベルの認証の場合と同様な鍵を用いて安全な通信経路を確立した後で、機器の個体を特定する識別情報が付されている個別証明書の発行を要求し、その個別証明書を受け取って記録し、以後の第２のレベルの認証に用いる。
なお、「共通証明書」とは、装置の識別情報が付されていないデジタル証明書のことであり、「私有鍵」とは、公開鍵暗号方式で使用される一対の鍵の組のうち、一般に公開されない鍵のことである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の発明においては、機器が一定の基準を満たす装置であるか否かを第
１のレベルで判断するために、予め機器に記憶させた共通証明書および私有鍵を用いて認証している。しかし、共通証明書および私有鍵が漏洩した場合には、第２のレベルの認証に多大な悪影響を与えてしまう。
本発明は上述の事情に鑑みてなされたものであり、共通証明書および私有鍵等の保護対象データをより安全に管理することを目的とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、請求項１に記載の発明は、暗号鍵を用いて保護対象となる保護対象データを暗号化又は復号する暗号化復号手段を備えた情報処理装置であって、第一の暗号鍵が有効に存在するか否かを判定する判定手段と、前記第一の暗号鍵が有効に存在していない場合に、前記第一の暗号鍵を生成する生成手段と、生成された前記第一の暗号鍵とアクセスの可否を制御するための固有値とを記憶する記憶手段と、ファームウェアの構成を示す固有値を算出する算出手段と、前記記憶手段に記憶されている前記固有値が、前記算出手段によって算出された前記固有値に一致するか否かに基づいて、前記記憶手段に記憶されている前記第一の暗号鍵に対するアクセスの可否を制御するアクセス制御手段と、前記保護対象データを更新する更新手段と、を備え、前記更新手段は、前記保護対象データを更新用の保護対象データに置き換えると前記第一の暗号鍵を破棄し、前記第一の暗号鍵を破棄した後に、自装置を再起動させることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、共通証明書および私有鍵等の保護対象データをより安全に管理することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】（ａ）は本発明による情報処理装置の一実施例のハードウェア構成図であり、（ｂ）はＴＰＭのハードウェア構成図である。
【図２】本発明による情報処理装置の一実施例のソフトウェア構成図である。
【図３】ＴＰＭの起動時の動作を表した模式図である。
【図４】ＮＶ領域の特徴を表した模式図である。
【図５】起動時にデバイス暗号鍵を取得する処理を表した模式図である。
【図６】起動時にデバイス暗号鍵を取得する処理を表したシーケンス図である。
【図７】ＮＶ領域からのデータの読み出し処理又はＮＶ領域へのデータの書き込み処理を表したフローチャートである。
【図８】ＮＶ領域を定義する処理を表したフローチャートである。
【図９】初回起動時にデバイス暗号鍵を生成する処理を表したシーケンス図である。
【図１０】基本アプリケーション（ブラウザ）が共通証明書および私有鍵を取得する処理を表したシーケンス図である。
【図１１】共通証明書および私有鍵の更新処理を表したシーケンス図である。
【図１２】本発明の情報処理装置におけるデータ／プログラムの一例の配置図である。
【図１３】ＴＰＭ内のデータ構成を表した模式図である。
【図１４】起動時にデバイス暗号鍵を取得する処理を表した他の例の模式図である。
【図１５】ＴＰＭ内のデータ構成を表した他の例の模式図である。
【発明を実施するための形態】
【０００８】
本発明は、情報処理装置の初回起動時にＴＰＭがデバイス暗号鍵を乱数等により生成して共通証明書および私有鍵を暗号化し、デバイス暗号鍵の取り出しに自身のファームウェアの真正性を要求するようにＴＰＭをセットアップする点に特徴がある。
上記特徴について、以下の図面を用いて具体的に解説する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
【０００９】
〔実施例１〕
＜ハードウェア構成図＞
図１（ａ）は本発明による情報処理装置の一実施例のハードウェア構成図であり、（ｂ）はＴＰＭのハードウェア構成図である。
図１（ａ）に示す情報処理装置は、ＣＰＵ（Central Processing Unit）１、ＡＳＩＣ（Application Specific Integrated Circuit）２、揮発性メモリ３、エンジンコントローラ４、ＴＰＭ（Trusted Platform Module：トラステッド・プラットフォーム・モジュール）５（判定手段、生成手段、アクセス制御手段）、不揮発メモリ６、ネットワークデバイス７、ＳＤカードＩ／Ｆ（Secure Digital Memory Card Inter Face）８を有するように構成される。
ＣＰＵ１は、メインバス９を介してＡＳＩＣ２、エンジンコントローラ４に接続されている。ＡＳＩＣ２は揮発性メモリ３と接続されると共に、ローカルバス１０を介してＴＰＭ５、不揮発メモリ６、ネットワークデバイス７、ＳＤカードＩ／Ｆ８に接続される。
【００１０】
図１（ａ）の情報処理装置のローカルバス１０上にはＴＰＭ５が搭載されている。ＴＰＭ５はセキュリティ関連の処理機能を実装したハードウェアチップである。ＴＰＭ５は、秘密情報の暗号化や復号、プラットフォームの真正性を確認するプラットフォーム検証の機能を提供する。
図１（ｂ）に示すように、ＴＰＭ５は、ローカルバス１０との間でデータの送受信を行うＩ／Ｏ５０１、デバイス暗号鍵等を記憶するＮＶＲＡＭ（Non-Volatile RAM）５０２、ハッシュ値を記憶するＰＣＲ（Platform Configuration Resister）５０３、プラットフォーム認証に利用されるＡＩＫ（Attestation Identity Key、認証識別キー）５０４、ＴＰＭ５が実行する認証用等のプログラムを記憶したＲＯＭ５０５、ＲＯＭ５０５に記憶されたプログラムを展開するメインメモリ及びプログラムを実行するプロセッサを含む実行エンジン５０６（判定手段、アクセス制御手段）を備える。また、ＴＰＭ５は、乱数を生成する乱数生成器５０７、ハッシュ関数エンジン５０８、デバイス暗号鍵を生成する鍵生成器５０９（生成手段）、暗号鍵ブロブの生成等を行うＲＳＡ（Rivest-Shamir-Adleman アルゴリズム)エンジン５１０、ＴＰＭ５をオン状態またはオフ状態にするオプトインコンポーネント５１１等を備える。
なお、図示するＴＰＭにおいては、乱数の生成及び鍵の生成等をハードウェアで実現する構成としているが、乱数生成器５０７や鍵生成器５０９が実行する手順をコード化したプログラムをＲＯＭ５０５に記憶させて、乱数の生成及び鍵の生成等をソフトウェア処理により実現させてもよい。
【００１１】
＜ソフトウェア構成図＞
図２は、本発明による情報処理装置の一実施例のソフトウェア構成図である。図２の情報処理装置は、ＢＩＯＳ（Basic Input / Output System）２０、基本パッケージ２１、アプリケーションパッケージ２２、アプリケーションパッケージ２３を有するように構成される。
また、基本パッケージ２１は、ネットワーク更新モジュール３１、Ｆｌａｓｈメディア更新モジュール３２、基本アプリケーション（コピー）３３、システム管理モジュール３４、システム起動モジュール３５、システム更新モジュール３６（更新手段）、ファームウェア認証モジュール３７、暗号鍵管理モジュール３８（暗号化復号手段）、ＴＰＭ管理モジュール（ＴＳＳ：TCG Software Stack）３９、オペレーティングシステム４０の各プログラムを有する構成である。なお、オペレーティングシステム４０はファイルシステム４１、不揮発メモリドライバ４２、ＴＰＭドライバ４３を有する構成である。
アプリケーションパッケージ２２は、基本アプリケーション（プリンタ）４４、基本アプリケーション（ネットワーク）４５の各プログラムを有する構成である。アプリケーションパッケージ２３は基本アプリケーション（スキャナ）４６、基本アプリケーション（ブラウザ）４７の各プログラムを有する構成である。
【００１２】
ＢＩＯＳ２０は、システムの起動の初期を担うモジュールである。ＢＩＯＳ２０はＴＰＭ５へのアクセス手段を有している。オペレーティングシステム４０は他のソフトウェアモジュールからハードウェア機能を利用する機能を提供する。オペレーティングシステム４０のファイルシステム４１はデータを管理する。不揮発メモリドライバ４２は不揮発メモリ６へアクセスを行うためのソフトウェアである。ＴＰＭドライバ４３はＴＰＭ５へアクセスを行うためのソフトウェアである。
情報処理装置の起動時、ＢＩＯＳ２０はオペレーティングシステム４０を起動する。オペレーティングシステム４０の起動後は、システム内の他のソフトウェアを起動する為のシステム起動モジュール３５が起動される。システム起動モジュール３５は、他のソフトウェア（モジュール）を規定された順に起動する。
ＢＩＯＳ２０、オペレーティングシステム４０、ファイルシステム４１等のモジュールは、ＣＰＵ１により揮発性メモリ３等へ読み込まれて実行される。以下の説明では、説明の便宜上、ＢＩＯＳ２０、オペレーティングシステム４０、ファイルシステム４１等のモジュールを処理主体として説明する。なお、図１及び図２に示した情報処理装置の動作の詳細は後述する。
【００１３】
＜ＴＰＭの起動時の動作＞
ここで、ＴＰＭ５を用いた情報の暗号化及び復号について簡単に説明する。図３は、ＴＰＭの起動時の動作を表した模式図である。
プラットフォーム５０では、まず、ＢＩＯＳ２０が自身のハッシュ値を計算し、ＴＰＭ５内のＰＣＲ（Platform Configuration Registers）５１へ登録する。ＢＩＯＳ２０は例えば原文から固定長の疑似乱数を生成する演算手法によって計算されるハッシュ値をＰＣＲ５１へ登録する。
次に、ＢＩＯＳ２０は基本パッケージ２１のハッシュ値を計算し、ＴＰＭ５内のＰＣＲ５２へ登録した後、基本パッケージ２１を起動する。また、基本パッケージ２１は、アプリケーションパッケージ２２のハッシュ値を計算し、ＴＰＭ５内のＰＣＲ５２へ登録した後、アプリケーションパッケージ２２を起動する。
このように、ＴＰＭ５のＰＣＲ５１〜５３には、情報処理装置の起動に伴い、ＢＩＯＳ２０、基本パッケージ２１及びアプリケーションパッケージ２２から計算されるハッシュ値が登録される。ＴＰＭ５はＮＶ（Non Volatile）領域（記憶手段）と呼ばれる不揮発領域を有している。ＮＶ領域は記憶しているデータのアクセスコントロール（アクセスの可否の制御）が可能である。したがって、ＮＶ領域に記憶されているデータは改竄が困難である。
【００１４】
＜ＮＶ領域の特徴＞
図４は、ＮＶ領域の特徴を表した模式図である。図４のＴＰＭ５は、２つのＮＶ領域５４ａ及び５４ｂを有する例である。なお、以下の説明において２つのＮＶ領域５４ａ及び５４ｂを特に区別しない場合は、単にＮＶ領域５４と呼ぶ。
ＮＶ領域５４はＴＰＭ５のオーナのみが定義、変更、破棄できる。ＮＶ領域５４はＰＣＲ、オーナ認証、領域固有の認証情報（パスワード）など、様々な要因でアクセスコントロールできる。また、ＮＶ領域５４はデータの読み出し（ｒｅａｄ）又はデータの書き込み（ｗｒｉｔｅ）の双方に対して、それぞれ要因構成の異なるアクセスコントロールができる。さらにＴＰＭ５は、インデックスによって識別される１つ以上のＮＶ領域５４ごとにアクセスコントロールの定義を規定できる。
【００１５】
例えば図４のＴＰＭ５は、インデックス「ｉｎｄｅｘ：１」によって識別されるＮＶ領域５４ａと、インデックス「ｉｎｄｅｘ：２」によって識別されるＮＶ領域５４ｂとを有する。
ＮＶ領域５４ａは、インデックス（ｉｎｄｅｘ）及びサイズ（ｓｉｚｅ）からなる情報５５ａ、読み出し許可の定義（read permission）５６ａ、書き込み許可の定義（write permission）５７ａ、実データ５８ａを有する。
インデックスは何番目のＮＶ領域５４であるかを表す。サイズはどれだけのデータを配置できるかを表す。読み出し許可の定義５６ａは、ＰＣＲ、オーナ認証（OwnerAuth）、領域固有の認証情報（AuthData）を要因として規定されている。書き込み許可の定義５７ａは、ＰＣＲ、オーナ認証、領域固有の認証情報を要因として規定されている。また、実データ５８ａは、ＮＶ領域５４ａ内に実際に配置され、アクセスコントロールが掛かる対象となるデータである。
なお、読み出し許可の定義５６ａ及び書き込み許可の定義５７ａは、オーナの所在を物理的手段で伝えられた場合にのみアクセスを許可することや、特定のアクセス経路からのアクセスのみ許可することなどを要因として規定することもできる。特定のアクセス経路からのアクセスのみ許可することなどを要因として規定する例としては、例えばハードやカーネルレベルのアクセスのみを許可し、ユーザランドからのアクセスを許可しない、などの規定方法が考えられる。
【００１６】
ＰＣＲはＰＣＲ５１〜５３を利用したアクセスコントロールに利用されるハッシュ値を表すものであり、特定のＰＣＲ構成以外でのデータの読み出し又は書き込みを禁止するためのものである。
オーナ認証（OwnerAuth）はデータへのアクセスのためにオーナ認証を必要とするか否かを表すものであり、データへのアクセス時にオーナであるかを認証するためのものである。領域固有の認証情報（AuthData）はデータへのアクセスのために領域固有の認証を必要とするか否か、及び認証情報を表すものであり、データへのアクセス時にオーナ認証とは別の認証を掛けるものである。なお、ＮＶ領域５４ｂはＮＶ領域５４ａと同様であるため、その説明を省略する。
【００１７】
ＮＶ領域５４ａは、読み出し許可の定義５６ａに「ＰＣＲ０：Ｘ」、「ＰＣＲ１：Ｙ」及び「ＰＣＲ：Ｚ」が規定されている。また、ＮＶ領域５４ａは、書き込み許可の定義５７ａに「ＰＣＲ０：Ｇ」、「ＰＣＲ１：Ｙ」及び「ＰＣＲ：Ｚ」が規定されている。更に、ＰＣＲ５１〜５３には情報処理装置を起動する際に、ＢＩＯＳ２０、基本パッケージ２１及びアプリケーションパッケージ２２から計算された３つのハッシュ値「Ｘ」〜「Ｚ」が登録されている。
【００１８】
図４の場合、ＴＰＭ５は読み出し許可の定義５６ａに規定されているハッシュ値の組み合わせが、ＰＣＲ５１〜５３に登録されているハッシュ値の組み合わせと一致する為、実データ５８ａの読み出しを許可する。また、ＴＰＭ５は書き込み許可の定義５７ａに規定されているハッシュ値の組み合わせが、ＰＣＲ５１〜５３に登録されているハッシュ値の組み合わせと一致しない為、実データ５８ａの書き込みを許可しない。なお、図４のＮＶ領域５４ａは、実データ５８ａの読み出し及び書き込みのためにオーナ認証及び領域固有の認証を必要としないアクセスコントロールの例を表している。
上記のように、ＮＶ領域５４ａは読み出し許可の定義５６ａ及び書き込み許可の定義５７ａに従って、実データ５８ａの読み出し又は書き込み双方でアクセスコントロールを実現できる。
【００１９】
＜起動時にデバイス暗号鍵を取得する処理＞
図５は、起動時にデバイス暗号鍵を取得する処理を表した模式図である。
本発明による情報処理装置においては、プラットフォーム５０内のファイルシステム４１にデバイス暗号鍵７１（第一の暗号鍵）によって暗号化された秘密情報７２が含まれ、ＴＰＭ５内のＮＶ領域５４に秘密情報７２を復号するためのデバイス暗号鍵７１が含まれる。デバイス暗号鍵７１のＴＰＭ５からの取得可否は、図４に示すように、ＰＣＲ５１〜５３に登録されているハッシュ値と、読み出し許可の定義５６ａに規定されている値とにより制御される。図５に示すように、デバイス暗号鍵７１は、ファイルシステム４１上に配置された秘密情報７３の暗号化又は暗号化された秘密情報７２の復号に用いられる。
ＴＰＭ５においては、情報処理装置の起動時にＢＩＯＳ２０、基本パッケージ２１及びアプリケーションパッケージ２２から計算された３つのハッシュ値「Ｘ」〜「Ｚ」がそれぞれ「ＰＣＲ０」〜「ＰＣＲ２」へ登録されている。一方、ＮＶ領域５４の読み出し許可の定義５６には値「Ｘ」〜「Ｚ」が「ＰＣＲ０」〜「ＰＣＲ２」に対応してそれぞれ登録されている。
図５の場合、読み出し許可の定義５６に規定されているハッシュ値の組み合わせが、ＰＣＲ５１〜５３に登録されているハッシュ値の組み合わせと一致するため、ＴＰＭ５は実データ５８に含まれるデバイス暗号鍵７１の読み出しを許可する。暗号鍵管理モジュール３８（図２参照）は、デバイス暗号鍵７１を用いて、暗号化された秘密情報７２から秘密情報７３を復号できる。
【００２０】
＜起動時にデバイス暗号鍵を取得する処理＞
図６は、起動時にデバイス暗号鍵を取得する処理を表したシーケンス図である。
ステップＳ１に進み、ＢＩＯＳ２０は自身のハッシュ値を計算し、ＴＰＭ５内のＰＣＲ５１へ登録する。次に、ステップＳ２へ進み、ＢＩＯＳ２０は基本パッケージ２１のハッシュ値を計算する。ステップＳ３に進み、ＢＩＯＳ２０は基本パッケージ２１を展開する。ステップＳ４に進み、ＢＩＯＳ２０は基本パッケージ２１のハッシュ値を、ＴＰＭ５内のＰＣＲ５２へ登録する。ステップＳ５に進み、ＢＩＯＳ２０はオペレーティングシステム４０を起動する。
ステップＳ６に進み、オペレーティングシステム４０はシステム起動モジュール３５を起動する。ステップＳ７に進み、システム起動モジュール３５はシステム管理モジュール３４を起動する。また、ステップＳ８に進み、システム起動モジュール３５は基本アプリケーション３３を起動する。
ステップＳ９に進み、システム起動モジュール３５はアプリケーションパッケージ２２のハッシュ値を計算する。ステップＳ１０に進み、システム起動モジュール３５はアプリケーションパッケージ２２のハッシュ値を、ＴＰＭ５内のＰＣＲ５３へ登録する。
ステップＳ１１に進み、システム起動モジュール３５は暗号鍵管理モジュール３８を起動する。そして、ステップＳ１２に進み、暗号鍵管理モジュール３８は前述のようにＮＶ領域５４からデバイス暗号鍵７１を取得する。暗号鍵管理モジュール３８はデバイス暗号鍵７１を用いて、暗号化された秘密情報７２から秘密情報７３を復号できる。
【００２１】
なお、ＴＰＭ５はＢＩＯＳ２０、基本パッケージ２１及びアプリケーションパッケージ２２から計算されるハッシュ値がＰＣＲ５１〜５３に登録されたあと、ＮＶ領域５４からのデバイス暗号鍵７１の読み出しを受け付ける。暗号鍵管理モジュール３８はＴＰＭ５がＮＶ領域５４からのデバイス暗号鍵７１の読み出しを受け付けるようになったタイミングで、ＮＶ領域５４からのデバイス暗号鍵７１の取得をＴＰＭ５へ依頼する。この後、暗号鍵管理モジュール３８はＴＰＭ５がＮＶ領域５４から読み出したデバイス暗号鍵７１を取得できる。
【００２２】
＜ＮＶ領域に対するデータの読み出し処理又は書き込み処理＞
図７はＮＶ領域からのデータの読み出し処理又はＮＶ領域へのデータの書き込み処理を表したフローチャートである。
ステップＳ２１に進み、ＴＰＭ５はプラットフォーム５０側からオペレーションリクエスト（データの読み出し処理又は書き込み処理等）を受け付ける。ステップＳ２２に進み、ＴＰＭ５は受け付けたオペレーションリクエストに対応するインデックスのＮＶ領域５４が存在するかを判定する。
受け付けたオペレーションリクエストに含まれるインデックスのＮＶ領域５４が存在すれば、ＴＰＭ５はステップＳ２３に進み、オペレーションリクエストに含まれる認証情報が読み出し許可の定義５６、書き込み許可の定義５７に矛盾していないかを判定する。
オペレーションリクエストに含まれる認証情報が読み出し許可の定義５６、書き込み許可の定義５７に矛盾していなければ、ＴＰＭ５はステップＳ２４に進み、オーナ認証によるアクセスコントロールをクリアしているかを確認する。
【００２３】
オーナ認証によるアクセスコントロールをクリアしていれば、ＴＰＭ５はステップＳ２５に進み、ＰＣＲ値の条件をクリアしているかを判定する。ＰＣＲ値の条件をクリアしていれば、ＴＰＭ５はステップＳ２６に進み、オペレーションリクエストを実行し、そのオペレーション結果をプラットフォーム５０側に通知する。ここで言うオペレーションリクエストとは、ＮＶ領域５４からのデータの読み出し処理又はＮＶ領域５４へのデータの書き込み処理等である。
なお、受け付けたオペレーションリクエストに含まれるインデックスのＮＶ領域５４が存在しない場合、オペレーションリクエストに含まれる認証情報が読み出し許可の定義５６又は書き込み許可の定義５７に矛盾している場合、オーナ認証によるアクセスコントロールをクリアしていない場合、又はＰＣＲ値の条件をクリアしていない場合、ＴＰＭ５はステップＳ２６に進み、オペレーションリクエストを実行せず、そのオペレーション結果をプラットフォーム５０側に通知する。
【００２４】
＜ＮＶ領域を定義する処理＞
図８は、ＮＶ領域を定義する処理を表したフローチャートである。
ステップＳ３１に進み、ＴＰＭ５はプラットフォーム５０側からＮＶ領域５４を定義するオペレーションリクエストを受け付ける。
ステップＳ３２に進み、ＴＰＭ５はオーナ認証によるアクセスコントロールをクリアしているかを確認する。オーナ認証によるアクセスコントロールをクリアしていれば、ＴＰＭ５はステップＳ３３に進み、オペレーションリクエストに対応するインデックスが定義可能かを確認する。
【００２５】
オペレーションリクエストに対応するインデックスが定義可能であれば、ＴＰＭ５はステップＳ３４に進み、オペレーションリクエストで指定されたＮＶ領域５４の認証情報が書き込み許可の定義５７に矛盾していないかを判定する。オペレーションリクエストで指定されたＮＶ領域５４の認証情報が書き込み許可の定義５７に矛盾していなければ、ＴＰＭ５はステップＳ３５に進み、読み出し許可の定義５６及び書き込み許可の定義５７を規定してＮＶ領域５４を実際に確保する。そして、ＴＰＭ５はＮＶ領域５４の確保に成功すれば、ステップＳ３６に進み、ＮＶ領域５４を定義するオペレーションリクエストのオペレーション結果をプラットフォーム５０側に通知する。
なお、オーナ認証によるアクセスコントロールをクリアしていない場合、定義できないインデックスである場合、オペレーションリクエストで指定されたＮＶ領域５４の認証情報が書き込み許可の定義５７に矛盾している場合、ＮＶ領域５４の確保に失敗した場合、ＴＰＭ５はステップＳ３６に進み、オペレーションリクエストを実行できなかったというオペレーション結果をプラットフォーム５０側に通知する。
【００２６】
＜初回起動時にデバイス暗号鍵を生成する処理＞
図９は、情報処理装置の初回起動時にデバイス暗号鍵を生成する処理を表したシーケンス図である。なお、図６と同一のステップには同一のステップ番号を付して説明する。
ステップＳ１に進み、ＢＩＯＳ２０は自身のハッシュ値を計算し、ＴＰＭ５内のＰＣＲ５１へ登録する。次に、ステップＳ２へ進み、ＢＩＯＳ２０は基本パッケージ２１のハッシュ値を計算する。ステップＳ３に進み、ＢＩＯＳ２０は基本パッケージ２１を展開する。ステップＳ４に進み、ＢＩＯＳ２０は基本パッケージ２１のハッシュ値を、ＴＰＭ５内のＰＣＲ５２へ登録する。ステップＳ５に進み、ＢＩＯＳ２０はオペレーティングシステム４０を起動する。
ステップＳ６に進み、オペレーティングシステム４０はシステム起動モジュール３５を起動する。ステップＳ７に進み、システム起動モジュール３５はシステム管理モジュール３４を起動する。また、ステップＳ８に進み、システム起動モジュール３５は基本アプリケーション３３を起動する。
ステップＳ９に進み、システム起動モジュール３５はアプリケーションパッケージ２２のハッシュ値を計算する。ステップＳ１０に進み、システム起動モジュール３５はアプリケーションパッケージ２２のハッシュ値を、ＴＰＭ５内のＰＣＲ５３へ登録する。
【００２７】
ステップＳ１１に進み、システム起動モジュール３５は暗号鍵管理モジュール３８を起動する。
そしてステップＳ１０１に進み、暗号鍵管理モジュール３８は前述のようにＮＶ領域５４からデバイス暗号鍵７１を取得する動作を実行する。このデバイス暗号鍵は証明書用のデバイス暗号鍵とする。しかし初回起動時はＮＶ領域が未定義であるため、ステップＳ１０２でＴＰＭ５はインデックスなし（異常、又は使用可能なデバイス暗号鍵が存在しない）と判定し、オペレーション結果を暗号鍵管理モジュール３８に通知する。また実データがＮＵＬＬであってもＴＰＭ５は異常（又は使用可能なデバイス暗号鍵が存在しない）と判断し、オペレーション結果を暗号鍵管理モジュール３８に通知する。その後、暗号鍵管理モジュール３８はステップＳ１０３でＴＰＭ５を使ってデバイス暗号鍵を生成し、ステップＳ１０４でデバイス暗号鍵７１を取得する。このデバイス暗号鍵は、例えばＴＰＭ５が作る乱数から生成される。
【００２８】
ステップＳ１０５に進み、デバイス暗号鍵７１をＮＶ領域に書き込む準備として暗号鍵管理モジュール３８はＴＰＭ５を用いてＮＶ領域の定義を行う（図８参照）。
ステップＳ１０６に進み、暗号鍵管理モジュール３８はＴＰＭ５を用いて、ステップＳ１０４で得られたデバイス暗号鍵７１をＮＶ領域に書き込む。
そしてステップＳ１０７において、暗号鍵管理モジュール３８はデバイス暗号鍵７１を使用して共通証明書および私有鍵を暗号化して不揮発メモリ６に格納する。
なお、初期状態において共通証明書および私有鍵は暗号化されていない状態で不揮発メモリ６に格納されていてもよい。この場合、暗号鍵管理モジュール３８は不揮発メモリ６から共通証明書および私有鍵を読み出して、デバイス暗号鍵７１を使用してこれらを暗号化して不揮発メモリ６に再び格納する。
【００２９】
また、初期状態において共通証明書および私有鍵は暗号鍵管理モジュール３８の知りうる初期暗号鍵（第二の暗号鍵）にて暗号化された状態で不揮発メモリ６に格納されていてもよい。この場合、暗号鍵管理モジュール３８は不揮発メモリ６から読み出した共通証明書および私有鍵を初期暗号鍵により復号し、デバイス暗号鍵７１を使用してこれらを暗号化して不揮発メモリ６に再び格納する。
以上の処理を実行することによって、不揮発メモリ６に書き込まれた共通証明書および私有鍵を復号するデバイス暗号鍵７１は、ＢＩＯＳ２０、基本パッケージ２１及びアプリケーションパッケージ２２から計算されるハッシュ値がＴＰＭ５のＰＣＲ５１〜５３に登録されたあとでなければ読み出すことはできなくなる。従って、共通証明書および私有鍵の漏えいを防ぐことができる。
【００３０】
＜共通証明書および私有鍵を取得する処理＞
デバイス暗号鍵にて暗号化された共通証明書および私有鍵を基本アプリケーションが取得する処理について説明する。図１０は、基本アプリケーション（ブラウザ）が共通証明書および私有鍵を取得する処理を表したシーケンス図である。
ますステップＳ２０１にてユーザがブラウザ４７を起動する。続いてステップＳ２０２に進み、ブラウザ４７は遠隔管理を行うサーバに対してＳＳＬサーバ認証を開始する。
ステップＳ２０３へ進み、ＳＳＬクライアント認証に先立ち、ブラウザ４７は暗号鍵管理モジュール３８に対してデバイス暗号鍵７１を要求する。続いてステップＳ２０４にてブラウザ４７は暗号鍵管理モジュール３８からデバイス暗号鍵を取得する。
ステップＳ２０５に進み、ブラウザ４７はデバイス暗号鍵７１を使って不揮発メモリ６に格納されている共通証明書および私有鍵の復号を行う。ステップＳ２０６にてブラウザ４７は共通証明書および私有鍵を取得する。
ステップＳ２０７にて、ブラウザ４７は取得した共通証明書および私有鍵を用いてＳＳＬクライアント認証を行う。
ステップＳ２０８に進み、認証ＯＫであればブラウザ４７は遠隔管理サーバに接続を開始し、ＵＲＬ（Uniform Resource Locator）ページロードを始める。
【００３１】
このようにしてブラウザ４７はデバイス暗号鍵で暗号化された共通証明書および私有鍵を復号してｈｔｔｐｓ（Hypertext Transfer Protocol Secure）通信に使用することができる。
【００３２】
〔実施例２〕
図１１は、共通証明書および私有鍵の更新処理を表したシーケンス図である。この更新処理は、共通証明書および私有鍵が有効期限切れとなった場合や、これらの強度変更を行う場合等に実行される。
本シーケンス図には、ＳＤカード等のメディアに記憶された共通証明書および私有鍵を用いて、不揮発メモリ６に記憶されている共通証明書および私有鍵を更新する例を示している。メディアを利用した共通証明書および私有鍵の更新は、例えば、共通証明書および私有鍵を提供する管理サーバに対して通信ネットワークを介した接続が行えない場合等に有効である。なお、メディアを用いた共通証明書および私有鍵の更新処理を行う場合、共通証明書および私有鍵は、予め管理サーバからネットワークを介してダウンロードし、メディアに記憶させておく必要がある。管理サーバからメディアへの共通証明書および私有鍵のファイルダウンロードは、ユーザ認証によって証明されたユーザのみが行えるものとする。
【００３３】
ステップＳ３０１にてユーザはＳＤカードをＳＤカードＩ／Ｆ８に挿入する。
ステップＳ３０２に進み、ＳＤカードＩ／Ｆ８はシステム更新モジュール３６にＳＤカードの挿入通知を行う。
続いてステップＳ３０３にてシステム更新モジュール３６は、ＳＤカードに記憶されている共通証明書および私有鍵のフォーマットが正しいか、その正当性を確認する。ＳＤカードに書き込まれている共通証明書および私有鍵は暗号化されていない状態であってもよいし、暗号鍵管理モジュール３８の知りうる初期暗号鍵で暗号化されていてもよい。後者の場合、システム更新モジュール３６は、暗号鍵管理モジュール３８に暗号化された共通証明書および私有鍵を初期暗号鍵にて復号させ、復号された共通証明書および私有鍵のフォーマットが正しいか、その正当性を確認する。
ステップＳ３０４にて、フォーマットが正しいと確認された場合、システム更新モジュール３６は、ステップＳ３０５でＳＤカードから共通証明書および私有鍵を取得して、ステップＳ３０６で共通証明書および私有鍵を不揮発メモリ６にコピーする。
【００３４】
ステップＳ３０７に進み、システム更新モジュール３６は、ＴＰＭ５の証明書用のデバイス暗号鍵を管理するＮＶ領域５４へ情報ＮＵＬＬでデータの書き込みを行うことにより、
デバイス暗号鍵を無効化する（破棄する）。続いてステップＳ３０８にてＳＤカード抜き出し要求表示を行う。
それを受け、ステップＳ３０９でユーザがＳＤカードＩ／Ｆ８からＳＤカードを抜きだすと、ステップＳ３１０でＳＤカードＩ／Ｆ８はＳＤカード抜き出し通知をシステム更新モジュール３６に行う。ステップＳ３１２でシステム更新モジュール３６は、システム管理モジュール３４にリブート要求を行う。
ステップＳ３１２に進み、システム管理モジュール３４は機器をリブートして再起動が開始される。
【００３５】
再起動後は図９のシーケンスが実施される。即ち、まず図６と同様にステップＳ１〜Ｓ１０が実行されるが、ＮＶ領域５４の実データがＮＵＬＬであるため、ステップＳ１０を実行した後はステップＳ１０１以降の処理が実行される。このように、共通証明書および私有鍵の更新後は自動的にデバイス暗号鍵の再生成とそれを使った共通証明書および私有鍵の再暗号化が実行される。
【００３６】
〔実施例３〕
図１２は、本発明の情報処理装置におけるデータ／プログラムの一例の配置図である。図１２に示す情報処理装置においては、揮発性メモリ３（図１参照）等のプログラム配置用デバイス１５０にＢＩＯＳ２０、基本パッケージ２１及びアプリケーションパッケージ２２が配置されている。また不揮発メモリ６（図１参照）等のデータ配置用デバイスには、デバイス暗号鍵７１によって暗号化された秘密情報７２が配置されている（図５参照）。更に、ＴＰＭ５には、ＰＣＲ５１〜５３及びＮＶ領域５４が配置され、領域１５２は空き領域として予約されている。
【００３７】
図１３は、ＴＰＭ内のデータ構成を表した模式図である。図１３に示すＴＰＭ５は、ＰＣＲ５１〜５３、インデックス「ｉｎｄｅｘ：１」によって識別されるＮＶ領域５４を有している。
ＮＶ領域５４は、実データ５８と管理情報５９とを有する。実データ５８は、オーナパスワード１１２、デバイス暗号鍵７１及びＰＣＲ値リポジトリ１１１を含む。また、管理情報５９は、インデックス及びサイズからなる情報５５、読み出し許可の定義５６及び書き込み許可の定義５７を含む。
【００３８】
また、本発明による情報処理装置では、プラットフォーム５０内のファイルシステム４１にデバイス暗号鍵７１によって暗号化された秘密情報７２と、デバイス暗号鍵７１を暗号化したブロブ（ＢＬＯＢ： Binary Large Object。以下、暗号鍵ブロブと呼ぶ）７０とが含まれる。
暗号鍵ブロブ７０の復号可否は図１４に示すように、ＮＶ領域５４の実データ５８に含まれるＳＲＫ(Storage Root Key)パスワード７５により制御される。また、ＳＲＫパスワード７５の取得可否は、図１４に示すように、ＰＣＲ５１〜５３に登録されているハッシュ値と、読み出し許可の定義５６に規定されている値とにより制御される。ＳＲＫパスワード７５はファイルシステム４１上に配置された暗号鍵ブロブ７０の復号に用いられる。デバイス暗号鍵７１はファイルシステム４１上に配置された秘密情報７３の暗号化又は暗号化された秘密情報７２の復号に用いられる。ＴＰＭ５の暗号処理部（ＳＲＫ）７４は、ＳＲＫパスワード７５によって暗号鍵ブロブ７０の復号を行う。
【００３９】
図１４は、起動時にデバイス暗号鍵を取得する処理を表した他の例の模式図である。ＴＰＭ５においては、情報処理装置の起動時にＢＩＯＳ２０、基本パッケージ２１及びアプリケーションパッケージ２２から計算された３つのハッシュ値「Ｘ」〜「Ｚ」がそれぞれ「ＰＣＲ０」〜「ＰＣＲ２」へ登録されている。また、ＴＰＭ５においては、値「Ｘ」〜「Ｚ」が、ＮＶ領域５４の読み出し許可の定義５６の「ＰＣＲ０」〜「ＰＣＲ２」に対応してそれぞれ登録されている。
図１４の場合、読み出し許可の定義５６に規定されているハッシュ値の組み合わせが、ＰＣＲ５１〜５３に登録されているハッシュ値の組み合わせと一致する為、ＴＰＭ５は実データ５８に含まれるＳＲＫパスワード７５の読み出しを許可する。
ＳＲＫ７４はＳＲＫパスワード７５を用いて、暗号鍵ブロブ７０からデバイス暗号鍵７１を復号できる。暗号鍵管理モジュール３８（図２参照）は、デバイス暗号鍵７１を用いて、暗号化された秘密情報７２から秘密情報７３を復号できる。
【００４０】
ここで複数のデバイス暗号鍵が存在する場合には、夫々のデバイス暗号鍵に対して別個の暗号鍵ブロブを設定することができる。例えば、証明書用のデバイス暗号鍵とＨＤＤのデータ読み書き用のデバイス暗号鍵が存在する場合に、証明書用のデバイス暗号鍵には専用の暗号鍵ブロブを設定し、ＨＤＤのデータ読み書き用のデバイス暗号鍵には専用の暗号鍵ブロブを設定することができる。これによって、例えばＨＤＤ（Hard Disk Drive）等のメディアを接続したときに、証明書用のデバイス暗号鍵とは異なるデバイス暗号鍵を用いてＨＤＤ内のデータの暗号化及び復号を行うことができる。このように、ＳＲＫパスワードを用いることにより、夫々のデバイスに対応した複数の秘密情報を互いに異なる暗号鍵によって暗号化又は復号することができる。この場合、夫々の暗号鍵ブロブの復号には、同一のＳＲＫパスワードを用いることができる。
【００４１】
〔実施例４〕
図１５は、ＴＰＭ内のデータ構成を表した他の例の模式図である。図１５のＴＰＭ５はＰＣＲ５１〜５３、インデックス「ｉｎｄｅｘ：１」によって識別されるＮＶ領域５４及びＳＲＫ７４を有している。
ＮＶ領域５４は、実データ５８と管理情報５９とを有する。実データ５８は、オーナパスワード１１２、ＳＲＫパスワード７５及びＰＣＲ値リポジトリ１１１を含む。また、管理情報５９は、インデックス及びサイズからなる情報５５、読み出し許可の定義５６及び書き込み許可の定義５７を含む。また、ＳＲＫ７４は復号許可の定義７６を含む。図１５の復号許可の定義７６は、領域固有の認証情報（AuthData）を要因として復号の可否をコントロールする例を示している。
以上のように、ＳＲＫ７４内に復号許可の定義７６を規定することにより、ＳＲＫパスワード７５を用いたデータの復号の可否を種々の要因に基づいてコントロールできる。
【００４２】
〔効果〕
以上、本発明に係る情報処理装置は、初回起動時にＴＰＭを用いてデバイス暗号鍵を乱数等により生成して共通証明書および私有鍵を暗号化し、先のデバイス暗号鍵を自身のファームウェアの真正性によってのみ取り出し可能となるようにＴＰＭをセットアップするので、共通証明書および私有鍵の漏えいリスクを軽減することができる。
即ち、情報処理装置は、初回起動時にＮＶ領域を定義し、ＢＩＯＳ、基本パッケージおよびアプリケーションパッケージのファームウェアのハッシュ値を計算して、この値を読み出し許可の定義および書き込み許可の定義としてＮＶ領域に規定する。また、情報処理装置は乱数等に基づいて生成したデバイス暗号鍵により共通証明書および私有鍵を暗号化して不揮発メモリに格納する。更に、デバイス暗号鍵をＴＰＭのＮＶ領域に格納する。
【００４３】
以上の処理を実行することにより、共通証明書および私有鍵の復号に必要なデバイス暗号鍵の読み出しには、初回起動時と同一の装置構成に基づくハッシュ値、言い換えれば自身のファームウェアの真正性が要求されるため、共通証明書および私有鍵の漏えいリスクを軽減することができる。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【００４４】
〔本発明の実施態様例と作用、効果のまとめ〕
＜第一の実施態様＞
本態様は、暗号鍵を用いて保護対象となる保護対象データ（共通証明書、私有鍵）を暗号化又は復号する暗号化復号手段（暗号鍵管理モジュール３８）を備えた情報処理装置であって、第一の暗号鍵（デバイス暗号鍵７１）が有効に存在するか否かを判定する判定手段（ＴＰＭ５、実行エンジン５０６）と、第一の暗号鍵が有効に存在していない場合に、第一の暗号鍵を生成する生成手段（ＴＰＭ５、鍵生成器５０９）と、生成された第一の暗号鍵を記憶する記憶手段（ＮＶ領域５４）と、ファームウェアの構成を示す固有値（ハッシュ値）を算出する算出手段（ＢＩＯＳ２０、基本パッケージ２１）と、第一の暗号鍵の生成時における固有値が、現在の固有値に一致するか否かに基づいて、記憶手段に記憶されている第一の暗号鍵に対するアクセスの可否を制御するアクセス制御手段（ＴＰＭ５、実行エンジン５０６）と、を備えたことを特徴とする。
【００４５】
本態様によれば、共通証明書および私有鍵等の保護対象データをより安全に管理することができる。
具体的には、情報処理装置の初回起動時でＮＶ領域が未定義の場合や第一の暗号鍵の更新のために一時的にＮＶ領域中の実データがＮＵＬＬとなっている場合等、第一の暗号鍵が有効に存在していない場合には、生成手段は第一の暗号鍵を乱数等により生成して記憶手段に記憶させる。暗号化復号手段は、生成した第一の暗号鍵により保護対象データを暗号化するが、暗号化したデータの復号に必要な第一の暗号鍵の取り出しには、第一の暗号鍵の生成時におけるファームウェアの構成を示す固有値（ハッシュ値）との同一性が要求される。即ち、第一の暗号鍵の取り出しには自装置のファームウェアが真正であること（第一の暗号鍵の生成以降、改竄されていないこと）が必要となる。
本態様によれば、情報処理装置が改竄されると第一の暗号鍵が取り出し不能となり、暗号化された保護対象データを復号できなくなるから、情報処理装置の改竄による保護対象データの漏洩を防止できる。本態様は、ファームウェアが一定の基準を満たしていることを証明するような証明書の漏洩リスクの低減に特に効果的である。
【００４６】
＜第二の実施態様＞
本態様に係る情報処理装置は、生成手段（ＴＰＭ５、鍵生成器５０９）が第一の暗号鍵（デバイス暗号鍵７１）を生成すると、暗号化復号手段（暗号鍵管理モジュール３８）は保護対象データ（共通証明書、私有鍵）を第一の暗号鍵により暗号化することを特徴とする。
本態様において暗号化復号手段は第一の暗号鍵が生成されると保護対象データを第一の暗号鍵により暗号化する。第一の暗号鍵の取り出しには、第一の暗号鍵の生成時におけるファームウェアと同一の構成であることが要求される。本態様によれば、共通証明書および私有鍵等の保護対象データをより安全に管理することができる。
【００４７】
＜第三の実施態様＞
本態様に係る情報処理装置において、保護対象データ（共通証明書、私有鍵）は予め第一の暗号鍵（デバイス暗号鍵７１）とは異なる第二の暗号鍵（初期暗号鍵）により暗号化されており、生成手段（ＴＰＭ５、鍵生成器５０９）が第一の暗号鍵を生成すると、暗号化復号手段（暗号鍵管理モジュール３８）は第二の暗号鍵により復号した保護対象データを第一の暗号鍵により暗号化することを特徴とする。
情報処理装置にインストールする保護対象データを予め初期的な暗号鍵で暗号化しておくことで、保護対象データのインストール前の段階における保護対象データの漏洩を防止することができる。また、第一の暗号鍵が生成された段階で、暗号化復号手段が初期的な暗号鍵で復号した保護対象データを第一の暗号鍵により暗号化するので、効果的に保護対象データの漏洩リスクを低減できる。
【００４８】
＜第四の実施態様＞
本態様に係る情報処理装置において、記憶手段（ＮＶ領域５４）は、夫々第一の暗号鍵（デバイス暗号鍵７１）を記憶する複数の領域（ＮＶ領域５４ａ，５４ｂ）を有し、アクセス制御手段（ＴＰＭ５、実行エンジン５０６）は、領域毎に各第一の暗号鍵へのアクセスの可否を制御することを特徴とする。
アクセス制御手段は、保護対象データへのアクセスの可否について領域毎に定義することができる。従って、アクセス制御手段は種々の保護対象データへのアクセスを様々な要因に基づいて制御することができる。
【００４９】
＜第五の実施態様＞
本態様に係る情報処理装置は、保護対象データ（共通証明書、私有鍵）を更新する更新手段（システム更新モジュール３６）を備え、更新手段は、保護対象データを更新用の保護対象データに置き換えると第一の暗号鍵（デバイス暗号鍵７１）を破棄することを特徴とする。
本態様において更新手段は、第一の暗号鍵により暗号化されている保護対象データを更新用の保護対象データに更新する（置き換える）場合に、保護対象データを暗号化する第一の暗号鍵を破棄する。これにより、更新用の保護対象データは、古い保護対象データとは異なる暗号鍵により暗号化される。
【００５０】
＜第六の実施態様＞
本態様に係る情報処理装置において、更新手段（システム更新モジュール３６）は、第一の暗号鍵（デバイス暗号鍵７１）を破棄した後に、自装置を再起動させることを特徴とする。
第一の暗号鍵が破棄されると、第一の暗号鍵が有効に存在していない状態となる。情報処理装置が再起動することにより、生成手段（ＴＰＭ５、鍵生成器５０９）が第一の暗号鍵を新たに生成するので、更新された保護対象データ（共通証明書、私有鍵）は、新たに生成された第一の暗号鍵により暗号化される。
【符号の説明】
【００５１】
１…ＣＰＵ、２…ＡＳＩＣ、３…揮発性メモリ、４…エンジンコントローラ、５…ＴＰＭ（判定手段、生成手段、アクセス制御手段）、６…不揮発メモリ、７…ネットワークデバイス、８…ＳＤカードＩ／Ｆ、９…メインバス、１０…ローカルバス、１１１…ＰＣＲ値リポジトリ、１１２…オーナパスワード、１５０…プログラム配置用デバイス、１５２…領域、２０…ＢＩＯＳ（算出手段）、２１…基本パッケージ（算出手段）、２２…アプリケーションパッケージ、２３…アプリケーションパッケージ、３１…ネットワーク更新モジュール、３２…Ｆｌａｓｈメディア更新モジュール、３３…基本アプリケーション、３４…システム管理モジュール、３５…システム起動モジュール、３６…システム更新モジュール（更新手段）、３７…ファームウェア認証モジュール、３８…暗号鍵管理モジュール（暗号化復号手段）、３９…ＴＰＭ管理モジュール（ＴＳＳ）、４０…オペレーティングシステム、４１…ファイルシステム、４２…不揮発メモリドライバ、４３…ＴＰＭドライバ、４４…プリンタ（基本アプリケーション）、４５…ネットワーク（基本アプリケーション）、４６…スキャナ（基本アプリケーション）、４７…ブラウザ（基本アプリケーション）、５０…プラットフォーム、５１〜５３…ＰＣＲ、５４，５４ａ，５４ｂ…ＮＶ領域（記憶手段）、５５，５５ａ…インデックス及びサイズからなる情報、５６，５６ａ…読み出し許可の定義、５７，５７ａ…書き込み許可の定義、５８，５８ａ…実データ、５９…管理情報、７０…暗号鍵ブロブ、７１…デバイス暗号鍵（第一の暗号鍵）、７２…秘密情報、７３…秘密情報、７４…ＳＲＫ、７５…パスワード、７６…復号許可の定義、５０１…Ｉ／Ｏ、５０２…ＮＶＲＡＭ、５０３…ＰＣＲ、５０４…ＡＩＫ、５０５…ＲＯＭ、５０６…実行エンジン（判定手段、アクセス制御手段）、５０７…乱数生成器、５０８…ハッシュ関数エンジン、５０９…鍵生成器（生成手段）、５１０…ＲＳＡ、５１１…オプトインコンポーネント
【先行技術文献】
【特許文献】
【００５２】
【特許文献１】特許第４５０９６７８号公報
【図１】
0006720581.tif 000002
【図２】
0006720581.tif 000003
【図３】
0006720581.tif 000004
【図４】
0006720581.tif 000005
【図５】
0006720581.tif 000006
【図６】
0006720581.tif 000007
【図７】
0006720581.tif 000008
【図８】
0006720581.tif 000009
【図９】
0006720581.tif 000010
【図１０】
0006720581.tif 000011
【図１１】
0006720581.tif 000012
【図１２】
0006720581.tif 000013
【図１３】
0006720581.tif 000014
【図１４】
0006720581.tif 000015
【図１５】
0006720581.tif 000016