(57)【要約】【課題】  データ処理システムにおいて仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラムを提供する。【解決手段】  データ処理システムはハードウェアのトラステッド・プラットフォーム・モジュール（ＴＰＭ）を含む。このシステムでは論理的パーティションが生成される。論理的パーティションの各々に対して、異なる仮想ＴＰＭが生成される。次に、論理的パーティションの各々に関して、当該論理的パーティションに対して生成された仮想ＴＰＭが、その仮想ＴＰＭを含む論理的パーティションによる使用のための仮想裏書きクレデンシャルを動的に生成する。仮想裏書きクレデンシャルは、データ処理システムまたはそれの装置が当該データ処理システムにとっては外部にあるトラステッド第三者機関をアクセスすることなく、当該データ処理システム内で生成される。【選択図】 図１４
2007026442.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）を含むデータ処理システムにおいて仮想裏書きクレデンシャルを設定するための方法であって、
前記システムにおいて複数の論理的パーティションを生成するステップと、
前記複数の論理的パーティションの各々に関して、前記複数の論理的パーティションの１つに対して異なる仮想ＴＰＭを動的に生成するステップと、
前記複数の論理的パーティションの前記１つに対して生成された前記仮想ＴＰＭによって、前記複数の論理的パーティションの前記１つによる使用のための仮想裏書きクレデンシャルを生成するステップと、
を含み、
前記仮想裏書きクレデンシャルが、前記データ処理システムにとって外部にあるトラステッド第三者機関をアクセスすることなく前記データ処理システムにおいて生成される、方法。
【請求項２】
前記ハードウェアＴＰＭが裏書き鍵の対または裏書きクレデンシャルを含まない、請求項１に記載の方法。
【請求項３】
プラットフォーム署名公開鍵およびプラットフォーム署名秘密鍵を含むプラットフォーム署名鍵の対を前記ハードウェアＴＰＭに保存するステップを更に含む、請求項１に記載の方法。
【請求項４】
前記複数の論理的パーティションの前記１つに対して生成された前記仮想ＴＰＭによって、仮想裏書き公開鍵および仮想裏書き秘密鍵を含む仮想裏書き鍵の対を、前記複数の論理的パーティションの前記１つによる使用のために生成するステップと、
前記プラットフォーム署名秘密鍵を使用して、前記仮想裏書き公開鍵を前記仮想ＴＰＭによって署名するステップと、
を更に含み、
署名された前記仮想裏書き公開鍵が、前記複数の論理的パーティションの前記１つに対する前記仮想裏書きクレデンシャルである、請求項３に記載の方法。
【請求項５】
前記プラットフォーム署名鍵の対を利用して、前記仮想裏書き鍵の対を前記ハードウェアＴＰＭに結合するステップを更に含む、請求項４に記載の方法。
【請求項６】
前記複数の論理的パーティションの前記１つに対して生成された前記仮想ＴＰＭによって、前記複数の論理的パーティションの前記１つによる使用のために、仮想裏書き公開鍵および仮想裏書き秘密鍵を含む仮想裏書き鍵の対を生成するステップと、
前記プラットフォーム署名鍵の対を利用して、前記仮想裏書き鍵の対を前記ハードウェアＴＰＭに結合するステップと
を更に含む、請求項３に記載の方法。
【請求項７】
前記複数の論理的パーティションの前記１つによってＡＩＫ証明書要求を生成するステップと、
前記ＡＩＫ証明書要求をトラステッド第三者機関に送るステップと、
前記複数の論理的パーティションの前記１つによって、前記トラステッド第三者機関から、暗号化されたＡＩＫ証明書を受け取るステップと、
前記複数の論理的パーティションの前記１つによって、前記暗号化されたＡＩＫ証明書を、前記複数の論理的パーティションの前記１つに対して生成された前記仮想ＴＰＭに、暗号化解除のために送るステップと、
暗号化解除されたＡＩＫ証明書を前記仮想ＴＰＭから受け取るステップと
を更に含む、請求項１に記載の方法。
【請求項８】
前記複数の論理的パーティションの前記１つに対して生成された前記仮想ＴＰＭによって、仮想裏書き公開鍵および仮想裏書き秘密鍵を含む仮想裏書き鍵の対を、前記複数の論理的パーティションの前記１つによる使用のために生成するステップと、
前記仮想ＴＰＭによって、前記仮想裏書き秘密鍵を利用して前記暗号化されたＡＩＫ証明書を暗号化解除するように試みるステップと、
前記仮想裏書き秘密鍵を利用して前記暗号化されたＡＩＫ証明書を成功裏に暗号化解除したことに応答して、前記仮想ＴＰＭから、前記暗号化解除されたＡＩＫ証明書を前記複数の論理的パーティションの前記１つに送るステップと
を更に含む、請求項７に記載の方法。
【請求項９】
前記暗号化解除されたＡＩＫ証明書を前記複数の論理的パーティションの前記１つに送る前に、前記暗号化解除されたＡＩＫ証明書に含まれるＡＩＫを識別し、前記暗号化解除されたＡＩＫ証明書に含まれる前記ＡＩＫを前記仮想ＴＰＭが作成したかどうかを決定するステップと、
前記暗号化解除されたＡＩＫ証明書に含まれる前記ＡＩＫを前記仮想ＴＰＭが作成したという決定に応答して、前記仮想ＴＰＭにより、前記暗号化解除されたＡＩＫ証明書を前記複数の論理的パーティションの前記１つに送るステップと、
前記暗号化解除されたＡＩＫ証明書に含まれる前記ＡＩＫを前記仮想ＴＰＭが作成しなかったという決定に応答して、前記仮想ＴＰＭにより、前記暗号化解除されたＡＩＫ証明書を前記複数の論理的パーティションの前記１つに送ることをやめるステップと
を更に含み、
前記仮想ＴＰＭが前記ＡＩＫを作成したことを前記仮想ＴＰＭが決定したことに応答して、前記仮想ＴＰＭが前記暗号化解除されたＡＩＫ証明書を送る、請求項８に記載の方法。
【請求項１０】
ハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）を含むデータ処理システムにおいて仮想裏書きクレデンシャルを設定するための装置であって、
前記システムが複数の論理的パーティションを含むこと、
前記複数の論理的パーティションの各々に関して、ハイパーバイザが、前記複数の論理的パーティションの１つに対して異なる仮想ＴＰＭを動的に生成すること、
前記複数の論理的パーティションの前記１つに対して生成された前記仮想ＴＰＭが、前記複数の論理的パーティションの前記１つによる使用のための仮想裏書きクレデンシャルを生成すること、および
前記仮想裏書きクレデンシャルが、前記データ処理システムにとって外部にあるトラステッド第三者機関をアクセスすることなく前記データ処理システムにおいて生成されること
を特徴とする装置。
【請求項１１】
ハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）を含むデータ処理システムにおいて仮想裏書きクレデンシャルを設定するためのコンピュータ・プログラムであって、
前記システムにおいて複数の論理的パーティションを生成するためのコンピュータ使用可能プログラム・コードと、
前記複数の論理的パーティションの各々に関して、前記複数の論理的パーティションの１つに対して異なる仮想ＴＰＭを動的に生成するためのコンピュータ使用可能プログラム・コードと、
前記複数の論理的パーティションの前記１つに対して生成された前記仮想ＴＰＭによって、前記複数の論理的パーティションの前記１つによる使用のための仮想裏書きクレデンシャルを生成するためのコンピュータ使用可能プログラム・コードと
を含み、
前記仮想裏書きクレデンシャルが、前記データ処理システムにとって外部にあるトラステッド第三者機関をアクセスすることなく前記データ処理システムにおいて生成される、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムの分野に関し、詳しく云えば、トラステッド・コンピューティング・プラットフォームにおいて多数の論理的パーティションに対して動的に生成された仮想裏書き鍵に対する仮想裏書きクレデンシャルを設定するための方法、装置、及びコンピュータ・プログラムに関するものである。裏書きはエンドースメントとも呼ばれる。
【背景技術】
【０００２】
ほとんどのデータ処理システムは、保護される必要のあるセンシティなデータおよびセンシティブなオペレーションを含む。例えば、コンフィグレーション情報の保全性は不正な修正のないように保護される必要があり、一方、パスワード・ファイルのような別の情報も不正な開示のないように保護される必要がある。別の例として、データ処理システムは、他のデータ処理システムに対して自身を高い信頼性をもって識別することができる必要がある。
【０００３】
特定のデータ処理システムのオペレータが、そのデータ処理システムを保護するために種々のタイプのセキュリティ機構を使用することがある。例えば、データ処理システムにおけるオペレーティング・システムは、センシティブなデータを保護するために、種々の認証および許可方式のような種々のソフトウェア機構を提供することが可能であろうし、一方、或るハードウェア装置及びソフトウェア・アプリケーションは、センシティブなデータを保護するために、ハードウェア・セキュリティ・トークンおよびバイオメトリック・センサ装置のようなハードウェア機構に依存することも可能であろう。
【０００４】
しかし、データ処理システムのデータおよびそのオペレーションの保全性は信頼性（トラスト）の問題が中心にある。データ処理システムのデータおよびオペレーションは、他のエンティティが特定のデータ項目または特定のオペレーションに関してそのデータ処理システムとの信頼性を確立するための方法を有する場合、そのような他のシステムによって検証または受容されることが可能である。
【０００５】
従って、データ処理システムを保護する能力は、そのデータ処理システム内に信頼性を形成するまたは根付かせる方法によって制限される。データ処理システムを保護するという問題に対処するために、信頼のおけるコンピューティングのためのオープン・スタンダードおよび仕様を広めるために、企業の共同体がトラステッド・コンピューティング・グループ（ＴＣＧ）を形成した。ＴＣＧの仕様によれば、所与のデータ処理システムにおける信頼性またはデータ処理システムと他のエンティティとの間の信頼性は、トラステッド・プラットフォーム・モジュール（ＴＰＭ）と呼ばれるハードウェア・コンポーネントがそのデータ処理システムに存在することに基づいている。
【０００６】
トラステッド・プラットフォームは、１つのエンティティがそのプラットフォームにおけるソフトウェア環境の状態を決定すること、およびそのプラットフォームにおける特定のソフトウェア環境に対してデータを封印することを可能にする。エンティティは、そのプラットフォームにおけるコンピューティング環境の状態がそのプラットフォームと取引を行う前に受容可能であるかどうかを推測する。
【０００７】
現在のコンピューティング・システム、特に、大規模サーバ・システムは、複数の仮想マシンの動作に対するサポートを含んでいる。システムは、コンピューティング要件を変更することによって顧客をサポートするために、単一のハードウェア・プラットフォーム上で数百個のサーバ・インスタンスを実行する大規模オンデマンド・サーバ・システムであることがある。これらのシステムのうちで最も融通性のあるシステムでは、オペレーティング・システムおよびアプリケーション・ミックスにおいて異なることがある複数のパーティションが同時にシステム・メモリに存在し、各パーティションにおいて実行されるプロセスが、ゲスト・オペレーティング・システムにおけるそれらの実行をサポートする環境で実行される。仮想マシンは、オペレーティング・システムが殆どまたは全く修正なく動作し得る実ハードウェア・プラットフォームと完全に同じ環境を提供する。ハイパーバイザ（仮想マシン・モニタと呼ばれることがある）は、各パーティションが各オペレーティング・システム・インスタンスにマシンのような環境を提供するように、すべての仮想マシンを管理し、システム・リソースを抽象化する。
【０００８】
上記の体系上の目標を具現化するために、複数の処理モジュールおよび他の装置がシステムに設置される。各装置は一般に１つまたは複数の上記パーティションをサポートするが、複数の装置間で１つのパーティションに関するタスクを分担することも可能である。装置のグループまたは個々の装置を特定の顧客と関連付けることが可能であり、装置およびシステムの製造業者から装置を保護することを含めて、その顧客だけによる装置またはグループに対するアクセスを保証することが望ましい。
【０００９】
そのようなシステムにおけるセキュリティを提供するために、装置は、それがシステムに固定されて取り外しを防止したり、装置からデータを取り出すことまたはデータが取り出されたシステムまたはその一部分に「なりすます」ように装置を使用すること、によって生じ得るデータ・マイニングを防止しなければならない。固定化は、例えば、装置がシステムに永続的に取り付けられるという物理的なものであることも可能であり、あるいは、固定化は、取外し可能な装置およびネットワーク接続されたシステムを許容するために暗号化手法で達成することも可能である。
【００１０】
上記の取外し可能な装置およびネットワーク接続された装置は、その装置が暗号化手法でシステムに固定されない場合、システムにおいて起動することを拒否することによって、データ改ざんまたはなりすましからの保護を提供する。固定化と関連した情報は、一般に、暗号化され、製造業者によって装置内の不揮発性記憶装置に保存される。上記の機構の場合、トラステッド・システムだけが特定の装置と関連したデータまたは特定の装置に保存されたデータをアクセスすることができ、取外し可能な装置の悪用または誤用の影響を劇的に減らすことができる。更に、（上記仮想マシンの１つの保存されたコンテキストまたは「状態」のような）装置と関連したデータは、関連の装置内に保存されている鍵を必要とする暗号化機構によって保護される。その二層機構、即ち、特定の装置に向けられたハードウェア固定化およびデータ暗号化が取外し可能な装置の悪用または誤用によるデータ・マイニングを防止する高レベルのセキュリティを提供する。
【００１１】
一般に、ハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）には、裏書き鍵（ＥＫ）の対が保存される。裏書き鍵の各対は、それが保存される特定のハードウェアＴＰＭにとって固有のものである。裏書き鍵の対は公開裏書き鍵およびそれの対応する秘密裏書き鍵を含む。公開裏書き鍵がデータを暗号化するために使用される場合、その公開裏書き鍵に対応する秘密裏書き鍵だけがその暗号化データを暗号解除することができる。データを暗号化するために秘密裏書き鍵が使用される場合、その秘密裏書き鍵に対応する公開裏書き鍵だけがその暗号化データを暗号解除することができる。
【００１２】
裏書き鍵の対は、ＴＰＭが製造されるとき、ＴＰＭの製造業者によってそのＴＰＭ内に保存される。
【００１３】
裏書き鍵の他に、裏書きクレデンシャルもＴＰＭが製造されるとき、ＴＰＭの製造業者によってそのＴＰＭ内に保存される。裏書きクレデンシャルは、ＴＰＭの公開裏書き鍵のコピーを含む。
【００１４】
裏書き鍵および裏書きクレデンシャルは、ＴＰＭを含むシステムにとって外部にあるトラステッド第三者機関から証明識別鍵（ＡＩＫ）証明書を得るために、そのトラステッド第三者機関に対する特定のＴＰＭを識別するために使用される。証明識別鍵は、システムがＴＰＭを含むことおよびＴＰＭが正当であることを表すために、そのシステムによって使用される。
【００１５】
ほとんどの既知のシステムは、システム全体に信頼性サービスを提供するために単一ハードウェアＴＰＭを使用する。或るハードウェアＴＰＭは、パーティション化ができない単一コンピュータ・システムに対するサービスを提供するように設計される。従って、既存のシステムは、単一システム全体に信頼性を与えるために単一ハードウェアＴＰＭを利用する。
【００１６】
しかし、高パフォーマンスのサーバは、複数のスレッドにおけるトラステッド・プラットフォーム・モジュールに対して同時にアクセスすることを必要とするパーティション可能なマルチスレッド環境をサポートする。このタイプの環境は、サポートされた複数のパーティションの各々に物理的リソースを割り当て、それをパーティション化する。更に、各パーティションは、自身のオペレーティング・システムおよびアプリケーションを実行することができる個別の論理的コンピュータ・システムと考えることができる。１つのパーティションによって実行されるオペレーティング・システムが、他のパーティションによって実行されるオペレーティング・システムとは異なっていてもよい。
【００１７】
単一ハードウェアＴＰＭおよび複数の論理的パーティションを含むシステムにとって、各論理的パーティションに対して独得の裏書き鍵の対および裏書きクレデンシャルを提供することを求める要求が存在する。従って、例えば、システムが４つの論理的パーティションを含む場合、４つの個別且つ独得の裏書き鍵の対および関連の裏書きクレデンシャルが必要となるであろう。
【００１８】
しかし、ハードウェアＴＰＭにおいて複数の裏書き鍵の対および裏書きクレデンシャルを生成および保存することは、論理的パーティションが必要に応じて作成および破壊されることを、このＴＰＭを含む複合システムが許容しているので、実用的ではない。従って、論理的パーティションの数、従って、必要な裏書き鍵の対および裏書きクレデンシャルの数は、ＴＰＭが製造されるときにはわからない。
【発明の開示】
【発明が解決しようとする課題】
【００１９】
トラステッド・コンピューティング・プラットフォームにおいて複数の論理的パーティションに対して動的に生成される仮想裏書き鍵の対に対する仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラムを求める要求が存在する。
【課題を解決するための手段】
【００２０】
データ処理システムにおいて仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラムが開示される。データ処理システムはハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）を含む。そのシステムでは論理的パーティションが生成される。論理的パーティションの各々に対して、異なる仮想ＴＰＭが生成される。次に、その論理的パーティションの各々に関して、当該論理的パーティションに対して生成された仮想ＴＰＭが、その仮想ＴＰＭを含む論理的パーティションによる使用のための仮想裏書きクレデンシャルを動的に生成する。仮想裏書きクレデンシャルは、データ処理システムまたはその装置が当該データ処理システムにとっては外部にあるトラステッド第三者機関をアクセスすることなく、当該データ処理システム内で生成される。
【００２１】
以下の詳細な説明において、本発明の上記のおよび更なる目的、特徴、および利点が明らかとなるであろう。
【発明を実施するための最良の形態】
【００２２】
図面を参照することによって、本発明の好適な実施例およびその利点を十分に理解することが可能であろう。これらの図面では、同様の素子および他の図面の対応する素子に対して同じ参照番号が使用される。
【００２３】
本発明は、データ処理システムにおいて仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラムに関するものである。データ処理システムは、ハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）を含む。プラットフォーム署名鍵の対およびプラットフォーム署名鍵クレデンシャルが、共に、ＴＰＭが製造されるとき、ＴＰＭの製造業者によってハードウェアＴＰＭに保存される。裏書き鍵の対および裏書きクレデンシャルはこのハードウェアＴＰＭでは必要とされず、保存されない。
【００２４】
論理的パーティションがシステムにおいて生成される。論理的パーティションの各々に対して、異なる仮想ＴＰＭが生成される。論理的パーティションの各々に関して、その論理的パーティションに対して生成された仮想ＴＰＭが、その論理的パーティションに対する仮想裏書き鍵の対を動的に生成する。従って、各論理的パーティションは、それ自身の仮想ＴＰＭおよびそれ自身の仮想裏書き鍵の対を有する。各仮想裏書き鍵（ＥＫ）の対は、ＥＫ公開鍵およびそれの対応するＥＫ秘密鍵を含む。
【００２５】
各仮想ＴＰＭは、それの論理的パーティションによる使用のために仮想裏書きクレデンシャルを動的に生成することができる。仮想ＴＰＭは、その仮想ＴＰＭがハードウェアＴＰＭのプラットフォーム署名鍵秘密鍵を使用して論理的パーティションの仮想ＥＫ公開鍵を署名することによって、その論理的パーティションによる使用のための仮想裏書きクレデンシャルを生成する。
【００２６】
このように、各論理的パーティションに対して、その論理的パーティンの仮想ＴＰＭに独得の仮想裏書き鍵の対が存在する。そこで、論理的パーティションの仮想裏書き鍵の対をハードウェアＴＰＭに結合するために、プラットフォーム署名鍵が論理的パーティションの仮想ＴＰＭによって使用される。
【００２７】
本発明は、データ処理システム内で、そのシステムにとって外部にあるトラステッド第三者機関をアクセスすることなく、論理的パーティションに対する仮想裏書きクレデンシャルの作成を行う。
【００２８】
データ処理システムの外部にあるトラステッド第三者機関によって仮想裏書きクレデンシャルが作成されるためには、論理的パーティションは、仮想裏書き鍵を外部のトラステッド第三者機関に送らなければならないであろう。そこで、外部のトラステッド第三者機関は仮想裏書きクレデンシャルを作成し、それを、論理的パーティションによる使用のためにシステムに送り返すであろう。本発明によれば、これは行われず、不必要である。
【００２９】
図１は、従来技術によるデータ処理システムのネットワークを示す。分散型データ処理システム１００は、その分散型データ処理システム１００内で相互接続された種々の装置およびコンピュータの間の通信リンクを提供するために使用することが可能なネットワーク１０１を含む。ネットワーク１０１は、ワイヤもしくは光ファイバ・ケーブルのような永久的接続、または電話もしくはワイヤレス通信を介して行われる一時的接続を含み得る。図示の例では、サーバ１０２およびサーバ１０３がストレージ・ユニット１０４と共にネットワーク１０１に接続される。更に、クライアント１０５〜１０７もネットワーク１０１に接続される。クライアント１０５〜１０７およびサーバ１０２〜１０３は、メインフレーム、パーソナル・コンピュータ、パーソナル・デジタル・アシスタント（ＰＤＡ）等のような種々のコンピュータ装置に相当し得る。分散型データ処理システム１００は、更なるサーバ、クライアント、ルータ、他の装置、および図示されてない対等通信アーキテクチャを含み得る。
【００３０】
図示の例では、分散型データ処理システム１００は、ネットワーク１０１がＬＤＡＰ、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＷＡＰ等のような種々のプロトコルを使用して相互に通信するネットワークおよびゲートウェイの世界的な集合体を表しているようなインターネットを含み得る。もちろん、分散型データ処理システム１００は、例えば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）のような多数の種々のタイプのネットワークも含み得る。例えば、無線通信リンクを組み込んだサーバ１０２がクライアントおよびネットワーク１０１を直接にサポートする。ネットワーク対応電話１１１がワイヤレス・リンク１１２を介してネットワーク１１０に接続し、ＰＤＡ１１３がワイヤレス・リンク１１４を介してネットワーク１１０に接続する。電話１１１およびＰＤＡ１１３は、いわゆるパーソナル・エリア・ネットワーク（ＰＡＮ）またはパーソナル随時ネットワークを形成するために、Bluetooth（登録商標）無線技術のような適切な技術を使用して無線リンク１１５を介してそれらの間でデータを直接に転送することも可能である。同様の方法で、ＰＤＡ１１３は、無線通信リンク１１６を介してＰＤＡ１０７にデータを転送することもできる。
【００３１】
図２は、本発明を適用し得る従来技術によるコンピュータ・アーキテクチャを示す。データ処理システム１２０は、内部システム・バス１２３に接続された１つまたは複数の中央処理ユニット（ＣＰＵ）１２２を含む。システム・バス１２３は、ランダム・アクセス・メモリ（ＲＡＭ）１２４、リード・オンリ・メモリ（ＲＯＭ）１２６、および入出力（Ｉ／Ｏ）アダプタ１２８を相互接続する。入出力アダプタ１２８は、プリンタ１３０、ディスク・ユニット１３２のような種々のＩ／Ｏ装置、または音声出力システム等のような図示されてない他の装置をサポートする。システム・バス１２３は、通信リンク１３６に対してアクセスを行う通信アダプタ１３４も接続する。ユーザ・インターフェース・アダプタ１４８は、キーボード１４０およびマウス１４２のような種々のユーザ装置、またはタッチ・スクリーン、スタイラス、マイクロフォン等のような図示されてない他の装置を接続する。ディスプレイ・アダプタ１４４は、システム・バス１２３をディスプレイ装置１４６に接続する。
【００３２】
図２におけるハードウェアがシステムの実装形態に応じて変更し得ることは当業者には明らかであろう。例えば、システムは、Intel（登録商標）Pentium（登録商標）ベースのプロセッサ、デジタル信号プロセッサ（ＤＳＰ）のような１つまたは複数のプロセッサ、および１つまたは複数のタイプの揮発性および不揮発性メモリを有してもよい。図２に示されたハードウェアの他に、またはそれの代わりに、他の周辺装置を使用することも可能である。図示の例は、本発明に関するアーキテクチャ上の限定事項を暗示することを意味するものではない。
【００３３】
図３は、本発明を適用し得る従来技術による分散型データ処理システムを示す。分散型データ処理システム１５０は、複数のノード１５２〜１５６を含む。それらのノードの各々は、通信スイッチまたはネットワークに接続されたシングル・プロセッサ装置またはマルチプロセッサ装置でもよい。ノード１５２〜１５６は、中央電子複合（ＣＥＣ）ユニットとして実装することが可能である。ハイパーバイザ１６０は、システム１５０の分散型データ処理ノードの共用計算リソースにおける１つまたは複数のオペレーティング・システムおよび／またはオペレーティング・システム・パーティション１６２〜１６８の複数インスタンスをサポートする。ハイパーバイザ１６０は、システム・レベル・サービス・プロセッサ１７０と通信する。サービス・プロセッサ１７０は、システム１５０をブートすることおよび共用リソースの可用性を監視することに寄与する。各分散型データ処理ノードは、少なくとも１つのサービス・プロセッサ、例えば、サービス・プロセッサ１７２〜１７６と関連している。サービス・プロセッサ１７２〜１７６の各々は、それの関連ノードをブートすることおよび各ノードを監視するときにシステム・レベル・サービス・プロセッサ１７０を援助することに寄与する。サービス・プロセッサは、それの関連ノードへの種々の物理的接続を通してノードと関連付けることが可能である。例えば、サービス・プロセッサのハードウェア・カードをＰＣＩバスに取り付けることが可能である。各ノードは複数のサービス・プロセッサを持ち得るが、１つのサービス・プロセッサしかそれの関連ノードをブートすることに寄与し得ないであろう。
【００３４】
本発明は、種々のハードウェア・プラットフォームおよび計算環境において実施することが可能である。図１、図２、および図３は、異種の計算環境の例として意図するものであり、本発明に対するアーキテクチャ上の限定を意図するものではない。
【００３５】
本発明は、種々のハードウェア・プラットフォームおよび計算環境において実施し得ることに加えて、種々のソフトウェア環境においても実施することが可能である。各データ処理システム内でのプログラム実行を制御するために、代表的なオペレーティング・システムを使用することが可能である。例えば、或る装置は Unix（登録商標）オペレーティング・システムを実行し得るし、一方、別の装置は簡単な Java（登録商標）ランタイム環境を含む。代表的なコンピュータ・プラットフォームは、グラフィック・ファイル、ワード処理ファイル、拡張可能マークアップ言語（ＸＭＬ）、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）、ハンドヘルド・デバイス・マークアップ言語（ＨＤＭＬ）、ワイヤレス・マークアップ言語（ＷＭＬ）、および種々の他のフォーマットおよびタイプのファイルのような種々のフォーマットにおけるハイパーテキスト・ドキュメントをアクセスするための周知のソフトウェア・アプリケーションであるブラウザを含み得る。
【００３６】
本発明は、上述のように、種々のハードウェアおよびソフトウェア・プラットフォームにおいて実施することが可能である。更に詳しく云えば、本発明はトラステッド・コンピューティング・プラットフォームに関連する。
【００３７】
図４は、本発明に従う論理的にパーティション化された基本プラットフォームのブロック図である。論理的にパーティション化された基本プラットフォーム２５０は、パーティション化されたハードウェア２５２、ハイパーバイザとも呼ばれるパーティション管理ファームウェア２５４、およびパーティション２５６〜２５９を含む。パーティション２５６〜２５９内には、オペレーティング・システム２６１〜２６４が存在する。オペレーティング・システム２６１〜２６４は、単一のオペレーティング・システムの複数コピー、またはプラットフォーム２５０上で同時に動作する複数の異種のオペレーティング・システムであってもよい。
【００３８】
パーティション化されたハードウェア２５２は、複数のプロセッサ２６５〜２６８、複数のシステム・メモリ・ユニット２７０〜２７３、複数の入出力（Ｉ／Ｏ）アダプタ２７４〜２８１、およびストレージ・ユニット２８２を含む。プロセッサ２６５〜２６８、メモリ・ユニット２７０〜２７３、ＮＶＲＡＭ２８３、およびＩ／Ｏアダプタ２７４〜２８１の各々は、複数のパーティション２５６〜２５９の１つに割り当てることが可能である。
【００３９】
ハイパーバイザ２５４は、基本プラットフォーム２５０をパーティション化することに寄与する。パーティション管理ファームウェア（ハイパーバイザ）２５４は、論理的にパーティション化された基本プラットフォーム２５０のパーティション化を生じさせ且つ強化するために、パーティション２５６〜２５９に対する多数の機能およびサービスを遂行する。ハイパーバイザ２５４は、基礎となるハードウェアと同じファームウェア実装仮想マシンである。ファームウェアは、例えば、リード・オンリ・メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、および不揮発性ランダム・アクセス・メモリ（不揮発性ＲＡＭ）のような電力無しでその内容を保つメモリに保存された「ソフトウェア」である。従って、ハイパーバイザ２５４は、論理的にパーティション化された基本プラットフォーム２５０のすべてのハードウェア・リソースを仮想化することによって、独立したＯＳイメージ２６１〜２６４の同時実行を可能にする。ハイパーバイザ２５４は、ＯＳイメージ２６１〜２６４の１つによる使用のために、Ｉ／Ｏアダプタ２７４〜２８１を通して単一の仮想マシンにＩ／Ｏ装置を取り付けることが可能である。
【００４０】
データ処理システム１２０はサービス・プロセッサ２９０を含む。サービス・プロセッサは、システム１２０内で自身のオペレーティング・システムを実行する個別のハードウェア・パーティションである。
【００４１】
１つまたは複数のハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）を含むトラステッド・ビルディング・ブロック（ＴＢＢ）２９９をプラットフォーム２５０内に含むことが可能である。
【００４２】
図５は、本発明に従って修正されたトラステッド・プラットフォーム・アーキテクチャを示す。本発明に関連して後述する場合を除いて、ＴＰＭの残りのコンポーネントは、ＴＣＧのＰＣ固有の実装仕様に従って動作する。
【００４３】
ＴＢＢは、ＣＲＴＭ（Core Root of Trust Measurement）コンポーネント、トラステッド・プラットフォーム・モジュール（ＴＰＭ）、ＣＲＴＭとマザーボード２１６との接続、およびＴＰＭとマザーボード２１６との接続の組合せを含む。例えば、ＴＢＢ２２８は、ＴＰＭ２２７とＣＲＴＭ２２５とを含む。
【００４４】
ＴＢＢは、システム２００のプラットフォームの１つにトラストを提供する。ＴＢＢは、それ自身のＣＲＴＭを含む。ＣＲＴＭは、プラットフォーム・リセット時に実行されるプラットフォームの初期設定コードの不変部分である。これは、ＣＲＴＭを含むＴＢＢがそのサービスを提供するプラットフォームである。
【００４５】
プラットフォームの実行は、如何なるプラットフォーム・リセット事象時にもＣＲＴＭにおいて始まらなければならない。このように、プラットフォームにおけるトラストは、ＣＲＴＭとＴＰＭの振る舞いとに基づいており、すべての測定におけるトラストがＣＲＴＭの完全性に基づいている。
【００４６】
例えば、ＢＩＯＳが、ＢＩＯＳブート・ブロックおよびＰＯＳＴＢＩＯＳ２２６を含むものと仮定する。これらの各々は、相互に独立して更新することが可能な独立したコンポーネントであり、製造業者は、ＢＩＯＳブート・ブロックの更新、修正、及び維持管理を制御しなければならないが、第三者の供給業者がＰＯＳＴＢＩＯＳコンポーネントを更新、修正、または維持管理することも可能である。図５に示された例では、ＣＲＴＭ２２５はＢＩＯＳブート・ブロックであるものと仮定され、ＰＯＳＴＢＩＯＳはトラストのチェーンの測定されたコンポーネントである。代替として、ＣＲＴＭがＢＩＯＳ全体を構成することも可能である。
【００４７】
それらのソフトウェア・コンポーネントは、図１に示されたネットワーク１０１のようなネットワークを介して受信することが可能であり、あるいは、例えば、ハード・ディスク２１０に保存することも可能である。プラットフォーム２０８は、アドオン・カード２１４及びマザーボード２１６におけるソフトウェア・コンポーネントを実行するための電力を電源装置２１２から受ける。なお、マザーボード２１６は複数のＣＰＵを含み得るが、ＣＰＵ２１８及びメモリ２２０のような、ソフトウェアを実行するための代表的なコンポーネントを含む。インターフェース２２２がマザーボード２１６をシステム２００における他のハードウェア・コンポーネントに接続し、ファームウェア２２４がＰＯＳＴＢＩＯＳ２２６を含む。
【００４８】
図６は、本明細書で説明するハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）を本発明に従って実装するために利用することが可能なＴＰＭを表すブロック図を示す。
【００４９】
トラステッド・プラットフォーム・モジュール３００は入出力コンポーネント３０２を含み、その入出力コンポーネントは、適正なプロトコル・エンコーディング／デコーディング・オペレーションを実行すること及びメッセージを適正なコンポーネントに経路指定することによって、通信バス３０４を介した情報フローを制御する。暗号化コプロセッサ３０６はトラステッド・プラットフォーム・モジュールにおいて暗号化オペレーションを行う。鍵生成装置３０８は、対称鍵及びＲＳＡ非対称暗号化鍵の対を作成する。ＨＭＡＣ生成装置３１０は、ＨＭＡＣ計算を行い、それによって、メッセージ認証コードが、２つのパーティ間で伝送された情報を正当化するための完全性チェックとして秘密鍵を使用して計算される。それは、例えば、Krawczyk外、“HMAC:Keyed-Hashing for Message Authentication”、Request for Comments(RFC) 2104,Internet Engineering Task Force(IETF), Feb. 1997に示されている。
【００５０】
乱数発生装置３１２は、ナンス（nonce）、鍵、または他の値のような種々の値を計算するための無作為性のソースとして作用する。ＳＨＡ−１エンジン３１４は、ＳＨＡ―１ハッシュ・アルゴリズムを実装する。電力検出装置３１６は、トラステッド・プラットフォーム・モジュールの電力状態をプラットフォームの電力状態と関連して管理する。オプトイン・コンポーネント３１８は、永続的フラグ及び揮発性フラグの状態を維持管理し、トラステッド・プラットフォーム・モジュールがイネーブル及びディセーブルされるようにそれらのフラグと関連したセマンティクスを強化する。実行エンジン３２０は、トラステッド・プラットフォーム・モジュールが入出力コンポーネント３０２を介して受け取るコマンドを実行するためにプログラム・コードを稼動させる。不揮発性メモリ３２２は、トラステッド・プラットフォーム・モジュールに関連した永続的ＩＤ及び状態を保存する。不揮発性メモリは、静的データ項目を保存することも可能であるが、そのトラステッド・プラットフォーム・モジュールの所有者によって許可されたエンティティによる動的データ項目の保存のためにも利用可能である。一方、揮発性メモリ３２４は動的データ項目を保存する。
【００５１】
暗号化鍵３５２はＴＰＭ３００内に保存される。他の装置を認証するために、および／または他の装置と通信するために、種々の暗号化鍵をＴＰＭ３００が利用することも可能である。暗号化鍵３５２はＴＰＭの他のコンポーネントとは別個に示されているが、一般には、種々の暗号化鍵が不揮発性メモリ３２２に記憶されるであろう。
【００５２】
本発明によれば、暗号化鍵は、プラットフォーム署名鍵（ＰＳＫ）及びプラットフォーム署名鍵クレデンシャルを含む。暗号化鍵３５２には他の暗号化鍵が保存されることも可能であるが、本発明によれば、裏書き鍵の対および裏書き鍵クレデンシャルは鍵３５２には保存されない。
【００５３】
図７は、従来技術に従ってトラステッド・プラットフォーム・モジュール（ＴＰＭ）に保存される鍵のブロック図を示す。従来技術によれば、鍵３６０は、公開裏書き鍵及びそれの対応した秘密裏書き鍵を含む裏書き鍵の対、並びに裏書き鍵クレデンシャルを含む。裏書き鍵クレデンシャルは公開裏書き鍵を含む。
【００５４】
図８は、本発明に従ってスケーラブルな数の論理的パーティションに信頼性を与えるスケーラブル・ハードウェアＴＰＭを表すブロック図である。データ処理システム４００は、そのデータ処理システム４００の共用計算リソースにおける１つまたは複数のオペレーティング・システムおよび／または論理的パーティション（ＬＰＡＲ）の複数のインスタンスをサポートするハイパーバイザ４０２を含む。例えば、ハイパーバイザ４０２は、ＬＰＡＲ４０４、４０６、４０８、４１０、４１２、および４１４をサポートする。
【００５５】
各ＬＰＡＲは、ＴＣＧソフトウェア・スタック（ＴＳＳ）およびＴＰＭデバイス・ドライバ（ＴＰＭＤＤ）を含む仮想ＴＰＭを含む。各仮想ＴＰＭは、ハイパーバイザによって論理的パーティションに対して生成される。例えば、ＬＰＡＲ４０４はＴＳＳ４１６およびＴＰＭＤＤ４１８を含み、一方、ＬＰＡＲ４０６はＴＳＳ４２０およびＴＰＭＤＤ４２２を含む。他のＬＰＡＲも、図示されてないそれ自身のＴＳＳおよびＴＰＭＤＤを含む仮想ＴＰＭを含む。ＴＳＳ４１６およびＴＳＳ４２０は、オペレーティング・システム、アプリケーション、または他のソフトウェア・コンポーネントがＴＰＭとインターフェースするために利用するホスト・プログラミング・インターフェースの仕様を実装する。ＴＳＳは、１つのエンティティが共通アプリケーション・プログラミング・インターフェース（ＡＰＩ）を介してインターフェースし得るＴＳＳサービス提供者、鍵の記憶装置およびコンテキストの集中管理を行い且つホストにおけるＴＰＭとの直接対話を処理するＴＳＳコア・サービス、並びにＴＰＭデバイス・ドライバ・ライブラリおよびＴＰＭＤＤ４１８またはＴＰＭＤＤ４２２のようなＴＰＭＤＤを含む。一般に、ＴＰＭに対するすべてのインターフェース作用は、ＴＳＳサービス提供者インターフェース（ＴＳＰＩ）またはそのＴＳＰＩ上のＡＰＩを通して生じる。
【００５６】
ハイパーバイザ４０２は、種々のパーティション間におけるプラットフォームのパーティション化を形成および強化することに寄与するファームウェアである。ハイパーバイザ４０２は、オペレーティング・システム・イメージ間の干渉を防ぐように、ファームウェア・サービスのセットを各パーティションにおけるオペレーティング・システムに提供する。各パーティションは、他の論理的パーティションにおいて実行されるオペレーティング・システムと同じまたはそれとは異なるオペレーティング・システムがそのパーティションにおいて実行されることを含む。ハイパーバイザ４０２は、それらの論理的パーティションを管理し、各パーティションに割り振られる物理的装置の割り振りおよび管理を行う。
【００５７】
論理的パーティションがハードウェアＴＰＭ４４０を直接にアクセスすることを可能にする代わりに、仮想ＴＰＭが、ハイパーバイザによって各論理的パーティションに与えられる。各仮想ＴＰＭは、この図のＬＰＡＲ（０）４０４およびＬＰＡＲ（１）４０６においてＴＰＭサービスを利用する。
【００５８】
本発明によれば、論理的パーティションにとって独得の仮想裏書き鍵の対および仮想裏書きクレデンシャルが各論理的パーティションにおいて形成および保存される。例えば、仮想裏書き鍵の対［vEK(0)］４０４ｂが論理的パーティション４０４に対する仮想ＴＰＭ４０４ａによって形成される。仮想裏書きクレデンシャル４０４ｃも論理的パーティション４０４に対する仮想ＴＰＭ４０４ａによって形成される。仮想裏書きクレデンシャル４０４ｃは、公開仮想裏書き鍵４０４ｂのコピーを含む。
【００５９】
仮想裏書き鍵の対［vEK(0)］４０４ｂは論理的パーティション４０６に対する仮想ＴＰＭ４０６ａによって形成される。仮想裏書きクレデンシャル４０４ｃも論理的パーティション４０６対する仮想ＴＰＭ４０６ａによって形成される。仮想裏書きクレデンシャル４０４ｃは公開仮想裏書き鍵４０６ｂのコピーを含む。
【００６０】
図９は、従来技術に従ってハードウェア・トラステッド・プラットフォーム・モジュールにおいて裏書き鍵の対および裏書きクレデンシャルを保存することを示す高レベルのフローチャートである。ブロック５００によって示されるようにプロセスが開始し、しかる後、ブロック５０２に進む。ブロック５０２は、ＴＰＭの製造時にハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）において裏書き鍵の対を保存することを示す。次に、ブロック５０４は、製造業者がこの裏書き鍵の対に対する裏書きクレデンシャルを発行することを示す。裏書きクレデンシャルは裏書き公開鍵を含む。そこで、プロセスは、ブロック５０６によって示されるように終了する。
【００６１】
図１０は、従来技術に従ってユーザがＡＩＫ証明書を得ることを示す高レベルのフローチャートである。プロセスはブロック６００によって示されるように開始し、しかる後、ユーザがＡＩＫ証明書を必要としていることを示すブロック６０２に進む。ユーザは、システムにおいて実行されるアプリケーションのような任意のユーザである。
【００６２】
アテステーション（証明）として知られたプロセスにおいて、アテステーションＩＤ鍵が使用される。アテステーションは、装置内に維持管理される情報に、ハードウェアＴＰＭがデジタル的に署名し、それを情報がＴＰＭによって保護されることを第三者に対する証明として供給する。ＡＩＫは、ここでは、匿名性を提供するために使用される。その論拠は、一人が数千のＡＩＫを持つことができ、従って、特定のＴＰＭまたはシステムまでその使用を追跡することができないということである。ＡＩＫクレデンシャルは、ＡＩＫがＴＰＭから生じるという証拠であるが、それがどの特定のＴＰＭからのものであるかを伝えるものではない。
【００６３】
次に、ブロック６０４は、ユーザがＡＩＫ鍵の対を生成するようにシステムのハードウェアＴＰＭに伝えることを示す。次のブロック６０６は、ユーザがハードウェアＴＰＭからＡＩＫ公開鍵を受け取ることを示す。次に、プロセスはブロック６０８に進む。ブロック６０８は、ユーザがＡＩＫ証明書要求を生成することおよびその要求にＡＩＫ公開鍵を含むことを示す。しかる後、ブロック６１０は、ユーザがハードウェアＴＰＭから裏書きクレデンシャルを得ることを示す。裏書きクレデンシャルは裏書き鍵（ＥＫ）公開鍵を含む。
【００６４】
次に、ブロック６１２は、ユーザがＡＩＫ証明書要求および裏書きクレデンシャルをトラステッド第三者機関に送ることを示す。しかる後、ブロック６１４は、ユーザが暗号化されたＡＩＫ証明書をトラステッド第三者機関から受け取ることを示す。次に、ブロック６１６は、ユーザがその暗号化されたＡＩＫ証明書を暗号化解除するようにシステムのハードウェアＴＰＭに要求することを示す。
【００６５】
次にプロセスはブロック６１８に進む。ブロック６１８は、ユーザが暗号化解除されたＡＩＫ証明書を受け取ったかどうかの決定を示す。ユーザが暗号化解除されたＡＩＫ証明書を受け取ったという決定が行われる場合、プロセスはブロック６２０に進む。ブロック６２０は、ユーザがそのＡＩＫ証明書を使用することを示す。そこで、プロセスはブロック６２２によって示されるように終了する。ブロック６１８を再び参照すると、ユーザが暗号化解除されたＡＩＫ証明書を受け取っていないという決定が行われる場合、プロセスはブロック６２２によって示されるように終了する。
【００６６】
図１１は、従来技術に従ってユーザに対する暗号化されたＡＩＫ証明書を暗号化解除するハードウェア・トラステッド・プラットフォーム・モジュールを示す高レベルのフローチャートである。プロセスはブロック７００によって示されるように開始し、しかる後、ブロック７０２に進む。ブロック７０２は、ＡＩＫ鍵の対を生成するための命令をハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）がユーザから受けることを示す。次に、ブロック７０４は、ハードウェアＴＰＭがＡＩＫ鍵の対を生成することを示す。
【００６７】
次に、ブロック７０６は、ＴＰＭがＡＫＩ公開鍵をユーザに送ることを表す。しかる後、ブロック７０８は、ＴＰＭがハードウェアＴＰＭによって暗号化解除されるべきＡＩＫ証明書を受け取ることを示す。次に、ブロック７１０は、ＴＰＭがハードウェアＴＰＭの裏書き鍵（ＥＫ）秘密鍵を使用してその暗号化されたＡＩＫ証明書を暗号化解除しようとすることを示す。
【００６８】
次に、ブロック７１２は、ハードウェアＴＰＭがＥＫ秘密鍵を使用してＡＩＫ証明書を暗号化解除することができたかどうかの決定を示す。ＥＫ秘密鍵は、このＥＫ秘密鍵および対応する公開鍵を含む鍵の対の一部である。ＡＩＫ証明書が対応するＥＫ公開鍵を使用して暗号化された場合、ハードウェアＴＰＭはＥＫ秘密鍵を使用してその暗号化されたＡＩＫ証明書を暗号化解除することができるであろう。これは、このハードウェアＴＰＭのＥＫ鍵の対がＡＩＫ証明書の暗号化において使用されたことを保証する。ＡＩＫ証明書がこのＥＫ秘密鍵に対応しないＥＫ秘密鍵を使用して暗号化された場合、ハードウェアＴＰＭはＡＩＫ証明書を暗号化解除することができないであろう。
【００６９】
ハードウェアＴＰＭがそのＥＫ秘密鍵を使用して、暗号化されたＡＩＫ証明書を暗号化解除することができなかったという決定が行なわれる場合、プロセスはブロック７２０によって示されるように終了する。再びブロック７１２を参照すると、ハードウェアＴＰＭがそのＥＫ秘密鍵を使用して、暗号化されたＡＩＫ証明書を暗号化解除することができたという決定が行なわれる場合、プロセスはブロック７１４に進む。ブロック７１４は、暗号化解除された証明書に含まれるＡＩＫ公開鍵を、ハードウェアＴＰＭがこのＡＩＫ公開鍵を作成したかどうかを決定するためにハードウェアＴＰＭがブロック７１４において生成したハードウェアＴＰＭのＡＩＫ公開鍵と比較することを示す。
【００７０】
次に、ブロック７１６は、ハードウェアＴＰＭがこのＡＩＫ公開鍵を作成したかどうかの決定を示す。ハードウェアＴＰＭがこのＡＩＫ公開鍵を作成しなかったという決定が行われる場合、プロセスは、ブロック７２０によって示されるように終了する。ブロック７１６を再び参照すると、ハードウェアＴＰＭがこのＡＩＫ公開鍵を作成したという決定が行われる場合、プロセスは、ブロック７１８に進む。ブロック７１８は、ハードウェアＴＰＭがその暗号化解除されたＡＩＫ証明書をユーザに提供することを示す。そこで、プロセスは、ブロック７２０によって示されるように終了する。
【００７１】
図１２は、従来技術に従ってトラステッド第三者機関が１つの暗号化されたＡＩＫ証明書を作成してそれを要求ユーザに送ることを示す高レベルのフローチャートである。プロセスはブロック８００によって示されるように開始し、しかる後、ブロック８０２に進む。ブロック８０２は、トラステッド第三者機関がユーザからＡＩＫ証明書要求および裏書きクレデンシャルを受け取ることを示す。ＡＩＫ証明書要求はＡＩＫ公開鍵を含む。裏書きクレデンシャルはＥＫ公開鍵を含む。
【００７２】
次に、プロセスはブロック８０４に進む。ブロック８０４は、その証明書が他のトラステッド第三者機関によって署名されたことを検証することによって当該トラステッド第三者機関が裏書きクレデンシャルを検証することを示す。次に、ブロック８０６は、その裏書きクレデンシャルが正当なものであるかどうかの決定を示す。
【００７３】
クレデンシャル、即ち、証明書の検証は、通常の従来技術の公開鍵インフラストラクチャ（ＰＫＩ）処理を介して行われる。
【００７４】
図１２のプロセスを再び参照すると、裏書きクレデンシャルが有効でないという決定が行われる場合、プロセスは、ブロック８１４によって示されるように終了する。
【００７５】
ブロック８０６を再び参照すると、裏書きクレデンシャルが正当なものであるという決定が行われる場合、プロセスはブロック８０８に進む。ブロック８０８は、トラステッド第三者機関がＡＩＫ証明書をＡＩＫ証明書要求から作成することを示す。ＡＩＫ証明書はＡＩＫ公開鍵を含む。次に、ブロック８１０は、トラステッド第三者機関が、裏書きクレデンシャルから取り出された公開鍵を使用してＡＩＫ証明書を暗号化することを示す。
【００７６】
次に、プロセスはブロック８１２に進む。ブロック８１２は、トラステッド第三者機関が暗号化されたＡＩＫ証明書をユーザに送ることを示す。そこで、プロセスは、ブロック８１４によって示されるように終了する。
【００７７】
図１３は、本発明に従ってハードウェア・トラステッド・プラットフォーム・モジュールにプラットフォーム署名鍵（ＰＳＫ）およびプラットフォーム署名鍵証明書を保存することを示す高レベルのフローチャートである。プロセスは、ブロック９００によって示されるように開始し、しかる後、ブロック９０２に進む。ブロック９０２は、ハードウェアＴＰＭの製造時にプラットフォーム署名鍵（ＰＳＫ）の対をハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＫ）に保存することを示す。次に、ブロック９０４は、製造業者がハードウェアＴＰＭ装置の製造時にプラットフォーム署名鍵（ＰＳＫ）をハードウェアＴＰＭ装置に保存することを示す。そこで、プロセスは、ブロック９０６によって示されるように終了する。
【００７８】
図１４は、本発明に従って論理的パーティションを作成し、その論理的パーティションに対する仮想トラステッド・プラットフォーム・モジュールを作成することを示す高レベルのフローチャートである。プロセスは、ブロック１０００によって示されるように開始し、しかる後、ブロック１００２に進む。ブロック１００２は、論理的パーティションを作成することを示す。次に、ブロック１００４は、この論理的パーティションに対する仮想ＴＰＭを作成することを示す。次に、ブロック１００６は、この仮想ＴＰＭに対する仮想ＥＫ鍵の対を作成することを示す。仮想ＥＫ鍵の対は、仮想ＴＰＭ内に保持され、仮想ＴＰＭによって使用される。しかる後、プロセスは、ブロック１００８によって示されるように終了する。
【００７９】
図１５は、本発明に従って論理的パーティションがＡＩＫ証明書を得ることを示す高レベルのフローチャートである。プロセスは、ブロック１１００によって示されるように開始し、しかる後、ブロック１１０２に進む。ブロック１１０２は、論理的パーティションがＡＩＫ証明書を必要とすることを示す。
【００８０】
本発明によれば、装置内に維持されている情報を仮想ＴＰＭが署名するとき、アテステーションが生じる。従って、ＡＩＫ証明書は、当該証明書に含まれたＡＩＫがＴＰＭから来たという証拠であり、本発明の場合、このＴＰＭは仮想ＴＰＭである。
【００８１】
次に、ブロック１１０４は、論理的パーティションがＡＩＫ鍵の対を生成するようにそれのＴＰＭに伝えることを示す。次に、ブロック１１０６は論理的パーティションがＡＩＫ公開鍵をそれの仮想ＴＰＭから受け取ることを示す。
【００８２】
次に、プロセスはブロック１１０８に進む。ブロック１１０８は、論理的パーティションがＡＩＫ証明書要求を生成し、ＡＩＫ公開鍵をその要求に含めることを示す。しかる後、ブロック１１１０は、論理的パーティションが仮想ＥＫ公開鍵をそれの仮想ＴＰＭから得ることを示す。次に、ブロック１１１２は、論理的パーティションがそれの仮想ＴＰＭから仮想裏書きクレデンシャルを要求し、そしてそれを受け取ることを示す。仮想裏書きクレデンシャルは、ＰＳＫ秘密鍵を使用して、当該パーティションの仮想トラステッド・プラットフォーム・モジュールによって署名された仮想ＥＫ公開鍵である。次に、プロセスはブロック１１１４に進む。ブロック１１１４は、論理的パーティションがそれの仮想ＴＰＭからＰＳＫ証明書を要求することによってＰＳＫ証明書を得ることを示す。仮想ＴＰＭは、その後、ハードウェアＴＰＭからＰＳＫ証明書を得る。
【００８３】
ＰＳＫ証明書は、ＰＳＫ鍵の対が、仮想ＴＰＭを仮想化するハードウェアＴＰＭによって所有および保護された鍵である、ということを表明する第２のトラステッド第三者機関からの証明書である。ＡＩＫ証明書を提供するように要求される第１のトラステッド第三者機関は、その第１のトラステッド第三者機関に提供された署名された仮想ＥＫ公開鍵が、任意のエンティティからのものである代わりに正しい財産を有する装置からのものであることを確認するためにＰＳＫ証明書を使用する。ＰＳＫ証明書を署名した第２のトラステッド第三者機関は、そのＰＳＫ鍵の対が仮想裏書き鍵を署名するために有効である、ということを表明する。第１のトラステッド第三者機関は第２のトラステッド第三者機関を信頼し、従って、第１のトラステッド第三者機関が受け取った仮想ＥＫにおけるＰＳＫ署名を受容する。
【００８４】
しかる後、ブロック１１１６は、論理的パーティションがＡＩＫ証明書要求、ＥＫ公開鍵（即ち、仮想裏書きクレデンシャル）、署名されたＥＫ公開鍵、およびＰＳＫ証明書をトラステッド第三者機関に送ることを示す。次に、ブロック１１１８は、論理的パーティションが、暗号化されたＡＩＫ証明書をトラステッド第三者機関から受け取ることを示す。次に、ブロック１１２０は、論理的パーティションが暗号化されたＡＩＫ証明書を暗号化解除するようにそれの仮想ＴＰＭに要求することを示す。
【００８５】
次に、プロセスはブロック１１２２に進む。ブロック１１２２は、論理的パーティションが、暗号化解除されたＡＩＫ証明書を受け取ったかどうかの決定を示す。論理的パーティションが、暗号化解除されたＡＩＫ証明書を受け取ったという決定が行われる場合、プロセスはブロック１１２４に進み、ブロック１１２４は、論理的パーティションがＡＩＫ証明書を使用することを示す。次に、プロセスは、ブロック１１２６に示されるように終了する。ブロック１１２２を再び参照すると、論理的パーティションが、暗号化解除されたＡＩＫ証明書を受け取らなかったという決定が行われる場合、プロセスは、ブロック１１２６によって示されるように終了する。
【００８６】
図１６は、本発明に従って仮想トラステッド・プラットフォーム・モジュール（ＴＰＭ）が、仮想ＴＰＭの論理的パーティションに対する暗号化されたＡＩＫ証明書を暗号化解除することを図解した高レベルのフローチャートを示す。プロセスは、ブロック１２００によって示されるように開始し、しかる後、ブロック１２０２に進む。ブロック１２０２は、仮想トラステッド・プラットフォーム・モジュール（ＴＰＭ）が、ＡＩＫ鍵の対を生成するための命令をそれの論理的パーティションから受け取ることを示す。次に、ブロック１２０４は、仮想ＴＰＭがＡＩＫ鍵の対を生成することを示す。
【００８７】
次に、プロセスはブロック１２０６に進む。ブロック１２０６は、仮想ＴＰＭがそれのＡＩＫ公開鍵を論理的パーティションに送ることを示す。次に、ブロック１２０８は、仮想ＴＰＭがそれの仮想ＥＫ公開鍵を論理的パーティションに送ることを示す。しかる後、ブロック１２１０は、仮想ＴＰＭが、ハードウェアＴＰＭのＰＳＫ秘密鍵を使ってそれの仮想ＥＫ公開鍵を署名することによって仮想裏書きクレデンシャルを作成することを示す。署名された仮想ＥＫ公開鍵は、この仮想ＴＰＭを含む特定の論理的パーティションにとって独得の仮想裏書きクレデンシャルである。そこで、仮想ＴＰＭは、仮想裏書きクレデンシャル、即ち、署名された仮想ＥＫ公開鍵をそれの論理的パーティションに送る。
【００８８】
次に、ブロック１２１２は、仮想ＴＰＭがＰＳＫ証明書を論理的パーティションに送ることを示す。しかる後、ブロック１２１４は、仮想ＴＰＭが、暗号化解除されるべき暗号化されたＡＩＫ証明書を受け取ることを示す。次に、プロセスはブロック１２１６に進む。ブロック１２１６は、仮想ＴＰＭが、仮想ＴＰＭの仮想ＥＫ秘密鍵を使ってその暗号化されたＡＩＫ証明書を暗号化解除しようとすることを示す。
【００８９】
次に、ブロック１２１８は、仮想ＴＰＭがその仮想ＴＰＭの仮想ＥＫ秘密鍵を使ってＡＵＫ証明書を暗号化解除することができたか否かの決定を示す。仮想ＴＰＭがその仮想ＴＰＭの仮想ＥＫ秘密鍵を使ってＡＩＫ証明書を暗号化解除することができなかったという決定が行なわれる場合、プロセスは、ブロック１２２６によって示されるように終了する。
【００９０】
ブロック１２１８を再び参照すると、仮想ＴＰＭがその仮想ＴＰＭの仮想ＥＫ秘密鍵を使ってＡＩＫ証明書を暗号化解除することができたという決定が行われる場合、プロセスはブロック１２２０に進む。ブロック１２２０は、仮想ＴＰＭがこのＡＩＫ公開鍵を作成したかどうかを決定するために、仮想ＴＰＭが、その暗号化解除された証明書に含まれたＡＩＫ公開鍵と、仮想ＴＰＭがブロック１２０４において生成した仮想ＴＰＭのＡＩＫ公開鍵とを比較することを示す。
【００９１】
次に、ブロック１２２２は、仮想ＴＰＭがこのＡＩＫ公開鍵を作成したか否かの決定を示す。仮想ＴＰＭがこのＡＩＫ公開鍵を作成しなかったという決定が行われる場合、プロセスは、ブロック１２２６によって表されるように終了する。ブロック１２２を再び参照すると、仮想ＴＰＭがこのＡＩＫ公開鍵を作成したという決定が行われる場合、プロセスはブロック１２２４に進む。ブロック１２２４は、仮想ＴＰＭが暗号化解除された証明書を論理的パーティションに提供することを示す。次に、プロセスは、ブロック１２２６によって示されるように終了する。
【００９２】
図１７は、本発明に従って、トラステッド第三者機関が暗号化されたＡＩＫ証明書を作成し、それを要求元の論理的パーティションに送ることを示す高レベルのフローチャートである。プロセスは、ブロック１３００によって示されるように開始し、しかる後、ブロック１３０２に進む。ブロック１３０２は、トラステッド第三者機関が論理的パーティションからＡＩＫ証明書要求、仮想ＥＫ公開鍵、署名された仮想ＥＫ公開鍵（即ち、仮想裏書きクレデンシャル）、およびＰＳＫ証明書を受け取ることを示す。ＡＩＫ証明書要求はＡＩＫ公開鍵を含む。
【００９３】
次に、プロセスはブロック１３０４に進む。ブロック１３０４は、トラステッド第三者機関が、他のトラステッド第三者機関によってＰＳＫ証明書が署名されたことを検証することによって、ＰＳＫ証明書を検証することを示す。次に、ブロック１３０６は、ＰＳＫ証明書が正当なものであるか否かの決定を示す。ＰＳＫ証明書が正当なものでないという決定が行われる場合、プロセスは、ブロック１３１６によって示されるように終了する。
【００９４】
ブロック１３０６を再び参照すると、ＰＳＫ証明書が正当なものであるという決定が行われる場合、プロセスはブロック１３０８に進む。ブロック１３０８は、署名された仮想ＥＫ公開鍵がＰＳＫ秘密鍵によって署名されたかどうかを決定することによってその署名された仮想ＥＫ公開鍵を検証する。仮想ＥＫ公開鍵がＰＳＫ秘密鍵によって署名されなかったという決定が行われる場合、プロセスは、ブロック１３１６によって示されるように終了する。ブロック１３０８を再び参照すると、仮想ＥＫ公開鍵がＰＳＫ秘密鍵によって署名されたという決定が行われ、従ってその署名された仮想ＥＫ公開鍵が検証される場合、プロセスはブロック１３１０に進む。ブロック１３１０は、トラステッド第三者機関がＡＩＫ証明書要求からＡＩＫ証明書を作成することを示す。ＡＩＫ証明書はＡＩＫ公開鍵を含むであろう。
【００９５】
次に、ブロック１３１２は、トラステッド第三者機関が仮想ＥＫ公開鍵を使ってＡＩＫ証明書を暗号化することを示す。そこで、プロセスはブロック１３１４に進む。ブロック１３１４は、トラステッド第三者機関がその暗号化されたＡＩＫ証明書を論理的パーティションに送ることを示す。次に、プロセスは、ブロック１３１４によって示されるように終了する。
【００９６】
本発明は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例、またはハードウェアおよびソフトウェアの両方の要素を含む実施例の形態を取ることが可能である。好適な実施例では、本発明はソフトウェアにおいて実施される。それは、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、それに限定されない。
【００９７】
更に、本発明は、コンピュータまたは任意の命令実行システムによってまたはそれに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセスし得るコンピュータ・プログラムの形態を取ることが可能である。この説明のために、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによってまたはそれに関連して使用するために、プログラムを含み、保存し、通信し、伝播し、あるいは搬送することが可能である任意の装置であることも可能である。
【００９８】
それらの媒体は、電子的、磁気的、光学的、電磁的、赤外線、または半導体システム（または装置もしくはデバイス）、あるいは伝播媒体であってもよい。コンピュータ可読媒体の例は、半導体またはソリッドステート・メモリ、磁気テープ、取外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、固定磁気ディスク、および光ディスクを含む。光ディスクの現行の例は、コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク・リード／ライト（ＣＤ−Ｒ／Ｗ）、およびＤＶＤを含む。
【００９９】
プログラム・コードを保存および／または実行するに適したデータ処理システムは、システム・バスを介してメモリ素子に直接にまたは間接的に結合された少なくとも１つのプロセッサを含むであろう。メモリ素子は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、およびコードが実行中に大容量記憶装置から検索されなければならない回数を減らすために少なくともいくつかのプログラム・コードの一時的保存を行うキャッシュ・メモリを含む。
【０１００】
入出力装置、即ち、Ｉ／Ｏ装置（キーボード、ディスプレイ、ポインティング・デバイス等を含むが、それに限定されない）は、直接にまたはＩ／Ｏコントローラの介在を通してシステムに結合することが可能である。
【０１０１】
データ処理システムが専用または公衆ネットワークの介在を通して他のデータ処理システム、あるいはリモート・プリンタまたは記憶装置に結合されることを可能にするために、ネットワーク・アダプタをシステムに結合することも可能である。モデム、ケーブル・モデム、または Ethernet（登録商標）カードが現在使用可能なタイプのネットワーク・アダプタの代表例である。
【０１０２】
十分に機能するデータ処理システムに関連して本発明を説明したが、本発明のプロセスが、命令を記録したコンピュータ可読媒体の形式および他の種々の形式で配付されえること、および本発明が、配付を行うために実際に使用される信号担持媒体の特定の形式に関係なく等しく適用すること、は当業者には明らかであろう。コンピュータ可読媒体の例は、フレキシブル・ディスク、ハードディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭのような記録可能タイプの媒体、並びに、デジタルおよびアナログ通信リンク、例えば無線周波伝送および光波伝送の如き伝送形式を使用する有線または無線通信リンクのような伝送タイプの媒体を含む。コンピュータ可読媒体は、特定のデータ処理システムにおいて実際に使用するためにはデコードされるコード化フォーマットの形を取ることも可能である。
【０１０３】
本発明に関する記載は例示および説明のために与えられたものであって網羅的であることを意図するものではなく、あるいは開示された形式における発明に限定されるものではない。当業者には、多くの修正点および変更点が明らかであろう。実施例は、発明の原理、実用的な応用を最も良く説明するために、および当業者が、意図された特定の用途に適するように、種々の修正が施された種々の実施例に関して本発明を理解することを可能にするために、選択および記述された。
【図面の簡単な説明】
【０１０４】
【図１】各々が従来技術を実装するために使用することが可能なデータ処理システムの代表的なネットワークを示す概略図である。
【図２】従来技術によるコンピュータ・アーキテクチャの概略図である。
【図３】従来技術によるデータ処理システムのブロック図である。
【図４】本発明に従って複数の種々の論理的パーティションを含むデータ処理システムを示すブロック図である。
【図５】本発明による修正されたハードウェアのトラステッド・プラットフォーム・アーキテクチャのブロック図である。
【図６】本発明による修正されたハードウェア・トラステッド・プラットフォーム・モジュール（ＴＰＭ）を示すブロック図である。
【図７】従来技術によるトラステッド・プラットフォーム・モジュール（ＴＰＭ）に保存された鍵のブロック図である。
【図８】本発明に従ってスケーラブルな数の論理的パーティションに信頼を与えるスケーラブル・ハードウェアＴＰＭを示すブロック図である。
【図９】従来技術に従って、裏書き鍵の対および裏書き証明書をハードウェア・トラステッド・プラットフォーム・モジュールに保存する動作を示す高レベルのフローチャートである。
【図１０】従来技術に従って、ユーザがＡＩＫ証明書を獲得する動作を示す高レベルのフローチャートである。
【図１１】従来技術に従って、トラステッド・プラットフォーム・モジュールがユーザに対する暗号化されたＡＩＫ証明書を暗号化解除する動作を示す高レベルのフローチャートである。
【図１２】従来技術に従って、トラステッド第三者機関が暗号化されたＡＩＫ証明書を作成する動作およびそれを要求ユーザに送る動作を示す高レベルのフローチャートである。
【図１３】本発明に従って、プラットフォーム署名鍵（ＰＳＫ）の対およびプラットフォーム署名鍵証明書をハードウェア・トラステッド・プラットフォーム・モジュールに保存する動作を示す高レベルのフローチャートである。
【図１４】本発明に従って、論理的パーティションを作成する動作およびその論理的パーティションに対する仮想トラステッド・プラットフォーム・モジュールを作成する動作を示す高レベルのフローチャートである。
【図１５】本発明に従って、論理的パーティションがＡＩＫ証明書を獲得する動作を示す高レベルのフローチャートである。
【図１６】本発明に従って、仮想トラステッド・プラットフォーム・モジュールが仮想裏書きクレデンシャルを作成する動作および論理的パーティションに対する暗号化されたＡＩＫ証明書を暗号化解除する動作を示す高レベルのフローチャートである。
【図１７】本発明に従って、トラステッド第三者機関が暗号化されたＡＩＫ証明書を作成する動作およびそれを要求論理パーティションに送る動作を示す高レベルのフローチャートである。
【図１】
2007026442.tif 000003
【図２】
2007026442.tif 000004
【図３】
2007026442.tif 000005
【図４】
2007026442.tif 000006
【図５】
2007026442.tif 000007
【図６】
2007026442.tif 000008
【図７】
2007026442.tif 000009
【図８】
2007026442.tif 000010
【図９】
2007026442.tif 000011
【図１０】
2007026442.tif 000012
【図１１】
2007026442.tif 000013
【図１２】
2007026442.tif 000014
【図１３】
2007026442.tif 000015
【図１４】
2007026442.tif 000016
【図１５】
2007026442.tif 000017
【図１６】
2007026442.tif 000018
【図１７】
2007026442.tif 000019