起動プロセスの際に対話型コンポーネントの使用を認証するための方法であって、前記対話型コンポーネントの使用を判断することに応答して、関連した対話型入力を読み取るステップと、前記入力を信頼すべきかどうかを判断するステップと、前記入力を信頼すべきであると判断することに応答して、前記入力を処理して信頼できる暗号値を作成するステップとを含み、後続の対話型入力を読み取ることに応答して、前記後続の対話型入力を前記信頼できる暗号値の1つ又は複数と照合して、前記後続の対話型入力が信頼できるかどうかを判断するステップをさらに含む方法。PCRを前記入力に割り当てるステップと、前記入力を前記割り当てられたPCRにextend命令を用いて書き込むステップとをさらに含む、請求項1に記載の方法。前記信頼できる暗号値と関連したメタデータを生成するステップをさらに含む、請求項1又は請求項2に記載の方法。前記後続する対話型入力が信頼できる暗号値に一致することに応答して、前記対話型コンポーネントと関連したシステムが信頼できると判断するステップをさらに含む、前記請求項のいずれかに記載の方法。前記後続の対話型入力が信頼できる暗号値に一致しないことに応答して、関連したイベントログエントリを構文解析するステップと、前記イベントログエントリを既知の入力のデータ構造と照合するステップと、をさらに含む、前記請求項のいずれかに記載の方法。前記イベントログエントリが前記既知の入力のデータ構造に一致しないことに応答して、前記対話型コンポーネントと関連したシステムが信頼できないと判断するステップをさらに含む、請求項5に記載の方法。前記イベントログエントリが前記既知の信頼できる入力のデータ構造に一致することに応答して、前記後続の対話型入力と関連した暗号値を、前記信頼できる暗号値を含むデータ構造に付加するステップをさらに含む、請求項5に記載の方法。前記入力を信頼すべきかどうかを判断するステップは、前記入力を既知の入力のデータ構造と比較するステップをさらに含む、前記請求項のいずれかに記載の方法。起動プロセスの際に対話型コンポーネントの使用を認証するための装置であって、前記対話型コンポーネントの使用の判断に応答して、関連した対話型入力を読み取るための手段と、前記入力を信頼すべきであるかどうかを判断するための手段と、入力を信頼すべきであるという判断に応答して、前記入力を処理して信頼できる暗号値を作成するための手段と、を備え、後続の対話型入力を読み取ることに応答して、前記後続の対話型入力を前記信頼できる暗号値の1つ又は複数と照合して、前記後続の対話型入力が信頼できるかどうかを判断するための手段をさらに備える装置。コンピュータシステムにロードされ、そこで実行されたときに、前記コンピュータシステムに、請求項1から請求項8までのいずれかに記載の方法の全てのステップを実行させる、コンピュータ可読媒体上に格納されたコンピュータプログラムコードを含むコンピュータプログラム。起動プロセスの際に対話型コンポーネントの使用を認証するための方法及び装置を提供する。信頼できる起動プロセスは、変更が仮にあったとしても稀である所与のシステム、及び、各コンポーネントが厳密な実行経路をたどり、コンポーネント例えば、オペレーティングシステムに対するいかなる変更も、コンポーネントの所有者からの変更されたコンポーネントの信頼できる計測値例えば、オペレーティングシステムへの更新を生成する企業が、その更新と関連した1つ又は複数の信用できる値も提供するが付随する所与のシステムにおいて、うまく機能することに留意されたい。これにより、種々のコンポーネント従って、例えばシステム全体についての信頼できる計測値のデータベースを前もって生成することが可能になる。従って、管理されるシステムのいずれのコンポーネントも、信頼できる計測値と関連した既存のエントリに一致しなければならず、そうでない場合には、コンポーネントは暗黙的に信頼できない。好ましい実施形態は、信頼できる起動プロセスの際の対話型コンポーネントの使用を検出し、対話型コンポーネントの使用の際に実行された動作が信頼できるかどうかの判断を可能にする解決策を開示する。好ましい実施形態は、不変の起動コンポーネントを用いた場合でさえ、悪意のあるユーザがシステムを危険にさらすのを可能にし得る対話型コンポーネントコマンドプロンプトなどが存在するという事実に対処するものである。好ましい実施形態は、管理システムによって特別に扱われる割り当てられたPCRを用いて、対話型コンポーネントの使用の際のユーザの動作を記録するための機構を提供する。実際上、割り当てられたPCRは他のPCRよりも揮発性が高いと考えられ、多数の信頼できる値のいずれを担うこともできる。有利なことに、たとえコンポーネントと関連した計測値が信頼できる値に一致しなくても、その計測値と関連した入力を、新しい信頼できる入力と関連付け、それを将来の参照のために受け入れて記録することができる。第1の態様によると、対話型コンポーネントの使用の判断に応答して、関連した対話型入力を読み取るステップと、入力を信頼すべきかどうかを判断するステップと、入力を信頼すべきであるとの判断に応答して、入力を処理して信頼できる暗号値を作成するステップとを含み、後続の対話型入力を読み取ることに応答して、後続の対話型入力を信頼できる暗号値の1つ又は複数と照合して、後続の対話型入力が信頼できるかどうかを判断するステップをさらに含む、起動プロセスの際に対話型コンポーネントの使用を認証するための方法が提供される。第2の態様によると、対話型コンポーネントの使用の判断に応答して、関連した対話型入力を読み取るための手段と、入力を信頼すべきかどうかを判断するための手段と、入力を信頼すべきであるとの判断に応答して、入力を処理して信頼できる暗号値を作成するための手段とを含み、後続の対話型入力を読み取ることに応答して、後続の対話型入力を、信頼できる暗号値の1つ又は複数と照合して、後続の対話型入力が信頼できるかどうかを判断するための手段をさらに含む、起動プロセスの際に対話型コンポーネントの使用を認証するための装置が提供される。第3の態様によると、コンピュータシステムにロードされてそこで実行されたときに、コンピュータシステムに、上記方法の全てのステップを実行させる、コンピュータ可読媒体上に格納されたプログラムコードを含むコンピュータプログラムが提供される。ここで本発明を、以下の図面に示されるような本発明の好ましい実施形態を参照して、単なる例として説明する。ここで既知の信頼できる起動プロセス及び遠隔認証プロセスをさらに詳細に説明する。図2を参照すると、管理されるシステム200がさらに詳細に示される。信頼できる起動プロセスの際、管理されるシステム200の各コンポーネントは、別の起動コンポーネントを暗号計測する例えば、セキュアハッシュアルゴリズムSecureHashAlgorithm、SHAを用いて、ソフトウェアファイル、モデル、メイクmake、コンポーネントのシリアル番号などの情報のハッシュを作成し、計測値を作成する。一例として、例えばBIOSなどのCoreRootofTrustforMeasurementCRTMコンポーネント220は、起動の際に制御を与えられる最初のコード片であり、これは不変のものであるので暗黙的に信頼できるはずである。CRTM220は、起動プロセスにおける次のコンポーネント例えば、ファームウェア215を暗号計測し、続いて、ファームウェア215は、起動プロセスにおける次のコンポーネント例えば、オペレーティングシステム210を計測し、続いて、オペレーティングシステム210は、任意のユーザ空間プログラム205を、そのユーザ空間プログラム205に制御が移される前に計測する。各コンポーネントは、計測されるコンポーネントに制御が移される前に、計測値をTPM225のPlatformConfigurationRegisterPCR230内に直接書き込まず、特殊なextend命令によりレジスタへの書込み操作を行う以下、extend操作と呼ぶ。このextend操作は、PCRの値と計測値の暗号の組み合わせを含む。各コンポーネントはまた、イベントログ235にアクセスして、コンポーネントの計測例えば、コンポーネント識別子及びイベントなどのメタデータ、並びに関連した計測値と関連したデータを、イベントログ235と関連したエントリ内に書き込むようにも動作可能である。CRTM220は、典型的には、イベントログ235にアクセスできない制限された環境において実行されることに留意されたい。また、ユーザ空間プログラム205は、TPM225及びイベントログ235を用いるように動作可能であるが、ユーザ空間プログラム205は他のソフトウェアコンポーネント自体をロードしない傾向があるため、ユーザ空間プログラム205がそれを行うかどうかは任意であることにも留意されたい。対話型コンポーネントコマンドプロンプト又はメニュー等217が利用可能である場合、制御は、オペレーティングシステム210に移されるまで、無期限にファームウェア215に留まるであろうことに留意されたい。ひとたび管理されるシステム200が実行されると、例えば本明細書で説明されるようなDAADirectAnonymousAttestation、直接匿名認証などの遠隔認証手続を用いて、遠隔システム305による検査のために、信頼の連鎖と関連したデータを抽出することができる。図3のシステム300を参照すると、管理されるシステム200並びに関連したTPM255、PCR230、及び1つ又は複数の計測値及び関連したメタデータを含むイベントログ235が示される。認証プロセスは、典型的には、管理されるシステム200が、計測されるコンポーネントについての現在のPCR値230即ち、extend操作の結果として得られるを、イベントログ235と一緒に管理システム305に送ることを含む。ここで、管理システム305上で実行される認証プロセスの簡単化された例を、図4を参照しながら説明する。ステップ400において、イベントログ235と一緒に受け取った現在のPCR値230が取得される。ステップ405において、管理されるシステム200のコンポーネントと関連した期待される認証値が、データベース325から取得される。ステップ410において、管理されるシステム305のエミュレータ310が、受け取った現在のPCR値230を期待される認証値と比較する。管理システム305の多数の他のコンポーネントが比較論理を実行できることを理解すべきである。各PCR値について一致が発生した場合には、管理されるシステム200は信頼できるものとみなされステップ415、それ以上の作業は行われない。各PCR値について一致が発生しない場合には、管理システム305はイベントログ235を構文解析しステップ420、各エントリを順に検査して、当該計測されるコンポーネントと関連したエントリ内に含まれる計測値が有効であるかどうかを判断する。各イベントログ235エントリが有効であると思われる場合にはステップ425に対する肯定的な結果、管理されるシステム200は信頼できるものとみなされステップ415、それ以上の作業は行われない。イベントログエントリが有効でないと思われる場合にはステップ425に対する否定的な結果、管理されるシステム200は信頼できるものとみなされないステップ430-システムを信頼できないの終了状態に移る前に、セキュリティ警告が発せられることが好ましい。ここで、上記のプロセスの例示的な実施を説明する。典型的には、管理されるシステム200のコンポーネントの製造者は、コンポーネントと関連した計測値の大きなリスト例えば、参照マニフェストを提供する-これらの計測値は信頼できるものととらえることができる。さらに、典型的には、信頼できる起動プロセスは非常に決定論的であり、イベントログ235内に現れる関連したイベントは厳密なパターンに従う。CRTM220がファームウェア215を計測し、次いでオペレーティングシステム210を計測する例においては、イベントログ235は、典型的には、2つのイベント、即ちファームウェア計測済み及びオペレーティングシステム計測済みを含む。ファームウェア215及び/又はオペレーティングシステム210が変更された例えば、更新された場合であっても、将来の起動プロセスの際、同じ2つのイベントは同じ順序で行われ、関連した計測値だけが異なる。一例において、各計測値が同じPCRと関連付けられる。この例において、管理システム305は、管理されるシステム200が前回起動したときに、管理されるシステム200が例えばM1の計測値を伴うバージョンXを有するファームウェア、及び、例えばM2の計測値を伴うバージョンYを有するオペレーティングシステムを用いていたことを示す記録を保持し、ここでM1及びM2は、それぞれファームウェア起動コンポーネント及びオペレーティングシステム起動コンポーネントのSHAダイジェストである。計測値、即ちファームウェア計測済み:SHAM1及びオペレーティングシステム計測済み:SHAM2を伴った2つのイベントがPCRにextend操作されると、現在のPCR値Zが与えられる。現在のPCR値Zは、ファームウェア215及びオペレーティングシステム210についての期待される認証値として、管理システム305のデータベース325内に記録される。後続の認証プロセスの際、管理システム305は、イベントログ235を伴った受け取った現在のPCR値230を取得しステップ400、データベース325から期待される認証値を取得するステップ405。ステップ410において、エミュレータ310は、受け取った現在のPCR値を期待される認証値と比較する-一致が発生した場合には、管理されるシステム200は、予想されるファームウェア215及びオペレーティングシステム210を用いていると判断されるステップ415。一致が発生しない即ち、受け取った現在のPCR値がZではない場合には、管理システム305は、イベントログ235を構文解析してステップ420、関連したエントリを見つけ出す。管理システム305は、第1のイベント及び計測値、即ちファームウェア計測済み:SHAM1をファームウェアの特定の製造者により提供された信頼できる値のリストと比較し、第2のイベント及び計測値、即ちオペレーティングシステム計測済み:SHAM2をオペレーティングシステムの特定の製造者により提供された信頼できる値のリストと比較する。いずれかのコンポーネントが、製造作者が信頼できるとして列挙していない計測値を有する場合には、管理されるシステム200が危険にさらされると仮定されるステップ430。両方のコンポーネントが、製造者が信頼できるとして列挙した計測値を有する場合には、管理されるシステム200は信頼できるものと仮定されステップ415、その計測値を、管理されるシステム200の次回の認証プロセスの際に用いられる新しい期待される認証値と関連付けることができる。ここで、対話型コンポーネントをサポートするための、好ましい実施形態の信頼できる起動プロセス及び遠隔認証プロセスを、図5及び図6を参照しながら説明する。PCR例えば、7が、対話型コンポーネントに対するユーザ入力例えば、キーストロークと関連した計測値を受け取るように予約されることが好ましい。いずれの他の値も対話型コンポーネントが使用されたことを示すとき、このPCR7は、典型的には、初期電源オン状態例えば、ゼロを有すると考えられる。ここで、対話型コンポーネントが使用される際に入力と関連した値を捕捉する方法を、図5を参照しながら説明する。ステップ500において、例えば、ファームウェア215が、CRTM220から制御を受け取る。起動プロセスが対話型コンポーネントに方向転換されない場合ステップ505に対する否定的な結果、ファームウェア215は、信頼できる起動プロセスにおける次のコンポーネント例えば、オペレーティングシステム210を計測するステップ510。計測値がファームウェア215によってPCR内にextend操作され、関連したメタデータがファームウェア215によってイベントログ235に付加されステップ515、制御がオペレーティングシステム210に移されるステップ520。信頼できる起動プロセスが対話型コンポーネントに方向転換される場合ステップ505に対する肯定的な結果、ステップ525において、ファームウェア215は、ユーザが行った入力例えば、キーストローク、メニュー選択、コマンドを読み取る。ファームウェア215は、各々の入力をハッシュし例えば、個々の文字をハッシュし又は各々の離散シーケンスをハッシュしステップ530、入力と関連したメタデータ例えば、入力の識別子、入力の型式を作成するステップ530。ファームウェア215によってハッシュ値がPCR7にextend操作されステップ535、ファームウェア215によってメタデータがイベントログ235に付加されるステップ535。ステップ540において、入力例えば、特定のキーストロークが実行され、続いて、いずれかのさらなる入力が行われたかどうかの判断がなされるステップ545。さらなる入力が行われた場合には、プロセスはステップ525に進む。さらなる入力が行われなかった場合には、プロセスはステップ510に進み、これによりファームウェア215がオペレーティングシステム210を計測する。有利なことに、入力された入力と関連した固有のハッシュ値を提供するようにPCR7にextend操作することができ、さらに、関連したメタデータをイベントログ235内に格納することができる-入力及び関連したハッシュ値の例が下記の表1に示される。本発明のシステムを使用する前に、どの入力を信頼できるとみなすべきかについての判断がなされることが好ましい。例えば、管理者は、特定の入力従って、特定のハッシュ値を信頼できるものとして受け入れるかどうかを例えば、他の信頼できるシステムからの既知の入力と関連したメタデータを用いることによって判断する。管理者は、入力と関連した信頼できるハッシュ値のリストを他の管理システムに配布できることが好ましい。他の実施において、対話型コンポーネントを提供するファームウェア215が、イベントログ235を用いるように動作可能でないことがあり、その場合には、入力と関連したイベントをイベントログ235内に格納できないことに留意されたい。従って、例えば、管理システム305は、管理されるシステム200上で入力された入力を判断することができない。この場合、管理者は、起動プロセスとは非同期的に、例えば、バッチにおいて手作業で入力を取得することが好ましい。或いは、管理者は、管理されるシステム200のユーザに連絡して、起動プロセスの際にユーザが使用しようとする入力を要求することができる。管理者は、例えば、他の信頼できるシステムからの既知の入力と関連したメタデータを用いることによって特定の入力を信頼できるものとして受け入れるかどうかを判断し、管理システム305のエミュレータ310を用いて、入力についての信頼できるハッシュ値を計算する。ここで、好ましい実施形態の遠隔認証プロセスを、図6を参照しながら説明する。ステップ600において、イベントログ235を伴った現在のPCR値230が取得される。ステップ605において、期待される認証値が、データベース325から取得される。ステップ610において、管理システム305のエミュレータ310が、受け取った現在のPCR値230を期待される認証値と比較する。各PCR値について一致が発生した場合には、管理されるシステム200は信頼できるものとみなされステップ630、それ以上の作業は行われない。各PCR値について一致が発生しない場合には、ステップ615において、チェックを行い、PCR7の値が非ゼロであるかどうかを判断する。PCR7の値が非ゼロではない対話型コンポーネントの不使用を示す場合には、管理システム305は、各エントリを順に参照マニフェストを参照しながら検査することによって、イベントログ235を構文解析してステップ620、当該計測されるコンポーネントが有効であるかどうかを判断する図4を参照して実施が上述される。各イベントログエントリが有効であると思われる場合にはステップ625に対する肯定的な結果、管理されるシステム200は信頼できるものとみなされステップ630、それ以上の作業は行われない。イベントログエントリが有効でないと思われる場合にはステップ625に対する否定的な結果、管理されるシステム200は信頼できるものとみなされないステップ635PCR7の値が非ゼロである対話型コンポーネントの使用を示す場合には、入力と関連した信頼できるハッシュ値が取得されステップ640、PCR7の値が信頼できるハッシュ値と比較されるステップ645。PCR7の値が信頼できるハッシュ値のいずれかと一致する場合には、PCR7はゼロに設定されステップ655、いずれの他のPCR値も異なる場合に備えて、値比較論理ステップ610が再試行される。ステップ645において、PCR7の値が信頼できるハッシュ値のいずれとも一致しなかったと判断された場合には、イベントログ235を用いて、入力と関連したメタデータを分析する例えば、どの特定のキーストローク又はメニュー選択が用いられたかを判断するステップ650。これは、PCR7についてのイベントの読み取りを必要とするだけなので、イベントログ235全体の構文解析よりずっと簡単なプロセスである。ステップ660において、入力が信頼できるかどうかの判断が行われる。例えば、判断は、入力を、信頼できない入力の既知のリスト又は信頼できる入力の既知のリストと照合することによって行われる。例えば、管理されるシステム200と関連した厳格なポリシーが、対話型コマンドプロンプトを決して使用しないこと、及び、メニューナビゲーションだけが有効であることを要求することがある。このような場合には、信頼できる入力は、例えば対話型コマンドプロンプトの呼び出しをもたらさない1組のキーストロークを含む。例えば、数字9を用いて対話型コマンドプロンプトの呼び出しが行われる場合、メタデータが数字9以外のキーストロークと関連付けられていれば、ステップ660において、入力は信頼できるものと判断される。別の例においては、ユーザがメモリに値を書き込もうとしなければ、管理されるシステム200と関連したあまり厳格でないポリシーが、対話型コマンドプロンプトの使用を許可することがある。値が典型的にの文字を用いてメモリ内に格納された場合であって、メタデータがの文字と関連付けられていない場合には、ステップ660において、入力は信頼できるものと判断される。入力が信頼できると判断された場合には、PCR7と関連した入力の計測値が、信頼できるハッシュ値のリストに付加されるステップ665-従って、将来において、その特定の入力の使用により、必要以上に警告が発せられることはない。その後、PCR7はゼロに設定されステップ655、いずれかの他のPCR値も異なる場合に備え、値比較論理ステップ610が再試行される。入力が信頼できないと判断された場合には、管理されるシステム200は信頼できないものとみなされるステップ635。本発明の好ましい実施形態の方法の全て又は一部は、方法のステップを実行するように構成された論理要素を含む論理装置又は複数の論理装置において適切かつ有用に具体化できること、及び、こうした論理要素は、ハードウェアコンポーネント、ファームウェアコンポーネント、又はこれらの組み合わせを含むことができることが、当業者には明らかであろう。同様に、本発明の好ましい実施形態による論理構成の全て又は一部は、方法のステップを実行するための論理要素を含む論理装置において適切に具体化できること、及び、こうした論理要素は、例えば、プログラム可能な論理アレイ又は特定用途向け集積回路における論理ゲートのようなコンポーネントを含むことができることも、当業者には明らかであろう。このような論理構成は、例えば、固定の又は伝送可能なキャリア媒体を用いて格納及び伝送することができる仮想ハードウェア記述言語を用いて、論理構造体をこうしたアレイ又は回路内に一時的又は永続的に確立するための使用可能化要素enablingelementにおいてさらに具体化することもできる。上述の方法及び構成はまた、1つ又は複数のプロセッサ図示せず上で実行されているソフトウェアにおいて完全に又は部分的に適切に実行することもできること、及び、ソフトウェアは、磁気ディスク又は光学ディスク等のような、あらゆる適切なデータキャリア同様に図示せず上に支持される1つ又は複数のコンピュータプログラム要素の形態で提供できることが理解されるであろう。同様に、データ伝送のためのチャネルは、全ての記述のストレージ媒体、並びに、有線又は無線信号搬送媒体のような信号搬送媒体を含むことができる。本発明は、コンピュータシステムと共に用いるためのコンピュータプログラム製品としてさらに適切に具体化することができる。こうした実装は、例えば、ディスケット、CD-ROM、ROM、又はハードディスクなどのコンピュータ可読媒体のような有形媒体上に固定された、又は、モデム若しくは他のインターフェースデバイスを介して、これらに限定されるものではないが、光学若しくはアナログ通信回線を含む有形媒体上で、又はこれらに限定されるものではないが、マイクロ波、赤外線若しくは他の伝送技術を含む無線技術を用いて明白にコンピュータシステムに伝送可能な、一連のコンピュータ可読命令を含むことができる。一連のコンピュータ可読命令は、ここで既述した機能の全て又は一部を具体化する。当業者であれば、このようなコンピュータ可読命令は、多くのコンピュータアーキテクチャ又はオペレーティングシステムと共に用いるための多数のプログラミング言語で書くことができることを理解するであろう。さらに、このような命令は、これらに限定されるものではないが、半導体、磁気、又は光学を含む現在若しくは将来のあらゆるメモリ技術を用いて格納することができ、或いは、これらに限定されるものではないが、光学、赤外線、又はマイクロ波を含む現在若しくは将来のあらゆる通信技術を用いて伝送することができる。このようなコンピュータプログラムは、例えば収縮包装されたshrinkwrappedソフトウェアなどの、添付の印刷文書又は電子文書を有する取り外し可能媒体として配布することができ、例えばシステムROM又は固定ディスク上などにコンピュータシステムを予めインストールすることができ、或いは、例えばインターネット又はワールドワイドウェブのようなネットワーク上のサーバ又は電子掲示板から配布することができると考えられる。代替案においては、本発明の好ましい実施形態は、コンピュータインフラストラクチャ内に配備され、そこで実行されるときに、コンピュータシステムに、説明した方法の全てのステップを実行させるように動作可能なコンピュータプログラムコードを配備するステップを含む、サービスを配備するコンピュータ実施の方法の形態で実現することができる。当業者には、本発明の範囲から逸脱することなく、上記の例示的な実施形態に多くの改善及び変更をなし得ることが明らかであろう。