(57)【要約】  保護された処理システム内の初期トラステッド・デバイスのバインディングを検証する方法及びシステムは初期デバイスをバインドし、または、いかなるバインディング情報もシステムの別のデバイスから入手できない場合に交換する。バインディングの証明を製造業者のようなクレデンシャル・プロバイダに送信することによって有効なバインディングが検証された場合のみにプラットフォーム・クレデンシャルは発行される。この方法は、バインディング処理中にデバイスがシステムから取り外されるときに生じることがあるセキュリティ・ブリーチから保護する。バインディング情報はインストールの際にデバイスに生成され、各初期化で、バインディング情報がシステムからデバイスに返信されると、デバイスが適切なシステムにインストールされ、システムが一致しない場合に動作を打ち切ることをデバイスが確実にすることができるシステム識別情報を含む。
2008517390.tif 000002
【特許請求の範囲】
【請求項１】
処理システムを保護する方法であって、前記処理システムが、機能する状態に初期化する前に特定の処理システムの識別を検証する複数のデバイスを含み、前記処理システムへの前記デバイスの所定デバイスのバインディングを、前記処理システムによって供給されたシステム特定の識別子と、前記所定デバイスのみ既知である第１秘密情報とを用いて第１に生成するステップと、前記バインディングの証明を前記システム特定の識別子と、前記所定デバイスのみ既知である第２秘密情報と、固有のデバイス識別子とを用いて第２に生成するステップと、前記バインディングの証明を前記処理システムからクレデンシャル・プロバイダに送信するステップと、前記生成したバインディングが有効であることを前記バインディングの証明が示すかどうかを前記クレデンシャル・プロバイダで決定するステップと、前記生成したバインディングが有効であるという決定に応答して、プラットフォーム・クレデンシャルを前記処理システムに発行するステップとを含む方法。
【請求項２】
前記第２秘密情報が前記第１秘密情報を含む、請求項１に記載の方法。
【請求項３】
前記クレデンシャル・プロバイダで前記バインディングの証明の受信に応答して、前記処理システムの既存のクレデンシャルを無効にするステップを更に含む、請求項１に記載の方法。
【請求項４】
前記プラットフォーム・クレデンシャルを前記処理システムに送信するステップを更に含む、請求項１に記載の方法。
【請求項５】
前記プラットフォーム・クレデンシャルをサーバに格納するステップを更に含み、これによって、前記処理システムの認証性及びセキュリティを前記サーバ上の前記プラットフォーム・クレデンシャルにアクセスすることによって検証することができる、請求項１に記載の方法。
【請求項６】
前記第１に生成するステップが、前記システム特定の識別子をデバイス生成のランダム値と共にハッシュ化して、ハッシュ化された結果を生成するステップと、デバイス特定の鍵を用いて、前記ハッシュ化された結果に署名して、署名された結果を生成するステップと、前記署名された結果を前記処理システムの別の部分に送信することによって前記所定デバイスを前記特定のシステムにバインドするステップとを含み、これによって、前記デバイスへの前記署名された結果の返信及び検証に応答して前記所定デバイスが前記特定のシステムのみで初期化する、請求項１に記載の方法。
【請求項７】
前記第２に生成するステップが、少なくとも前記システム特定の識別子及び固有のデバイス識別子の組み合わせをハッシュ化するステップと、デバイス特定の鍵を用いて前記ハッシュ化の結果に署名して、署名された結果を生成するステップとを含む、請求項６に記載の方法。
【請求項８】
前記バインディングを実行する前にバインディング処理が進行中であることを示すように前記所定デバイスの状態を設定するステップと、前記バインディングの証明が前記クレデンシャル・プロバイダによって検証されたという検証を第２に受信するステップと、前記検証の受信のみに応答して、前記所定デバイスがバインドされたことを示すように前記状態を設定するステップとを更に含む、請求項１に記載の方法。
【請求項９】
前記システムが、機能するトラステッド・デバイスを含むかどうかを第２に決定するステップと、前記システムが、機能するトラステッド・デバイスを含まないという決定に応答して、前記第１に生成するステップと、第２に生成するステップと、送信するステップと、受信するステップと、決定するステップと、発行するステップとを実行するステップとを更に含む、請求項１に記載の方法。
【請求項１０】
前記所定デバイスの先行物が故障したことを示すサービス・リクエストをサーバで受信するステップであって、前記サーバで前記サービス・リクエストの受信に応答して、前記第２に決定するステップが実行されるステップと、前記システムが、機能するトラステッド・デバイスを含まないという決定に応答して、前記先行物の交換として前記所定デバイスの出荷を開始するステップと、前記所定デバイスと関連するサービス・レコードを前記サーバのデータベース内に生成するステップとを更に含む、請求項１に記載の方法。
【請求項１１】
前記生成したバインディングが有効であるかどうかを前記決定するステップが、前記サービス・レコードに格納された情報に従って実行され、これによって、前記出荷されるデバイスとして前記所定デバイスの識別が、前記プラットフォーム・クレデンシャルを発行する前に検証される、請求項１０に記載の方法。
【請求項１２】
請求項１〜１１のいずれか一項に記載の方法の前記ステップのすべてを行うのに適する手段を含む装置。
【請求項１３】
コンピュータ・システム上で実行されると、請求項１〜１１のいずれか一項に記載の方法の前記ステップのすべてを行う命令を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、処理システムにおけるセキュリティに関し、特に、保護された処理システム内の初期または交換トラステッド・デバイスにバインディング情報をインストールする方法に関する。
【背景技術】
【０００２】
今日のコンピューティング・システム、特に、大規模サーバ・システムは、複数の仮想マシンを実行するサポートを含むことが多い。このシステムは、様々なコンピューティング要求を有するカスタマをサポートするために何百ものサーバ・インスタンスを単一ハードウェア・プラットフォーム上で実行する大規模オンデマンド・サーバ・システムであることがある。これらシステムのうちで最も柔軟なシステムでは、オペレーティング・システム及びアプリケーションの混合で異なることがある複数のパーティションはシステム・メモリ内に同時に存在し、各パーティションにおいて実行する処理は、ゲスト・オペレーティング・システム上のそれらの実行をサポートする環境において実行される。仮想マシンは、ほとんど変更を加えずにオペレーティング・システムが実行できる実ハードウェア・プラットフォームに充分類似する環境を備える。各パーティションがマシン的な環境を各オペレーティング・システム・インスタンスに供給するように、（仮想マシン・モニタとも称することがある）ハイパーバイザは仮想マシンまたはパーティションのすべてを管理し、システム・リソースを要約する。
【０００３】
前記のアーキテクチャ目標を実施するため、複数の処理モジュール及びその他のデバイスがシステムにインストールされ、複数のデバイス間のパーティション上でタスクを共有することができるが、各デバイスは前述の１つ以上のパーティションを一般にはサポートする。デバイス群または個々のデバイスを特定のカスタマと関連付けることがあり、デバイス及びシステムの製造業者からデバイスを保護することを含むこのカスタマのみによるデバイスまたはデバイス郡へのアクセスを保護することが望ましい。
【０００４】
このようなシステムにおいてセキュリティを提供するために、デバイスは、システムに結合されなくてはならない。これにより、デバイスからデータを抽出し、または、そこからデータが抽出されたシステムまたはその一部になりすますようにデバイスを使用することによって起こり得る除去及びデータ採掘が防がれる。結合を物理的なものにすることができ、すなわち、デバイスはシステムに永久に取り付けられる。または、取り外し可能なデバイス及びネットワーク・システムを考慮してバインディングを暗号的に達成することがある。トラステッド（ｔｒｕｓｔｅｄ＝信頼されている）デバイスがシステムに有効にバインドされたことをクレデンシャル・プロバイダが確信する場合のみに、プラットフォーム・クレデンシャル（ｃｒｅｄｅｎｔｉａｌ＝信用情報）はシステム（または、システム内の特定のトラステッド・デバイス群）に発行される。クレデンシャルは、プラットフォームが１つ以上のトラステッド・デバイスを統合し、従って、トラステッド・デバイスと関連する属性を有するということを認証する。典型的に、認証は製造業者の場所で実行され、トラステッド・デバイスは、物理的に永久にシステムにバインドされ、または、現場交換の可能性なしに暗号的にシステムにバインドされる。
【０００５】
前述の取り外し可能なデバイス及びネットワーク・デバイスは、デバイスが暗号的にシステムに結合（ｂｉｎｄ）されない限りシステムにおける開始を拒否することによってデータ改ざんまたは偽装から保護する。結合と関連する情報は一般に暗号化され、製造業者によってデバイスの不揮発性ストレージに格納される。前述の機構の場合、トラステッド・システムのみ、特定のデバイスと関連するデータ、または、特定のデバイスに格納されたデータにアクセスすることができ、取り外し可能なデバイスの不正利用または悪用の影響を劇的に減少させる。更に、（前述した仮想マシンの１つの格納されたコンテキストまたは「状態」のような）デバイスと関連するデータは、１つまたは複数の関連のデバイスに格納された鍵を必要とする暗号化機構によって保護される。２層機構すなわちハードウェア・バインディング（ｂｉｎｄｉｎｇ）と、１つまたは複数の特定のデバイスの鍵が付けられたデータ暗号化とは、取り外し可能なデバイスの不正利用または悪用によるデータ採掘に対して高水準のセキュリティを備える。
【０００６】
デバイスの１つが故障する場合、または、システムへのトラステッド・デバイスの初期インストールでは、デバイスが前述のセキュリティ方法に従って初期化するために新たなデバイスをシステムにバインドする必要がある。所望のセキュリティ・バインディングを有するその他のデバイスがシステムに存在し、動作可能である場合、バインディング情報をその他のデバイスの１つから転送することができる。しかし、所望のバインディングを有するその他のデバイスが利用できず、すなわち、バインディングを有する最後のデバイスが故障したか、または、このようなデバイスがもともと１つだけシステムに存在していた場合、その他の手段によって、典型的にはシステムを製造業者に戻すことによってバインディングを確立する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
トラステッド・デバイスを交換する現場交換機構によってシステムを無許可または変更ハードウェアにさらす可能性が生じる。従って、交換技術を、この場合も典型的に製造業者へデバイスを戻すことを必要とする少なくとも動作セキュリティ方式と同じくらいセキュアなものとするのが望ましい。
【０００８】
バインドされたデバイスを有するシステムを攻撃する１つの方法は、バインディング処理中にデバイスを取り外し、または、別の方法でデバイスを「アンバインド（ｕｎｂｉｎｄ＝解放する）」させ、別のシステムにデバイスをインストールしようとすることである。しかも、デバイスが特定のプラットフォームに保護されていないときに特定のプラットフォームに保護されているようにデバイスを見せることによってシステムの整合性を危うくすることがある障害がバインディング処理中に生じることがある。
【０００９】
従って、所望のバインディングを有するその他のデバイスがシステムに存在しない場合に交換デバイスをシステムにセキュアにバインドする現場交換機構を提供するのが望ましい。初期トラステッド・デバイスがインストールされ、トラステッド・デバイスが有効にシステムにバインドされたことが知られたときのみに、有効なクレデンシャルをプラットフォームに供給するのが更に望ましい。
【課題を解決するための手段】
【００１０】
本発明は、請求項１に記載の方法及び対応の装置及びコンピュータ・プログラムを提供する。
【００１１】
本発明の特性と考えられる新規な特徴を特許請求の範囲において記載した。しかし、本発明自体は、本発明の好適な使用モード、更なる目的及び利点と同様に、添付図面と併せて読まれる例示的な実施形態の以下の詳細な説明を参照することによって最も良く理解される。図中、同一の符号は、同様な構成要素を示す。
【発明を実施するための最良の形態】
【００１２】
次に、図を参照して、特に、本発明の一実施形態が実施されるシステムのブロック図を示す図１を参照する。当然のことながら、図示の実施形態は、本発明の方法及び技術を適用することができる単なる代表的なタイプの処理システムであって、限定するためのものではない。システムは、４つのプロセッサ・モジュール（プロセッサ・モジュール１０Ａ及び３つのその他の同一のプロセッサ・モジュール１０Ｂ〜Ｄ）を有する保護されたローカル・システム５を含む。スーパースカラー処理システムを形成するその他のシステム・ユニット５Ａにローカル・システム５を接続することができる。ローカル・システムは、インターネット接続３または代替のネットワーク・インターフェースを介してクレデンシャル・プロバイダ・サーバ１に接続されている。クレデンシャル・プロバイダ・サーバは、本発明の一実施形態によるサーバ・プログラム命令を実行するプロセッサ１２Ａと、プログラム命令及びデータを格納するサーバ・メモリ１１とを含む。
【００１３】
各処理モジュール１０Ａ，１０Ｂ〜Ｄは、プログラム命令を実行するプロセッサ１２と、その他のプロセッサ・モジュール１０Ｂ〜Ｄによってアクセスできるシステム・メモリとして一般にマップされるローカル・メモリ６と、データ及びプログラム命令を格納するキャッシュ１４とを含む。処理モジュール１０Ａ，１０Ｂ〜Ｄは各々、バインドされたプロセッサ・モジュール１０Ａ，１０Ｂ〜Ｄがシステムにインストールされているかどうかを検証するために本発明の方法によって用いられる値を格納する不揮発性メモリ１３をも含む。プロセッサ・モジュール１０Ａ，１０Ｂ〜Ｄは各々、本発明のセキュリティ機能を行うことができるサービス・プロセッサ１６をも含むことができる。または、代わりとしてプロセッサ１２は、以下に更に詳細に説明するタスクを実行することができる。プロセッサ・モジュール１０Ａ，１０Ｂ〜Ｄは、ローカル・システム５内のその他のモジュールと相互通信するローカル高速インターフェース１８と、その他のシステム・ユニット５Ａ及びインターフェース接続３と通信するネットワーク・インターフェース１５をも含む。ローカル・システムは、ストレージ・デバイス７と、本発明のバインディング技術を適用することができるその他のデバイス９とを含む。バインディング検証データと、本発明のセキュリティ技術と関連するシステム・シリアル番号またはその他の識別子のようなその他のシステム値とを格納するシステム不揮発性メモリ１３Ａも含まれる。
【００１４】
システム・ローカル・メモリ６内では、仮想マシン・モニタ・プログラムまたは「ハイパーバイザ」は、複数の仮想マシン（ＶＭ）、または、オペレーティング・システム及び多数の「ゲスト」プログラム（オペレーティング・システムによって実行され、関連のＶＭで実行するアプリケーション及びサービス）に実行環境を各々供給する「パーティション」の実行をサポートする。
【００１５】
前述のパーティションが、パーティション間でのデータ保護を必要とする異なるカスタマに属することができる場合にローカル・システム５を用いる複数のカスタマ間のセキュリティと同様に全体的なローカル・システム５のセキュリティを確実にするため、本発明は、ローカル・システム５のみでデバイスを用いることができるようにローカル・システム５内のデバイスのバインディングを行う。バインディング処理の結果として、クレデンシャル・プロバイダ・サーバ１は、ローカル・システム５に、他のシステムに対して、そのシステムが、１つまたはそれ以上のトラステッド・デバイスを含み、それゆえにトラステッド・デバイスに関連する属性を具現化するという信用情報を提供する。次に、トラステッド・プラットフォーム・デバイスと関連する特性を用いて、システム５と相互動作することができるかを検証するため、証明書をその他のシステムによって用いることができる。前述の構造は、プロセッサ・モジュール１０Ａ，１０Ｂ〜Ｄが、シャーシまたはその他の相互接続構造を介してローカル・システム５に挿入することができ、または、ローカル・システム５から取り外すことができる取り外し可能なモジュールであるシステムに適用できる１つの事例である。しかし、本発明の意味でのバインディングは、ローカル・システム５とその他のシステム・ユニット５Ａとの間に示すネットワーク相互接続のようなその他の構造まで拡張することができる。本発明は暗号及び公開／秘密鍵対を用いてデバイス間でバインディングに関連する通信を保護し、従って、システムにバインドされたデバイスは、物理的に異なる位置に実際に位置付けすることができる環境でセキュリティを維持することができる。しかし、共用の対称鍵を代わりに用いることもできる。
【００１６】
更に、当然のことながら、本発明の技術はプロセッサ・モジュールだけでなく、システムに一意的にバインドするのに有用であって、クレデンシャルの検証が有用である任意のデバイスに適用する。例えば、コンピュータ・システム内のストレージ・デバイスをシステムにバインドすることができ、これによって、ストレージ・デバイスがこのシステムのみと動作し、アプリケーションまたはオペレーティング・システム・ルーチンが、デバイスに格納されたデータを信頼し、または、データ用のシンクのようなデバイスを信頼する前にクエリに応じてクレデンシャルを供給することができる。従って、ローカル・システム５へのプロセッサ・モジュール１０Ａのバインディングを例示目的のために参照するが、当然のことながら、以下の説明はその他のデバイス及びその他のシステムのバインディングにも適用する。
【００１７】
図１のコンピュータ・システム内のメモリ・イメージ及び情報フローを表すブロック図が示されている図２を次に参照する。デバイス不揮発性メモリ１３内では、デバイス製造時にインストールされた固有のデバイス特定の鍵対と一緒にデバイス特定の識別子が格納されている。
【００１８】
バインディング処理中、プロセッサ・モジュール１０Ａは、ランダム・ビット・シーケンス（デバイスによって生成された秘密）を生成し、次に、デバイスは、システム不揮発性メモリ１３Ａからローカル・システム５によってプロセッサ・モジュール１０Ａに供給された（または、プロセッサ・モジュール１０Ａによってシステム不揮発性メモリ１３Ａから直接にアクセスすることができる）システム特定の識別子と共にハッシュ化する。ハッシュ化された結果、すなわち「プラットフォーム・バインディング・レコード」（ＰＢＲ）は、ローカル・システム５が、プロセッサ・モジュール１０Ａに一意的にバインドされたシステムであるかを検証するのに将来用いるためにプロセッサ・モジュール１０Ａの不揮発性メモリ１３に格納される。プロセッサ・モジュール１０Ａに固有の秘密鍵は、ＰＢＲに署名するのに用いられ、署名されたＰＢＲはローカル・システム５に送信され、ローカル・システム５では、署名されたＰＢＲはシステム不揮発性メモリ１３Ａに格納される。プロセッサ・モジュール１０Ａのみが固有の秘密鍵を知っているので、署名されたＰＢＲをプロセッサ・モジュール１０Ａへその後返信すると、署名されたＰＢＲの署名が、署名されたＰＢＲをプロセッサ・モジュール１０Ａによって生成されたものとして妥当性を確認しながら、プロセッサ・モジュールは、ローカル・システム５が、バインドされたシステムであるかを検証することができる。プロセッサ・モジュール１０ＡからＰＢＲを受信の際、ローカル・システム５は、プロセッサ・モジュール１０Ａの製造業者によって供給されたシステム固有の公開鍵を用いて、署名されたＰＢＲを検証し、署名されたＰＢＲを格納して、ハイパーバイザによって必要であるとされれば初期化またはその他の間隔で検証するためプロセッサ・モジュール１０Ａに戻す。
【００１９】
また、バインディング処理中、バインディング検証レコードはクレデンシャル・プロバイダ・サーバ１に送られ、クレデンシャル・プロバイダ・サーバ１は、システム／デバイス組み合わせが有効であるか、かつ、現在適切にバインドされているかを検証する。バインディング検証レコードは、デバイス識別子及びシステム識別子によって索引付けられたデータベース２２から取り出されたデバイス特定の公開鍵を用いて検証される。バインディング検証レコードは、デバイスのみに存在することができる様々な情報を含むことによって特定のデバイスがシステムにバインドされたという証拠を備える。例示的な実施形態では、このことは、デバイス特定の秘密鍵を用いて、デバイス特定の公開裏書き鍵と、バインディング処理中に提供されたシステム識別子と、固有のデバイス識別子（一般にシリアル番号）とを含む幾つかの情報のハッシュに署名するように実行される。署名前、前記の情報は、デバイスの製造時にインストールされた（１回限りのデバイス生成の秘密と異なる）１回限りの使用のデバイス秘密に関してハッシュ化される。バインディング検証レコードが生成された後、１回限りの使用のデバイス秘密は、「焼かれる」（消去される）。この１回限りの秘密は、デバイスがバインドされたか検証を行う製造業者（クレデンシャル・プロバイダ）のデータベースにも格納されている。以下に説明するその他の一方向歯止めが克服され、１回限りの使用のデバイス秘密に従って生成されたバインディング検証レコードを持たないでデバイスのバインディングを依然として検証することができない場合、デバイスが１回限りの使用の秘密を焼いた後に１度だけ検証を実行することができる。
【００２０】
また、デバイス特定の裏書き鍵は初期トラステッド・デバイスに固有であり、裏書き鍵がクレデンシャル・プロバイダによっても保持されているので、バインドされているデバイスが正確なデバイスであるか更なる検証を行う。裏書き鍵はクレデンシャルと関連付けられ、その後、トラステッド・プラットフォーム仮想マシンが、（裏書き鍵も含む）特定のクレデンシャルと関連するトラステッド・プラットフォーム・デバイス上で実行していることを示すのに用いられる。
【００２１】
データベース２２は、デバイスの１回限りの使用の秘密と同様に、デバイスからのメッセージの妥当性を確認する鍵を検出することができるように生成されたすべてのデバイスの公開鍵情報を維持する。バインディングの妥当性が確認された場合、クレデンシャル２０は生成され、プロセッサ・モジュール１０Ａに送信される。プロセッサ・モジュール１０Ａは、クレデンシャル・プロバイダ（例えば、製造業者またはその他の証明エンティティ）によって証明された識別子を有するトラステッド・プラットフォームとしてプロセッサ・モジュール１０Ａによって供給されたプラットフォームを識別するのに用いるためクレデンシャル２０を（ディスク・ファイル・ストレージを含むことができる）デバイス不揮発性メモリ１３に格納する。
【００２２】
出荷場所で秘密鍵をプロセッサ・モジュール１０Ａに導入した後、固有の秘密鍵がプロセッサ・モジュール１０Ａ内にのみ格納され、製造業者によって保持されず、他のどこにも格納されていないので、バインディング処理中、別のデバイスがプロセッサ・モジュール１０Ａを偽装することは極めて困難である。従って、既知のシステム及び既知のデバイス・セット以外のデバイス及びシステムの任意の組み合わせにクレデンシャルを発行することは極めて起こり難いことである。この困難を更に増大させるため、前記に追加してその他の技術を適用することができる。
【００２３】
本発明の図示した実施形態による方法の一部を示す図３を次に参照する。アンバインドされたデバイスがシステムにインストール（または結合）されると（ステップ３０）、システム内に別のトラステッド・デバイスが存在する場合（決定３１）、別のトラステッド・デバイスからのバインディング情報を移動させることによって統合処理を実行する（ステップ３２）。本質的に、統合は、その他のデバイスに格納されたハッシュ化された結果（ＰＢＲ）をセキュアに共有し、アンバインドされたデバイスの不揮発性メモリ１３に格納する。次に、不揮発性メモリ１３は、独自の秘密鍵を有するその他のデバイスからのＰＢＲに署名することによって、署名されたＰＢＲをシステム不揮発性メモリ１３Ａに格納するためローカル・システム５に戻すことができる。ローカル・システム５が、署名されたＰＢＲを、初期化時に新たにバインドされたデバイスに送信する場合、新たにバインドされたデバイスは、既存のトラステッド・デバイスがシステムを検証できるのと同じようにシステムを検証することができる。各デバイスの固有の秘密鍵をエクスポートする必要がなく、既存のトラステッド・デバイスのバインディング中に生成されたハッシュ化された結果のみエクスポートする必要があることに留意すべきである。
【００２４】
しかし、システム内にその他のトラステッド・デバイスが存在しない場合（決定３１）、本発明の方法は、ステップ３２の統合処理を実行することなしに新たなデバイスをバインドするのに用いられる。まず、システム・シリアル番号のようなシステム特定の識別子をデバイスに送信する（ステップ３３）。デバイスは、秘密値として用いられるランダム・ビット・シーケンスを生成し、この値をシステム特定の識別子と共にハッシュ化して、ハッシュ化された結果（ＰＢＲ）を生成する（ステップ３４）。デバイスはＰＢＲを格納し、次に、デバイスの固有の秘密鍵を用いて、ハッシュ化された結果に署名して、署名されたＰＢＲを生成する（ステップ３５）。次に、各デバイスの初期化で用いるため、署名されたＰＢＲをシステムに送信する（ステップ３６）。
【００２５】
また、バインディングの証明を生成し、システム識別子と一緒にクレデンシャル・プロバイダに送信する（ステップ３７）。クレデンシャル・プロバイダは、署名されたバインディングの証明内の署名通りにシステム及びデバイスの識別を検証することによって、バインディングが有効であるかどうかを決定する（決定３８）。クレデンシャル・プロバイダは、署名されたバインディング・レコードの証明の妥当性を確認し、特定のデバイスから来たことを検証するのに用いられる各デバイスの公開鍵を有する。システム識別子が、署名されたバインディングの証明の基本の一部でもあるので、システムの識別は、デバイス及びシステム識別子を「明確に」送信することがあっても識別される。
【００２６】
バインディングが有効である場合（決定３８）、デバイスに対してクレデンシャルを発行し、システムに返信し（ステップ３９）、これによって、システムはトラステッド・デバイスを含むことを証明することができる。しかし、前述したように、クレデンシャルをシステムに送信する必要はなく、クレデンシャル・プロバイダ・サーバに維持することができ、または、システムが、特定の属性を有するトラステッド・デバイスを含むかを検証する必要がある構成要素にアクセスできる限り、別の場所に格納することができる。しかし、バインディングが無効である場合（決定３８）、バインディング処理を打ち切ることをデバイスに通知する（ステップ４０）。
【００２７】
本発明の図示した実施形態による方法の別の一部を示す図４を次に参照する。デバイスがシステムにインストールされると（ステップ５０）、デバイス不揮発性メモリから状態値を読み取る（ステップ５１）。３つの状態すなわち、「バインドされた」状態、「アンバインドされた」状態及び「バインディング」状態が可能である。３つの状態は、バインディング処理がデバイス上で開始された後、デバイスが、アンバインドされた状態に決して戻ることができず、バインディングが完了した後、デバイスが、バインドされた状態から決して戻ることができないことを確実にする一方向「歯止め」方式で用いられる。
【００２８】
デバイスがインストールされて、デバイスが「バインディング」状態にある場合（決定５１）、バインディング処理が何らかの方法で中断されたことを示し、別のバインディング処理中のデバイスの取り外しによって改ざんが行われたおそれがあることを示す。従って、デバイスがインストール時にバインディング状態にある場合（決定５１）、デバイスをシステムによって締め出し（ステップ５２）、再使用のため製造業者に戻す必要がある。デバイスが、「バインドされた」状態にある場合（決定５３）、バインディングを通常通りに検証し（ステップ５４）、デバイスを初期化する。デバイスが、「アンバインドされた」状態にある場合（決定５３）、図３によって例示されたようにバインディング交換及び検証を実行する（ステップ５５）。バインディングが成功した場合（決定５６）、デバイスの状態を、「バインドされた」状態に設定し（ステップ５７）、そうでない場合、デバイスの更なる使用を防ぐためデバイスを「バインディング」状態のままにしておく（ステップ５８）。従って、バインディング処理が中断されたどの時点であっても、出荷場所で再プログラムされるまでデバイスを役に立たなくさせて、インストール中の取り外しによってバインディング処理を破壊しようとすることを阻止する。
【００２９】
本発明の図示した実施形態による方法の更なる別の一部を示す図５を次に参照する。トラステッド・デバイスに障害が生じた場合、製造業者によってサービス・コールを受信する（ステップ６０）。システムで機能するトラステッド・デバイスが残っている場合（決定６１）、交換デバイスについてトラステッド・デバイスを用いて前述の統合処理を実行する（ステップ６２）。しかし、システムで機能するトラステッド・デバイスが残っていない場合（決定６１）、システム・クレデンシャルを無効にし（ステップ６３）、交換デバイスを、サービス・コールを送信したシステムに任意に前もってバインドし（ステップ６４）、カスタマの場所に出荷する（ステップ６５）。次に、交換デバイスがシステムにインストールされた後、図３及び図４に示したように前述のバインディング処理を実行する。出荷前にデバイスがシステムに前もってバインドされた場合、クレデンシャル・プロバイダ・サーバによって行われたバインディングの検証は、交換デバイスが特定のシステムにインストールされることになっていることを示すデータベース項目に従って行われ、正確なシステムにデバイスがバインドされたときのみ、クレデンシャル・プロバイダ・サーバはクレデンシャルを発行する。データベースは、デバイス識別子、デバイスが割り当てられるシステム識別子、及び、システム及びデバイスと関連する固有の公開鍵のような情報を含む。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態が実施されるコンピューティング・システムのブロック図である。
【図２】本発明の一実施形態によるシステム内のメモリ・イメージ及び情報フローのブロック図である。
【図３】本発明の一実施形態による方法の一部を示すフローチャートである。
【図４】本発明の一実施形態による方法の更なる一部を示すフローチャートである。
【図５】本発明の一実施形態による方法の更なる別の一部を示すフローチャートである。
【図１】
2008517390.tif 000003
【図２】
2008517390.tif 000004
【図３】
2008517390.tif 000005
【図４】
2008517390.tif 000006
【図５】
2008517390.tif 000007
【国際調査報告】
2008517390.tif 000008
2008517390.tif 000009
2008517390.tif 000010