説明

TPMアクセスを仮想化するシステム、方法および装置

【課題】TPMアクセスを仮想化するシステム、方法および装置を提供する。
【解決手段】ソフトウエアプログラムを実行するためのCPUコアと、CPUコアに結合され、ソフトウエアによって要求されたトラステッド・プラットフォーム・モジュール(TPM)命令を受信し、少なくともTPMネットワークパケットを生成することによって、管理ファームウエアを用いてTPM命令を処理するための管理エンジンと、管理エンジンに結合され、TPMネットワークパケットを情報処理装置の外部のリモートTPMに送信するネットワーク・インタフェースとを備える装置が、仮想化プロセスの一部として実現される。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書の開示は、広く、情報処理の分野に関連する。特に、保護された(secured)情報処理に関連する。
【背景技術】
【0002】
ローカルまたはリモートのマイクロコンピュータ上で実行される金融および個人に関するトランザクションの増加に伴い、「信頼できる(trusted)」または「保護された(secured)」マイクロプロセッサ環境の設立が勢いづいている。これらの環境が解決しようとする課題は、プライバシーの喪失、または、データの破損(corrupted)もしくは悪用(abused)に関する課題である。ユーザは、自己の個人的なデータが公になることを望まない。ユーザは、また、不正なトランザクション(inappropriate transaction)において、自己のデータが改ざんまたは使用されることを望まない。これらの例には、医療記録の意図しない公開、または、オンラインの銀行もしくはその他の保管場所(depository)から貨幣資産(funds)を電子的に盗まれること(electronic theft)が含まれる。同様に、コンテンツプロバイダは、デジタルコンテンツ(例えば、音楽その他の音声信号、映像信号、または、広くその他のタイプのデータ)が、許可なく複製されないように、保護しようとする。
【0003】
そのような信頼できるマイクロプロセッサ・システムの構成要素の1つは、TCGのTPM規格第1.2版(TCG TPM Specification, Version 1.2)に開示されているような、トラステッド・プラットフォーム・モジュール(TPM)であってよい。
【図面の簡単な説明】
【0004】
添付の図面の形態において、本発明の一例が説明される。本発明は、添付の図面の形態に限定されない。
【0005】
【図1】信頼できるコンピューティング(trusted computing)を実現するためのシステムの一例を示す。
【図2】コンピュータが、TPM命令を利用したパケット(TPM command based packet)を生成する方法の実施形態の一例を示す。
【図3】マネージメント・コンソールによって、TPMネットワークの着信パケット(incoming TPM network packet)を処理する方法の実施形態の一例を示す。
【図4】TPMサーバによって、TPMネットワークの転送パケット(forwarded TPM network packet)を処理する方法の実施形態の一例を示す。
【図5】マネージメント・コンソールによって、応答パケット(response packet)を処理する方法の実施形態の一例を示す。
【図6】コンピュータに、レスポンスTPMパケットの処理を要求する方法の実施形態の一例を示す。
【図7】一実施形態に係るシステムのブロック図を示す。
【図8】一実施形態に係るシステムのブロック図を示す。
【図9】一実施形態に係るシステムのブロック図を示す。
【発明を実施するための形態】
【0006】
以下の記載において、信頼できる実行(trusted execution)技術について説明する。以下の記載において、本発明の実施形態についてより完全な理解を提供する目的で、ロジックの実装、ソフトウエア・モジュールの割り当て、動作の詳細といった、多数の具体的詳細が説明される。しかしながら、そのような具体的詳細に関する記載がなくとも、本発明の実施形態を実施できることは、当業者にとって当然である。他の例では、本発明の実施形態が曖昧になることを防止する目的で、制御構造、ゲート・レベル回路(gate level circuit)およびソフトウエアの完全な命令シーケンスの詳細については示していない。本明細書の記載に接した当業者であれば、過度の実験を実施することなく、適切な機能を実現することができるであろう。
【0007】
情報処理システムは、中央演算処理装置(CPU)、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)などのハードウエア資源を有してよい。処理システムは、基本入出力システム(BIOS)、仮想マシンモニタ(VMM)および1以上のオペレーティング・システム(OS)などのソフトウエア資源を有してよい。コンピュータシステムが起動または再起動された場合、コンピュータシステムは、BIOSを読み込み、その後、VMMを読み込んでよい。VMMは、ホストOSの上層で動作してもよく、VMMは、事実上ホストOSとして機能するコントローラを有するハイパーバイザとして実現されてもよい。VMMは、1以上の仮想マシン(VM)を作成してよい。VMは、異なるゲストOS、または、同一のゲストOSの異なるインスタンスを起動してよい。仮想化に適した処理システムのある特定の態様(aspect)を管理する設備をVMMに提供するゲストOSは、サービスOSと呼ばれる場合がある。このようにして、VMMは、多数のOSおよびアプリケーションが、異なるパーティションの中で動作することを可能にする。
【0008】
情報処理システム中のCPUは、仮想化のためのハードウエアサポート(例えば、命令およびデータ構造)を提供してよい。異なるタイプのプロセッサは、異なる仮想化サポート機能を提供してよい。処理システムは、インテル社により開発されたラ・グランデ・テクノロジ(LT)、または、インテル(登録商標)社のトラステッド・エクゼキューション・テクノロジ(TXT)と呼ばれる機能を含んでもよい。LT/インテル(登録商標)TXT機能は、VMMの保護された計測(measurement)および起動(launching)を提供する。異なるタイプのプロセッサは、VMMの保護された計測および起動を提供する異なる機能を提供する。
【0009】
図1は、信頼できるコンピューティング(trusted computing)を実現するシステムの一例を示す。図示された例において、このシステムは、3つの主要な構成要素を備える。すなわち、コンピュータ(信頼できるプラットフォーム)101(例えば、デスクトップ、ラップトップ、ネットブックなど)と、管理コンソール(MGMTコンソール)123と、TPMサーバ125とを備える。しかしながら、いくつかの実施形態において、これらの構成要素の1以上が併合されてよい(例えば、TPMサーバ125と管理コンソール123とが1つのエンティティであってよい。)。他の実施形態において、これらの構成要素およびそれらの従属要素(sub-component)は、付加的なエンティティに散在する。
【0010】
コンピュータ101は、命令を処理することで、ソフトウエアプログラムを実行する少なくとも1つのCPUコア103を有する。上記の命令は、TPMを用いて信頼できる実行を引き起こすような命令を含む。いくつかの実施形態において、CPUコア103は、プラットフォーム101のソフトウエアの少なくとも一部のハッシュ値を生成する命令を実行する。上記のソフトウエアには、オペレーティング・システム、アプリケーションおよび仮想マシンが含まれる。ハッシュ値は、利用可能であればローカル(locally)のTPM121に格納される。または、ローカルのTPM121が利用可能でなければ、外部の(externally)TPM121に格納される。
【0011】
CPUコア103は、メモリコントローラ105に結合される。いくつかの実施形態において、メモリコントローラ105は、CPUコア103と同一のダイの上に配される(統合メモリコントローラ)。他の実施形態において、メモリコントローラは、CPUコア103を覆うダイの外側に配される(例えば、ノースブリッジに配される。)。
【0012】
メモリコントローラ105は、また、管理エンジン(ME)107を有する。ME107は、MEファームウエア115を実行する、マイクロコントローラまたはその他のプロセッサである。一実施形態において、ME107は、ベースボード管理コントローラ(BMC)である。ME107は、通常は補助電源で動作し、全てではないかもしれないが、大部分の電力状態において利用できる。他の実施形態において、マイクロコントローラMEが、BMCと一緒に用いられる。
【0013】
MEファームウエア115は、フラッシュメモリ111に格納される。ME107、MEファームウエア115およびMEデータ記憶部117を介して、コンピュータ101のリモート・アウトオブバンド(OOB)管理が利用できる。例えば、リモートアプリケーションが、プラットフォームのセットアップおよび設定を実行してよい。一実施形態において、コア103を有するCPUは、結合されたチップセットがME107の機能(TPMコマンドの転送のような保護された計算機能等)を利用することができるか否かを示す(複数の)レジスタを有する。MEファームウエア115は、ME107上で実行され、実行中にデータを記憶する目的で、CPU103に結合されたRAMの一部を使用してよい。MEファームウエア115は、後で詳しく述べられるように、ローカルにTPM121がない場合に、要求を処理する段階と、TPM要求(MEデータ記憶部117またはその他の記憶装置との間でのTPM要求に関する情報の読み書き)のストレージ管理者として機能する段階と、(リースが取得された場合、リースの期間が満了した場合など)ネットワーク・インタフェース119中の専用のフィルタを用いて、OSのDHCPリースを追跡する段階と、ネットワーク・インタフェース119と情報をやり取りして、接続を維持または獲得する段階と、チップセットの電力状態を読み取る段階と、読み取った電力状態を利用する段階のうちの、1以上の段階を実行する。読み取った電力状態を利用する段階において、シャットダウンまたは電源投入の時期を決定する(いくつかの実施形態においては、ME107およびMEデータ記憶部117のようなその他の構成要素の電源を制御する。)、MEデータ記憶部117またはその他の不揮発性メモリ(例えば、ウイルス防止保護バージョン)に、ソフトウエアのバージョン番号を格納する、侵入してくる脅威を率先して妨害する(システム防御)、特定の(desired)ソフトウエア・エージェント(例えば、ウイルス防止)が起動していることを検証する、ソフトウエア・エージェントが起動していない場合に管理コンソールに警告する、主電源がシャットダウンしている場合でもプラットフォームの資産(asset)を見つけ出す、および/または、ME107を用いて典型的なTPMプロセスによってTPM命令をローカルのTPM121に送ることに、読み取られた電力状態が利用される。
【0014】
MEデータ記憶部117は、OEMが設定可能なパラメータ(OEM-configurable parameter)、ならびに/または、セットアップおよび設定パラメータ(setup and configuration parameter)、例えば、パスワード、ネットワーク設定、証明書、アクセス制御リスト(ACL)などを含む。MEデータ記憶部117は、また、その他の設定情報、例えば、アラートのリスト、システム防衛ポリシー、起動時にBIOS113によって取得されたハードウエア設定などを含んでもよい。BIOS113は、起動環境の計測(MLE)に利用されうる、保護された起動プロシージャーを格納する。
【0015】
メモリコントローラ105は、入出力制御ハブ(ICH)または周辺機器制御ハブ(PCH)109に結合される。ICH/PCH109は、キーボード、PCI装置、PCIエクスプレス装置などの入出力装置と結合する。通常、ICHと結合される装置の1つは、無線接続(例えば、WLAN)または有線接続(例えば、イーサネット(登録商標))のようなネットワーク・インタフェース119である。
【0016】
いくつかの実施形態において、MEが補助電源で動作することができることに加えて、BIOS113、MEファームウエア115、MEデータ記憶部117、TPM121および/またはネットワーク接続部119もまた、補助電源で動作してもよい。また、ICH/PCH109の一部または全部も、補助電源で動作してもよい。
【0017】
加えて、TPM121は、コンピュータ101に含まれてもよい。一実施形態において、TPM121は、トラステッドコンピューティング団体(TCG)によって、TCGのTPM規格バージョン1.2として定義されている。TPM121は、暗号鍵と、ソフトウエアおよびポリシーのハッシュ値とを格納する。TPM121は、計測値(メジャーメント)のリポジトリと、その計測値を利用する仕組みとを提供する。システムは、現在のプラットフォームの設定の報告と、慎重に扱うべき(sensitive)情報の長期間にわたる保護との両方に、メジャーメントを利用する。TPM121は、プラットフォーム設定レジスタ(PCR)にメジャーメントを格納する。PCRは、決まった大きさのスペースに、数に制限なく、メジャーメントを記憶することができる記憶領域を提供する。PCRは、暗号学的ハッシュに固有の特性によって、この機能を提供する。外部エンティティは、PCRレジスタに直接書き込むことはない。外部エンティティは、PCRコンテンツを「拡張」する。拡張操作は、PCRの現在の値を取得し、新しい値を追加し、当該合計値に暗号学的ハッシュを実行する。ハッシュの結果が、PCRの新しい値となる。暗号学的ハッシュの特性の1つに、順序に依存すること(order dependent)がある。これは、ABの順にハッシュした場合と、BAの順にハッシュした場合とでは、異なる結果が生成されることを意味する。この順序付け特性(ordering property)により、PCRコンテンツは、メジャーメントの順序を示すことができる。
【0018】
以前に示唆されているように、TPM121は、ハードウエア擬似乱数生成器に加えて、暗号鍵の保護された生成およびそれらの使用の制限のための設備を提供する。それは、リモート認証、シールされたストレージ(sealed storage)などの機能も含む。TPM121は、また、ハードウエア・デバイスの認証に用いられてもよい。それぞれのTPM121は、それが製造されたときに焼き付けられた、固有で秘密のRSA鍵を有するので、プラットフォームを認証することができる。例えば、TPM121は、TPM121へのアクセスを求めているシステムが、期待されたシステムであることの検証に用いられる。
【0019】
コンピュータ101のその他の構成要素は、図示されていない。例えば、コンピュータ101は、メモリコントローラに結合されたランダム・アクセス・メモリ(RAM)、グラフィックプロセッサ、大容量の不揮発性ストレージ(機械的ストレージまたは半導体ストレージ)などを備えてよい。いくつかの実施形態において、大容量の不揮発性ストレージ(または、その他の不揮発性ストレージ)は、起動制御ポリシーを保持する。起動制御ポリシーは、信頼できるプラットフォームの要素を定義する。これらのポリシーは、例えば、OEMまたはVARによって書き込まれ、保護領域に存在する。これらのポリシーのハッシュ値は、TPM121に格納され、システムの起動中に検証される。
【0020】
通常、トラステッド・エクゼキューションをサポートするコンピュータは、TPMデコード空間と呼ばれる、ローカルのTPM121のために設けられたアドレス空間の一部分を有する。例えば、いくつかの実施形態において、このアドレス空間は、メモリマップドI/O(MMIO)の0xFED40000から0xFED4FFFまで(0xFED4FFFを含む。)の範囲に存在してよい。通常、この範囲への全てのアクセスは、TPM121に転送される。コンピュータ101上で動作するホストのソフトウエアは、TCG(トラステッドコンピューティング団体)の規格(standard)に定められた形式に従って、命令を形成する。この範囲に位置づけられた(located)レジスタに、読み取りおよび書き込み命令を発行することで、命令が実行される。基本的に、ソフトウエアは、命令のパッケージを用意して、この範囲のペイロード・レジスタに書き込み、コマンド・レジスタに値を書き込む。例えば、ドライバが、標準のTPMメモリアドレス(例えば、0xFED4XXXX)に、命令を書き込み、命令はMMIOトラップによって取り込まれ、その後、TPM121に送られる。
【0021】
あいにく、TPM121のようなローカルのTPMを使用することには、不利益もある。潜在的な不利益の一つとして、以下の事態が発生して、TPM121を利用する何らかのプログラムによって暗号化されたデータが、アクセス不能または回復不能になるかもしれないことが挙げられる。(a)TPMに関連するパスワードが失われて、暗号化されたデータがアクセス不能になる。(b)暗号化されたデータを格納するドライブの故障、および/または、(c)プラットフォームが機能しなくなり、移行不可な鍵に関連する何らかのデータが失われる。また、TPM121の所有が移転された場合に、TPM121は、暗号化されたデータをアクセスすることが意図されていなかった人々に開示してしまうかもしれない。
【0022】
オプションのローカルのTPM121を有しないプラットフォーム、または、ローカルのTPM121を使用しないことを選択したプラットフォームのいずれかにおいては、管理コンソール123および/またはTPMサーバ125が、ローカルのTPM121の代わりに用いられる。通常、管理コンソール123は、プラットフォーム101を遠隔管理する管理者(administrator)に使用され、サーバのようなリモート・コンピュータであってよい。いくつかの実施形態において、これは、インテル(登録商標)社のアクティブ・マネジメント・テクノロジ(AMT)を利用して実現される。また、管理コンソール123は、潜在的に「リモート」なTPM(potential "remote" TPM)として動作する場合、プラットフォームからのTPMネットワークパケット要求を格納するパケット記憶部129と、その要求を発行したコンピュータ101に関する情報およびその要求を処理すべく選択されたTPMサーバ125に関する情報を格納するルーティング情報記憶部131とを有してよい。例えば、ルーティング情報記憶部131に格納されているレコードは、パケットの記憶場所、要求の時刻、パケットが受信された時刻、パケットが処理された(TPMサーバに送信した、または、内部で処理した)時刻、(パケットが送信された場合には)パケットの送信先のTPMサーバの識別情報、および/または、要求を出したプラットフォーム(requesting platform)の識別情報に関するフィールドのうちの1以上を含んでよい。いくつかの実施形態において、管理コンソール123は、TPM133を有する。管理コンソールは、TPMネットワークパケットを適切なTPM(ローカルまたは別のサーバ)に送り、要求を出したプラットフォームに戻すルーティングロジック(ハードウエア、ソフトウエアまたはファームウエア)を有する。通常、ネットワーク・インタフェース119と管理コンソール123との間の通信チャネルは、SSL/IPSECまたはその他の保護プロトコルによって保護される。加えて、通信チャネルは、(データセンターに応じて)TCP/IPを用いて、または、ネイティブにイーサネット(登録商標)を介してルーティングされてもよい図示されていないが、管理コンソール123およびTPMサーバ125は、ネットワーク・インタフェース、(単数または複数の)CPUコアなどを有してもよい。管理コンソール123は、TPMサーバ125およびプラットフォーム101の1つもしくは両方からの情報を、管理者がリモートで設定または受信するための機能を有してもよい。
【0023】
TPMサーバ125は、管理コンソール123に結合され、管理コンソール123によって転送された要求を処理する少なくとも1つのTPM127を有する。いくつかの実施形態において、コンピュータ101は、管理コンソール123の介在なしに、TPMサーバ125との間で情報をやり取りする。管理コンソール123と情報をやり取りすることができる2以上のTPMサーバ125が存在してもよい。同様に、コンピュータ101が、1以上の管理コンソール123との間で情報をやり取りしてもよい。図示されていないが、管理コンソール123およびTPMサーバ125は、ネットワーク・インタフェース、(単一または複数の)CPUコアなどを有してもよい。
【0024】
上記の事項を実現する処理システムは、システム管理を支援する組込み情報技術(EIT)を有する。例えば、EITプラットフォームは、インテル社のTXTを用いたベリファイドブート(verified boot)およびTPMの機能をサポートしてよい。また、プラットフォーム中の仮想マシン(VM)は、TPMのコア機能を利用してよい。そのようなVMは、例えば、マイクロソフト(登録商標)社のウインドウズ・ビスタ(商標)のようなユーザOSを実行してよい。しかしながら、従来のプラットフォームでは、TPMのセキュリティ保証を維持しながら、ハードウエアのTPMを、複数のVMの間で共有することができない場合がある。
【0025】
図2は、コンピュータ101のようなコンピュータが、TPM命令を利用したパケットを生成する方法の実施形態の一例を示す。201において、コンピュータ上で動作するソフトウエアによって、TPMデコード空間にアクセスするための要求が生成される。この要求は、TPM命令の形式であってよい。
【0026】
203において、利用可能なローカルのTPMがあるかどうかの決定がなされる。図1のTPM121のようなローカルのTPMの利用可能性は、いくつかの異なった方法によって判別することができるいくつかの実施形態において、ローカルのTPMは、起動(boot)時にプラットフォームに登録される。この場合において、プラットフォームは、プラットフォームに利用可能なローカルのTPMが存在すること(そして、おそらくはBIOS中で動作するようセットアップされていること)を判別している。他の実施形態において、ローカルのTPMは、起動(boot)後に開始(start)され、OSに登録される。他の実施形態において、ローカルのTPMの利用可能性は、何らかの起動処理を経なければならないプラットフォームがなくても、MEにアクセスすることができる不揮発性メモリ(例えば、BIOS)に格納される。例えば、ローカルのTPMの存在が判別されて、適切な構成要素(例えば、ME107、MEファームウエア115、MEデータ117、TPM121など)の電源が(少なくとも部分的に)オンになる。ローカルのTPMを使用することができる場合には、次に、205において、TPM要求がローカルのTPMに送信されて処理される。この場合には、要求は、通常通りに処理される。
【0027】
ローカルのTPMを使用することができない場合には、207において、MEが要求を受信する。例えば、ME107が、CPUコア107からの要求を受信する。いくつかの実施形態において、メモリコントローラ105は、要求を傍受して、当該要求をME107に送信する。例えば、メモリコントローラ105が0xFED40001に関するアクセス要求を受信した場合、メモリコントローラ105は、当該要求をローカルのTPM121に送信する代わりに、当該要求をMIMOトラップ上のME107に転送する。このような場合には、通常はローカルのTPM121と関連付けられるであろう記憶場所(location)が、TPM121ではなくて、ME107と関連付けられる。他の実施形態において、ME107自身が、この傍受を実施する。
【0028】
要求を受けて、MEファームウエアは、209において、少なくとも内部のルーティング情報(どのCPUコア、ソケットなどが当該要求を発行したのか)を格納する。この情報は、MEデータ記憶部117に格納されてもよい。MEファームウエアは、加えて、当該要求自体またはパケット化された当該要求(packetized version)(詳細は以下に述べる。)を格納してよい。例えば、TPM命令要求、パケット化されたTPM命令要求、当該要求の時刻、パケット化された要求が送信された時刻、パケット化された要求の送信先の識別記号(アドレスまたは名称)、要求の発行元の識別記号(例えば、ソフトウエアプログラム、コア、ソケットなど)、および/または、当該要求の識別記号の1以上が格納されてよい。
【0029】
211において、TPM命令に基づいて、ネットワークパケットが生成される。例えば、ME107がMEファームウエア115を実行して、TPM命令を生成する。いくつかの実施形態において、このパケットは、TCP/IPペイロードの一部を少なくとも構成するTPM命令を含むTCP/IPパケットであってよい。TPMサーバの識別子が判明しているのであれば、ペイロード情報は、さらにTPMサーバの識別子を含んでよい。ローカルネットワークにおいて、それは、TCP/IPパケットではないかもしれない。
【0030】
213において、MEが、コンピュータのネットワーク・インタフェースの1つに、この生成されたパケットを転送する。例えば、MEファームウエア115を利用するME107は、NIC、WLANなどに、TPMネットワークパケットを転送する。上述の通り、ネットワーク・インタフェースは、TPMネットワークパケットをどこに送信すべきか(管理コンソールまたはTPMサーバのアドレス)を判別する必要がある。いくつかの実施形態において、この情報は、例えば起動前のプロビジョニング処理の間にセットアップされる。例えば、プロビジョニング処理中に、コンピュータが、リモート設定(remote configuration)を可能にするように設定される。これにより、プラットフォーム上でいかなるソフトウエアでも実行できるように設定しておく必要性がなくなる。これらのパラメータは、通常、リモート設定の下で、管理者によってセットアップされる。
【0031】
次に、215において、ネットワーク・インタフェースが、処理中に利用可能な実装(implementation)に応じて、管理コンソールまたはTPMサーバの何れかに、TPMネットワークパケットを転送する。その結果、元の(original)TPM命令が「仮想化」され、異なる場所(location)で処理される。
【0032】
図3は、マネージメント・コンソールによって、TPMネットワークの着信パケットを処理する方法の実施形態の一例を示す。301において、管理コンソールが、何らかのプラットフォームから、処理されるべきTPMネットワークパケットを受信する。例えば、管理コンソール123は、ネットワーク・インタフェース119を介して、プラットフォーム101からのTPMネットワークパケットを受信する。
【0033】
次に、303において、管理コンソールが、管理コンソールが当該TPMネットワークパケットを処理することができるか否かを判断する。例えば、TPMネットワークパケットを少なくとも部分的にデコードして、当該パケットがTPMコマンドを含むか否かを判断した後、管理コンソール123は、当該要求を処理するローカルのTPM133の有無を判断する。管理コンソールは、(単一または複数の)TPMが、当該要求を処理するための処理能力(bandwidth)を有するか否かを判断してもよい。いくつかの実施形態において、管理コンソールは、管理コンソールのパケット記憶部に当該パケットを一時的に格納して、当該パケットを処理する前に、管理コンソールのルーティング情報記憶部に、TPMネットワークパケットに関するエントリを作成する。当該要求を処理することができる場合、305において、管理コンソールが、TPMネットワークパケットの当該命令を処理して、当該要求を発行したプラットフォームに応答を返信する。
【0034】
管理コンソールが当該パケットを処理することができない場合(利用可能なローカルのTPMがない場合)、次に、307において、管理コンソールが、(例えば、記憶部129に)TPMネットワークパケットを格納して、それに関連するルーティング情報記憶部(例えば、記憶部131)に、TPMネットワークパケットに関するエントリを作成する。例えば、TPMネットワークパケットがパケット記憶部129に格納され、当該TPMネットワークパケットの送信元、転送先などを詳述するエントリが作成されるであろう。上記において、TPMネットワークパケットが格納される場合について説明されているけれども、いくつかの実施形態において、パケットの一部だけ、例えば、TPMコマンドが、格納される。
【0035】
309において、管理コンソールが、適切なTPMサーバにTPMネットワークパケットを転送する。管理コンソールは、送信しているネットワーク・インタフェースのMACアドレス、および/または、ネットワーク管理者によって設定されたその他の静的情報に基づいて、対象のTPMサーバの場所を用いて設定されてよい。いくつかの実施形態において、TPMネットワークパケットを転送するときに、以前のルーティング情報(例えば、TCP/TP)が奪取され、要求を処理すべく選択されたTPMサーバに関連する新しいルーティング情報に置き換えられる。また、いくつかの実施形態において、転送されたパケットと元の(original)パケットとを関連付ける識別子が、当該転送されたパケットに取り付けられる。さらに、管理コンソールの識別子が、当該転送されたパケットに含まれてもよい。例えば、パケット記憶部129における当該パケットの記憶場所(location)が、当該転送されたパケットに含まれる。この情報は、管理コンソール123が、当該転送されたパケットに対するTPMサーバ125からの応答を関連付けるのに役立つ。
【0036】
図4は、TPMサーバによって、TPMネットワークの転送パケットを処理する方法の実施形態の一例を示す。401において、TPMサーバが、管理コンソールから、TPMネットワークパケットを受信する。例えば、TPMサーバ125が、管理コンソール123から、TPMネットワークパケットを受信する。ここで、当該TPMネットワークパケットの送信元は、プラットフォーム101である。
【0037】
次に、403において、TPMサーバが、TPMネットワークパケットからのTPM命令を処理する(実行する)。TPMサーバは、要求を発行したプラットフォームにとって、まるでそれがローカルにあるかのように、同様に、TPM命令を処理する。TPM命令に、それに関連付けられた応答(リターンデータ、ステータスなど)が含まれる場合、405において、TPMサーバが、応答をパケット化して、それを管理サーバに送信する。いくつかの実施形態において、応答パケットは、元の要求に関連付けられた識別子を含む。例えば、転送されたパケットが1以上の識別子を含む場合、これらの識別子が送り返される。いくつかの実施形態において、応答パケットは、元の要求を発行したコンピュータを識別する。
【0038】
図5は、マネージメント・コンソールによって、応答パケットを処理する方法の実施形態の一例を示す。501において、管理コンソールが、TPMサーバからのTPMネットワークパケットに対する応答を受信する。例えば、管理コンソール123は、管理コンソール123がTPMサーバ125に転送したTPMネットワークパケットに対する応答を受信する。
【0039】
503において、管理コンソールが、元のパケットに関連するルーティング情報を読み取る。いくつかの実施形態において、元のパケットも、読み取られる。TPMサーバからの応答には、送信先アドレスとして、要求の送信元アドレス(source address)が付与される。505において、管理コンソールが、適切な要求を出したプラットフォームに、当該応答を転送する。
【0040】
図6は、コンピュータに、レスポンスTPMパケットの処理を要求する方法の実施形態の一例を示す。601において、要求を出したプラットフォームが、TPM応答(TPM response)を受信する。例えば、ネットワーク・インタフェース119が、TPM応答パケットを受信する。603において、ネットワーク・インタフェースは、MEファームウエアに、この応答を転送する。
【0041】
605において、(内部のルーティング情報があれば、)MEファームウエアが内部のルーティング情報を読み出して、発行された要求に対する応答を関連付けた後、内部ペイロードとして当該応答を転送する。例えば、MEファームウエア115は、要求を発行したCPUコア103の識別情報を読み出して、それをコアに送信する。関連付けは、1以上の保存された情報に基づいて実施される。1以上の保存された情報としては、例えば、要求それ自体、要求の発行元の識別情報、要求の識別情報などがある。コア(またはソフトウエア)のプロスペクティブ(prospective)から、上記の応答は、TPMのデコード範囲への読み出し/書き込みに対する応答として現れるだろう。元の要求を発行したソフトウエアは、また、それゆえに、応答を受信するだろう。遅延時間がなければ、ソフトウエアは、TPM実装の背後で動作する細部に気づかない。いくつかの実施形態において、元の要求もまた、読み取られる。
【0042】
上記の記載の大部分において、要求を出したコンピュータとTPMサーバとの間の仲介手段として管理コンソールを利用していたけれども、いくつかの実施形態において、当該コンピュータのアドレスが分かっている場合(例えば、アドレスが転送されたパケットの中に含まれている場合)には、TPMサーバが、要求を出したコンピュータに、直接、応答を返信する。
【0043】
これは、多くの利点を有する。そのような利点の1つとして、TPMの設定ミスによりプラットフォームが見当たらなくなった場合に、復帰(recover)できることが挙げられる。プラットフォーム上で動作しているソフトウエアが、設定ミスをした、または、TPMを不良もしくは無効な状態にした場合、プラットフォームをシャットダウンして、TPMを復帰させて、その後、プラットフォームを再起動させることができる。TPMを復帰させることができない場合、別のTPMをアクティブにし、セットアップしてよい。また、管理コンソールは、新しいTPMに要求をリダイレクトするようにプログラムされてよい。
【0044】
管理コンソールおよび関連するソフトウエアは、TPMを使用しているプラットフォームから独立して、TPM上で実行されてよい。加えて、他の管理/維持アクティビティが、オフラインのTPM上で実行されてよい。
【0045】
別の利点として、本来の(primary)TPMとともに、バックアップのTPMを利用することができることが挙げられる。 主となる(main)TPM(例えば、ローカルのTPMまたは本来のTPMサーバ)をオフラインにする必要がある場合、管理コンソールは、メンテナンスによって主となるTPMがシャットダウンしている間、バックアップのTPMに、要求をリダイレクトするようにプログラムされてよい。
【0046】
加えて、プラットフォームの場所(location)に関係なく、TPMに格納されたポリシーまたはデータを利用することができる。例えば、VMポリシーの何れかがTPMに格納されており、VMを新しいノードに移動する場合、TPMがプラットフォームから分離されているので、VMM/ハイパーバイザは、ポリシーに、即時にアクセスすることができる。
【0047】
次に、図7を参照する。図7は、本発明の一実施形態に係るシステム700のブロック図を示す。システム700は、1以上の処理要素710と、処理要素715とを有する。処理要素710および処理要素715は、画像メモリ制御ハブ(GMCH)720と結合される。図7において、追加の処理要素715は破線で記載され、オプションであることが示されている。
【0048】
それぞれの処理要素は、シングルコアであってもよく、そうではなく、複数のコアを有してもよい。 処理要素は、処理コアに加えて、その他のオンダイ(on-die)の要素を、オプションとして有してもよい。オンダイ(on-die)の要素としては、統合メモリコントローラ、および/または、統合I/O制御ロジックを例示することができる。また、少なくとも1つの実施形態において、処理要素の(単数または複数の)コアはマルチスレッド化されていてもよく、処理要素は、その中に、コアごとに2以上のハードウエアのスレッドコンテキスト(hardware thread context )を有してよい。
【0049】
図7は、GMCH720がメモリ740に結合されてもよく、例えば、ダイナミック・ランダム・アクセス・メモリ(DRAM)であってもよいことを示す。少なくとも1つの実施形態に関して、DRAMは、不揮発性キャッシュと関連してよい。
【0050】
GMCH720は、チップセットまたはチップセットの一部であってよい。GMCH720は、プロセッサ710およびプロセッサ715と、プロセッサ710およびプロセッサ715の間のコントロール・インタラクションと、メモリと、情報をやり取りしてよい。GMCH720は、プロセッサ710およびプロセッサ715とシステム700の他の要素との間の加速バス・インタフェース(accelerated bus interface)の役割を果たしてもよい。少なくとも1つの実施形態に関して、GMCH720は、フロントサイド・バス(FSB)795のようなマルチドロップバスを介して、プロセッサ710およびプロセッサ715との間で情報をやり取りしてよい。
【0051】
さらに、GMCH720は、表示装置740(例えば、フラットパネル・ディスプレー)と結合される。GMCH720は、統合グラフィックアクセラレータを有してよい。GMCH720は、さらに、入出力(I/O)コントローラハブ(ICH)750と結合されてよい。ICH750は、システム700と様々な周辺機器とを結合するのに用いられる。図7の実施形態の例には、外部グラフィックス装置760が示されている。外部グラフィックス装置760は、他の周辺装置770と一緒にICH750に結合される、個別の(discrete)グラフィックス装置であってよい。
【0052】
あるいは、システム700の中に、追加の、または、異なる処理要素が存在してもよい。例えば、(単数または複数の)追加的な処理要素715は、プロセッサ710と同様の(単数または複数の)追加的なプロセッサ、プロセッサ710とは異機種(heterogeneous)もしくは非対称(asymmetric)の(単数または複数の)追加的なプロセッサ、アクセラレータ(例えば、グラフィックスアクセラレータ、デジタル・シグナル・プロセッサ(DSP)ユニット)、フィールド・プログラマブル・ゲート・アレイ、または、他のいかなる処理要素を含んでもよい。物理リソース710と物理リソース715との間には、アーキテクチャ、マイクロアーキテクチャ、熱、電力消費特性などを含む多様な実際の測定基準の観点から、様々な相違点が存在し得る。これらの相違点は、処理要素710および処理要素715の間の非対称性(asymmetry)および不均質性(heterogeneity)として、現れる。少なくとも1つの実施形態に関して、様々な処理要素710および処理要素715が、同一のダイ・パッケージの中に存在してよい。
【0053】
次に、図8を参照する。図8は、本発明の一実施形態に係る第2のシステム800のブロック図を示す。図8に示されるように、マルチプロセッサ・システム800は、二地点間(point-to-point)相互接続のシステムであり、二地点間相互接続850を介して結合された、第1の処理要素870および第2の処理要素880を有する。図8に示されるように、処理要素870および処理要素880のそれぞれは、第1のプロセッサコアおよび第2のプロセッサコア(すなわち、プロセッサコア874aおよびプロセッサコア874bと、プロセッサコア884aおよびプロセッサコア884b)を含むマルチコア・プロセッサであってよい。
【0054】
あるいは、1以上の処理要素870および処理要素880は、プロセッサ以外の要素であってよく、例えば、アクセラレータまたはフィールド・プログラマブル・ゲート・アレイであってよい。
【0055】
処理要素870および処理要素880という2つの処理要素しか図示されていないけれども、本発明の範囲がそれらに限定されないことは明らかである。他の実施形態において、ある特定のプロセッサの中に、1以上の追加的な処理要素が存在してもよい。
【0056】
第1の処理要素870は、メモリコントローラハブ(MCH)872と、二地点間(P−P)インタフェース876と、P−Pインタフェース878とをさらに有してよい。同様に、第2の処理要素880は、MCH882と、P−Pインタフェース886と、P−Pインタフェース888とを有してよい。プロセッサ870およびプロセッサ880は、二地点間(PtP)インタフェース回路878およびPtPインタフェース回路888を利用して、PtPインタフェース850を介してデータを交換してよい。図8に示されるように、MCH872およびMCH882は、プロセッサをそれぞれのメモリ、すなわち、メモリ832およびメモリ834に結合する。メモリ832およびメモリ834は、それぞれのプロセッサにローカルに取り付けられたメインメモリの一部であってよい。
【0057】
プロセッサ870およびプロセッサ880は、二地点間インタフェース回路876、二地点間インタフェース回路894、二地点間インタフェース回路886および二地点間インタフェース回路898を用いて、個別のPtPインタフェース852およびPtPインタフェース854を介して、チップセット890との間でお互いにデータをやり取りしてよい。チップセット890は、高性能なグラフィックス・インタフェース839を介して、高性能なグラフィックス回路838とデータをやり取りしてよい。発明の実施形態は、任意の数のプロセッサコアを含む任意のプロセッサの中にあってもよく、図8のPtPバス・エージェントのそれぞれの中にあってもよい。一実施形態において、何らかのプロセッサコアが、ローカルキャッシュメモリ(図示されていない。)を含んでもよく、または別の方法で、ローカルキャッシュメモリ(図示されていない。)に関連してもよい。また、両方のプロセッサとp2p相互接続を介して接続され、両方のプロセッサの外側にあるいずれかのプロセッサの中に、共有キャッシュ(図示されていない。)が含まれていてもよい。これにより、両方のプロセッサの1つのプロセッサが省電力モードになった場合に、いずれか一方の、または、両方のプロセッサのローカルキャッシュ情報を、共有キャッシュに格納することができる。
【0058】
第1の処理要素870および第2の処理要素880は、それぞれ、P−P相互接続876、P−P相互接続886およびP−P相互接続884を介して、チップセット890と結合されてよい。図8に示されるように、チップセット890は、P−Pインタフェース894およびP−Pインタフェース898を有する。さらに、チップセット890は、チップセット890と高性能グラフィックスエンジン838とを結合するインタフェース892を有する。一実施形態において、バス839を用いて、グラフィックスエンジン838とチップセット890とが結合されてよい。また、二地点間相互接続839が、これらの要素を結合してもよい。
【0059】
同様に、チップセット890は、インタフェース896を介して、第1のバス816と結合されてよい。本発明の範囲はこれに限定されるものではないが、一実施形態において、第1のバス816は、周辺要素相互接続(PCI)バス、PCIエクスプレス・バスまたは別の第3世代I/O相互接続バスであってよい。
【0060】
図8に示されるように、第1のバス816と第2のバス820とを結合するバスブリッジ818に加えて、様々なI/O装置814が、第1のバス816と結合されてよい。一実施形態において、第2のバス820は、ピン数の少ない(LPC)バスであってよい。例えば、キーボード/マウス822、通信装置826およびデータ記憶ユニット828を含む様々な装置が、第2のバス820と結合されてよい。データ記憶ユニット828は、例えば、ディスクドライブまたはその他の大容量記憶装置であり、一実施形態において、コード830を格納してよい。さらに、オーディオI/O824が、第2のバス820に結合されてもよい。他のアーキテクチャもよいことに留意されたい。例えば、図8の二地点間アーキテクチャの代わりに、システムは、マルチドロップバスまたは同様の他のアーキテクチャを実装してもよい。
【0061】
次に、図9を参照する。図8は、本発明の一実施形態に係る第3のシステム900のブロック図を示す。図8および図9中の類似の要素には、類似する参照番号を付している。図9の他の特徴が不明瞭になることを抑制する目的で、図8のいくつかの特徴が、図9から削除されている。
【0062】
図9に示すように、処理要素870および処理要素880は、それぞれ、統合メモリと、I/O制御ロジック(CL)872またはI/O制御ロジック882とを有してよい。少なくとも1つの実施形態に関して、CL872およびCL882は、図7および図8に関連して説明されたようなメモリコントローラハブ・ロジック(MCH)を有してよい。加えて、CL872およびCL882は、I/O制御ロジックを有してもよい。図9に示すように、メモリ832およびメモリ834が、CL872およびCL882に結合されるだけでなく、I/O装置914もまた、CL872およびCL882に結合されてよい。レガシーI/O装置915は、チップセット890に結合される。
【0063】
本明細書に開示されたメカニズムの実施形態は、ハードウエア、ソフトウエア、ファームウエアまたはそれらの組み合わせによって実現されてよい。本発明の実施形態は、プログラマブル・システム上で動作するコンピュータプログラムとして実現されてもよい。プログラマブル・システムは、少なくとも1つのプロセッサと、データ記憶システム(揮発性、不揮発性メモリ、および/または、記憶要素)と、少なくとも1つの入力装置と、少なくとも1つの出力装置とを有してよい。
【0064】
図8に記載されたコード830のようなプログラムコードは、実行されると、本明細書に開示された機能を実行するためのデータを入力して、出力情報を生成してよい。それに応じて、本発明の実施形態には、本発明の実施形態に係る演算を実行するための命令を含む機械可読記憶媒体(machine-readable media)、または、HDLのような、構造物、回路、装置、プロセッサ、および/または、本明細書に記載されたシステムの特徴を定義する設計データを含む機械可読記憶媒体も含まれる。そのような実施形態は、プログラム製品と呼ばれる場合がある。
【0065】
そのような機械可読記憶媒体は、これに限定されるものではないが、機械または装置によって製造または形成された粒子の有形配置を含んでよい。機械可読記憶媒体は、ハードディスクのような記憶媒体を含んでもよく、フロッピィーディスク(登録商標)、コンパクトディスク読み出し専用メモリ(CD−ROM)、書換可能なコンパクトディスク(DCD−RW)、光磁気ディスクのような他のいかなるタイプのディスクを含んでもよく、読み込み専用メモリ(ROM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)のようなランダム・アクセス・メモリ(RAM)、スタティック・ランダム・アクセス・メモリ(SRAM)、消去・プログラム可能型読み取り専用メモリ(EPROM)、フラッシュメモリ、電気的消去・プログラム可能型読み取り専用メモリ(EEPROM)のような半導体装置を含んでもよく、磁気カードもしくは光学カード、または、電子的な命令を格納するのに適した媒体であれば、他のいかなるタイプの媒体であってもよい。
【0066】
出力情報は、公知の方法で、1以上の出力装置に適用されてよい。出力情報を1以上の出力装置に適用する目的で、処理システムは、例えば、デジタル・シグナル・プロセッサ(DSP)、マイクロコンピュータ、特定用途向け集積回路(ASIC)またはマイクロプロセッサのようなプロセッサを有する何らかのシステムを備えてよい。
【0067】
プログラムは、高次の手続き型プログラミング言語またはオブジェクト指向型プログラミング言語を用いて実装され、処理システムと情報をやり取りしてよい。プログラムは、必要であれば、アッセンブリー言語または機械語を用いて実装されてもよい。つまり、本明細書に記載されたメカニズムは、特定のプログラミング言語の範囲に限定されるものではない。ともかく、言語は、コンパイラ型言語またはインタープリタ型言語であってよい。
【0068】
少なくとも1つの実施形態の1以上の特徴は、機械可読媒体に格納された、典型的なデータ(representative data)によって実現されてよい。典型的なデータは、プロセッサの内部の様々なロジックの典型となるものであり、機械によって読み込まれると、機械に本明細書に記載された技術を実行させるためのロジックを生成させる。そのような表現(representation)は、「IPコア」として知られており、有形の機械可読媒体に格納され、実際にロジックまたはプロセッサを作成する製造機械にロードすべく、様々な消費者または製造設備に提供されてよい。
【0069】
以上の記載は、本発明の好ましい実施形態を例示することを目的としている。以上の説明から、特に、成長が早く、更なる進歩を予見することが容易でない技術領域においては、当業者によって、本発明の原理を逸脱することなく、添付の特許請求の範囲に記載された事項およびその均等物の範囲内で、本発明の配置(arrangement)および細部が修正されうることは明らかである。

