(57)【要約】  コンピュータ装置の物理トークンに対して発行された信任状に基づいて、該コンピュータ装置の仮想トークンに信任状が発行される。これにより、仮想トークン信任状が物理トークン信任状に結び付けられる。
2005513605.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置の物理トークンによって生成された認証メッセージを受信する工程と、
エンティティに信任状の発行をリクエストする工程とを有し、
前記認証メッセージは、前記コンピュータ装置及び前記物理トークンの仮想トークンに関連する公開鍵を認証し、
前記信任状は、前記認証メッセージに基づいて前記仮想トークンに関連する前記公開鍵についての信任状である、ことを特徴とする方法。
【請求項２】
請求項１記載の方法であって、
前記認証メッセージは、
前記エンティティの公開鍵によって暗号化され、
前記仮想トークンに関連する公開鍵及び前記物理トークンに対して発行された信任状の双方のハッシュを有する、ことを特徴とする方法。
【請求項３】
請求項２記載の方法であって、
前記リクエスト工程は、前記認証メッセージ、前記仮想トークンに関連する公開鍵、及び、前記物理トークンに対して発行された信任状、を前記エンティティに送る工程を有する、ことを特徴とする方法。
【請求項４】
請求項３記載の方法であって、
前記リクエスト工程は、更に、前記物理トークンからの１以上の整合性メトリック引用と、これら整合性メトリック引用に関連する１以上のログとを前記エンティティへ送る工程を有する、ことを特徴とする方法。
【請求項５】
請求項１記載の方法であって、
対称暗号化アルゴリズムのセッション鍵を用いて１以上の整合性メトリック引用を暗号化して第一の暗号化されたパラメータを得る工程と、
前記認証メッセージ及び前記セッション鍵を前記エンティティに関連する公開鍵を用いて暗号かして第二の暗号化されたパラメータを得る工程とを更に有し、
前記リクエスト工程は、前記第一の暗号化されたパラメータ及び前記第二の暗号化されたパラメータを前記エンティティに送る工程を有する、ことを特徴とする方法。
【請求項６】
請求項１記載の方法であって、
前記認証メッセージは、
前記エンティティの公開鍵で暗号化され、
前記仮想トークンに関連する公開鍵と前記物理トークンに対して発行された信任状とを認証するハッシュを有する、ことを特徴とする方法。
【請求項７】
請求項１記載の方法であって、
前記認証メッセージは、
前記エンティティの公開鍵で暗号化され、
前記仮想トークンに関連する公開鍵と前記物理トークンに対して発行された信任状とを有する、ことを特徴とする方法。
【請求項８】
コンピュータ装置用の物理トークンであって、
前記コンピュータ装置の仮想トークンを測定する整合性メトリックを記録するレジスタと、
乱数と認証メッセージとを生成する１以上の処理ユニットとを有し、
前記認証メッセージは、
前記レジスタを指定し、
１つのエンティティの鍵で暗号化され、
前記乱数に基づいてユニークさを有する、ことを特徴とする物理トークン。
【請求項９】
請求項８記載の物理トークンであって、
前記１以上の処理ユニットは、前記認証メッセージが前記仮想トークンに関連する鍵及び前記物理トークンに対して発行された信任状を識別するハッシュを更に有するように、該認証メッセージを生成する、ことを特徴とする物理トークン。
【請求項１０】
請求項８記載の物理トークンであって、
前記１以上の処理ユニットは、前記認証メッセージが前記仮想トークンに関連する鍵及び前記物理トークンに対して発行された信任状を識別するように、該認証メッセージを生成する、ことを特徴とする物理トークン。
【請求項１１】
請求項８記載の物理トークンであって、
前記整合性メトリックは、前記仮想トークンを有する仮想マシン・モニタのハッシュを有する、ことを特徴とする物理トークン。
【請求項１２】
請求項８記載の物理トークンであって、
前記認証メッセージは、前記仮想トークン、前記物理トークンに対して発行された前記信任状、及び、前記レジスタを指定するインデックスに関連する鍵を認証する１以上のハッシュを有する、ことを特徴とする物理トークン。
【請求項１３】
コンピュータ装置であって、
整合性メトリックを記録する仮想トークンと、
前記仮想トークンを測定する整合性メトリックを記録し、認証メッセージを生成する物理トークンと、
プロセッサとを有し、
前記認証メッセージは、前記整合性メトリックを認証し、エンティティの非対称鍵で暗号化され、ユニークさを持ち、
前記プロセッサは、前記エンティティに、前記認証メッセージに基づいて前記仮想トークンに関連する非対称鍵についての信任状の発行をリクエストする、ことを特徴とするコンピュータ装置。
【請求項１４】
請求項１３記載のコンピュータ装置であって、
前記物理トークンは、前記認証メッセージが前記仮想トークンに関連する前記非対称鍵及び前記物理トークンに対して発行された信任状を識別するように、該認証メッセージを生成し、
前記プロセッサは、前記認証メッセージ、前記仮想トークンに関連する前記非対称鍵、及び、前記物理トークンに対して発行された前記信任状、を前記エンティティに送る、ことを特徴とするコンピュータ装置。
【請求項１５】
請求項１４記載のコンピュータ装置であって、
前記プロセッサは、更に、前記物理トークンからの１以上の整合性メトリック引用と、これら整合性メトリックに関連する１以上のログとを送る、ことを特徴とするコンピュータ装置。
【請求項１６】
請求項１３記載のコンピュータ装置であって、
前記プロセッサは、
前記エンティティの前記非対称鍵で暗号化された対称鍵を該エンティティへ送り、
前記対称鍵で暗号化された前記認証メッセージ、前記仮想トークンに関連する前記非対称鍵、及び前期物理トークンに対して発行された前記信任状を前記エンティティに送る、ことを特徴とするコンピュータ装置。
【請求項１７】
コンピュータ装置であって、
物理トークンと、
仮想マシン・モニタとを有し、
前記物理トークンは、
前記コンピュータ装置のオペレーティング環境を認証する認証メッセージと前記物理トークンに対して発行された信任状とを生成し、
前記仮想マシン・モニタは、
前記オペレーティング環境を認証する仮想トークンを有し、
前記物理トークンに前記認証メッセージの提供をリクエストし、
前記認証メッセージをエンティティへ転送し、
前記認証メッセージが前記エンティティへ転送されると前記仮想トークンについての信任状を受信する、ことを特徴とするコンピュータ装置。
【請求項１８】
請求項１７記載のコンピュータ装置であって、
前記物理トークンは、前記認証メッセージが前記仮想トークンに関連する公開鍵と前記物理トークンに対して発行された前記信任状とを識別する１以上のハッシュを更に有するように、該認証メッセージを生成する、ことを特徴とするコンピュータ装置。
【請求項１９】
請求項１７記載のコンピュータ装置であって、
前記物理トークンは、前記認証メッセージが前記仮想トークンに関連する公開鍵と前記物理トークンに対して発行された前記信任状とを更に有するように、該認証メッセージを生成する、ことを特徴とするコンピュータ装置。
【請求項２０】
請求項１７記載のコンピュータ装置であって、
前記物理トークンは、前記認証メッセージを、前記仮想マシン・モニタを表す整合性メトリックを含むように生成する、ことを特徴とするコンピュータ装置。
【請求項２１】
請求項１７記載のコンピュータ装置であって、
前記物理トークン及び仮想トークンは、記録された整合性メトリックの引用を提供することによって前記オペレーティング環境を認証し、
前記仮想マシン・モニタは、更に、前記エンティティに記録された整合性メトリックの１以上の引用を提供する、ことを特徴とするコンピュータ装置。
【請求項２２】
コンピュータ装置の仮想トークンに対して発行される信任状に対するリクエストを受信する工程と、
前記リクエストの情報に基づいて前記仮想トークンが適切な仮想トークンについての基準を満たすか否かを判断する工程と、
前記仮想トークンが前記基準を満たしたときに、前記コンピュータ装置の前記仮想トークンに前記信任状を発行する工程と、を有する方法。
【請求項２３】
請求項２２記載の方法であって、
前記判断工程は、前記コンピュータ装置の物理トークンに対して発行された、前記リクエストによって提供された信任状を分析する工程を有する、ことを特徴とする方法。
【請求項２４】
請求項２３記載の方法であって、
前記判断工程は、前記コンピュータ装置の前記仮想トークンを表す整合性メトリックを分析する工程を更に有する、ことを特徴とする方法。
【請求項２５】
請求項２４記載の方法であって、
前記判断工程は、前記仮想トークンを有するモニタのハッシュに基づいた整合性メトリックを分析する工程を更に有する、ことを特徴とする方法。
【請求項２６】
機械可読媒体であって、
実行されたときに、コンピュータ装置に、
物理トークン及びコンピュータ装置のオペレーティング環境を認証する認証メッセージを生成させ、
エンティティが前記認証メッセージに基づいて前記コンピュータ装置の仮想トークンに信任状を発行することをリクエストさせる、命令を有する、ことを特徴とする機械可読媒体。
【請求項２７】
請求項２６記載の機械可読媒体であって、
前記命令は、実行されると、前記コンピュータ装置に、更に、
前記認証メッセージが前記仮想トークンに関連する公開鍵を認証するハッシュを有するように、該認証メッセージを生成させる、ことを特徴とする機械可読媒体。
【請求項２８】
請求項２７記載の機械可読媒体であって、
前記命令は、実行されると、前記コンピュータ装置に、更に、
前記認証メッセージが前記エンティティの公開鍵で暗号化され、前記ハッシュが更に前記物理トークンに対して発行された信任状を認証するように、該認証メッセージを生成させる、ことを特徴とする機械可読媒体。
【請求項２９】
請求項２８記載の機械可読媒体であって、
前記命令は、実行されると、前記コンピュータ装置に、更に、
前記仮想トークンに関する前記公開鍵と前記物理トークンに関連する前記信任状とを送らせる、ことを特徴とする機械可読媒体。
【請求項３０】
請求項２６記載の機械可読媒体であって、
前記命令は、実行されると、前記コンピュータ装置に、更に、
前記認証メッセージが、前記エンティティの公開鍵で暗号化され、前記仮想トークンに関連する公開鍵と前記物理トークンに関連する前記信任状とを認証する１以上のハッシュを有するように、該認証メッセージを生成させ、
前記仮想トークンに関連する前記公開鍵、前記物理トークンに関連する前記信任状、前記認証メッセージ、前記物理トークンに記録された整合性メトリックの引用、及び、該整合性メトリックに関連するログ、をセッション鍵で暗号して第一のパラメータを取得させ、
前記セッション鍵を前記エンティティの前記公開鍵で暗号化して第二のパラメータを取得させ、
前記リクエストの際に前記第一のパラメータ及び前記第二のパラメータを前記エンティティへ送信させる、ことを特徴とする機械可読媒体。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
（背景）
既存のソフトウェアベースのセキュリティ・サービスは、コンピュータ装置又はプラットフォームが信頼できるものであることを暗に前提としている。それらは、それらが安全な環境で実行されることを前提として、アプリケーション・レベルのセキュリティを提供する。この前提は、既存のビジネス・モデルに必要なセキュリティ・レベルを正当化するのに十分正しいが、最新のセキュリティ機能は、既に、ハードウェア・サポートを追加せずに可能な最高の保護レベルを提供している。
【０００２】
このため、ＴＰＣＡ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｃｏｍｐｕｔｉｎｇ  Ａｌｌｉａｎｃｅ）は、ＴＣＰＡ  Ｍａｉｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒ．１．１（２００１年７月３１日）の中で、信頼を向上させ、既存のサービス及び新規のサービスの強化を可能にするＴＰＭ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）又は物理トークン（ｐｈｙｓｉｃａｌ  ｔｏｋｅｎ）について記載している。ＴＰＭは、ソフトウェア・プロセスの監査（ａｕｄｉｔｉｎｇ）及びロギング（ｌｏｇｇｉｎｇ）、プラットフォーム起動保全（ｐｌａｔｆｏｒｍ  ｂｏｏｔ  ｉｎｔｅｇｒｉｔｙ）、ファイル保全（ｆｉｌｅ  ｉｎｔｅｇｒｉｔｙ）、及び、ソフトウェア・ライセンシング、をサポートする。ＴＰＭは、存在するハードウェア（例えば、プロセッサ、チップセット、ファームウェア、など）によって定義されたプラットフォームの身元（ｉｄｅｎｔｉｔｙ）を証明するのに用いることができるプラットフォーム用の保護された情報貯蔵庫を提供する。これらの特徴は、第三者が別の方法で定義された情報へのアクセスをプラットフォームに与えることを助長する。
【０００３】
ＴＰＭは、隔離されたコンピュータ・エンジンを含む。このコンピュータ・エンジンのプロセスは、それらが変更不可能であるため、信頼できる。これらプロセスとプラットフォームに対するサブシステムの結合とを組み合わせると、プラットフォーム内のホストコンピュータ環境の状態を信頼性高く測定し、報告することができる。ＴＰＭは、プラットフォームの起動について信頼の根を提供する。プラットフォームに安全なオペレーティング・システム（ＯＳ）を提供することは所有者の責任であるが、ＯＳが一旦読み込まれると、それは、信用できないソフトウェアの読み込みを、その信用できないソフトウェアが読み込まれる前に、ＴＰＭに報告することができる。よって、ＴＰＭは、プラットフォームの主ソフトウェア環境の現状を示す測定データを報告することができる。ローカル又はリモートのエンティティは、単にＴＰＭに問い合わせることによってこれら測定値を確実に取得することができる。また、プラットフォームの動作によって意図された目的に対して信頼できるものとすることができるか否かを判断することができる。ＴＰＭはオペレーティング・システムの現状を認証することができるため、ソフトウェアの読み込みにおける信頼性が向上する。
【０００４】
ＴＰＭは、機密データへの入口として機能することができる。ＴＰＭは、アクセス権及びソフトウェア環境の特定の組み合わせが存在する場合のみ、そのデータの公開又は使用を許可することができる。当然、ＴＰＭの保護された貯蔵庫は、ＩＤ情報のみならず、あらゆるセンシティブなデータに用いることができる。ＴＰＭは、これらサービスを、通常のアプリケーションによるサービスと呼ばれるシステム・レベルのソフトウェア・セキュリティ・サービス（ＩＰＳｅｃなど）に転送することができる。この構成により、所望であればプラットフォームを匿名にしたまま、同時にプラットフォームの身元の信頼性を向上させることができる。ゆえに、ＩＤの証明を呼び出すあらゆるアプリケーションをより高い信頼性で使うことができると共に、より大きな力を許可することができる。
【０００５】
ここで、本発明の限定的でない一例を添付図面に示す。便宜上、図示した要素は、必ずしもスケールが合っていない。
【０００６】
例えば、便宜上、他の要素に対して寸法が誇張されている要素もある。さらに、適切に考慮される場合、対応する又は類似する要素を示すのに参照符号が複数の図面の間で繰り返される。
【０００７】
（詳細な説明）
以下の詳細な説明においては、本発明の完全な理解を提供するために、多くの具体的なディテールが記載される。しかし、本発明は、これら具体的ディテール無しでも実現できる。他の例として、良く知られた方法、手順、構成要素、及び回路は、本発明が目立たなくならないように、詳細には記載されない。さらに、サイズ／モデル／値／レンジが例示されるが、本発明はこれら具体例に限定されない。
【０００８】
明細書中に「１つの実施形態」、「一実施形態」、「実施形態の一例」等と記載した場合、記載された実施形態が、特定の特徴、構造、又は特性を含み得るが、すべての実施形態が必ずしもそれら特定の特徴、構造、又は特性を含まなくてもよい、ということを示している。さらに、このようなフレーズは、必ずしも同じ実施形態について言及しているとは限られない。さらに、特定の特徴、構造、又は特性が一実施形態と共に記載されている場合、それら特徴、構造、又は特性を他の実施形態と共に実行することは、明示されているか否かにかかわらず、当業者の知識の範囲内であると思われる。
【０００９】
図１に示されたコンピュータ装置１００の一例は、１以上のプロセッサ１１０を有する。プロセッサ１１０は、例えば、リアルモード、プロテクトモード、仮想８０８６モード、仮想マシンモード（ＶＭＸモード）などの１以上のオペレーティングモードをサポートし得る。さらに、プロセッサ１１０は、サポートされたオペレーティングモードの各々において、１以上の優先レベル又はリングをサポートし得る。一般的に、プロセッサ１１０のオペレーティングモード及び優先レベルは、実行可能な命令及びこのような命令を実行の効果を定義する。より具体的には、プロセッサ１１０は、プロセッサ１１０が適切なモード及び／又は優先レベルにある場合のみ、特定の優先命令を実行することが許可されてもよい。
【００１０】
チップセット１２０は、プロセッサ１１０をメモリ１３０、ネットワーク・インターフェース１４０、物理トークン１５０、仮想トークン（ｖｉｒｔｕａｌ  ｔｏｋｅｎ）１６０、及び、コンピュータ装置１００の他の入出力装置１７０（例えば、マウス、キーボード、ディスクドライブ、ビデオコントローラ、など）に接続する１以上の集積回路パッケージ又はチップを有する。チップセット１２０は、メモリ１３０へデータを書き込み、メモリ１３０からデータを読み出すメモリ・コントローラ（図示せず）を含んでもよい。さらに、チップセット１２０及び／又はプロセッサ１１０は、メモリ１３０内の特定の領域を、特定のオペレーティングモード（例えば、プロテクトモード）及び優先レベル（例えば、０Ｐ）のときに、プロセッサ１１０によってのみアクセス可能なプロテクトメモリ１３２として定義することができる。
【００１１】
ネットワーク・インターフェース１４０は、一般的に、コンピュータ装置１００がネットワーク１８０を通じてリモート・エージェント（ｒｅｍｏｔｅ  ａｇｅｎｔ）１９０及び認証局（ｃｅｒｔｉｆｉｃａｔｉｏｎ  ａｕｔｈｏｒｉｔｙ）１９５と通信するための通信機構を提供する。ネットワーク・インターフェース１４０は、コンピュータ装置１００を１以上のリモート・エージェント１９０及び／又は認証局１９５に接続するための、例えば、１０Ｍｂ又は１００Ｍｂのイーサネット（登録商標）・コントローラ、ケーブルモデム、ディジタル加入者線（ＤＳＬ）モデム、一般電話サービス（ＰＯＴＳ）モデムなどを有する。
【００１２】
一般的に、コンピュータ装置１００の物理トークン１５０は、整合性（ｉｎｔｅｇｒｉｔｙ）メトリック（ｍｅｔｒｉｃｓ）、キー（ｋｅｙｓ）、及びシークレット（ｓｅｃｒｅｔｓ）用の保護されたストレージを有し、プロセッサ１１０及びチップセット１２０からのリクエストに応じて様々な整合性機能を実行する。特に、物理トークン１６０は、整合性メトリックを信頼できる方法で保存し、整合性メトリックを信頼できる方法で引用し、特定の環境（現在又は将来）へのシークレットをシールし、それらがシールされた環境へのシークレットはシールをはがす、ことができる。さらに、後述するように、物理トークン１５０は、コンピュータ装置１００を固有に識別する識別子又はキーを含む。
【００１３】
仮想トークン１６０は、コンピュータ装置１００の物理トークン１５０に似た方法で実行する。しかし、仮想トークン１６０は、整合性メトリック、キー、及びシークレット用のより保護されたストレージを有する。なぜなら、仮想トークン１６０は、整合性メトリック、キー、及びシークレットを保存するのにメモリ１３０及びプロテクトメモリ１３２のストレージ容量を利用できるからである。さらに、仮想トークン１６０は、物理トークン１５０より素早く整合性オペレーションを実行できる。なぜなら、仮想トークン１６０は、このような整合性オペレーションを実行するのにプロセッサ１１０の処理能力を利用できるからである。
【００１４】
図２に示すように、物理トークン１５０は、コンピュータ装置１００について整合性機能を実行する１以上の処理ユニット２１０を有する。物理トークン１５０は、更に、例えばＲＳＡ暗号アルゴリズムなどの非対称暗号アルゴリズムに従って、固定秘密鍵２２０と、これに対応した固定公開鍵２２２とを生成する。実施形態の一例において、物理トークン１５０は、固定秘密鍵２２０と対応する公開鍵２２２は一旦起動されるとユニーク且つ不変であるように、固定秘密／公開鍵ペア２２０、２２２を生成する。
【００１５】
また、物理トークン１５０は、物理トークン１５０が１つのコンピュータ装置１００のみと接続されることをリモート・エージェント１９０に確約するために、コンピュータ装置１００に貼り付けられるか又は内部に組み込まれてもよい。例えば、物理トークン１５０は、例えば、チップセット１２０の複数のチップの中の１つの内部に組み込まれてもよく、及び／又は、コンピュータ装置１００のメインボードにマウントされた表面内に組み込まれてもよい。固定物理トークン１５０がユニークであること、及び、それがコンピュータ装置１００内に組み込まれていることにより、リモート・エージェント１９０は、物理トークン１５０の固定公開鍵２２２に基づいて確実にコンピュータ装置１００を識別することができる。
【００１６】
固定秘密／公開鍵ペア２２０、２２２の他に、物理トークン１５０は、更に、非対称暗号アルゴリズムに従って、１以上の補助秘密／公開鍵ペア２３０、２３２を生成する。実施形態の一例において、コンピュータ装置１００は、固定秘密／公開鍵ペア２２０、２２２が不変であるのに対し、補助秘密／公開鍵ペア２３０、２３２を必要に応じて生成する。したがって、コンピュータ装置１００は、通常、固定公開鍵２２２を、例えばリモート・エージェント１９０や認証局１９５などの信頼できるエンティティの小さいグループにしか提供しない。さらに、コンピュータ装置１００は、通常、固定公開鍵２２２の公開を低減するために、ほとんどの他の暗号化、暗号解読、及びディジタル・サイン・オペレーションに対してその補助秘密／公開鍵ペア２３０、２３２を利用する。
【００１７】
物理トークン１５０は、更に、信頼できる方法で整合性メトリックを記録し、報告するのに用いられ得る１以上のプラットフォーム設定レジスタ（ＰＣＲレジスタ）２４０、２４２、２４４を有する。処理ユニット２１０は、識別されたＰＣＲレジスタ２４０、２４２、２４４の引用（ｑｕｏｔｅ）又はコンテンツをハードウェアＳＰＣＲ引用オペレーションをサポートする。また、処理ユニット２１０は、受信した整合性メトリックを識別されたＰＣＲレジスタ２４０、２４２、２４４に記録するＰＣＲ拡張オペレーションもサポートする。特に、ＰＣＲ拡張オペレーションは、（１）付加された整合性メトリックを得るために、受信した整合性メトリックを識別されたＰＣＲレジスタ２４０、２４２、２４４に記憶された整合名メトリックに結び付ける又は付加し、（２）受信した整合性メトリックと識別されたＰＣＲレジスタ２４０、２４２、２４４によって記録された前の整合性メトリックとを表す更新された整合性メトリックを得るために付加された整合性メトリックを細切りにし、そして、（３）更新された整合性メトリックをＰＣＲレジスタ２４０、２４２、２４４に記憶する。
【００１８】
ここで用いられるように、「細切りにする（ｈａｓｈ）」という動詞及び関連する形は、値又は「ハッシュ（ｈａｓｈ）」を生成するためにオペランド又はメッセージ上でオペレーションを実行することを指す。理想的には、ハッシュ・オペレーションは、ハッシュ生成において、そのハッシュを備えたメッセージを見つけることがコンピュータには実行不可能であり、そのハッシュを備えたメッセージに関する有用な情報を一切判断できないハッシュを生成する。さらに、ハッシュ・オペレーションは、理想的には、同じハッシュを生成する２つのメッセージを決定することがコンピュータには不可能なように、ハッシュを生成する。ハッシュ・オペレーションは、理想的には、上記特性を有するが、現実には、例えば、Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５  ｆｕｎｃｔｉｏｎ（ＭＤ５）やＳｅｃｕｒｅ  Ｈａｓｈｉｎｇ  Ａｌｇｏｒｉｔｈｍ  １（ＳＨＡ−１）などのワンウェイ関数が、それからメッセージを推論することが困難で、計算負荷が大きく、及び／又は、現実的に不可能な、ハッシュ値を生成する。
【００１９】
物理トークン１５０は、複数の異なる方法で実施することができる。しかし、実施形態の一例において、物理トークン１５０は、Ｔｒｕｓｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｐｌａｔｆｏｒｍ  Ａｌｌｉａｎｃｅ（ＴＣＰＡ）  Ｍａｉｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，Ｖｅｒｓｉｏｎ  １．１，２００１年７月３１日に詳細に記載されたＴｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ（ＴＰＭ）の仕様書に準拠して実施される。
【００２０】
引き続き図２を参照すると、仮想トークン１６０は、物理トークン１５０に似た機能性を提供する仮想の又はソフトウェアの構造物を提供する。特に、仮想トークン１６０は、コンピュータ装置１００に対して整合性機能を実行する１以上の仮想処理ユニット２５０を有する。仮想トークン１６０は、固定秘密鍵２６０と対応する公開鍵２６２とが一旦起動するとユニーク且つ不変であるように、非対称暗号アルゴリズムに従って、固定秘密鍵２６０と対応する固定公開鍵２６２とを生成する。
【００２１】
固定秘密／公開鍵ペア２６０、２６２の他に、仮想トークン１６０は、更に、非対称暗号アルゴリズムに従って、１以上の補助秘密／公開鍵ペア２７０、２７２を生成する。仮想トークン１６０は、更に、信頼できる方法で整合性メトリックを記録し、報告するのに用いられ得る１以上の仮想ＰＣＲレジスタ２８０を有する。
【００２２】
信頼できるオペレーティング環境３００の一例を図３に示す。コンピュータ装置１００は、プロセッサ１１０のオペレーティングモードと優先レベルとを利用して、信頼できるオペレーティング環境３００を確立する。図示するように、信頼できるオペレーティング環境３００は、信頼できる仮想マシンカーネル又はモニタ３１０、１以上の標準的な仮想マシン（標準ＶＭ）３２０、及び、１以上の信頼できる仮想マシン（高信頼ＶＭ）３３０を有する。オペレーティング環境３００のモニタ３１０は、仮想マシン３２０、３３０間のセキュリティ及び優先バリアを管理するために、最優先プロセッサ・リング（例えば、０Ｐ）において、プロテクトモードで実行され。さらに、モニタ３１０は、仮想トークン１６０の機能性を実施するコードを有する。あるいは、仮想トークン１６０は、別体のＶＴソフトウェア・モジュールを用いて実施されてもよい。
【００２３】
標準ＶＭ３２０は、ＶＭＸモードの最優先プロセッサ・リング（例えば、０Ｄ）において実行されるオペレーティング・システム３２２と、ＶＭＸモードのより低い優先度のプロセッサ・リングにおいて実行される１以上のアプリケーション３２４とを有し得る。モニタ３１０を実行するプロセッサ・リングは、オペレーティング・システム３２２が実行されるプロセッサ・リングよりも優先度が高いため、オペレーティング・システム３２２は、コンピュータ装置１００を自由に制御できず、代わりにモニタ３１０の制御及び制約を受ける。特に、モニタ３１０は、オペレーティング・システム３２２及びそのアプリケーション３２４がプロテクトメモリ１３２及び物理トークン１５０にアクセスすることを妨げる。
【００２４】
モニタ３１０は、１以上の整合性メトリックを得るためにカーネル・コードのハッシュなどの信頼できるカーネル３３２の１以上の測定を実行し、カーネル３３２の整合性メトリックを用いて物理トークン１５０に識別されたＰＣＲレジスタ２４４を拡張させ、整合性メトリックをプロテクトメモリ１３２に記憶された関連するＰＣＲログに記録する、ことができる。次いで、モニタ３１０は、カーネル３３２の整合性メトリックに基づいてカーネル３３２を信頼するか否かを判断する。カーネル３３２が信頼に値すると判断されると、モニタ３１０はプロテクトメモリ１３２に高信頼ＶＭ３３０を確立し、確立された高信頼ＶＭ３３０に信頼されたカーネル３３２を立ち上げる。
【００２５】
同様に、信頼されたカーネル３３２は、１以上の整合性メトリックを得るためのアプレット・コードのハッシュなどのアプレット又はアプリケーション３３４の１以上の測定値を取る。次いで、モニタ３１０を通じた信頼されたカーネル３３２は、物理トークン１５０にアプレット３３４の整合性メトリックを用いて識別されたＰＣＲレジスタを拡張させる。信頼されたカーネル３３２は、更に、整合性メトリックをプロテクトメモリ１３２に記憶された関連するＰＣＲログに記録する。信頼されたカーネル３３２は、アプレット３３４の整合性メトリックに基づいてそのアプレット３３４を信頼するか否かを判断する。アプレット３３４が信頼に値すると判断されると、信頼されたカーネル３３２は、プロテクトメモリ１３２の確立された高信頼ＶＭ３３０に信頼されたアプレット３３４を立ち上げる。
【００２６】
図３の信頼できるオペレーティング環境３００が開始されると、コンピュータ装置１００は、モニタＰＣＲレジスタ２４０のモニタ３１０及び仮想トークン１６０についての整合性メトリックを記録すると共に、信頼されたサポート（ＴＳ）ＰＣＲレジスタ２４２のハードウェアについての整合性メトリックも記録する。信頼できるオペレーティング環境３００は、例えば、システム・スタートアップ、アプリケーション・リクエスト、オペレーティング・システム・リクエストなどの様々なイベントに応じて、開始される。
【００２７】
実施形態の一例において、コンピュータ装置１００は、モニタ３１０及び仮想トークン１６０について以下のように整合性メトリックを取得・記録する。プロセッサ１１０は、モニタ・ソフトウェア・モジュールを細切りにして、モニタ整合性メトリックを得る。次いで、プロセッサ１１０は、物理トークン１５０にモニタ整合性メトリックを用いてモニタＰＣＲレジスタ２４０を拡張させ、プロテクトメモリ１３２に記憶されたモニタＰＣＲログにモニタ整合性メトリックを記録する。さらに、仮想トークン（ＶＴ）機能が別個のソフトウェア・モジュールとして実施される場合、プロセッサ１１０はＶＴソフトウェア・モジュールを細切りにして、ＶＴ整合性メトリックを得る。次いで、プロセッサ１１０は、物理トークン１５０にＶＴ整合性メトリックを用いてモニタＰＣＲレジスタ２４０を拡張させ、ＶＴ整合性メトリックをモニタＰＣＲログに記録する。ここで、モニタＰＣＲレジスタ２４０は、モニタ３１０及び仮想トークン１６０の双方を表す値を有する。
【００２８】
コンピュータ装置１００は、更に、ＴＳ  ＰＣＲレジスタ２４２にハードウェアについての整合性メトリックを記録して、信頼できるオペレーティング環境に対してハードウェア・サポートの記録を提供する。実施形態の一例において、プロセッサ１１０は、プロセッサ・ファミリ、プロセッサ・バージョン、プロセッサ・ミクロコード・バージョン、チップセット・バージョン、プロセッサ１１０、チップセット１２０、及び物理トークン１５０の物理トークンのバージョンなどのハードウェア識別子を取得する。次いで、プロセッサ１１０は、得られたハードウェア識別子を用いてＴＳ  ＰＣＲレジスタ２４２を拡張し、プロテクトメモリ１３２に記憶されたＴＳ  ＰＣＲログにハードウェア識別子を記録する。
【００２９】
整合性メトリックを物理トークン１５０に記録することの他に、コンピュータ装置１００は、記録された整合性メトリックをリモート・エージェント１９０又は認証局１９５へ報告し、リモート・エージェント１９０及び認証局１９５が報告された整合性メトリックに基づいて信頼判断を行えるようにする。例えば、コンピュータ装置１００は、認証局１９５にコンピュータ装置１００に対して識別信任状（ｉｄｅｎｔｉｔｙ  ｃｒｅｄｅｎｔｉａｌ）によって識別されたエンティティ（例えば、コンピュータ装置１００）にバウンドされている識別信任状の公開鍵を証明する信任状（ｃｒｅｄｅｎｔｉａｌ）を発行させるために、認証局１９５に整合性メトリックを提供する。コンピュータ装置１００は、リモート・エージェント１９０から秘密（ｓｅｃｒｅｔ）を得るために、発行された識別信任状をリモート・エージェント１９０に提供する。次いで、リモート・エージェント１９０は、識別信任状によって識別されたエンティティに秘密をリリースするか否かを判断する。リモート・表示エリア＝−じぇントランスミッション１９０がその秘密を識別信任状によって識別されたエンティティ（ｅｎｔｉｔｙ）にリリースすることを判断した場合、リモート・エージェント１９０はそのリクエストされた秘密を該識別信任状の公開鍵で暗号化し、この暗号化された秘密をリクエストしたエンティティに提供する。
【００３０】
実施形態の一例において、認証局１９５は物理トークン（ＰＴ）識別信任状をコンピュータ装置１００の補助公開鍵２３２へ発行する。ＰＴ識別信任状を発行する際、認証局１９５は、基本的に、ＰＴ識別信任状の補助公開鍵２３２がそのＰＴ識別信任状によって識別された物理トークン１５０に属することを証明する。ＰＴ識別信任状は、ＰＴ識別信任状の識別ラベルと、このＰＴ識別信任状にバウンドされた補助公開鍵２３２と、ＰＴ裏書（ｅｎｄｏｒｓｅｍｅｎｔ）信任状への言及と、プラットフォーム信任状への言及と、適合性（ｃｏｎｆｏｒｍａｎｃｅ）信任状への言及と、発行した認証局１９５の秘密鍵ＣＡＰｒｉｖによって暗号化された物理トークン１５０のバージョン識別子とを有する。
【００３１】
ＰＴ識別信任状によって言及されたＰＴ裏書信任状、プラットフォーム信任状、及び適合性信任状は、コンピュータ装置１００の整合性態様を認証し、この認証を支持して情報を提供するために認証局１９５が発行する信任状である。ＰＴ裏書信任状は、ＰＴ裏書信任状の固定公開鍵２３２が識別された物理トークン１５０によって生成されたこと、及び、識別された物理トークン１５０は適切な物理トークン１５０に対して定義された基準を満たすこと、を認証する。同様に、プラットフォーム信任状は、基本的に、言及されたＰＴ裏書信任状が適切なプラットフォームについて定義された基準を満たすデザイン及び構造を有するプラットフォーム又はコンピュータ装置１００にバウンドされていることを認証する。さらに、適合性信任状は、言及されたＰＴ裏書信任状が適切なプラットフォームについて定義された基準に適合するデザイン全体を有するプラットフォーム又はコンピュータ装置１００にバウンドされていることを認証する。
【００３２】
ＰＴ識別信任状、ＰＴ裏書信任状、プラットフォーム信任状、及び、適合性信任状は、複数の異なる方法で実施・発行できる。しかし、実施形態の一例において、ＰＴ識別信任状、ＰＴ裏書信任状、プラットフォーム信任状、及び適合性信任状は、ＴＣＰＡ  Ｍａｉｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，Ｖｅｒｓｉｏｎ  １．１（２００１年７月３１日）に詳細に記載されたＩｄｅｎｔｉｔｙ  Ｃｒｅｄｅｎｔｉａｌ、ＴＰＭ  Ｅｎｄｏｒｓｅｍｅｎｔ  Ｃｒｅｄｅｎｔｉａｌ、Ｐｌａｔｆｏｒｍ  Ｃｒｅｄｅｎｔｉａｌ、及び、Ｃｏｎｆｏｒｍａｎｃｅ  Ｃｒｅｄｅｎｔｉａｌにそれぞれ準拠して実施・発行される。
【００３３】
ここで図４を参照する。図４には、選択された認証曲１９５からＶＴ裏書信任状を取得する方法４００が示されている。コンピュータ装置１００は、モニタ３１０、標準ＶＭ３２０、高信頼ＶＭ３３０、リモート・エージェント１９０、及び／又は、認証局１９５がコンピュータ装置１００が仮想トークン１６０及び対応するＶＴ裏書信任状を確立することをリクエストしたときなどの様々なイベントに応じて、本方法４００を実行する。ＶＴ裏書信任状を発行する際、選択された認証局１９５は、ＶＴ裏書信任状の固定公開鍵２６２が仮想トークン１６０にバウンドされ、仮想トークン１６０がコンピュータ装置１００にバウンドされているとも共に該コンピュータ装置１００をユニークに識別し、さらに、仮想トークン１６０が適切な仮想トークンについて定義された基準を満たすこと、を認証する。
【００３４】
コンピュータ装置１００及び選択された認証局１９５は、例えば、リード・オンリ・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置、及び／又は、電気、光、音響、又は他の形の例えば搬送波、赤外線信号、ディジタル信号、アナログ信号などの伝搬信号などの機械可読媒体の命令を実行するのに応じて、方法４００の全部又は一部を実行する。さらに、方法４００はコンピュータ装置１００及び選択された認証局１９５のオペレーションをオペレーション・シーケンスとして示しているが、コンピュータ装置１００及び選択された認証局１９５は、様々なオペレーションを並列的に又は異なる順序で実行してもよい。
【００３５】
ブロック４１０において、モニタ３１０は、物理トークン１５０がモニタ３１０のＩＤを認証することをリクエストするのに応じて物理トークン１５０に提供されるパラメータを生成及び／又は取得して、受信したパラメータを該リクエストに結合させ、コンピュータ装置１００の現在のハードウェア及び／又はソフトウェア環境を認証する。モニタ３１０は、ブロック４１８において、例えばＴＰＭ＿ＶｉｒｔｕａｌＴＰＭＣｒｅｄｅｎｔｉａｌ機能などのリクエスト機能を実行することによって、このような物理トークン１５０のリクエストを作成する。ＴＰＭ＿ＶｉｒｔｕａｌＴＰＭＣｒｅｄｅｎｔｉａｌ機能の形式の一例を以下に示す。
ＴＰＭ＿ＶｉｒｔｕａｌＴＰＭＣｒｅｄｅｎｔｉａｌ（ＳｉｇＨ，ＭＱｕｏｔｅ，ＣｅｒｔＭ１，Ｈ２，ＡｌｌＰＣＲＱｕｏｔｅ）
ここで、サインされたハッシュＳｉｇＨは入力パラメータであり、パラメータＭＱｕｏｔｅ、ＣｅｒｔＭ１、Ｈ２、及び、ＡｌｌＰＣＲＱｕｏｔｅは物理トークン１５０によって提供される出力パラメータである。
【００３６】
サインされたハッシュＳｉｇＨは、ＶＴ公開鍵２６２、物理トークン１５０のＰＴ識別信任状ＰＴＩｄＣｒｅｄ、及び、選択された認証局１９５の公開鍵ＣＡＰｕｂ、を識別する値を物理トークン１５０に提供する。例えば、モニタ３１０は、ＶＴ公開鍵２６２、物理トークン１５０のＰＴ識別信任状ＰＴＩｄＣｒｅｄ、及び、選択された認証局１９５の公開鍵ＣＡＰｕｂを含むデータセットを生成し、このデータセットをＶＴ秘密鍵２６０で暗号化してサインされたデータセットＳｉｇＤＳを得る。次いで、モニタ３１０は、このサインされたデータセットＳｉｇＤＳをＳＨＡ−１ハッシュ・アルゴリズム又は他のアルゴリズムを用いてハッシング（ｈａｓｈｉｎｇ）して、ＶＴ公開鍵２６２、ＰＴ識別信任状ＰＴＩｄＣｒｅｄ、及び公開鍵ＣＡＰｕｂを識別するサインされたハッシュＳｉｎｇＨを得る。
【００３７】
リクエストに応じて、物理トークン１５０は、ブロック４２２において、モニタ３１０、ＶＴ公開鍵２６２、及びＰＴ識別信任状ＰＴＩｄＣｒｅｄのＩＤを認証すると共にコンピュータ装置１００の現在のハードウェア及び／又はソフトウェアを認証する情報をモニタ３１０に提供する。例えば、ＴＰＭ＿ＶｉｒｔｕａｌＴＰＭＣｒｅｄｅｎｔｉａｌの一例に応じて、認証メッセージＣｅｒｔＭ１、サインされたインデックスＭＱｕｏｔｅ、すべてのＰＴ  ＰＣＲレジスタ２４０、２４２、２４４の引用ＡｌｌＣＲＱｕｏｔｅ、及び、ユニークで且つ他のパラメータを認証するハッシュＨ２、がモニタ３１０に提供される。物理トークン１５０は、物理トークン１５０のモニタＰＣＲレジスタ２４０をＰＴ識別信任状ＰＴＩｄＣｒｅｄに関連する補助秘密鍵２３０を用いて識別するインデックスＭＰＣＲを暗号化することによってサインされたインデックスＭＱｕｏｔｅを生成する。
【００３８】
実施形態の一例において、物理トークン１５０は、以下のメッセージ形式に基づいて、認証メッセージＣｅｒｔＭ１を生成する。
ＣｅｒｔＭ１＝（Ｆｏｒｍａｔ１，Ｈ１，Ｈ２）ＣＡＰｕｂ
これは、認証メッセージＣｅｒｔＭ１が公開鍵ＣＡＰｕｂによって暗号化されたハッシュＨ１及びハッシュＨ２を有することを示す。フォーマット・パラメータＦｏｒｍａｔ１は、物理トークン１５０によって作成された認証メッセージＣｅｒｔＭ１としてメッセージを識別する「ＰＴ＿ＣｅｒｔＭ１」などの所定のＡＳＣＩＩ文字列を有する。公開鍵ＣＡＰｕｂは、モニタ３１０のリクエストによって提供された又は物理トークン１５０に以前に提供された選択された認証局１９５の公開鍵に対応する。
【００３９】
ハッシュＨ１は、ＶＴ公開鍵２６２、ＰＴ識別信任状ＰＴＩｄＣｒｅｄ、及び公開鍵ＣＡＰｕｂを識別し、繰り返し攻撃を防ぐのに役立つユニークさを提供する。実施形態の一例において、物理トークン１５０は、その処理ユニット２１０の乱数発生器によって生成された１６０ビットのランダム値などの臨時Ｎｏｎｃｅ１を生成する。次いで、物理トークン１５０は、モニタ３１０から受信したサインされたハッシュＳｉｇＨをハッシング（ｈａｓｈｉｎｇ）してハッシュＨ１を生成すると共に、ＳＨＡ−１ハッシング・アルゴリズムなどのハッシング・アルゴリズムに従って生成された臨時Ｎｏｎｃｅ１を生成する。
【００４０】
ハッシュＨ２は、ハッシュＨ１、インデックスＭＰＣＲ、サインされたインデックスＭＰＣＲを認証し、ユニークさを提供する。実施形態の一例において、物理トークン１５０は、ハッシュＨ１、インデックスＭＰＣＲ、及びサインされたインデックスＭＱｕｏｔｅをハッシング（ｈａｓｈｉｎｇ）し、よってハッシュＨ１をインデックスＭＰＣＲ及びサインされたインデックスＭＱｕｏｔｅに結合させることによってハッシュＨ２を生成する。さらに、ハッシュＨ２はハッシュＨ１を含むため、ハッシュＨ２は、更に、ＶＴ公開鍵２６２、ＰＴ識別信任状ＰＴＩｄＣｒｅｄ、及び、公開鍵ＣＡＰｕｂを認証し、よってこれらパラメータをインデックスＭＰＣＲ及びサインされたインデックスＭＰＣＲに結合させる。さらに、ハッシュＨ２はハッシュＨ１の臨時Ｎｏｎｃｅ１を通じてユニークさを有する。
【００４１】
モニタ３１０は、ブロック４２６において、認証局１９５にＶＴ裏書信任状の発行を決断するための情報を提供する信任状リクエスト・パッケージＣｒｅｄＰ１を生成する。実施形態の一例において、物理トークン１５０は、以下のパッケージ形式に基づいて、信任状リクエスト・パッケージＣｒｅｄＰ１を生成する。
ＣｒｅｄＰ１＝（ＥＤＳ１，ＣｒｅｄＭ１・ＣＡＰｕｂ）
これは、信任状リクエスト・パッケージＣｒｅｄＰ１が選択された認証局１９５の公開鍵ＣＡＰｕｂを用いて暗号化された信任状リクエスト・メッセージＣｒｅｄＭ１と、公開鍵ＣＡＰｕｂで暗号化されていない暗号化されたデータセットＥＤＳ１とを有することを示す。
【００４２】
暗号化されたデータセットＥＤＳ１は、コンピュータ装置１００に関する情報を提供する。実施形態の一例において、モニタ３１０は、認証メッセージＣｅｒｔＭ１を含むデータセットＤＳ１、ＶＴ公開鍵２６２、ＰＴ識別信任状ＰＴＩＣｒｅｄ、ＴＳ  ＰＣＲレジスタ２４２を識別するインデックスＴＳＰＣＲ、ＰＣＲレジスタ２４０、２４２、２４４の引用ＡｌｌＰＣＲＱｕｏｔｅ、及び、ＰＣＲレジスタ２４０、２４２、２４４のログＡｌｌＰＣＲＬｏｇｓを生成する。モニタ３１０は、更に、セッション鍵Ｓ１を生成し、セッション鍵Ｓ１と例えばＤＥＳ、３ＤＥＳ、及び／又はＡＥＳなどの対称暗号化アルゴリズムとを用いて、データセットＤＳ１を暗号化する。
【００４３】
信任状リクエスト・メッセージＣｒｅｄＭ１は、暗号化されたデータセットＥＤＳ１に関する情報を認証し、暗号化されたデータセットＥＤＳ１を暗号化／解読するのに用いられるセッション鍵Ｓ１を提供する。実施形態の一例において、モニタ３１０は、以下のメッセージ形式に基づいて、信任状リクエスト・メッセージＣｒｅｄＭ１を生成する。
ＣｒｅｄＭ１＝（Ｆｏｒｍａｔ２，Ｈ２，Ｈ３，Ｓ１）ＣＡＰｕｂ
これは、信任状リクエスト・メッセージＣｒｅｄＭ１が、フォーマット・パラメータＦｏｒｍａｔ２と、物理トークン１５０によって提供されるハッシュＨ２と、別のハッシュＨ３と、選択された認証局１９５の公開鍵ＣＡＰｕｂで暗号化されたセッション鍵Ｓ１とを有することを示す。
【００４４】
フォーマット・パラメータＦｏｒｍａｔ２は、モニタ３１０によって作成された信任状リクエスト・メッセージとしてメッセージを識別する「Ｍｏｎ＿ＣｅｒｄＭ１」などの所定のＡＳＣＩＩ文字列を有する。ハッシュＨ３は、データセットＤＳ１のデータを認証する。モニタ３１０は、ハッシング・アルゴリズム又は他のアルゴリズムを用いてデータセットＤＳ１のパラメータをハッシング（ｈａｓｈｉｎｇ）することによって、ハッシュＨ３を生成する。実施形態の一例において、モニタ３１０は、信任状メッセージＣｅｒｔＭ１、ＶＴ公開鍵２６２、ＰＴ識別信任状ＰＴＩｄＣｒｅｄ、インデックスＴＳＰＣＲ、引用ＡｌｌＰＣＲＱｕｏｔｅ、及び、ＳＨＡ−１ハッシング・アルゴリズムを用いたログＡｌｌＰＣＲＬｏｇｓをハッシング（ｈａｓｈｉｎｇ）する。
【００４５】
ブロック４３０において、モニタ３１０は、選択された認証局１９５に仮想トークン１６０にＶＴ裏書信任状を発行することをリクエストすると共に、信任状リクエスト・パッケージＣｒｅｄＰ１を該リクエストを支持して選択された認証局１９５に転送する。実施形態の一例において、モニタ３１０は、例えば、用いられた暗号化アルゴリズム、用いられたハッシング・アルゴリズム、用いられた信任状リクエスト・パッケージ形式、などのリクエストに関する更なる情報を提供するやり取りの一部として、信任状リクエスト・パッケージＣｒｅｄＰ１を認証局１９５に転送する。
【００４６】
認証局１９５は、ブロック４３４において、信任状リクエスト・パッケージＣｒｅｄＰ１の梱包を解き、信任状リクエスト・パッケージＣｒｅｄＰ１によって提供された情報を得る。例えば、認証局１９５は、信任状リクエスト・パッケージＣｒｅｄＰ１をそれに対応した秘密鍵ＣＡＰｒｉｖを用いて解読し、セッション鍵Ｓ１及び信任状リクエスト・パッケージＣｒｅｄＰ１の他の情報を得る。認証局１９５は、更に、信任状メッセージＣｅｒｔＭ１のセッション鍵Ｓ１を用いて暗号化されたデータセットＥＤＳ１を解読し、データセットＤＳ１のデータを得る。認証局１９５は、更に、認証メッセージＣｅｒｔＭ１と、信任状リクエスト・メッセージＣｒｅｄＭ１とを秘密鍵ＣＡＰｒｉｖを用いて解読する。
【００４７】
ブロック４３８において、認証局１９５は、信任状リクエスト・パッケージＣｒｅｄＰ１によって提供された情報の妥当性を認める。例えば、認証局１９５は、データセットＤＳ１によって提供されたパラメータからハッシュＨ１、Ｈ２、Ｈ３を再計算して予想ハッシュＣＨ１、ＣＨ２、ＣＨ３を得る。次いで、認証局１９５は、データセットＤＳ１のデータが、提供されたハッシュＨ１、Ｈ２、Ｈ３と所定の関係（例えば、等しいという関係）を有する予想ハッシュＣＨ１、ＣＨ２、ＣＨ３に応じてハッシュＨ１、Ｈ２、Ｈ３が認証したのと同じパラメータである。
【００４８】
信任状リクエスト・パッケージＣｒｅｄＰ１によって提供された情報が信任状リクエスト・パッケージＣｒｅｄＰ１のハッシュＨ１、Ｈ２、Ｈ３に対応していないと判断されると、認証局１９５は、ブロック４４２において、リクエストされたＶＴ裏書信任状の発行を拒否する。認証局１９５は、更に、ＶＴ裏書信任状ＶＴＣｒｅｄに対するリクエストが何故拒絶されたのかに関する指摘（ｉｎｄｉｃａｔｉｏｎ）をコンピュータ装置１００に提供する。実施形態の一例において、認証局１９５は、認証プロセスを回避するのに用いられ得る情報を供給することを防ぐためにリクエストが何故拒絶されたのかに関する指摘（ｉｎｄｉｃａｔｉｏｎ）を一切提供しない。信任状リクエスト・パッケージＣｒｅｄＰ１によって提供された情報が信任状リクエスト・パッケージＣｒｅｄＰ１のハッシュＨ１、Ｈ２、Ｈ３に対応していると判断されると、認証局１９５は、ブロック４４６において、ＰＴ識別信任状パラメータＰＴＩｄＣｒｅｄに基づいて、物理トークン１５０を疑うか否かを判断する。認証局１９５は、例えば、物理トークン１５０の識別されたバージョンが既知の脆弱性を有する場合、ＰＴ識別信任状が有効期限切れの場合、及び／又は、ＰＴ識別信任状によって識別されたエンティティが信頼に値しない場合、仮想トークン１６０を信頼に値しないと判断できる。認証局１９５は、更に、例えば、ＰＴ識別信任状を発行した認証局１９５が信頼に値しない場合、言及されたプラットフォーム適合性信任状が信頼に値しない場合、及び／又は、言及された適合性信任状が信頼に値しない場合、仮想トークン１６０が信頼に値しないと判断できる。
【００４９】
ＰＴ識別信任状パラメータＰＴＩｄＣｒｅｄに基づいて仮想トークン１６０が信頼できないと判断されると、認証局１９５は、ブロック４４２において、リクエストされたＶＴ裏書信任状の発行を拒否する。仮想トークン１６０が信頼できると判断されると、認証局１９５は、ブロック４５０において、モニタＰＣＲレジスタ２４０の引用及びそれに対応したＰＣＲログに基づいて、認証局１９５がコンピュータ装置１００の仮想トークン１６０を信頼するか否かを判断する。上述のように、モニタＰＣＲレジスタ２４０は、モニタ３１０及び仮想トークン１６０の整合性メトリックを記録する。さらに、モニタＰＣＲログは、モニタＰＣＲレジスタ２４０によって記録された整合性メトリックを有する。したがって、認証局１９５は、信任状リクエスト・パッケージＣｒｅｄＰ１のインデックスＭＰＣＲに基づいて、引用ＡｌｌＰＣＲＱｕｏｔｅ及びログＡｌｌＰＣＲＬｏｇからモニタＰＣＲレジスタ２４０の引用及びログを取得する。次いで、認証局１９５は、モニタＰＣＲレジスタ２４０の引用及びログがモニタ３１０の信頼できる実施を示しているか否かを判断する。
【００５０】
モニタＰＣＲレジスタ２４０の引用及び／又はログに基づいて仮想トークン１６０を信頼できないと判断されると、認証局１９５は、ブロック４４２において、リクエストされたＶＴ裏書信任状の発行を拒絶する。仮想トークン１６０が信頼できると判断されると、認証局１９５は、ブロック４５４において、ＴＳ  ＰＣＲレジスタ２４２の引用及びそれに対応したＰＣＲログに基づいて、認証局１９５がコンピュータ装置１００の仮想トークン１６０を信頼するか否かを判断する。上述のように、ＴＳ  ＰＣＲレジスタ２４２は、信頼できる環境をサポートする能力の判断材料となるコンピュータ装置１００のハードウェア構成要素についての整合性目トリックを記録する。さらに、ＴＳ  ＰＣＲログは、ＴＳ  ＰＣＲレジスタ２４２によって記録された整合性メトリックを有する。したがって、認証局１９５は、信任状リクエスト・パッケージＣｒｅｄＰ１のインデックスＴＳＰＣＲに基づいて、引用ＡｌｌＰＣＲＱｕｏｔｅ及びログＡｌｌＰＣＲＬｏｇからＴＳ  ＰＣＲレジスタ２４２の引用及びログを得る。次いで、認証局１９５は、ＴＳ  ＰＣＲレジスタ２４２の引用及びログが信頼できるハードウェア構成要素を示しているか否かを判断する。
【００５１】
ＴＳ  ＰＣＲレジスタ２４２の引用及び／又はログに基づいて仮想トークン１６０が信頼できないと判断されると、認証局１９５は、ブロック４４２において、リクエストされたＶＴ裏書信任状の発行を拒絶する。仮想トークン１６０が信頼できると判断されると、認証局１９５は、ブロック４５８において、信任状リクエスト・パッケージＣｒｅｄＰ１の追加的情報に基づいて、コンピュータ装置１００の仮想トークン１６０を信頼できるか否かを判断する。例えば、信任状リクエスト・パッケージＣｒｅｄＰ１の引用ＡｌｌＰＣＲＱｕｏｔｅ及びログＡｌｌＰＣＲＬｏｇによって提供された他のＰＣＲレジスタ２４４の引用及び／又はログに基づいて、仮想トークン１６０を信頼するかどうか判断する。
【００５２】
追加的情報に基づいて仮想トークン１６０が信頼できないと判断されると、認証局１９５は、ブロック４４２において、ＶＴ裏書信任状の発行を拒絶する。仮想トークン１６０が信頼できると判断されると、認証局１９５は、ブロック４６２において、モニタ３１０にリクエストされたＶＴ裏書信任状を提供する。このために、認証局１９５は、ＶＴ裏書信任状を、該信任状をＶＴ裏書信任状、仮想トークン１６０の固定公開鍵２６２、認証局１９５への言及、及び、コンピュータ装置１００、物理トークン１５０、及び／又は仮想トークン１６０に関する他の考えられる情報を識別するラベルを含むように生成する。次いで、認証局１９５は、その秘密鍵ＣＡＰｕｂでＶＴ裏書信任状にディジタル式にサインし、更に、そのサインされた裏書信任状を仮想トークン１６０の公開鍵２６２で暗号化する。
【００５３】
コンピュータ装置１００は、ＶＴ裏書信任状の固定公開鍵２６２がコンピュータ装置１００にバウンドされていることを認証するために、取得したＶＴ裏書信任状を後にリモート・エージェント１９０に提供する。さらに、コンピュータ装置１００は、ＶＴ裏書信任状を利用して、コンピュータ装置１００にバウンドされている補助公開鍵２７２を認証する選択された認証局１９５からＶＴ識別信任状を取得する。認証局１９５は、上述のＰＴ識別信任状と類似の方法でＶＴ識別信任状を発行する。
【００５４】
上記方法４００は、単なる一例に過ぎないことは明らかである。例えば、方法４００は、典型的な非対称暗号化アルゴリズムのサイズ制限を克服するための手法を用いる。非対称暗号化アルゴリズムは、通常、その非対称暗号化アルゴリズムのモジュールによって定義された最大サイズ未満のサイズを持つデータ又はデータセットしか正しく暗号化できない。この非対称暗号化アルゴリズムのサイズ制限を克服するための一方法は、対称アルゴリズム用のセッション鍵を生成し、そのセッション鍵と対称アルゴリズムとを用いてデータセットを暗号化し、そのセッション鍵を非対称鍵と非対称暗号化アルゴリズムを用いて暗号化することである。このデータセットは、後に、対応する非対称鍵と非対称アルゴリズムとを用いて検索されたセッション鍵によって解読される。したがって、事実上、非対称鍵と非対称暗号化アルゴリズムとを用いてデータセットの暗号化となる。
【００５５】
非対称暗号化アルゴリズムのサイズ制限を克服する別の方法は、データセットに含まれるデータを認証する１以上のハッシュを生成し、この１以上の生成されたハッシュを非対称に暗号化することである。あるエンティティ（例えば、認証局１９５）は、これらハッシュを解読し、受信したデータセットから予想ハッシュを計算し、予想ハッシュが解読されたハッシュと所定の関係（例えば、等しいという関係）を持っていた場合に、解読されたハッシュによって認証されたのと同じデータセットであることを判断する。
【００５６】
サイズ制限を克服する更に別の方法は、データセットを非対称暗号化アルゴリズムの最大サイズ未満の複数のデータサブセットに分割することである。次いで、これらデータサブセットは、非対称鍵と非対称アルゴリズムとを用いて、非対称に暗号化される。あるエンティティ（例えば、認証局１９５）は、後にこれらサブセットの各々を対応する非対称鍵を用いて解読し、データサブセットからデータセットを復元する。
【００５７】
データセットのサイズ及び用いられる暗号化アルゴリズムのサイズ制限に応じて、本方法４００は、上記手法の１以上を用いて実施されてもよく、或いは、上記手法をいずれも用いずに実施されてもよい、ことは明らかである。さらに、本方法４００は、構成要素（例えば、モニタや物理トークン１５０など）間及び／又はエンティティ（例えば、コンピュータ装置１００や認証局１９５）間のトラフィックを低減するために、大きいデータセット（例えば、１６０キロバイト）の簡易表現（例えば、１６０ビット）であるハッシュ（例えば、Ｈ１、Ｈ２、Ｈ３）を用いることも明らかである。しかし、これらハッシュの生成及び／又は転送は、一般的に、ハッシュによって表されるデータセットの転送で置き換えられてもよいことは明らかである。
【００５８】
例えば、モニタ３１０は、サインされたハッシュＳｉｇＨによって表されたデータセット（例えば、ＶＴ公開鍵２６２、ＰＴ識別信任状ＰＴＩｄＣｒｅｄ、公開鍵ＣＡＰｕｂなど）の一部分を物理トークン１５０に１つ又は複数個提供する。したがって、サインされたハッシュＳｉｇＨの生成及び転送又はこのサインされたハッシュＳｉｇＨのデータセットの上記一部分を含ませることが削除される。次いで、物理トークン１５０は、上述のように、認証メッセージＣｅｒｔＭ１のハッシュＨ１、Ｈ２を用いてデータセットのうち受信された部分を認証する。あるいは、物理トークン１５０は、データセットのうち受信された部分をこれらの１つ又は複数個を認証メッセージＣｅｒｔＭ１に含ませることによって認証する。したがって、認証メッセージＣｅｒｔＭ１のハッシュＨ１、Ｈ２は、削除されるか、或いは、データセットのうち認証メッセージＣｅｒｔＭ１に単に含ませることによって認証された部分無しで生成される。認証メッセージＣｅｒｔＭ１がデータのハッシュの代わりにそのデータそのものを有する場合、該データはデータセットＤＳ１から削除される。なぜなら、認証局１９５は、そのデータを認証メッセージＣｅｒｔＭ１から取得できるからである。
【００５９】
本発明の特定の特徴を例示的実施形態を参照して説明してきたが、上記説明は制限的な意味に解釈されることは意図されていない。本発明の上記実施形態及び他の実施形態の様々な変形例は、本発明が属する技術分野の当業者には明らかであり、本発明の意図及び範囲内に位置するものと認められる。
【図面の簡単な説明】
【００６０】
【図１】物理トークンと仮想トークンとを有するコンピュータ装置の一例を示す図である。
【図２】図１の物理トークンの一例及び仮想トークンの一例を示す図である。
【図３】図１のコンピュータ装置によって実現される信頼できるオペレーティング環境の一例を示す図である。
【図４】図１の仮想トークン用の信任状を取得する方法の一例を示す図である。
【図１】
2005513605.tif 000003
【図２】
2005513605.tif 000004
【図３】
2005513605.tif 000005
【図４】
2005513605.tif 000006
【国際調査報告】
2005513605.tif 000007
2005513605.tif 000008