説明

トラステッド・コンピューティング・プラットフォームにおいて動的に生成された裏書き鍵に対する仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラム

【課題】
データ処理システムにおいて仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラムを提供する。
【解決手段】
データ処理システムはハードウェアのトラステッド・プラットフォーム・モジュール(TPM)を含む。このシステムでは論理的パーティションが生成される。論理的パーティションの各々に対して、異なる仮想TPMが生成される。次に、論理的パーティションの各々に関して、当該論理的パーティションに対して生成された仮想TPMが、その仮想TPMを含む論理的パーティションによる使用のための仮想裏書きクレデンシャルを動的に生成する。仮想裏書きクレデンシャルは、データ処理システムまたはそれの装置が当該データ処理システムにとっては外部にあるトラステッド第三者機関をアクセスすることなく、当該データ処理システム内で生成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理システムの分野に関し、詳しく云えば、トラステッド・コンピューティング・プラットフォームにおいて多数の論理的パーティションに対して動的に生成された仮想裏書き鍵に対する仮想裏書きクレデンシャルを設定するための方法、装置、及びコンピュータ・プログラムに関するものである。裏書きはエンドースメントとも呼ばれる。
【背景技術】
【0002】
ほとんどのデータ処理システムは、保護される必要のあるセンシティなデータおよびセンシティブなオペレーションを含む。例えば、コンフィグレーション情報の保全性は不正な修正のないように保護される必要があり、一方、パスワード・ファイルのような別の情報も不正な開示のないように保護される必要がある。別の例として、データ処理システムは、他のデータ処理システムに対して自身を高い信頼性をもって識別することができる必要がある。
【0003】
特定のデータ処理システムのオペレータが、そのデータ処理システムを保護するために種々のタイプのセキュリティ機構を使用することがある。例えば、データ処理システムにおけるオペレーティング・システムは、センシティブなデータを保護するために、種々の認証および許可方式のような種々のソフトウェア機構を提供することが可能であろうし、一方、或るハードウェア装置及びソフトウェア・アプリケーションは、センシティブなデータを保護するために、ハードウェア・セキュリティ・トークンおよびバイオメトリック・センサ装置のようなハードウェア機構に依存することも可能であろう。
【0004】
しかし、データ処理システムのデータおよびそのオペレーションの保全性は信頼性(トラスト)の問題が中心にある。データ処理システムのデータおよびオペレーションは、他のエンティティが特定のデータ項目または特定のオペレーションに関してそのデータ処理システムとの信頼性を確立するための方法を有する場合、そのような他のシステムによって検証または受容されることが可能である。
【0005】
従って、データ処理システムを保護する能力は、そのデータ処理システム内に信頼性を形成するまたは根付かせる方法によって制限される。データ処理システムを保護するという問題に対処するために、信頼のおけるコンピューティングのためのオープン・スタンダードおよび仕様を広めるために、企業の共同体がトラステッド・コンピューティング・グループ(TCG)を形成した。TCGの仕様によれば、所与のデータ処理システムにおける信頼性またはデータ処理システムと他のエンティティとの間の信頼性は、トラステッド・プラットフォーム・モジュール(TPM)と呼ばれるハードウェア・コンポーネントがそのデータ処理システムに存在することに基づいている。
【0006】
トラステッド・プラットフォームは、1つのエンティティがそのプラットフォームにおけるソフトウェア環境の状態を決定すること、およびそのプラットフォームにおける特定のソフトウェア環境に対してデータを封印することを可能にする。エンティティは、そのプラットフォームにおけるコンピューティング環境の状態がそのプラットフォームと取引を行う前に受容可能であるかどうかを推測する。
【0007】
現在のコンピューティング・システム、特に、大規模サーバ・システムは、複数の仮想マシンの動作に対するサポートを含んでいる。システムは、コンピューティング要件を変更することによって顧客をサポートするために、単一のハードウェア・プラットフォーム上で数百個のサーバ・インスタンスを実行する大規模オンデマンド・サーバ・システムであることがある。これらのシステムのうちで最も融通性のあるシステムでは、オペレーティング・システムおよびアプリケーション・ミックスにおいて異なることがある複数のパーティションが同時にシステム・メモリに存在し、各パーティションにおいて実行されるプロセスが、ゲスト・オペレーティング・システムにおけるそれらの実行をサポートする環境で実行される。仮想マシンは、オペレーティング・システムが殆どまたは全く修正なく動作し得る実ハードウェア・プラットフォームと完全に同じ環境を提供する。ハイパーバイザ(仮想マシン・モニタと呼ばれることがある)は、各パーティションが各オペレーティング・システム・インスタンスにマシンのような環境を提供するように、すべての仮想マシンを管理し、システム・リソースを抽象化する。
【0008】
上記の体系上の目標を具現化するために、複数の処理モジュールおよび他の装置がシステムに設置される。各装置は一般に1つまたは複数の上記パーティションをサポートするが、複数の装置間で1つのパーティションに関するタスクを分担することも可能である。装置のグループまたは個々の装置を特定の顧客と関連付けることが可能であり、装置およびシステムの製造業者から装置を保護することを含めて、その顧客だけによる装置またはグループに対するアクセスを保証することが望ましい。
【0009】
そのようなシステムにおけるセキュリティを提供するために、装置は、それがシステムに固定されて取り外しを防止したり、装置からデータを取り出すことまたはデータが取り出されたシステムまたはその一部分に「なりすます」ように装置を使用すること、によって生じ得るデータ・マイニングを防止しなければならない。固定化は、例えば、装置がシステムに永続的に取り付けられるという物理的なものであることも可能であり、あるいは、固定化は、取外し可能な装置およびネットワーク接続されたシステムを許容するために暗号化手法で達成することも可能である。
【0010】
上記の取外し可能な装置およびネットワーク接続された装置は、その装置が暗号化手法でシステムに固定されない場合、システムにおいて起動することを拒否することによって、データ改ざんまたはなりすましからの保護を提供する。固定化と関連した情報は、一般に、暗号化され、製造業者によって装置内の不揮発性記憶装置に保存される。上記の機構の場合、トラステッド・システムだけが特定の装置と関連したデータまたは特定の装置に保存されたデータをアクセスすることができ、取外し可能な装置の悪用または誤用の影響を劇的に減らすことができる。更に、(上記仮想マシンの1つの保存されたコンテキストまたは「状態」のような)装置と関連したデータは、関連の装置内に保存されている鍵を必要とする暗号化機構によって保護される。その二層機構、即ち、特定の装置に向けられたハードウェア固定化およびデータ暗号化が取外し可能な装置の悪用または誤用によるデータ・マイニングを防止する高レベルのセキュリティを提供する。
【0011】
一般に、ハードウェア・トラステッド・プラットフォーム・モジュール(TPM)には、裏書き鍵(EK)の対が保存される。裏書き鍵の各対は、それが保存される特定のハードウェアTPMにとって固有のものである。裏書き鍵の対は公開裏書き鍵およびそれの対応する秘密裏書き鍵を含む。公開裏書き鍵がデータを暗号化するために使用される場合、その公開裏書き鍵に対応する秘密裏書き鍵だけがその暗号化データを暗号解除することができる。データを暗号化するために秘密裏書き鍵が使用される場合、その秘密裏書き鍵に対応する公開裏書き鍵だけがその暗号化データを暗号解除することができる。
【0012】
裏書き鍵の対は、TPMが製造されるとき、TPMの製造業者によってそのTPM内に保存される。
【0013】
裏書き鍵の他に、裏書きクレデンシャルもTPMが製造されるとき、TPMの製造業者によってそのTPM内に保存される。裏書きクレデンシャルは、TPMの公開裏書き鍵のコピーを含む。
【0014】
裏書き鍵および裏書きクレデンシャルは、TPMを含むシステムにとって外部にあるトラステッド第三者機関から証明識別鍵(AIK)証明書を得るために、そのトラステッド第三者機関に対する特定のTPMを識別するために使用される。証明識別鍵は、システムがTPMを含むことおよびTPMが正当であることを表すために、そのシステムによって使用される。
【0015】
ほとんどの既知のシステムは、システム全体に信頼性サービスを提供するために単一ハードウェアTPMを使用する。或るハードウェアTPMは、パーティション化ができない単一コンピュータ・システムに対するサービスを提供するように設計される。従って、既存のシステムは、単一システム全体に信頼性を与えるために単一ハードウェアTPMを利用する。
【0016】
しかし、高パフォーマンスのサーバは、複数のスレッドにおけるトラステッド・プラットフォーム・モジュールに対して同時にアクセスすることを必要とするパーティション可能なマルチスレッド環境をサポートする。このタイプの環境は、サポートされた複数のパーティションの各々に物理的リソースを割り当て、それをパーティション化する。更に、各パーティションは、自身のオペレーティング・システムおよびアプリケーションを実行することができる個別の論理的コンピュータ・システムと考えることができる。1つのパーティションによって実行されるオペレーティング・システムが、他のパーティションによって実行されるオペレーティング・システムとは異なっていてもよい。
【0017】
単一ハードウェアTPMおよび複数の論理的パーティションを含むシステムにとって、各論理的パーティションに対して独得の裏書き鍵の対および裏書きクレデンシャルを提供することを求める要求が存在する。従って、例えば、システムが4つの論理的パーティションを含む場合、4つの個別且つ独得の裏書き鍵の対および関連の裏書きクレデンシャルが必要となるであろう。
【0018】
しかし、ハードウェアTPMにおいて複数の裏書き鍵の対および裏書きクレデンシャルを生成および保存することは、論理的パーティションが必要に応じて作成および破壊されることを、このTPMを含む複合システムが許容しているので、実用的ではない。従って、論理的パーティションの数、従って、必要な裏書き鍵の対および裏書きクレデンシャルの数は、TPMが製造されるときにはわからない。
【発明の開示】
【発明が解決しようとする課題】
【0019】
トラステッド・コンピューティング・プラットフォームにおいて複数の論理的パーティションに対して動的に生成される仮想裏書き鍵の対に対する仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラムを求める要求が存在する。
【課題を解決するための手段】
【0020】
データ処理システムにおいて仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラムが開示される。データ処理システムはハードウェア・トラステッド・プラットフォーム・モジュール(TPM)を含む。そのシステムでは論理的パーティションが生成される。論理的パーティションの各々に対して、異なる仮想TPMが生成される。次に、その論理的パーティションの各々に関して、当該論理的パーティションに対して生成された仮想TPMが、その仮想TPMを含む論理的パーティションによる使用のための仮想裏書きクレデンシャルを動的に生成する。仮想裏書きクレデンシャルは、データ処理システムまたはその装置が当該データ処理システムにとっては外部にあるトラステッド第三者機関をアクセスすることなく、当該データ処理システム内で生成される。
【0021】
以下の詳細な説明において、本発明の上記のおよび更なる目的、特徴、および利点が明らかとなるであろう。
【発明を実施するための最良の形態】
【0022】
図面を参照することによって、本発明の好適な実施例およびその利点を十分に理解することが可能であろう。これらの図面では、同様の素子および他の図面の対応する素子に対して同じ参照番号が使用される。
【0023】
本発明は、データ処理システムにおいて仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラムに関するものである。データ処理システムは、ハードウェア・トラステッド・プラットフォーム・モジュール(TPM)を含む。プラットフォーム署名鍵の対およびプラットフォーム署名鍵クレデンシャルが、共に、TPMが製造されるとき、TPMの製造業者によってハードウェアTPMに保存される。裏書き鍵の対および裏書きクレデンシャルはこのハードウェアTPMでは必要とされず、保存されない。
【0024】
論理的パーティションがシステムにおいて生成される。論理的パーティションの各々に対して、異なる仮想TPMが生成される。論理的パーティションの各々に関して、その論理的パーティションに対して生成された仮想TPMが、その論理的パーティションに対する仮想裏書き鍵の対を動的に生成する。従って、各論理的パーティションは、それ自身の仮想TPMおよびそれ自身の仮想裏書き鍵の対を有する。各仮想裏書き鍵(EK)の対は、EK公開鍵およびそれの対応するEK秘密鍵を含む。
【0025】
各仮想TPMは、それの論理的パーティションによる使用のために仮想裏書きクレデンシャルを動的に生成することができる。仮想TPMは、その仮想TPMがハードウェアTPMのプラットフォーム署名鍵秘密鍵を使用して論理的パーティションの仮想EK公開鍵を署名することによって、その論理的パーティションによる使用のための仮想裏書きクレデンシャルを生成する。
【0026】
このように、各論理的パーティションに対して、その論理的パーティンの仮想TPMに独得の仮想裏書き鍵の対が存在する。そこで、論理的パーティションの仮想裏書き鍵の対をハードウェアTPMに結合するために、プラットフォーム署名鍵が論理的パーティションの仮想TPMによって使用される。
【0027】
本発明は、データ処理システム内で、そのシステムにとって外部にあるトラステッド第三者機関をアクセスすることなく、論理的パーティションに対する仮想裏書きクレデンシャルの作成を行う。
【0028】
データ処理システムの外部にあるトラステッド第三者機関によって仮想裏書きクレデンシャルが作成されるためには、論理的パーティションは、仮想裏書き鍵を外部のトラステッド第三者機関に送らなければならないであろう。そこで、外部のトラステッド第三者機関は仮想裏書きクレデンシャルを作成し、それを、論理的パーティションによる使用のためにシステムに送り返すであろう。本発明によれば、これは行われず、不必要である。
【0029】
図1は、従来技術によるデータ処理システムのネットワークを示す。分散型データ処理システム100は、その分散型データ処理システム100内で相互接続された種々の装置およびコンピュータの間の通信リンクを提供するために使用することが可能なネットワーク101を含む。ネットワーク101は、ワイヤもしくは光ファイバ・ケーブルのような永久的接続、または電話もしくはワイヤレス通信を介して行われる一時的接続を含み得る。図示の例では、サーバ102およびサーバ103がストレージ・ユニット104と共にネットワーク101に接続される。更に、クライアント105〜107もネットワーク101に接続される。クライアント105〜107およびサーバ102〜103は、メインフレーム、パーソナル・コンピュータ、パーソナル・デジタル・アシスタント(PDA)等のような種々のコンピュータ装置に相当し得る。分散型データ処理システム100は、更なるサーバ、クライアント、ルータ、他の装置、および図示されてない対等通信アーキテクチャを含み得る。
【0030】
図示の例では、分散型データ処理システム100は、ネットワーク101がLDAP、TCP/IP、HTTP、WAP等のような種々のプロトコルを使用して相互に通信するネットワークおよびゲートウェイの世界的な集合体を表しているようなインターネットを含み得る。もちろん、分散型データ処理システム100は、例えば、イントラネット、ローカル・エリア・ネットワーク(LAN)、または広域ネットワーク(WAN)のような多数の種々のタイプのネットワークも含み得る。例えば、無線通信リンクを組み込んだサーバ102がクライアントおよびネットワーク101を直接にサポートする。ネットワーク対応電話111がワイヤレス・リンク112を介してネットワーク110に接続し、PDA113がワイヤレス・リンク114を介してネットワーク110に接続する。電話111およびPDA113は、いわゆるパーソナル・エリア・ネットワーク(PAN)またはパーソナル随時ネットワークを形成するために、Bluetooth(登録商標)無線技術のような適切な技術を使用して無線リンク115を介してそれらの間でデータを直接に転送することも可能である。同様の方法で、PDA113は、無線通信リンク116を介してPDA107にデータを転送することもできる。
【0031】
図2は、本発明を適用し得る従来技術によるコンピュータ・アーキテクチャを示す。データ処理システム120は、内部システム・バス123に接続された1つまたは複数の中央処理ユニット(CPU)122を含む。システム・バス123は、ランダム・アクセス・メモリ(RAM)124、リード・オンリ・メモリ(ROM)126、および入出力(I/O)アダプタ128を相互接続する。入出力アダプタ128は、プリンタ130、ディスク・ユニット132のような種々のI/O装置、または音声出力システム等のような図示されてない他の装置をサポートする。システム・バス123は、通信リンク136に対してアクセスを行う通信アダプタ134も接続する。ユーザ・インターフェース・アダプタ148は、キーボード140およびマウス142のような種々のユーザ装置、またはタッチ・スクリーン、スタイラス、マイクロフォン等のような図示されてない他の装置を接続する。ディスプレイ・アダプタ144は、システム・バス123をディスプレイ装置146に接続する。
【0032】
図2におけるハードウェアがシステムの実装形態に応じて変更し得ることは当業者には明らかであろう。例えば、システムは、Intel(登録商標)Pentium(登録商標)ベースのプロセッサ、デジタル信号プロセッサ(DSP)のような1つまたは複数のプロセッサ、および1つまたは複数のタイプの揮発性および不揮発性メモリを有してもよい。図2に示されたハードウェアの他に、またはそれの代わりに、他の周辺装置を使用することも可能である。図示の例は、本発明に関するアーキテクチャ上の限定事項を暗示することを意味するものではない。
【0033】
図3は、本発明を適用し得る従来技術による分散型データ処理システムを示す。分散型データ処理システム150は、複数のノード152〜156を含む。それらのノードの各々は、通信スイッチまたはネットワークに接続されたシングル・プロセッサ装置またはマルチプロセッサ装置でもよい。ノード152〜156は、中央電子複合(CEC)ユニットとして実装することが可能である。ハイパーバイザ160は、システム150の分散型データ処理ノードの共用計算リソースにおける1つまたは複数のオペレーティング・システムおよび/またはオペレーティング・システム・パーティション162〜168の複数インスタンスをサポートする。ハイパーバイザ160は、システム・レベル・サービス・プロセッサ170と通信する。サービス・プロセッサ170は、システム150をブートすることおよび共用リソースの可用性を監視することに寄与する。各分散型データ処理ノードは、少なくとも1つのサービス・プロセッサ、例えば、サービス・プロセッサ172〜176と関連している。サービス・プロセッサ172〜176の各々は、それの関連ノードをブートすることおよび各ノードを監視するときにシステム・レベル・サービス・プロセッサ170を援助することに寄与する。サービス・プロセッサは、それの関連ノードへの種々の物理的接続を通してノードと関連付けることが可能である。例えば、サービス・プロセッサのハードウェア・カードをPCIバスに取り付けることが可能である。各ノードは複数のサービス・プロセッサを持ち得るが、1つのサービス・プロセッサしかそれの関連ノードをブートすることに寄与し得ないであろう。
【0034】
本発明は、種々のハードウェア・プラットフォームおよび計算環境において実施することが可能である。図1、図2、および図3は、異種の計算環境の例として意図するものであり、本発明に対するアーキテクチャ上の限定を意図するものではない。
【0035】
本発明は、種々のハードウェア・プラットフォームおよび計算環境において実施し得ることに加えて、種々のソフトウェア環境においても実施することが可能である。各データ処理システム内でのプログラム実行を制御するために、代表的なオペレーティング・システムを使用することが可能である。例えば、或る装置は Unix(登録商標)オペレーティング・システムを実行し得るし、一方、別の装置は簡単な Java(登録商標)ランタイム環境を含む。代表的なコンピュータ・プラットフォームは、グラフィック・ファイル、ワード処理ファイル、拡張可能マークアップ言語(XML)、ハイパーテキスト・マークアップ言語(HTML)、ハンドヘルド・デバイス・マークアップ言語(HDML)、ワイヤレス・マークアップ言語(WML)、および種々の他のフォーマットおよびタイプのファイルのような種々のフォーマットにおけるハイパーテキスト・ドキュメントをアクセスするための周知のソフトウェア・アプリケーションであるブラウザを含み得る。
【0036】
本発明は、上述のように、種々のハードウェアおよびソフトウェア・プラットフォームにおいて実施することが可能である。更に詳しく云えば、本発明はトラステッド・コンピューティング・プラットフォームに関連する。
【0037】
図4は、本発明に従う論理的にパーティション化された基本プラットフォームのブロック図である。論理的にパーティション化された基本プラットフォーム250は、パーティション化されたハードウェア252、ハイパーバイザとも呼ばれるパーティション管理ファームウェア254、およびパーティション256〜259を含む。パーティション256〜259内には、オペレーティング・システム261〜264が存在する。オペレーティング・システム261〜264は、単一のオペレーティング・システムの複数コピー、またはプラットフォーム250上で同時に動作する複数の異種のオペレーティング・システムであってもよい。
【0038】
パーティション化されたハードウェア252は、複数のプロセッサ265〜268、複数のシステム・メモリ・ユニット270〜273、複数の入出力(I/O)アダプタ274〜281、およびストレージ・ユニット282を含む。プロセッサ265〜268、メモリ・ユニット270〜273、NVRAM283、およびI/Oアダプタ274〜281の各々は、複数のパーティション256〜259の1つに割り当てることが可能である。
【0039】
ハイパーバイザ254は、基本プラットフォーム250をパーティション化することに寄与する。パーティション管理ファームウェア(ハイパーバイザ)254は、論理的にパーティション化された基本プラットフォーム250のパーティション化を生じさせ且つ強化するために、パーティション256〜259に対する多数の機能およびサービスを遂行する。ハイパーバイザ254は、基礎となるハードウェアと同じファームウェア実装仮想マシンである。ファームウェアは、例えば、リード・オンリ・メモリ(ROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、および不揮発性ランダム・アクセス・メモリ(不揮発性RAM)のような電力無しでその内容を保つメモリに保存された「ソフトウェア」である。従って、ハイパーバイザ254は、論理的にパーティション化された基本プラットフォーム250のすべてのハードウェア・リソースを仮想化することによって、独立したOSイメージ261〜264の同時実行を可能にする。ハイパーバイザ254は、OSイメージ261〜264の1つによる使用のために、I/Oアダプタ274〜281を通して単一の仮想マシンにI/O装置を取り付けることが可能である。
【0040】
データ処理システム120はサービス・プロセッサ290を含む。サービス・プロセッサは、システム120内で自身のオペレーティング・システムを実行する個別のハードウェア・パーティションである。
【0041】
1つまたは複数のハードウェア・トラステッド・プラットフォーム・モジュール(TPM)を含むトラステッド・ビルディング・ブロック(TBB)299をプラットフォーム250内に含むことが可能である。
【0042】
図5は、本発明に従って修正されたトラステッド・プラットフォーム・アーキテクチャを示す。本発明に関連して後述する場合を除いて、TPMの残りのコンポーネントは、TCGのPC固有の実装仕様に従って動作する。
【0043】
TBBは、CRTM(Core Root of Trust Measurement)コンポーネント、トラステッド・プラットフォーム・モジュール(TPM)、CRTMとマザーボード216との接続、およびTPMとマザーボード216との接続の組合せを含む。例えば、TBB228は、TPM227とCRTM225とを含む。
【0044】
TBBは、システム200のプラットフォームの1つにトラストを提供する。TBBは、それ自身のCRTMを含む。CRTMは、プラットフォーム・リセット時に実行されるプラットフォームの初期設定コードの不変部分である。これは、CRTMを含むTBBがそのサービスを提供するプラットフォームである。
【0045】
プラットフォームの実行は、如何なるプラットフォーム・リセット事象時にもCRTMにおいて始まらなければならない。このように、プラットフォームにおけるトラストは、CRTMとTPMの振る舞いとに基づいており、すべての測定におけるトラストがCRTMの完全性に基づいている。
【0046】
例えば、BIOSが、BIOSブート・ブロックおよびPOSTBIOS226を含むものと仮定する。これらの各々は、相互に独立して更新することが可能な独立したコンポーネントであり、製造業者は、BIOSブート・ブロックの更新、修正、及び維持管理を制御しなければならないが、第三者の供給業者がPOSTBIOSコンポーネントを更新、修正、または維持管理することも可能である。図5に示された例では、CRTM225はBIOSブート・ブロックであるものと仮定され、POSTBIOSはトラストのチェーンの測定されたコンポーネントである。代替として、CRTMがBIOS全体を構成することも可能である。
【0047】
それらのソフトウェア・コンポーネントは、図1に示されたネットワーク101のようなネットワークを介して受信することが可能であり、あるいは、例えば、ハード・ディスク210に保存することも可能である。プラットフォーム208は、アドオン・カード214及びマザーボード216におけるソフトウェア・コンポーネントを実行するための電力を電源装置212から受ける。なお、マザーボード216は複数のCPUを含み得るが、CPU218及びメモリ220のような、ソフトウェアを実行するための代表的なコンポーネントを含む。インターフェース222がマザーボード216をシステム200における他のハードウェア・コンポーネントに接続し、ファームウェア224がPOSTBIOS226を含む。
【0048】
図6は、本明細書で説明するハードウェア・トラステッド・プラットフォーム・モジュール(TPM)を本発明に従って実装するために利用することが可能なTPMを表すブロック図を示す。
【0049】
トラステッド・プラットフォーム・モジュール300は入出力コンポーネント302を含み、その入出力コンポーネントは、適正なプロトコル・エンコーディング/デコーディング・オペレーションを実行すること及びメッセージを適正なコンポーネントに経路指定することによって、通信バス304を介した情報フローを制御する。暗号化コプロセッサ306はトラステッド・プラットフォーム・モジュールにおいて暗号化オペレーションを行う。鍵生成装置308は、対称鍵及びRSA非対称暗号化鍵の対を作成する。HMAC生成装置310は、HMAC計算を行い、それによって、メッセージ認証コードが、2つのパーティ間で伝送された情報を正当化するための完全性チェックとして秘密鍵を使用して計算される。それは、例えば、Krawczyk外、“HMAC:Keyed-Hashing for Message Authentication”、Request for Comments(RFC) 2104,Internet Engineering Task Force(IETF), Feb. 1997に示されている。
【0050】
乱数発生装置312は、ナンス(nonce)、鍵、または他の値のような種々の値を計算するための無作為性のソースとして作用する。SHA−1エンジン314は、SHA―1ハッシュ・アルゴリズムを実装する。電力検出装置316は、トラステッド・プラットフォーム・モジュールの電力状態をプラットフォームの電力状態と関連して管理する。オプトイン・コンポーネント318は、永続的フラグ及び揮発性フラグの状態を維持管理し、トラステッド・プラットフォーム・モジュールがイネーブル及びディセーブルされるようにそれらのフラグと関連したセマンティクスを強化する。実行エンジン320は、トラステッド・プラットフォーム・モジュールが入出力コンポーネント302を介して受け取るコマンドを実行するためにプログラム・コードを稼動させる。不揮発性メモリ322は、トラステッド・プラットフォーム・モジュールに関連した永続的ID及び状態を保存する。不揮発性メモリは、静的データ項目を保存することも可能であるが、そのトラステッド・プラットフォーム・モジュールの所有者によって許可されたエンティティによる動的データ項目の保存のためにも利用可能である。一方、揮発性メモリ324は動的データ項目を保存する。
【0051】
暗号化鍵352はTPM300内に保存される。他の装置を認証するために、および/または他の装置と通信するために、種々の暗号化鍵をTPM300が利用することも可能である。暗号化鍵352はTPMの他のコンポーネントとは別個に示されているが、一般には、種々の暗号化鍵が不揮発性メモリ322に記憶されるであろう。
【0052】
本発明によれば、暗号化鍵は、プラットフォーム署名鍵(PSK)及びプラットフォーム署名鍵クレデンシャルを含む。暗号化鍵352には他の暗号化鍵が保存されることも可能であるが、本発明によれば、裏書き鍵の対および裏書き鍵クレデンシャルは鍵352には保存されない。
【0053】
図7は、従来技術に従ってトラステッド・プラットフォーム・モジュール(TPM)に保存される鍵のブロック図を示す。従来技術によれば、鍵360は、公開裏書き鍵及びそれの対応した秘密裏書き鍵を含む裏書き鍵の対、並びに裏書き鍵クレデンシャルを含む。裏書き鍵クレデンシャルは公開裏書き鍵を含む。
【0054】
図8は、本発明に従ってスケーラブルな数の論理的パーティションに信頼性を与えるスケーラブル・ハードウェアTPMを表すブロック図である。データ処理システム400は、そのデータ処理システム400の共用計算リソースにおける1つまたは複数のオペレーティング・システムおよび/または論理的パーティション(LPAR)の複数のインスタンスをサポートするハイパーバイザ402を含む。例えば、ハイパーバイザ402は、LPAR404、406、408、410、412、および414をサポートする。
【0055】
各LPARは、TCGソフトウェア・スタック(TSS)およびTPMデバイス・ドライバ(TPMDD)を含む仮想TPMを含む。各仮想TPMは、ハイパーバイザによって論理的パーティションに対して生成される。例えば、LPAR404はTSS416およびTPMDD418を含み、一方、LPAR406はTSS420およびTPMDD422を含む。他のLPARも、図示されてないそれ自身のTSSおよびTPMDDを含む仮想TPMを含む。TSS416およびTSS420は、オペレーティング・システム、アプリケーション、または他のソフトウェア・コンポーネントがTPMとインターフェースするために利用するホスト・プログラミング・インターフェースの仕様を実装する。TSSは、1つのエンティティが共通アプリケーション・プログラミング・インターフェース(API)を介してインターフェースし得るTSSサービス提供者、鍵の記憶装置およびコンテキストの集中管理を行い且つホストにおけるTPMとの直接対話を処理するTSSコア・サービス、並びにTPMデバイス・ドライバ・ライブラリおよびTPMDD418またはTPMDD422のようなTPMDDを含む。一般に、TPMに対するすべてのインターフェース作用は、TSSサービス提供者インターフェース(TSPI)またはそのTSPI上のAPIを通して生じる。
【0056】
ハイパーバイザ402は、種々のパーティション間におけるプラットフォームのパーティション化を形成および強化することに寄与するファームウェアである。ハイパーバイザ402は、オペレーティング・システム・イメージ間の干渉を防ぐように、ファームウェア・サービスのセットを各パーティションにおけるオペレーティング・システムに提供する。各パーティションは、他の論理的パーティションにおいて実行されるオペレーティング・システムと同じまたはそれとは異なるオペレーティング・システムがそのパーティションにおいて実行されることを含む。ハイパーバイザ402は、それらの論理的パーティションを管理し、各パーティションに割り振られる物理的装置の割り振りおよび管理を行う。
【0057】
論理的パーティションがハードウェアTPM440を直接にアクセスすることを可能にする代わりに、仮想TPMが、ハイパーバイザによって各論理的パーティションに与えられる。各仮想TPMは、この図のLPAR(0)404およびLPAR(1)406においてTPMサービスを利用する。
【0058】
本発明によれば、論理的パーティションにとって独得の仮想裏書き鍵の対および仮想裏書きクレデンシャルが各論理的パーティションにおいて形成および保存される。例えば、仮想裏書き鍵の対[vEK(0)]404bが論理的パーティション404に対する仮想TPM404aによって形成される。仮想裏書きクレデンシャル404cも論理的パーティション404に対する仮想TPM404aによって形成される。仮想裏書きクレデンシャル404cは、公開仮想裏書き鍵404bのコピーを含む。
【0059】
仮想裏書き鍵の対[vEK(0)]404bは論理的パーティション406に対する仮想TPM406aによって形成される。仮想裏書きクレデンシャル404cも論理的パーティション406対する仮想TPM406aによって形成される。仮想裏書きクレデンシャル404cは公開仮想裏書き鍵406bのコピーを含む。
【0060】
図9は、従来技術に従ってハードウェア・トラステッド・プラットフォーム・モジュールにおいて裏書き鍵の対および裏書きクレデンシャルを保存することを示す高レベルのフローチャートである。ブロック500によって示されるようにプロセスが開始し、しかる後、ブロック502に進む。ブロック502は、TPMの製造時にハードウェア・トラステッド・プラットフォーム・モジュール(TPM)において裏書き鍵の対を保存することを示す。次に、ブロック504は、製造業者がこの裏書き鍵の対に対する裏書きクレデンシャルを発行することを示す。裏書きクレデンシャルは裏書き公開鍵を含む。そこで、プロセスは、ブロック506によって示されるように終了する。
【0061】
図10は、従来技術に従ってユーザがAIK証明書を得ることを示す高レベルのフローチャートである。プロセスはブロック600によって示されるように開始し、しかる後、ユーザがAIK証明書を必要としていることを示すブロック602に進む。ユーザは、システムにおいて実行されるアプリケーションのような任意のユーザである。
【0062】
アテステーション(証明)として知られたプロセスにおいて、アテステーションID鍵が使用される。アテステーションは、装置内に維持管理される情報に、ハードウェアTPMがデジタル的に署名し、それを情報がTPMによって保護されることを第三者に対する証明として供給する。AIKは、ここでは、匿名性を提供するために使用される。その論拠は、一人が数千のAIKを持つことができ、従って、特定のTPMまたはシステムまでその使用を追跡することができないということである。AIKクレデンシャルは、AIKがTPMから生じるという証拠であるが、それがどの特定のTPMからのものであるかを伝えるものではない。
【0063】
次に、ブロック604は、ユーザがAIK鍵の対を生成するようにシステムのハードウェアTPMに伝えることを示す。次のブロック606は、ユーザがハードウェアTPMからAIK公開鍵を受け取ることを示す。次に、プロセスはブロック608に進む。ブロック608は、ユーザがAIK証明書要求を生成することおよびその要求にAIK公開鍵を含むことを示す。しかる後、ブロック610は、ユーザがハードウェアTPMから裏書きクレデンシャルを得ることを示す。裏書きクレデンシャルは裏書き鍵(EK)公開鍵を含む。
【0064】
次に、ブロック612は、ユーザがAIK証明書要求および裏書きクレデンシャルをトラステッド第三者機関に送ることを示す。しかる後、ブロック614は、ユーザが暗号化されたAIK証明書をトラステッド第三者機関から受け取ることを示す。次に、ブロック616は、ユーザがその暗号化されたAIK証明書を暗号化解除するようにシステムのハードウェアTPMに要求することを示す。
【0065】
次にプロセスはブロック618に進む。ブロック618は、ユーザが暗号化解除されたAIK証明書を受け取ったかどうかの決定を示す。ユーザが暗号化解除されたAIK証明書を受け取ったという決定が行われる場合、プロセスはブロック620に進む。ブロック620は、ユーザがそのAIK証明書を使用することを示す。そこで、プロセスはブロック622によって示されるように終了する。ブロック618を再び参照すると、ユーザが暗号化解除されたAIK証明書を受け取っていないという決定が行われる場合、プロセスはブロック622によって示されるように終了する。
【0066】
図11は、従来技術に従ってユーザに対する暗号化されたAIK証明書を暗号化解除するハードウェア・トラステッド・プラットフォーム・モジュールを示す高レベルのフローチャートである。プロセスはブロック700によって示されるように開始し、しかる後、ブロック702に進む。ブロック702は、AIK鍵の対を生成するための命令をハードウェア・トラステッド・プラットフォーム・モジュール(TPM)がユーザから受けることを示す。次に、ブロック704は、ハードウェアTPMがAIK鍵の対を生成することを示す。
【0067】
次に、ブロック706は、TPMがAKI公開鍵をユーザに送ることを表す。しかる後、ブロック708は、TPMがハードウェアTPMによって暗号化解除されるべきAIK証明書を受け取ることを示す。次に、ブロック710は、TPMがハードウェアTPMの裏書き鍵(EK)秘密鍵を使用してその暗号化されたAIK証明書を暗号化解除しようとすることを示す。
【0068】
次に、ブロック712は、ハードウェアTPMがEK秘密鍵を使用してAIK証明書を暗号化解除することができたかどうかの決定を示す。EK秘密鍵は、このEK秘密鍵および対応する公開鍵を含む鍵の対の一部である。AIK証明書が対応するEK公開鍵を使用して暗号化された場合、ハードウェアTPMはEK秘密鍵を使用してその暗号化されたAIK証明書を暗号化解除することができるであろう。これは、このハードウェアTPMのEK鍵の対がAIK証明書の暗号化において使用されたことを保証する。AIK証明書がこのEK秘密鍵に対応しないEK秘密鍵を使用して暗号化された場合、ハードウェアTPMはAIK証明書を暗号化解除することができないであろう。
【0069】
ハードウェアTPMがそのEK秘密鍵を使用して、暗号化されたAIK証明書を暗号化解除することができなかったという決定が行なわれる場合、プロセスはブロック720によって示されるように終了する。再びブロック712を参照すると、ハードウェアTPMがそのEK秘密鍵を使用して、暗号化されたAIK証明書を暗号化解除することができたという決定が行なわれる場合、プロセスはブロック714に進む。ブロック714は、暗号化解除された証明書に含まれるAIK公開鍵を、ハードウェアTPMがこのAIK公開鍵を作成したかどうかを決定するためにハードウェアTPMがブロック714において生成したハードウェアTPMのAIK公開鍵と比較することを示す。
【0070】
次に、ブロック716は、ハードウェアTPMがこのAIK公開鍵を作成したかどうかの決定を示す。ハードウェアTPMがこのAIK公開鍵を作成しなかったという決定が行われる場合、プロセスは、ブロック720によって示されるように終了する。ブロック716を再び参照すると、ハードウェアTPMがこのAIK公開鍵を作成したという決定が行われる場合、プロセスは、ブロック718に進む。ブロック718は、ハードウェアTPMがその暗号化解除されたAIK証明書をユーザに提供することを示す。そこで、プロセスは、ブロック720によって示されるように終了する。
【0071】
図12は、従来技術に従ってトラステッド第三者機関が1つの暗号化されたAIK証明書を作成してそれを要求ユーザに送ることを示す高レベルのフローチャートである。プロセスはブロック800によって示されるように開始し、しかる後、ブロック802に進む。ブロック802は、トラステッド第三者機関がユーザからAIK証明書要求および裏書きクレデンシャルを受け取ることを示す。AIK証明書要求はAIK公開鍵を含む。裏書きクレデンシャルはEK公開鍵を含む。
【0072】
次に、プロセスはブロック804に進む。ブロック804は、その証明書が他のトラステッド第三者機関によって署名されたことを検証することによって当該トラステッド第三者機関が裏書きクレデンシャルを検証することを示す。次に、ブロック806は、その裏書きクレデンシャルが正当なものであるかどうかの決定を示す。
【0073】
クレデンシャル、即ち、証明書の検証は、通常の従来技術の公開鍵インフラストラクチャ(PKI)処理を介して行われる。
【0074】
図12のプロセスを再び参照すると、裏書きクレデンシャルが有効でないという決定が行われる場合、プロセスは、ブロック814によって示されるように終了する。
【0075】
ブロック806を再び参照すると、裏書きクレデンシャルが正当なものであるという決定が行われる場合、プロセスはブロック808に進む。ブロック808は、トラステッド第三者機関がAIK証明書をAIK証明書要求から作成することを示す。AIK証明書はAIK公開鍵を含む。次に、ブロック810は、トラステッド第三者機関が、裏書きクレデンシャルから取り出された公開鍵を使用してAIK証明書を暗号化することを示す。
【0076】
次に、プロセスはブロック812に進む。ブロック812は、トラステッド第三者機関が暗号化されたAIK証明書をユーザに送ることを示す。そこで、プロセスは、ブロック814によって示されるように終了する。
【0077】
図13は、本発明に従ってハードウェア・トラステッド・プラットフォーム・モジュールにプラットフォーム署名鍵(PSK)およびプラットフォーム署名鍵証明書を保存することを示す高レベルのフローチャートである。プロセスは、ブロック900によって示されるように開始し、しかる後、ブロック902に進む。ブロック902は、ハードウェアTPMの製造時にプラットフォーム署名鍵(PSK)の対をハードウェア・トラステッド・プラットフォーム・モジュール(TPK)に保存することを示す。次に、ブロック904は、製造業者がハードウェアTPM装置の製造時にプラットフォーム署名鍵(PSK)をハードウェアTPM装置に保存することを示す。そこで、プロセスは、ブロック906によって示されるように終了する。
【0078】
図14は、本発明に従って論理的パーティションを作成し、その論理的パーティションに対する仮想トラステッド・プラットフォーム・モジュールを作成することを示す高レベルのフローチャートである。プロセスは、ブロック1000によって示されるように開始し、しかる後、ブロック1002に進む。ブロック1002は、論理的パーティションを作成することを示す。次に、ブロック1004は、この論理的パーティションに対する仮想TPMを作成することを示す。次に、ブロック1006は、この仮想TPMに対する仮想EK鍵の対を作成することを示す。仮想EK鍵の対は、仮想TPM内に保持され、仮想TPMによって使用される。しかる後、プロセスは、ブロック1008によって示されるように終了する。
【0079】
図15は、本発明に従って論理的パーティションがAIK証明書を得ることを示す高レベルのフローチャートである。プロセスは、ブロック1100によって示されるように開始し、しかる後、ブロック1102に進む。ブロック1102は、論理的パーティションがAIK証明書を必要とすることを示す。
【0080】
本発明によれば、装置内に維持されている情報を仮想TPMが署名するとき、アテステーションが生じる。従って、AIK証明書は、当該証明書に含まれたAIKがTPMから来たという証拠であり、本発明の場合、このTPMは仮想TPMである。
【0081】
次に、ブロック1104は、論理的パーティションがAIK鍵の対を生成するようにそれのTPMに伝えることを示す。次に、ブロック1106は論理的パーティションがAIK公開鍵をそれの仮想TPMから受け取ることを示す。
【0082】
次に、プロセスはブロック1108に進む。ブロック1108は、論理的パーティションがAIK証明書要求を生成し、AIK公開鍵をその要求に含めることを示す。しかる後、ブロック1110は、論理的パーティションが仮想EK公開鍵をそれの仮想TPMから得ることを示す。次に、ブロック1112は、論理的パーティションがそれの仮想TPMから仮想裏書きクレデンシャルを要求し、そしてそれを受け取ることを示す。仮想裏書きクレデンシャルは、PSK秘密鍵を使用して、当該パーティションの仮想トラステッド・プラットフォーム・モジュールによって署名された仮想EK公開鍵である。次に、プロセスはブロック1114に進む。ブロック1114は、論理的パーティションがそれの仮想TPMからPSK証明書を要求することによってPSK証明書を得ることを示す。仮想TPMは、その後、ハードウェアTPMからPSK証明書を得る。
【0083】
PSK証明書は、PSK鍵の対が、仮想TPMを仮想化するハードウェアTPMによって所有および保護された鍵である、ということを表明する第2のトラステッド第三者機関からの証明書である。AIK証明書を提供するように要求される第1のトラステッド第三者機関は、その第1のトラステッド第三者機関に提供された署名された仮想EK公開鍵が、任意のエンティティからのものである代わりに正しい財産を有する装置からのものであることを確認するためにPSK証明書を使用する。PSK証明書を署名した第2のトラステッド第三者機関は、そのPSK鍵の対が仮想裏書き鍵を署名するために有効である、ということを表明する。第1のトラステッド第三者機関は第2のトラステッド第三者機関を信頼し、従って、第1のトラステッド第三者機関が受け取った仮想EKにおけるPSK署名を受容する。
【0084】
しかる後、ブロック1116は、論理的パーティションがAIK証明書要求、EK公開鍵(即ち、仮想裏書きクレデンシャル)、署名されたEK公開鍵、およびPSK証明書をトラステッド第三者機関に送ることを示す。次に、ブロック1118は、論理的パーティションが、暗号化されたAIK証明書をトラステッド第三者機関から受け取ることを示す。次に、ブロック1120は、論理的パーティションが暗号化されたAIK証明書を暗号化解除するようにそれの仮想TPMに要求することを示す。
【0085】
次に、プロセスはブロック1122に進む。ブロック1122は、論理的パーティションが、暗号化解除されたAIK証明書を受け取ったかどうかの決定を示す。論理的パーティションが、暗号化解除されたAIK証明書を受け取ったという決定が行われる場合、プロセスはブロック1124に進み、ブロック1124は、論理的パーティションがAIK証明書を使用することを示す。次に、プロセスは、ブロック1126に示されるように終了する。ブロック1122を再び参照すると、論理的パーティションが、暗号化解除されたAIK証明書を受け取らなかったという決定が行われる場合、プロセスは、ブロック1126によって示されるように終了する。
【0086】
図16は、本発明に従って仮想トラステッド・プラットフォーム・モジュール(TPM)が、仮想TPMの論理的パーティションに対する暗号化されたAIK証明書を暗号化解除することを図解した高レベルのフローチャートを示す。プロセスは、ブロック1200によって示されるように開始し、しかる後、ブロック1202に進む。ブロック1202は、仮想トラステッド・プラットフォーム・モジュール(TPM)が、AIK鍵の対を生成するための命令をそれの論理的パーティションから受け取ることを示す。次に、ブロック1204は、仮想TPMがAIK鍵の対を生成することを示す。
【0087】
次に、プロセスはブロック1206に進む。ブロック1206は、仮想TPMがそれのAIK公開鍵を論理的パーティションに送ることを示す。次に、ブロック1208は、仮想TPMがそれの仮想EK公開鍵を論理的パーティションに送ることを示す。しかる後、ブロック1210は、仮想TPMが、ハードウェアTPMのPSK秘密鍵を使ってそれの仮想EK公開鍵を署名することによって仮想裏書きクレデンシャルを作成することを示す。署名された仮想EK公開鍵は、この仮想TPMを含む特定の論理的パーティションにとって独得の仮想裏書きクレデンシャルである。そこで、仮想TPMは、仮想裏書きクレデンシャル、即ち、署名された仮想EK公開鍵をそれの論理的パーティションに送る。
【0088】
次に、ブロック1212は、仮想TPMがPSK証明書を論理的パーティションに送ることを示す。しかる後、ブロック1214は、仮想TPMが、暗号化解除されるべき暗号化されたAIK証明書を受け取ることを示す。次に、プロセスはブロック1216に進む。ブロック1216は、仮想TPMが、仮想TPMの仮想EK秘密鍵を使ってその暗号化されたAIK証明書を暗号化解除しようとすることを示す。
【0089】
次に、ブロック1218は、仮想TPMがその仮想TPMの仮想EK秘密鍵を使ってAUK証明書を暗号化解除することができたか否かの決定を示す。仮想TPMがその仮想TPMの仮想EK秘密鍵を使ってAIK証明書を暗号化解除することができなかったという決定が行なわれる場合、プロセスは、ブロック1226によって示されるように終了する。
【0090】
ブロック1218を再び参照すると、仮想TPMがその仮想TPMの仮想EK秘密鍵を使ってAIK証明書を暗号化解除することができたという決定が行われる場合、プロセスはブロック1220に進む。ブロック1220は、仮想TPMがこのAIK公開鍵を作成したかどうかを決定するために、仮想TPMが、その暗号化解除された証明書に含まれたAIK公開鍵と、仮想TPMがブロック1204において生成した仮想TPMのAIK公開鍵とを比較することを示す。
【0091】
次に、ブロック1222は、仮想TPMがこのAIK公開鍵を作成したか否かの決定を示す。仮想TPMがこのAIK公開鍵を作成しなかったという決定が行われる場合、プロセスは、ブロック1226によって表されるように終了する。ブロック122を再び参照すると、仮想TPMがこのAIK公開鍵を作成したという決定が行われる場合、プロセスはブロック1224に進む。ブロック1224は、仮想TPMが暗号化解除された証明書を論理的パーティションに提供することを示す。次に、プロセスは、ブロック1226によって示されるように終了する。
【0092】
図17は、本発明に従って、トラステッド第三者機関が暗号化されたAIK証明書を作成し、それを要求元の論理的パーティションに送ることを示す高レベルのフローチャートである。プロセスは、ブロック1300によって示されるように開始し、しかる後、ブロック1302に進む。ブロック1302は、トラステッド第三者機関が論理的パーティションからAIK証明書要求、仮想EK公開鍵、署名された仮想EK公開鍵(即ち、仮想裏書きクレデンシャル)、およびPSK証明書を受け取ることを示す。AIK証明書要求はAIK公開鍵を含む。
【0093】
次に、プロセスはブロック1304に進む。ブロック1304は、トラステッド第三者機関が、他のトラステッド第三者機関によってPSK証明書が署名されたことを検証することによって、PSK証明書を検証することを示す。次に、ブロック1306は、PSK証明書が正当なものであるか否かの決定を示す。PSK証明書が正当なものでないという決定が行われる場合、プロセスは、ブロック1316によって示されるように終了する。
【0094】
ブロック1306を再び参照すると、PSK証明書が正当なものであるという決定が行われる場合、プロセスはブロック1308に進む。ブロック1308は、署名された仮想EK公開鍵がPSK秘密鍵によって署名されたかどうかを決定することによってその署名された仮想EK公開鍵を検証する。仮想EK公開鍵がPSK秘密鍵によって署名されなかったという決定が行われる場合、プロセスは、ブロック1316によって示されるように終了する。ブロック1308を再び参照すると、仮想EK公開鍵がPSK秘密鍵によって署名されたという決定が行われ、従ってその署名された仮想EK公開鍵が検証される場合、プロセスはブロック1310に進む。ブロック1310は、トラステッド第三者機関がAIK証明書要求からAIK証明書を作成することを示す。AIK証明書はAIK公開鍵を含むであろう。
【0095】
次に、ブロック1312は、トラステッド第三者機関が仮想EK公開鍵を使ってAIK証明書を暗号化することを示す。そこで、プロセスはブロック1314に進む。ブロック1314は、トラステッド第三者機関がその暗号化されたAIK証明書を論理的パーティションに送ることを示す。次に、プロセスは、ブロック1314によって示されるように終了する。
【0096】
本発明は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例、またはハードウェアおよびソフトウェアの両方の要素を含む実施例の形態を取ることが可能である。好適な実施例では、本発明はソフトウェアにおいて実施される。それは、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、それに限定されない。
【0097】
更に、本発明は、コンピュータまたは任意の命令実行システムによってまたはそれに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセスし得るコンピュータ・プログラムの形態を取ることが可能である。この説明のために、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによってまたはそれに関連して使用するために、プログラムを含み、保存し、通信し、伝播し、あるいは搬送することが可能である任意の装置であることも可能である。
【0098】
それらの媒体は、電子的、磁気的、光学的、電磁的、赤外線、または半導体システム(または装置もしくはデバイス)、あるいは伝播媒体であってもよい。コンピュータ可読媒体の例は、半導体またはソリッドステート・メモリ、磁気テープ、取外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、固定磁気ディスク、および光ディスクを含む。光ディスクの現行の例は、コンパクト・ディスク・リード・オンリ・メモリ(CD−ROM)、コンパクト・ディスク・リード/ライト(CD−R/W)、およびDVDを含む。
【0099】
プログラム・コードを保存および/または実行するに適したデータ処理システムは、システム・バスを介してメモリ素子に直接にまたは間接的に結合された少なくとも1つのプロセッサを含むであろう。メモリ素子は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、およびコードが実行中に大容量記憶装置から検索されなければならない回数を減らすために少なくともいくつかのプログラム・コードの一時的保存を行うキャッシュ・メモリを含む。
【0100】
入出力装置、即ち、I/O装置(キーボード、ディスプレイ、ポインティング・デバイス等を含むが、それに限定されない)は、直接にまたはI/Oコントローラの介在を通してシステムに結合することが可能である。
【0101】
データ処理システムが専用または公衆ネットワークの介在を通して他のデータ処理システム、あるいはリモート・プリンタまたは記憶装置に結合されることを可能にするために、ネットワーク・アダプタをシステムに結合することも可能である。モデム、ケーブル・モデム、または Ethernet(登録商標)カードが現在使用可能なタイプのネットワーク・アダプタの代表例である。
【0102】
十分に機能するデータ処理システムに関連して本発明を説明したが、本発明のプロセスが、命令を記録したコンピュータ可読媒体の形式および他の種々の形式で配付されえること、および本発明が、配付を行うために実際に使用される信号担持媒体の特定の形式に関係なく等しく適用すること、は当業者には明らかであろう。コンピュータ可読媒体の例は、フレキシブル・ディスク、ハードディスク・ドライブ、RAM、CD−ROM、DVD−ROMのような記録可能タイプの媒体、並びに、デジタルおよびアナログ通信リンク、例えば無線周波伝送および光波伝送の如き伝送形式を使用する有線または無線通信リンクのような伝送タイプの媒体を含む。コンピュータ可読媒体は、特定のデータ処理システムにおいて実際に使用するためにはデコードされるコード化フォーマットの形を取ることも可能である。
【0103】
本発明に関する記載は例示および説明のために与えられたものであって網羅的であることを意図するものではなく、あるいは開示された形式における発明に限定されるものではない。当業者には、多くの修正点および変更点が明らかであろう。実施例は、発明の原理、実用的な応用を最も良く説明するために、および当業者が、意図された特定の用途に適するように、種々の修正が施された種々の実施例に関して本発明を理解することを可能にするために、選択および記述された。
【図面の簡単な説明】
【0104】
【図1】各々が従来技術を実装するために使用することが可能なデータ処理システムの代表的なネットワークを示す概略図である。
【図2】従来技術によるコンピュータ・アーキテクチャの概略図である。
【図3】従来技術によるデータ処理システムのブロック図である。
【図4】本発明に従って複数の種々の論理的パーティションを含むデータ処理システムを示すブロック図である。
【図5】本発明による修正されたハードウェアのトラステッド・プラットフォーム・アーキテクチャのブロック図である。
【図6】本発明による修正されたハードウェア・トラステッド・プラットフォーム・モジュール(TPM)を示すブロック図である。
【図7】従来技術によるトラステッド・プラットフォーム・モジュール(TPM)に保存された鍵のブロック図である。
【図8】本発明に従ってスケーラブルな数の論理的パーティションに信頼を与えるスケーラブル・ハードウェアTPMを示すブロック図である。
【図9】従来技術に従って、裏書き鍵の対および裏書き証明書をハードウェア・トラステッド・プラットフォーム・モジュールに保存する動作を示す高レベルのフローチャートである。
【図10】従来技術に従って、ユーザがAIK証明書を獲得する動作を示す高レベルのフローチャートである。
【図11】従来技術に従って、トラステッド・プラットフォーム・モジュールがユーザに対する暗号化されたAIK証明書を暗号化解除する動作を示す高レベルのフローチャートである。
【図12】従来技術に従って、トラステッド第三者機関が暗号化されたAIK証明書を作成する動作およびそれを要求ユーザに送る動作を示す高レベルのフローチャートである。
【図13】本発明に従って、プラットフォーム署名鍵(PSK)の対およびプラットフォーム署名鍵証明書をハードウェア・トラステッド・プラットフォーム・モジュールに保存する動作を示す高レベルのフローチャートである。
【図14】本発明に従って、論理的パーティションを作成する動作およびその論理的パーティションに対する仮想トラステッド・プラットフォーム・モジュールを作成する動作を示す高レベルのフローチャートである。
【図15】本発明に従って、論理的パーティションがAIK証明書を獲得する動作を示す高レベルのフローチャートである。
【図16】本発明に従って、仮想トラステッド・プラットフォーム・モジュールが仮想裏書きクレデンシャルを作成する動作および論理的パーティションに対する暗号化されたAIK証明書を暗号化解除する動作を示す高レベルのフローチャートである。
【図17】本発明に従って、トラステッド第三者機関が暗号化されたAIK証明書を作成する動作およびそれを要求論理パーティションに送る動作を示す高レベルのフローチャートである。

【特許請求の範囲】
【請求項1】
ハードウェア・トラステッド・プラットフォーム・モジュール(TPM)を含むデータ処理システムにおいて仮想裏書きクレデンシャルを設定するための方法であって、
前記システムにおいて複数の論理的パーティションを生成するステップと、
前記複数の論理的パーティションの各々に関して、前記複数の論理的パーティションの1つに対して異なる仮想TPMを動的に生成するステップと、
前記複数の論理的パーティションの前記1つに対して生成された前記仮想TPMによって、前記複数の論理的パーティションの前記1つによる使用のための仮想裏書きクレデンシャルを生成するステップと、
を含み、
前記仮想裏書きクレデンシャルが、前記データ処理システムにとって外部にあるトラステッド第三者機関をアクセスすることなく前記データ処理システムにおいて生成される、方法。
【請求項2】
前記ハードウェアTPMが裏書き鍵の対または裏書きクレデンシャルを含まない、請求項1に記載の方法。
【請求項3】
プラットフォーム署名公開鍵およびプラットフォーム署名秘密鍵を含むプラットフォーム署名鍵の対を前記ハードウェアTPMに保存するステップを更に含む、請求項1に記載の方法。
【請求項4】
前記複数の論理的パーティションの前記1つに対して生成された前記仮想TPMによって、仮想裏書き公開鍵および仮想裏書き秘密鍵を含む仮想裏書き鍵の対を、前記複数の論理的パーティションの前記1つによる使用のために生成するステップと、
前記プラットフォーム署名秘密鍵を使用して、前記仮想裏書き公開鍵を前記仮想TPMによって署名するステップと、
を更に含み、
署名された前記仮想裏書き公開鍵が、前記複数の論理的パーティションの前記1つに対する前記仮想裏書きクレデンシャルである、請求項3に記載の方法。
【請求項5】
前記プラットフォーム署名鍵の対を利用して、前記仮想裏書き鍵の対を前記ハードウェアTPMに結合するステップを更に含む、請求項4に記載の方法。
【請求項6】
前記複数の論理的パーティションの前記1つに対して生成された前記仮想TPMによって、前記複数の論理的パーティションの前記1つによる使用のために、仮想裏書き公開鍵および仮想裏書き秘密鍵を含む仮想裏書き鍵の対を生成するステップと、
前記プラットフォーム署名鍵の対を利用して、前記仮想裏書き鍵の対を前記ハードウェアTPMに結合するステップと
を更に含む、請求項3に記載の方法。
【請求項7】
前記複数の論理的パーティションの前記1つによってAIK証明書要求を生成するステップと、
前記AIK証明書要求をトラステッド第三者機関に送るステップと、
前記複数の論理的パーティションの前記1つによって、前記トラステッド第三者機関から、暗号化されたAIK証明書を受け取るステップと、
前記複数の論理的パーティションの前記1つによって、前記暗号化されたAIK証明書を、前記複数の論理的パーティションの前記1つに対して生成された前記仮想TPMに、暗号化解除のために送るステップと、
暗号化解除されたAIK証明書を前記仮想TPMから受け取るステップと
を更に含む、請求項1に記載の方法。
【請求項8】
前記複数の論理的パーティションの前記1つに対して生成された前記仮想TPMによって、仮想裏書き公開鍵および仮想裏書き秘密鍵を含む仮想裏書き鍵の対を、前記複数の論理的パーティションの前記1つによる使用のために生成するステップと、
前記仮想TPMによって、前記仮想裏書き秘密鍵を利用して前記暗号化されたAIK証明書を暗号化解除するように試みるステップと、
前記仮想裏書き秘密鍵を利用して前記暗号化されたAIK証明書を成功裏に暗号化解除したことに応答して、前記仮想TPMから、前記暗号化解除されたAIK証明書を前記複数の論理的パーティションの前記1つに送るステップと
を更に含む、請求項7に記載の方法。
【請求項9】
前記暗号化解除されたAIK証明書を前記複数の論理的パーティションの前記1つに送る前に、前記暗号化解除されたAIK証明書に含まれるAIKを識別し、前記暗号化解除されたAIK証明書に含まれる前記AIKを前記仮想TPMが作成したかどうかを決定するステップと、
前記暗号化解除されたAIK証明書に含まれる前記AIKを前記仮想TPMが作成したという決定に応答して、前記仮想TPMにより、前記暗号化解除されたAIK証明書を前記複数の論理的パーティションの前記1つに送るステップと、
前記暗号化解除されたAIK証明書に含まれる前記AIKを前記仮想TPMが作成しなかったという決定に応答して、前記仮想TPMにより、前記暗号化解除されたAIK証明書を前記複数の論理的パーティションの前記1つに送ることをやめるステップと
を更に含み、
前記仮想TPMが前記AIKを作成したことを前記仮想TPMが決定したことに応答して、前記仮想TPMが前記暗号化解除されたAIK証明書を送る、請求項8に記載の方法。
【請求項10】
ハードウェア・トラステッド・プラットフォーム・モジュール(TPM)を含むデータ処理システムにおいて仮想裏書きクレデンシャルを設定するための装置であって、
前記システムが複数の論理的パーティションを含むこと、
前記複数の論理的パーティションの各々に関して、ハイパーバイザが、前記複数の論理的パーティションの1つに対して異なる仮想TPMを動的に生成すること、
前記複数の論理的パーティションの前記1つに対して生成された前記仮想TPMが、前記複数の論理的パーティションの前記1つによる使用のための仮想裏書きクレデンシャルを生成すること、および
前記仮想裏書きクレデンシャルが、前記データ処理システムにとって外部にあるトラステッド第三者機関をアクセスすることなく前記データ処理システムにおいて生成されること
を特徴とする装置。
【請求項11】
ハードウェア・トラステッド・プラットフォーム・モジュール(TPM)を含むデータ処理システムにおいて仮想裏書きクレデンシャルを設定するためのコンピュータ・プログラムであって、
前記システムにおいて複数の論理的パーティションを生成するためのコンピュータ使用可能プログラム・コードと、
前記複数の論理的パーティションの各々に関して、前記複数の論理的パーティションの1つに対して異なる仮想TPMを動的に生成するためのコンピュータ使用可能プログラム・コードと、
前記複数の論理的パーティションの前記1つに対して生成された前記仮想TPMによって、前記複数の論理的パーティションの前記1つによる使用のための仮想裏書きクレデンシャルを生成するためのコンピュータ使用可能プログラム・コードと
を含み、
前記仮想裏書きクレデンシャルが、前記データ処理システムにとって外部にあるトラステッド第三者機関をアクセスすることなく前記データ処理システムにおいて生成される、コンピュータ・プログラム。

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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2007−26442(P2007−26442A)
【公開日】平成19年2月1日(2007.2.1)
【国際特許分類】
【出願番号】特願2006−190883(P2006−190883)
【出願日】平成18年7月11日(2006.7.11)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】