【特許請求の範囲】
【請求項1】
ソフトウエアプログラムを実行するための情報処理手段と、
前記ソフトウエアプログラムによって要求されたトラステッド・プラットフォーム・モジュール(TPM)命令(TPM命令)を受信し、少なくともTPMネットワークパケットを生成することによって、管理ファームウエアを用いて前記TPM命令を処理するための管理エンジン手段と、
前記TPMネットワークパケットを、処理させるべく、外部のリモートTPMに送信するネットワーク・インタフェースと、
を備える装置。
【請求項2】
前記ソフトウエアプログラムによって要求された前記TPM命令を、メモリマップド入出力(MIMO)トラップに傍受し、前記TPM命令を前記管理エンジンに転送するメモリコントローラをさらに備える、
請求項1に記載の装置。
【請求項3】
ディセーブル状態のローカルのTPMをさらに備え、
前記ディセーブル状態のローカルのTPMは、イネーブル状態の場合には、前記TPM命令を処理する、
請求項1または請求項2に記載の装置。
【請求項4】
前記ネットワーク・インタフェースは、無線ローカルエリア・ネットワーク(WLAN)接続である、
請求項1から請求項3までの何れか一項に記載の装置。
【請求項5】
前記ネットワーク・インタフェースは、有線接続である、
請求項1から請求項4までの何れか一項に記載の装置。
【請求項6】
前記管理エンジンは、ベースボード管理コントローラ(BMC)である、
請求項1から請求項5までの何れか一項に記載の装置。
【請求項7】
前記ソフトウエアプログラムによって要求された前記TPM命令は、メモリマップド入出力(MIMO)の0xFED4000から0xFED43Fまでの範囲のアドレスに対応するレジスタにアクセスするよう試みられる、
請求項1から請求項6までの何れか一項に記載の装置。
【請求項8】
ソフトウエアプログラムを実行するための情報処理手段と、
前記ソフトウエアプログラムによって要求されたトラステッド・プラットフォーム・モジュール(TPM)命令(TPM命令)を受信し、少なくともTPMネットワークパケットを生成することによって、管理ファームウエアを用いて前記TPM命令を処理するための管理エンジン手段と、
前記TPMネットワークパケットを、処理させるべく、外部のリモートTPMに送信するネットワーク・インタフェースと、
前記ネットワーク・インタフェースと結合された管理コンソールと、
を有するプラットフォームを備え、
前記管理コンソールは、
受信したTPMネットワークパケットを格納するパケット記憶部と、
前記受信したTPMネットワークパケットに関する情報を格納するルーティング情報記憶部と、
前記受信したTPMネットワークパケットをルーティングするルーティングロジックと、
を有し、
前記受信したTPMネットワークパケットに関する情報は、前記TPMネットワークパケットの転送先に関する情報を含む、
システム。
【請求項9】
前記管理コンソールは、
前記受信したTPMネットワークパケットを処理するローカルのTPMをさらに有し、
処理された前記受信したTPMネットワークパケットに関連する応答を、前記プラットフォームに送信する、
請求項8に記載のシステム。
【請求項10】
前記管理コンソールと結合され、前記管理コンソールによって受信されたTPMネットワークパケットを処理するTPMサーバをさらに備え、
前記TPMサーバは、処理された前記受信したTPMネットワークパケットに関連する応答を、前記管理コンソールに送信する、
請求項8または請求項9に記載のシステム。
【請求項11】
前記管理コンソールは、前記受信したパケットからアドレス情報を取り除き、前記TPMネットワークパケットを前記TPMサーバに転送する前に新たなアドレス情報を追加する、
請求項10に記載のシステム。
【請求項12】
前記プラットフォームは、メモリコントローラをさらに備え、
前記メモリコントローラは、
前記ソフトウエアプログラムによって要求された前記TPM命令を、メモリマップド入出力(MIMO)トラップに傍受し、
前記TPM命令を前記管理エンジンに転送する、
請求項8から請求項11までの何れか一項に記載のシステム。
【請求項13】
ディセーブル状態のローカルのTPMをさらに備え、
前記ディセーブル状態のローカルのTPMは、イネーブル状態の場合には、前記TPM命令を処理する、
請求項8から請求項12までの何れか一項に記載のシステム。
【請求項14】
前記管理エンジンは、ベースボード管理コントローラ(BMC)である、
請求項8から請求項13までの何れか一項に記載のシステム。
【請求項15】
プラットフォームの管理エンジンにおいて、前記プラットフォーム上で動作するソフトウエアプログラムからのトラステッド・プラットフォーム・モジュール(TPM)命令要求(TPM命令要求)を受信する段階と、
前記TPM命令要求を、前記プラットフォームの外部のTPMに送信可能にするべく、前記TPM命令要求をパケット化する段階と、
パケット化された前記TPM命令要求を処理すべく、パケット化された前記TPM命令要求を、前記プラットフォームの外部のTPMを認識している外部エンティティに送信する段階と、
パケット化された前記TPM命令要求に関連する情報を、応答と関連付けて格納する段階と、
を有する方法。
【請求項16】
メモリマップド入出力(MIMO)トラップが発生した場合に、ローカルのTPMが、前記TPM命令要求を処理することができないと判断する段階と、
前記TPM命令要求を、前記管理エンジンに転送する段階と、
をさらに有する、
請求項15に記載の方法。
【請求項17】
前記判断する段階は、前記プラットフォームのメモリコントローラによって実行される、
請求項16に記載の方法。
【請求項18】
パケット化された前記TPM命令要求に対する応答を受信する段階と、
前記応答を、パケット化された前記TPM命令要求に関連付ける段階と、
前記応答を、前記要求を発行した前記ソフトウエアプログラムに転送する段階と、
をさらに有する、
請求項15から請求項17までの何れか一項に記載の方法。
【請求項19】
パケット化された前記TPM命令要求に関連する前記情報は、
パケット化された前記TPM命令要求の複製と、
パケット化された前記TPM命令要求の送信先となるエンティティの識別情報と、
前記要求を発行したソフトウエアプログラムの識別情報と、
を含む、
請求項16から請求項18までの何れか一項に記載の方法。
【請求項20】
パケット化された前記TPM命令要求に関連する前記情報は、
パケット化された前記TPM命令要求の識別情報と、
パケット化された前記TPM命令要求の送信先となるエンティティの識別情報と、
前記要求を発行したソフトウエアプログラムの識別情報と、
を含む、
請求項16から請求項19までの何れか一項に記載の方法。

【図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


【公開番号】特開2011−258199(P2011−258199A)
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−122398(P2011−122398)
【出願日】平成23年5月31日(2011.5.31)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】