(57)【特許請求の範囲】
【請求項１】
互いに通信可能な情報処理装置と完全性検証コンピュータとを有するプラットフォーム完全性検証システムにおいて、
前記情報処理装置は、
前記情報処理装置がシャットダウンする際に、前記情報処理装置が実行する複数のプログラムのそれぞれから一意な値を取得する取得手段と、
前記取得手段が取得した前記一意な値を記憶装置に記憶する記憶手段とを有し、
前記完全性検証コンピュータは、
前記記憶装置に記憶されている前記一意な値を前記情報処理装置との通信により取得して、予め保持する所定の値とプログラムごとに比較する比較手段とを有する、
ことを特徴とするプラットフォーム完全性検証システム。
【請求項２】
前記比較手段は、前記完全性検証コンピュータが安全性が確保された通信経路によって前記記憶装置に記録された計測値を取得することを特徴とする請求項１に記載のプラットフォーム完全性検証システム。
【請求項３】
前記情報処理装置は、前記取得手段による取得の対象となるプログラムを予め、少なくとも１つは記録した取得対象リストを有し、
前記取得手段は前記取得対象リストに記録されたプログラムについて一意な値を取得することを特徴とする請求項１に記載のプラットフォーム完全性検証システム。
【請求項４】
前記情報処理装置は、前記取得手段による取得処理の終了後に、前記完全性検証コンピュータに前記情報処理装置がシャットダウンすることを通知することを特徴とする請求項１乃至請求項３のいずれか１項に記載のプラットフォーム完全性検証システム。
【請求項５】
前記完全性検証コンピュータは、前記比較手段による比較結果を所定のコンピュータに通知する通知手段を有することを特徴とする、請求項１乃至請求項４のいずれか1項に記載のプラットフォーム完全性検証システム。
【請求項６】
前記記憶装置は、前記情報処理装置がシャットダウンした状態においても前記完全性検証コンピュータからのアクセスにより情報を読み出すことが可能であり、
前記完全性検証コンピュータは、前記情報処理装置からのシャットダウンの通知を受信した後に、前記記憶装置へアクセスすることを特徴とする請求項４に記載のプラットフォーム完全性検証システム。
【請求項７】
前記比較手段による比較の結果、前記記憶装置から取得した値と前記完全性検証コンピュータがあらかじめ保持する値とが一致しなかった場合、前記完全性検証コンピュータは、一致しなかったことを示す不一致情報を前記記憶装置に書き込み、
前記情報処理装置は、前記記憶装置に前記不一致情報が記憶されていることを検知した場合、前記情報処理装置の起動を行わないようにすることを特徴とする、請求項６に記載のプラットフォーム完全性検証システム。
【請求項８】
前記取得手段は、一意な値を取得したプログラムを取得済みリストに記録し、前記取得済みリストを参照して一意な値を取得していないプログラムから一意な値を取得することを特徴とする請求項１に記載のプラットフォーム完全性検証システム。
【請求項９】
前記取得手段は、前記プログラムのハッシュ値を取得することを特徴とする、請求項１乃至７のいずれか１項に記載のプラットフォーム完全性検証システム。
【請求項１０】
複数のプログラムを実行することが可能な情報処理装置であって、
前記情報処理装置がシャットダウンする際に、前記複数のプログラムのそれぞれから一意な値を取得する取得手段と、前記取得手段が取得した前記一意な値を記憶装置に記憶する記憶手段と、
前記情報処理装置が起動する際に前記記憶手段に記憶された前記一意な値が正当な値であるか否かを判定する判定手段と、
前記判定手段が正当な値でないと判定した場合、前記情報処理装置を起動しないように制御する制御手段と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムのプラットフォームを構成する構成要素が改竄されていない信頼できるものであることを確認するためのプラットフォーム完全性検証システムに関する。
【背景技術】
【０００２】
近年、コンピュータが社会に浸透し、コンピュータのセキュリティ対策が重要視されている。例えば、コンピュータのセキュリティ対策には、対タンパ性をもつセキュリティチップによりソフトウェアからの不正を防止することで、プラットフォームの安全性を確保する手法がある。
【０００３】
この対タンパ性をもつセキュリティチップによって可能となる技術には、トラステッドブート（Ｔｒｕｓｔｅｄ  Ｂｏｏｔ）がある。このトラステッドブートとは、セキュリティチップがソフトウェアからの不正ができないハードウェアであることを利用し、機器のブート時にプラットフォーム構成要素の完全性を検証する技術である。このトラステッドブートの技術を利用した場合には、プラットフォームの改竄を発見することが可能となる。
【０００４】
このトラステッドブートでは、ブートシーケンス中にロードされるコンポーネントを順次計測し、計測値をセキュリティチップ内のレジスタに記録していく。この動作は、ＣＲＴＭ（Ｃｏｒｅ  Ｒｏｏｔ  ｏｆ  Ｔｒｕｓｔ  ｆｏｒ  Ｍｅａｓｕｒｅｍｅｎｔ）と呼ばれる書き換え不可能な領域（通常はＢＩＯＳ  Ｂｏｏｔ  Ｂｌｏｃｋがこれにあたる）を信頼の起点として開始される。
【０００５】
このトラステッドブートでは、計測処理（取得処理）後、セキュリティチップ内のレジスタに記録された計測値を予め用意しておいた計測値として期待される値と比較する。
【０００６】
このトラステッドブートでは、上述の処理によりＢＩＯＳ，Ｂｏｏｔ  Ｌｏａｄｅｒ，ＯＳ，アプリケーション等の各種ソースコードや必要なライブラリの完全性を検証することが可能となる。
【０００７】
従来、トラステッドブートの技術では、ＰＣＲに計測値を記録する際にランダム値を利用することで、攻撃者が、プラットフォームの攻撃を行うための情報を取得し難くしたものが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−３０１５５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来のトラステッドブートにおける完全性検証のための計測は、システムの起動時に実行されていた。
【００１０】
しかし、起動時に多くのアプリケーションが呼び出される機器では、トラステッドブートによる完全性検証のたに多くの回数の計測を実行すると、システムの起動時間が遅延するという問題がある。
【００１１】
本発明の目的は、システムの起動時間の遅延を引き起こすことなく、トラステッドブートによりプラットフォームの完全性検証を行えるようにしたプラットフォーム完全性検証システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明にかかるプラットフォーム完全性検証システムは、互いに通信可能な情報処理装置と完全性検証コンピュータとを有するプラットフォーム完全性検証システムにおいて、前記情報処理装置は、前記情報処理装置がシャットダウンする際に、前記情報処理装置が実行する複数のプログラムのそれぞれから一意な値を取得する取得手段と、前記取得手段が取得した前記一意な値を記憶装置に記憶する記憶手段とを有し、前記完全性検証コンピュータは、前記記憶装置に記憶されている前記一意な値を前記情報処理装置との通信により取得して、予め保持する所定の値とプログラムごとに比較する比較手段とを有することを特徴とする。
【００１３】
また、本発明にかかる情報処理装置は、複数のプログラムを実行することが可能な情報処理装置であって、前記情報処理装置がシャットダウンする際に、前記複数のプログラムのそれぞれから一意な値を取得する取得手段と、前記取得手段が取得した前記一意な値を記憶装置に記憶する記憶手段と、前記情報処理装置が起動する際に前記記憶手段に記憶された前記一意な値が正当な値であるか否かを判定する判定手段と、前記判定手段が正当な値でないと判定した場合、前記情報処理装置を起動しないように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【００１４】
本発明のプラットフォーム完全性検証システム、または情報処理装置では、装置をシャットダウンする際にプログラムの一意な値を取得する。これにより、起動時間の遅延を引き起こすことなくプラットフォームの完全性検証を行うことができるという効果がある。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係わるプラットフォーム完全性検証システムの概略構成図である。
【図２】本発明の実施の形態に係わるプラットフォーム計測装置のシャットダウンに関する手順を示すフローチャートである。
【図３】本発明の実施の形態に係わる外部コンピュータによるプラットフォーム計測装置の完全性検証に関する手順を示すフローチャートである。
【図４】本発明の実施の形態に係わるプラットフォーム計測装置の計測結果のログの一例を示す説明図である。
【図５】本発明の実施の形態に係わるプラットフォーム計測装置による計測実行のスキップの手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明のプラットフォーム完全性検証システムに係わる実施の形態について図面を参照しながら説明する。
【００１７】
本実施の形態のシステム構成図である図１で、１はプラットフォーム計測装置、２はプラットフォーム計測装置１とネットワークで通信可能に接続されている完全性検証コンピュータ２である。
【００１８】
このプラットフォーム計測装置１は、情報処理装置の一部として構成されている。情報処理装置としては、例えば複写機などの画像処理装置や、パーソナルコンピュータなどの装置でもよい。また、完全性検証コンピュータ２は、例えばパーソナルコンピュータ等で構成されている。なお、プラットフォーム計測装置１と完全性検証コンピュータ２とは、ネットワーク以外のインターフェース（たとえば、ＵＳＢなど）で接続されていてもよい。
【００１９】
これらのプラットフォーム計測装置１及び完全性検証コンピュータ２は、それぞれＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等を利用できる。なお、本発明のプラットフォーム完全性検証システムは、これらの装置に限定されるものではない。
【００２０】
このプラットフォーム計測装置１は、ユーザインターフェース３、ハードディスク４、ＡＭＴ対応チップセット５、装置全体を制御するＣＰＵ６、メインメモリ７、フラッシュメモリ８、ＮＩＣ９等のハードウェアを備える。なお、ＮＩＣ９は、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄである。
【００２１】
このプラットフォーム計測装置１は、装置のシャットダウンシーケンスのたとえば最後のタイミングにおいて、各々のプラットフォーム構成要素に対して衝突を起こすことがない一意な値を計算して得られる各計測値を求める。さらに、このプラットフォーム計測装置１は、このようにして求めた各計測値を不揮発性計測値領域に記録する。プラットフォーム計測装置１は、計測対象を計測後、計測済リスト（取得済みリスト）に記録する機能と、現在の計測対象が既に計測済みであるかを計測済リスト（取得済みリスト）から判定する機能とを備える。
【００２２】
このように動作する計測手段として構成されたプラットフォーム計測装置１は、完全性検証コンピュータ２とネットワークで接続される。この完全性検証コンピュータ２は、ＡＭＴ管理アプリケーション２０、完全性計測アプリケーション１９及び完全性検証リスト１８を備える。ここでＡＭＴ管理アプリケーション２０と完全性計測アプリケーション１９は、ソフトウェアで構成されている。完全性検証リスト１８は、データで構成されている。
【００２３】
なお、ＡＭＴ（アクティブ・マネジメント・テクノロジー）は、Ｉｎｔｅｌ（登録商標）によって開発されたセキュリティ機能の名称であり、ＡＭＴ対応のチップセットによって実現される。
【００２４】
専用のＡＭＴ管理アプリケーションを利用した場合には、外部のコンピュータからネットワークを介して、ＡＭＴ機能を搭載したコンピュータ上の不揮発性領域に記憶されている情報の取得が可能となる。この情報の取得動作は、ＡＭＴ機能搭載コンピュータの電源状態に関わらず行うことが可能である。この専用のＡＭＴ管理アプリケーションは、不揮発性計測値領域に記憶されている計測値を、ネットワークを介して取得する不揮発性領域計測値取得手段を構成する。この不揮発性領域計測値取得手段は、完全性検証コンピュータ２が、安全性を確保されている通信経路によって不揮発性計測値記憶領域に記録された計測値を取得可能に構成されている。
【００２５】
プラットフォーム計測装置１のハードディスク４には、ＯＳ１０、各種アプリケーション１１、計測アプリケーション１２、計測対象リスト（取得対象リスト）１３及び計測済リスト（取得済みリスト）１４等が保存されている。
【００２６】
ここで、ＯＳ１０、各種アプリケーション１１及び計測アプリケーション１２は、ソフトウェアで構成されている。計測対象リスト（取得対象リスト）１３及び計測済リスト（取得済みリスト）１４は、データで構成されている。
【００２７】
プラットフォーム計測装置１に設けられたフラッシュメモリ８には、ＡＭＴ用不揮発性領域１５及びＢＩＯＳ１６、Ｂｏｏｔ  Ｌｏａｄｅｒ１７等が保存されている。ここで、ＡＭＴ用不揮発性領域１５は、ハードウェアで構成され、不揮発性計測値記憶領域として構成されている。ＢＩＯＳ１６及びＢｏｏｔ  Ｌｏａｄｅｒ１７は、ソフトウェアで構成されている。
【００２８】
このプラットフォーム計測装置１に設けられたユーザインターフェース３は、タッチパネル等で構成され、ユーザからの機器の電源ＯＮ／ＯＦＦやその他、機器の提供するサービスの利用等の要求を受け付ける画面を表示する。
【００２９】
また完全性検証コンピュータ２には、予め完全性検証リスト１８が保存されている。この完全性検証リスト１８は、プラットフォーム計測装置１内で計測対象となっているＢＩＯＳ１６，Ｂｏｏｔ  Ｌｏａｄｅｒ１７，ＯＳ１０，各種アプリケーション１１などに対する正規の計測結果のリストである。
【００３０】
この完全性検証コンピュータ２では、ＢＩＯＳ１６、Ｂｏｏｔ  Ｌｏａｄｅｒ１７、ＯＳ１０、計測対象リスト１３によって指定される各種アプリケーション１１（これらを総称してプログラムと称する）の完全性が検証される。すなわち、これらプログラムの各々が改ざんされていないかが検証される。また、本実施形態においてで計測とは、計測対象に対して例えばＳＨＡ−１などの所定のハッシュ関数によってハッシュ値を求めることを意味するものとする。
【００３１】
次に、このプラットフォーム完全性検証システムを利用したプラットフォーム計測装置１がシャットダウンされるときのシャットダウン処理の手順について、図２を参照して説明する。
【００３２】
このシャットダウン処理は、ユーザによってユーザインターフェース３から、プラットフォーム計測装置１に対してシャットダウン要求が出されるまで待機する（ステップＳ１でＮＯ）。
【００３３】
そして、ユーザがシャットダウン要求の指示を入力すると（ステップＳ１でＹＥＳ）、ＣＰＵ６は、通常のシャットダウンシーケンスを開始する。
【００３４】
このプラットフォーム計測装置１では、各種アプリケーション１１に含まれる電源の管理アプリケーションが、シャットダウン実行直前までの通常のシャットダウンシーケンスを実行する（ステップＳ２）。
【００３５】
ここで、通常のシャットダウンシーケンスとは、プラットフォーム計測装置１が自身の電源を切るために必要な一連の処理である。
【００３６】
また、プラットフォーム計測装置１は、シャットダウン要求を、ローカルユーザインターフェースに限らず、リモートユーザインターフェースをユーザが利用して行えるように構成してもよい。ここで、ローカルユーザインターフェースとは、プラットフォーム計測装置１に組み込まれたユーザインターフェースを意味するものとする。また、リモートユーザインターフェースとは、外部ＰＣ等から、ネットワークを介してプラットフォーム計測装置１の操作が可能となるインターフェースであり専用のソフトウェア等によって提供されるものを意味するものとする。
【００３７】
次に、計測アプリケーション１２は、シャットダウンシーケンスの最後のタイミングにおいて、ＢＩＯＳ１６の計測を実行し（ステップＳ３）、得られたハッシュ値をＡＭＴ用不揮発性領域１５に記録する（ステップＳ４）。ここで、シャットダウンシーケンスの最後のタイミングとは、例えば、プラットフォーム計測装置１のシャットダウンのために必要な処理が完了し、電源を切ってもよい状態を意味する。
【００３８】
次に、計測アプリケーション１２は、Ｂｏｏｔ  Ｌｏａｄｅｒ１７についての計測を実行し（ステップＳ５）、計測によって取得したハッシュ値をＡＭＴ用不揮発性領域１５に記録する（ステップＳ６）。
【００３９】
次に、計測アプリケーション１２は、上述と同様にしてＯＳ１０に対しても計測を実行し（ステップＳ７）、取得したハッシュ値をＡＭＴ用不揮発性領域１５に記録する（ステップＳ８）。
【００４０】
次に、計測アプリケーション１２は、ハードディスク４内に保存されている計測対象リスト１３に記載されている各種アプリケーション１１に対しても同様にして順次計測を実行する（ステップＳ９）。
【００４１】
次に、計測アプリケーション１２は、ステップＳ９で計測し、取得したハッシュ値を、順次ＡＭＴ用不揮発性領域１５に記録する（ステップＳ１０）。このようにして計測アプリケーション１２は、計測対象リスト１３に記載されている全ての計測対象に対する計測、記録を終える。
【００４２】
次に、計測アプリケーション１２は、この計測及び記録処理の終了後に、完全性検証コンピュータ２に対して、プラットフォーム計測装置１がシャットダウンを実行することを通知する（ステップＳ１１）。
【００４３】
次に、計測アプリケーション１２は、シャットダウンを実行し（ステップＳ１２）、このシャットダウン処理を終了する。このようにプラットフォーム計測装置１では、シャットダウン処理の中で計測を行う。これにより、装置の起動時に計測を行う必要がなくなるのでプラットフォーム計測装置１の起動時間への影響を与えることなく計測を行うことが可能となる。
【００４４】
完全性検証コンピュータ２は、シャットダウン通知手段としてのプラットフォーム計測装置１による通知を受信後、所定の時間に、あるいは所定の時間経過後に不揮発性計測値記憶領域へアクセスし、完全性検証処理を実行する。
【００４５】
次に、プラットフォーム計測装置１とネットワークで繋がっている外部の完全性検証コンピュータ２によるプラットフォーム計測装置１の完全性検証処理について図３を参照して説明する。
【００４６】
完全性検証コンピュータ２は、プラットフォーム計測装置１からシャットダウン通知を受信した後、所定の時間に、あるいは所定の時間経過後に完全性検証処理を開始する。そして、完全性検証コンピュータ２は、ＮＩＣ９を通してシャットダウン済プラットフォーム計測装置１内のＡＭＴ用不揮発性領域１５から、記録済のハッシュ値を取得する（ステップＳ１３）。なお、この記録済のハッシュ値は、図２で説明したステップＳ４，ステップＳ６，ステップＳ８及びステップＳ１０において記録されたものである。
【００４７】
次に、完全性検証コンピュータ内で完全性計測アプリケーション１９は、予め保存してある完全性検証リスト１８と、取得したハッシュ値とを順次比較して完全性の検証を行う（ステップＳ１４）。完全性検証リスト１８は、プラットフォーム計測装置１のＢＩＯＳ１６、Ｂｏｏｔ  Ｌｏａｄｅｒ１７、ＯＳ１０、各種アプリケーション１１のそれぞれについての正しいハッシュ値があらかじめ記憶されている。完全性検証リスト１８に記憶されているハッシュ値と、図２のフローチャートで計測した各ハッシュ値との値が一致すれば、プログラムは改ざんされていないということになる。また、一致しない場合は、プログラムのコードが改ざんされている、あるいは破損しているということになる。  すなわち、完全性計測アプリケーション１９は、各プラットフォーム構成要素の計測値と、完全性検証コンピュータ内に予め保持されている所定の計測値とを構成要素ごとに比較する計測値外部比較手段を構成する。
【００４８】
完全性計測アプリケーション１９は、比較結果が不一致のハッシュ値があった場合（ステップＳ１５でＹＥＳ）にハッシュ値が不一致の計測対象プログラムを不一致情報として、管理者に通知する（ステップＳ１６）。このとき、完全性計測アプリケーション１９は、予め完全性検証コンピュータに設定されたメール等の所定の方法で管理者に通知し、この完全性検証処理を終了する。
【００４９】
なお、完全性計測アプリケーション１９は、管理者のコンピュータ等へ通知する代わりにログとして完全性検証コンピュータ２内に保存してもよいし、管理者への通知とログとしての記録の両方を実行してもよい。このログは、図４に例示するものが考えられる。この図４で正解値とは、完全性検証リスト内に保存されている各計測対象に対して期待されるハッシュ値である。
【００５０】
また、計測値外部比較手段としての完全性計測アプリケーション１９は、完全性検証のための計測値の比較がなされた結果を管理者等の所定のコンピュータに通知する機能を備えるように構成しても良い。
【００５１】
さらに、計測値外部比較手段としての完全性計測アプリケーション１９は、報告先コンピュータが設定されていない場合に、システム起動時に報告先コンピュータの設定をユーザに対して促すように構成しても良い。
【００５２】
完全性計測アプリケーション１９は、検証の結果不一致のハッシュ値があった場合（ステップＳ１５でＹＥＳ）にハッシュ値が不一致の計測対象プログラムがあったことをＡＭＴ用不揮発性領域１５に書き込むようにしてもよい。プラットフォーム計測装置１が次回に起動する際にまずＡＭＴ用不揮発性領域１５を参照してハッシュ値が不一致の計測対象プログラムがあるということが書き込まれていることを検知した場合には、起動を中断するようにしてもよい。これにより、プログラムが改ざんされたままの装置を起動することを防止することができる。
【００５３】
また、図３のフローチャートに相当する処理をプラットフォーム計測装置1が実行するようにしてもよい。この場合、プラットフォーム計測装置1が各プログラムについての正当なハッシュ値をあらかじめ記憶しておく。ハッシュ値は、改ざんされないように記憶しておくことが好ましい。たとえば、不図示のＲＯＭに記憶しておいてもよいし、ＡＭＴ対応チップセット５内に保持しておいてもよい。プラットフォーム計測装置1の起動時に、ＡＭＴ用不揮発性領域１５に記憶されたハッシュ値と、あらかじめ記憶された正当なハッシュ値との比較を行い、それらが一致したならばプラットフォーム計測装置1の起動を許可する。一致しないハッシュ値がある場合には、プラットフォーム計測装置1を起動しないようにする。このようにすることで、完全性検証コンピュータ２を設けなくてもプログラムの完全性の検証を行うことが可能になる。
【００５４】
計測アプリケーション１２による計測は、前述した図２のステップ（Ｓ３，Ｓ５，Ｓ７，Ｓ９）において、計測対象の実行ファイルだけでなく、実行ファイルから利用されるライブラリも計測対象としてもよい。例えば、ＡＰＬ１．ｅｘｅ，  ＡＰＬ２．ｅｘｅという計測対象があり、ｃｏｍｍｏｎ＿ｌｉｂ．ａというライブラリをこれら両方で利用していた場合には、ｃｏｍｍｏｎ＿ｌｉｂ．ａが２回計測されることになる。
【００５５】
また、計測順番は、例えばＡＰＬ１．ｅｘｅ，  ｃｏｍｍｏｎ＿ｌｉｂ．ａ，  ＡＰＬ２．ｅｘｅ，  ｃｏｍｍｏｎ＿ｌｉｂ．ａとなる。この場合には、ライブラリが計測対象であったとしても、一度計測されていれば計測の実行をスキップしてもよい。これにより、計測に関するパフォーマンスを向上できる。
【００５６】
また、完全性計測アプリケーション１９は、検証の結果、全ての計測対象のハッシュ値が一致した場合（ステップＳ１５でＮＯ）に、この完全性検証処理を終了する。
【００５７】
次に、図２に示したステップＳ３，ステップＳ５、ステップＳ７及びステップＳ９に係わる計測処理（取得処理）の手順について図５のフローチャートを参照して説明する。
【００５８】
この計測処理（取得処理）が開始されると、計測アプリケーション１２は、計測対象ファイル（プログラム）の有無を確認する（ステップＳ５１）。そして、計測アプリケーション１２は、計測対象ファイルが有ると判定した場合（ステップＳ５１でＹＥＳ）に、その計測対象がライブラリであるかを確認する（ステップＳ５２）。
【００５９】
計測アプリケーション１２は、計測対象がライブラリでないと判定した場合（ステップＳ５２でＮＯ）、つまり実行ファイルである場合に、実行ファイルを計測し、その結果をＡＭＴ用記憶領域１５に記録する（ステップＳ５３）。
【００６０】
次に、計測アプリケーション１２は、計測対象がライブラリであると判定した場合（ステップＳ５２でＹＥＳ）に、計測済リスト１４から対象の計測対象ライブラリを検索する（ステップＳ５４）。さらに、計測アプリケーション１２は、計測済リスト内の記述の有無を確認する（ステップＳ５５）。
【００６１】
次に、計測アプリケーション１２は、検索の結果、計測済リスト１４内に現在の計測対象となるライブラリがないと判定した場合（ステップＳ５５でＮＯ）に、ステップＳ５６へ進む。そして、計測アプリケーション１２は、計測対象ライブラリを計測し、その結果をＡＭＴ用記憶領域１５に記録する（ステップＳ５６）。
【００６２】
次に、計測アプリケーション１２は、計測済リスト１４に計測したライブラリを追加する（ステップＳ５７）。
【００６３】
また、計測アプリケーション１２は、検索の結果、計測済リスト１４内に現在の計測対象となるライブラリがあると判定した場合（ステップＳ５５でＹＥＳ）に、ステップＳ５１へ戻る。
【００６４】
ここで、前述したステップＳ５３の処理を完了した場合及びステップＳ５７の処理を完了した場合も、ステップＳ５１へ戻る。
【００６５】
次に、計測アプリケーション１２は、次の計測対象ファイルの有無を確認し、計測対象ファイルが無いと判定した場合（ステップＳ５１でＮＯ）に、この計測処理を終了する。
【００６６】
計測アプリケーション１２は、この計測処理の手順に従って計測を実行することにより、プラットフォームの完全性検証に関するパフォーマンスを向上することができる。
【００６７】
また、通常のＴＰＭを利用したトラステッドブートにおいても、上述の手順に従うことにより、起動時間に関するパフォーマンスを向上できる。
【００６８】
以上、本実施形態によれば、装置のシャットダウン時に装置内のプログラムの完全性を検証するための計測を行う。これにより、装置の起動時に計測を行わずに済むので装置の起動にかかる時間が長くなることを防止することができる。
【００６９】
また、計測対象にライブラリが含まれている場合、同じライブラリを複数回計測しないようにすることで計測にかかる時間を短縮することが可能になる。
【００７０】
また、本発明は、以下の処理を実行することによっても実現される。
【００７１】
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００７２】
１  プラットフォーム計測装置
２  完全性検証コンピュータ
６  ＣＰＵ
【図１】
0005582909.tif 000002
【図２】
0005582909.tif 000003
【図３】
0005582909.tif 000004
【図４】
0005582909.tif 000005
【図５】
0005582909.tif 000006