(57)【特許請求の範囲】
【請求項１】
第１のデータ処理手段および第１のメモリ手段を有するコンピュータ・プラットフォームと、第２のデータ処理手段および第２のメモリ手段を有する監視構成要素とを備えるコンピューティング・エンティティを、該コンピュータ・プラットフォームが起動されることができる複数の事前に構成された動作状態のうち１つの動作状態に起動させる方法であって、
前記コンピュータ・プラットフォームが起動される前記複数の事前に構成された動作状態のうち、１つの状態を選択するステップと、
格納された命令セットに従って、前記コンピュータ・プラットフォームを前記選択された状態に起動するステップと、
前記コンピュータ・プラットフォームが前記複数の事前に構成された状態のうちのどの状態に起動されたかを記述するデータを記録することによって、前記監視構成要素が、前記選択された状態への起動を監視するステップとを、含み、
前記監視するステップは、
前記選択された状態に起動するステップの後、複数の論理的および物理的構成要素を監視して、該構成要素から、該構成要素の状態および条件を記述する測定基準データ信号の第１セットを取得するステップと、
前記測定基準データ信号の第１のセットと、前記監視構成要素のアクセス用に予約されたメモリ領域に格納された、事前に記録された測定基準データのセットとを比較するステップと、を含む、
前記方法。
【請求項２】
前記監視構成要素は、前記コンピュータ・プラットフォームが前記状態に起動された後も前記選択された状態の監視を続行する、請求項１に記載の方法。
【請求項３】
前記複数の事前に構成された動作状態から１つの状態を選択する前記ステップは、スマートカード・デバイスから選択信号を受け取ることを含み、該選択信号が、前記コンピュータ・プラットフォームのＢＩＯＳに、該コンピュータ・プラットフォームを選択された状態に起動するよう命令する、請求項１に記載の方法。
【請求項４】
前記監視構成要素は、前記コンピューティング・エンティティのユーザによる前記監視構成要素への直接的な信号入力に応答して、前記コンピュータ・プラットフォームが前記状態のうちどの状態に入ったかを示す状態信号を生成する、請求項１に記載の方法。
【請求項５】
前記複数の事前に構成された状態から１つの状態を選択するため、ユーザ・インターフェース上に表示されるユーザ・メニューを生成するステップを含み、状態信号を生成する前記ステップが、前記ユーザ・インターフェースを介して受け取られたユーザ入力に応答して状態信号を生成することを含む、請求項４に記載の方法。
【請求項６】
前記格納された命令セットが、前記監視構成要素内に存在するＢＩＯＳファイルに格納される、請求項１に記載の方法。
【請求項７】
前記複数の事前に構成された状態から１つの状態を選択するためのメニューを生成するステップを含む、請求項１に記載の方法。
【請求項８】
複数の事前に構成された動作状態のうち、１つの状態を選択する前記ステップは、ネットワーク接続から選択メッセージを受け取ることを含み、該選択メッセージが、前記コンピュータ・プラットフォームのＢＩＯＳに、前記コンピュータ・プラットフォームを選択された状態に起動するよう命令する、請求項１に記載の方法。
【請求項９】
選択された状態への起動を監視する前記ステップは、
前記コンピュータ・プラットフォームを起動する直前に、前記コンピュータ・プラットフォームのＢＩＯＳファイルによって占有される第１の事前に割り振られたメモリ空間のダイジェスト・データを、ファームウェア構成要素によって作成するステップと、
前記ファームウェア構成要素だけが書込みアクセスを有する第２の事前に割り振られたメモリ空間に、前記ダイジェスト・データを書き込むステップとを含み、
前記監視構成要素は、前記ダイジェスト・データに基づいて前記コンピュータ・プラットフォームを監視する、請求項１に記載の方法。
【請求項１０】
選択された状態への起動を監視する前記ステップは、前記コンピュータ・プラットフォームのＢＩＯＳファイルのダイジェスト・データを算出するために、ファームウェア構成要素を実行するステップと、
前記監視構成要素の前記第２のメモリ手段における予め決められた位置に、前記ダイジェスト・データを書き込むステップとを含み、前記監視構成要素は、前記ダイジェスト・データに基づいて前記コンピュータ・プラットフォームを監視する、請求項１に記載の方法。
【請求項１１】
前記選択された状態に起動するステップは、
前記コンピュータ・プラットフォームのＢＩＯＳファイルによって占有される前記第１のメモリ手段のメモリ位置に、前記第１のプロセッサの制御を前記監視構成要素に転送する該監視構成要素のアドレスを格納するステップと、
前記第１のプロセッサをリセットした直後に、アクセス可能な固有の命令セットを前記監視構成要素に格納し、該固有の命令セットが、前記第１のプロセッサに前記ＢＩＯＳファイルのダイジェストを算出させて、前記ダイジェスト・データを前記監視構成要素の前記第２のメモリ手段に格納するよう命令するステップと、を含み、
前記ダイジェスト・データが前記第２のメモリ手段に格納されたならば、前記監視構成要素は、前記起動プロセスの制御を前記ＢＩＯＳファイルに渡し、前記ダイジェスト・データに基づいて前記コンピュータ・プラットフォームを監視する、請求項１に記載の方法。
【請求項１２】
前記コンピュータ・プラットフォームが信用状態にあったとき生成され記憶媒体に格納された第１セッションのデータを、該コンピュータ・プラットフォームが前記信用状態と同じ信用状態に起動されるとき、第２セッションを構成するため、記憶媒体からローディングするステップを更に含む請求項１に記載の方法。
【請求項１３】
前記記憶媒体からローディングされる前記データを、前記監視構成要素が監視する請求項１２に記載の方法。
【発明の詳細な説明】
【０００１】
［発明の分野］
本発明は、コンピュータの分野に関し、より具体的には、信用状態におくことができるコンピューティング・エンティティ、信用状態を達成するためにコンピューティング・エンティティを動作させる方法、および、信用状態にある場合のコンピューティング・エンティティの動作に関するが、これらに限定されるものではない。
【０００２】
［発明の背景］
従来技術の量販市場向けコンピューティング・プラットフォームには、よく知られたパーソナル・コンピュータ（ＰＣ）およびＡｐｐｌｅ  Ｍａｃｉｎｔｏｓｈ（商標）などの競合製品、ならびに普及している周知のパームトップ型およびラップトップ型のパーソナル・コンピュータが含まれる。一般にこうしたマシンの市場は、家庭用すなわち消費者と企業との２つのカテゴリに分類される。家庭用すなわち消費者用に使用するコンピューティング・プラットフォームの一般要件は、相対的に高い処理能力、インターネットへのアクセス機能、およびコンピュータ・ゲームを取り扱うマルチメディア機能である。このタイプのコンピューティング・プラットフォームでは、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、’９５および’９８のオペレーティング・システム製品およびＩｎｔｅｌプロセッサが市場で優勢な位置を占めている。
【０００３】
他方で、業務用の場合は、小規模ビジネスから多国間のビジネスに及ぶ組織向けに使用可能なコンピュータ・プラットフォーム・ソリューションが、多すぎるほどの使用可能な所有権下にある。これらアプリケーションの多くは、サーバ・プラットフォームが、集中型データ記憶装置および複数のクライアント・ステーション向けのアプリケーション機能を提供する。業務用の場合、その他の主要な基準は、信頼性、ネットワーキング機能、およびセキュリティ機能である。こうしたプラットフォームでは、Ｍｉｃｒｏｓｏｆｔ ＷｉｎｄｏｗｓＮＴ４．０（商標）オペレーティング・システム、およびＵｎｉｘ（商標）オペレーティング・システムが一般的である。
【０００４】
「電子商取引」として知られるインターネットを介して取引される商業活動が増加するにつれて、インターネットを介したコンピューティング・プラットフォーム間でのデータ・トランザクションを可能にする従来技術に多くの関心が寄せられてきた。しかし、電子データの不正使用および不正操作の可能性があることから、完全に透過で効率的な市場に必要とされるような、遠距離の見知らぬ第三者と広範な規模で完全に自動化されたトランザクションを行うことは、これまで手控えられてきた。このようなトランザクションを実行することにおける基本的な問題の１つが、対話するコンピュータ・プラットフォーム間における「信用」である。
【０００５】
これまでにも、コンピュータ・プラットフォームのセキュリティおよび信用性を向上させることを目標とする、いくつかの従来技術方式があった。これらの大部分は、アプリケーションレベルでセキュリティ機能を追加することに依拠している。すなわち、セキュリティ機能は、オペレーティング・システムのカーネルに本質的に埋め込まれたものではなく、また、コンピューティング・プラットフォームの基本となるハードウェア構成要素に組み込まれたものでもない。
【０００６】
ユーザに固有のデータを有するスマート・カードを含み、このデータが、コンピュータ上のスマート・カード・リーダに入力されるポータブル・コンピュータ装置がすでに市場に登場している。現在、このようなスマート・カードは、従来のパーソナル・コンピュータにとって余分な増設品といったレベルであるが、周知のコンピュータのケーシング(casing)に組み込まれている場合もある。これら従来技術の方式は、コンピュータ・プラットフォームのセキュリティを向上させるのにある程度成果をあげるが、従来技術方式によって得られるセキュリティおよび信用性のレベルは、自動化されたトランザクションの広範なアプリケーションをコンピュータ・プラットフォーム間で可能にするには、不十分である。かなり重要なトランザクションを広範な規模の電子商取引で行うビジネスの場合、基礎となるテクノロジーの信用性に確信が持てなければならない。
【０００７】
従来技術のコンピューティング・プラットフォームには、固有のセキュリティを向上させる方法に、以下のようないくつかの問題がある。
【０００８】
・コンピュータ・システムまたはプラットフォームの動作状態、およびプラットフォームまたはシステム内のデータ状態は動的であり、予測するのが困難である。コンピュータ・プラットフォームおよびプラットフォーム上にあるデータ状態は常に変化しており、コンピュータ・プラットフォーム自体も動的に変化していることがあるので、コンピュータ・プラットフォームが正しく動作しているかどうかを判定するのが困難である。
【０００９】
・セキュリティの点から見ると、商用のコンピュータ・プラットフォーム、特にクライアント・プラットフォームは、許可されていない変更を受けやすい環境で使用されることが多い。この変更を受けやすい主な範囲には、ユーザによってロードされたソフトウェアによる変更、またはネットワーク接続を介した変更が含まれる。特に（限定されるわけではないが）、従来のコンピュータ・プラットフォームは、敵意の程度が異なるウィルス・プログラムの攻撃を受けやすいことがある。
【００１０】
・コンピュータ・プラットフォームはアップグレードされることがあり、その機能は、物理的な変更、すなわちハード・ディスク・ドライブ、周辺ドライバなどの構成要素の追加または削除によって、拡張または制限されることがある。
【００１１】
コンピュータ・システムのセキュリティ機能を、オペレーティング・ソフトウェアに埋め込んで提供することが知られている。これらのセキュリティ機能は主に、システム・ユーザの間で情報を区分けすることを目的としたものである。周知のＭｉｃｒｏｓｏｆｔ ＷｉｎｄｏｗｓＮＴ（商標）４．０オペレーティング・システムには「システム・ログ・イベント・ビューア」と呼ばれる監視機構があり、この機構では、プラットフォーム内で発生するイベントのログが、システム管理者がＷｉｎｄｏｗｓ  ＮＴオペレーティング・システム・ソフトウェアを使用して調べることができるイベント・ログ・データ・ファイルに記録される。この機構は、システム管理者が事前に選択したイベントのセキュリティを監視することを可能にすることで、ある程度の成果をあげている。ＷｉｎｄｏｗｓＮＴ（商標）４．０オペレーティング・システムのイベント・ログ機能は、システム監視を提供する。
【００１２】
コンピュータ・プラットフォームのセキュリティ全体に関して、単にソフトウェア・ベースのシステムは、何千もの異なる種類のウィルスによる攻撃を受けやすい。たとえばＤｒ  Ｓｏｌｏｍｏｎｓ（商標）ウィルス・ツールキット・プログラムなどの、所有権下にあるウィルス検出修正アプリケーションがいくつか知られている。Ｍｉｃｒｏｓｏｆｔ ＷｉｎｄｏｗｓＮＴ（商標）４．０ソフトウェアには、周知のウィルスを探索するように事前設定されたウィルスガード・ソフトウェアが含まれている。しかし、ウィルスの種類は常に増え続けているため、ウィルス・ガード・ソフトウェアが新しい未知のウィルスから確実に保護することができるものとは限らない。新種のウィルスは、常に開発され、コンピューティング環境およびインターネット環境に放出されている。
【００１３】
さらに、コンピュータ・エンティティに関する従来技術の監視システムは、管理者がネットワーク管理ソフトウェアを使用して複数のネットワーク・コンピュータの性能を監視する、ネットワーク監視機能に焦点をあてている。これら周知のシステムでは、システム内の信用は、システム内のそれぞれのコンピュータ・プラットフォームのそれぞれのハードウェア・ユニットの個々の信用レベルには存在しない。
【００１４】
［発明の概要］
本発明の１つの目的は、コンピューティング・エンティティが外部の影響によって損なわれておらず、予測可能な周知の方法で動作しているという高い信頼を第三者のユーザが寄せることのできる、コンピューティング・エンティティを提供することである。
【００１５】
本発明の他の目的は、コンピューティング・エンティティの信用性が、ある特定のタスク、ある一組のタスク、またはあるタイプのタスクを実行するのに十分であるかどうかを判定するタスクを簡略化することである。
【００１６】
本発明の一実施形態では、コンピューティング・エンティティは、複数の別個の動作状態に存在することができる。それぞれの動作状態は、これらの動作状態を区別するように設計された一組の保全性測定基準を使用して、他の動作状態と区別されることができる。
【００１７】
本発明の第１の側面によれば、第１のデータ・プロセッサおよび第１のメモリ手段を含む複数の物理的および論理的資源を有するコンピュータ・プラットフォームと、第２のデータ・プロセッサおよび第２のメモリ手段を有する監視構成要素とを備えるコンピューティング・エンティティが提供される。コンピュータ・プラットフォームは、複数の異なる状態で動作することができ、該状態のそれぞれは、物理的および論理的資源の個々の、対応するそれぞれのセットを使用する。監視構成要素は、前記複数の状態のうちのどの状態で前記コンピュータ・プラットフォームが動作しているかを判断するよう動作する。
【００１８】
前記メモリ手段は、前記コンピュータ・プラットフォームの前記複数の物理的および論理的資源を、予め決められた前記状態にするよう構成するための命令セットを含むことが好ましい。
【００１９】
前記コンピュータ・プラットフォームが前記予め決められた状態から出ることは、前記監視構成要素によって監視されていることが好ましい。
【００２０】
ＢＩＯＳファイルを監視構成要素自体の中に設けることができる。ＢＩＯＳファイルを監視構成要素の中に設けることによって、ＢＩＯＳファイルを本質的に信用することができる。
【００２１】
他の実施形態では、前記コンピュータ・プラットフォームは内部ファームウェア構成要素を含むことができ、該内部ファームウェア構成要素は、前記コンピュータ・プラットフォームのＢＩＯＳファイルによって占有される予め決められたメモリ空間に格納されたＢＩＯＳファイルデータのダイジェスト・データを算出するよう構成される。
【００２２】
本発明の第２の側面によれば、第１のデータ処理手段および第１のメモリ手段を有するコンピュータ・プラットフォームと、第２のデータ処理手段および第２のメモリ手段を有する監視構成要素とを備えるコンピューティング・エンティティとを、前記コンピュータ・プラットフォームが活動化されることのできる複数の事前に構成された動作状態のうちの１つの動作状態に活動化させる方法が提供される。該方法は、前記コンピュータ・プラットフォームを活動化させる複数の事前に構成された動作状態のうちの１つの状態を選択するステップと、前記コンピュータ・プラットフォームを、格納された命令セットに従って前記選択された状態に活動化させるステップとを含む。前記監視構成要素は、前記コンピュータ・プラットフォームが、前記複数の事前に構成された状態のうちのどの状態に活動化されるかを記述するデータを記録することによって、前記選択された状態への活動化を監視する。
【００２３】
前記監視構成要素は、前記コンピュータ・プラットフォームが前記選択された状態に活動化された後に、前記選択された状態の監視を続行することができる。
【００２４】
前記監視構成要素は、前記コンピューティング・エンティティのユーザによる前記監視構成要素への直接的な信号入力に応答して、状態信号を生成することができる。該状態信号は、前記コンピュータ・プラットフォームがどの状態に入ったかを記述するデータを含む。
【００２５】
一実施形態では、前記状態の選択を可能にする前記格納された命令セットを、前記監視構成要素に内在するＢＩＯＳファイルに格納することができる。前記状態が選択されると、ＢＩＯＳによって活動化されるマスター・ブートの命令セットによって、状態の活動化を実行することができる。
【００２６】
この方法は、前記複数の事前に構成された状態から、１つの事前に構成された状態を選択するためのメニューを生成するステップを含むことが好ましい。
【００２７】
この方法は、前記複数の事前に構成された状態から前記１つの事前に構成された状態を選択するため、ユーザ・インターフェース上に表示されるユーザ・メニューを生成するステップを含むことができる。状態信号を生成する前記ステップは、前記ユーザ・インターフェースを介して受け取られたユーザ入力に応答して、状態信号を生成することを含む。
【００２８】
代替的に、前記ＢＩＯＳによって生成された状態オプションを選択する、スマートカード上に格納された命令セットによって、予め決められた状態を自動的に選択することができる。該状態の選択は、前記ＢＩＯＳによって生成された前記状態オプションのセットから１つの状態を選択するよう前記ＢＩＯＳに命令する選択命令セットを介して、自動的に行われることができる。
【００２９】
状態を監視する前記ステップは、前記コンピュータ・プラットフォームを活動化する直前に、ファームウェア構成要素によって、前記コンピュータ・プラットフォームのＢＩＯＳファイルによって占有される第１の事前に割り振られたメモリ空間のダイジェスト・データを作成するステップと、前記ファームウェア構成要素だけが書込みアクセスを有する第２の事前に割り振られたメモリ空間に、前記ダイジェスト・データを書き込むステップとを含む。前記監視構成要素は、前記第２の事前に割り振られたメモリ空間から前記ダイジェスト・データを読み取る。
【００３０】
コンピュータ・プラットフォームが活動化される状態を監視する前記ステップは、ファームウェア構成要素に、前記コンピュータ・プラットフォームのＢＩＯＳファイルのダイジェスト・データの処理を実行させるステップと、前記ダイジェスト・データを、前記監視構成要素の前記第２のメモリ手段の予め決められた位置に書き込むステップとを含むことができる。
【００３１】
コンピュータ・プラットフォームを選択された状態に活動化させる前記ステップは、前記コンピュータ・プラットフォームのＢＩＯＳファイルによって占有される前記第１のメモリ手段のメモリ位置に、前記第１のプロセッサの制御を前記監視構成要素に転送する前記監視構成要素のアドレスを格納するステップと、前記監視構成要素に、前記第１のプロセッサをリセットした直後にアクセス可能な固有の命令セットを格納するステップを含み、前記固有の命令は、前記ＢＩＯＳファイルのダイジェストを処理して、該ダイジェスト・データを前記監視構成要素の前記第２のメモリ手段に格納するよう前記第１のプロセッサに命令し、前記ダイジェスト・データが前記第２のメモリ手段に格納されたならば、前記監視構成要素は、前記活動化プロセスの制御を前記ＢＩＯＳファイルに渡す。
【００３２】
コンピュータ・プラットフォームが活動化される状態を監視する前記ステップは、コンピュータ・プラットフォームを選択された状態に活動化する前記ステップの後、複数の論理的および物理的構成要素を監視して、該構成要素から、該構成要素の状態および条件を記述する測定基準データ信号の第１のセットを取得するステップと、前記コンピュータ・プラットフォームの前記複数の物理的および論理的構成要素から求められた前記測定基準データ信号の第１のセットと、前記監視構成要素によるアクセス専用に予約されたメモリ領域に格納された、事前に記録された測定基準データのセットとを比較するステップと、前記複数の物理的および論理的構成要素から直接取得された前記測定基準データ信号の第１のセットと、前記予約されたメモリ領域に格納された前記事前に格納された測定基準データ信号のセットとを比較するステップを含むことができる。
【００３３】
本発明の第３の側面によると、第１のデータ処理手段および第１のメモリ手段を有するコンピュータ・プラットフォームと、第２のデータ処理手段および第２のメモリ手段を有する監視構成要素とを備えるコンピューティング・エンティティを動作させる方法であって、前記コンピュータ・プラットフォームを、複数の可能な予め決められた動作状態のうちの１つに入らせる方法が提供される。該方法は、ユーザ・インターフェースからの入力に応答して、前記コンピュータ・プラットフォームが活動化される選択された状態を記述する状態信号を生成するステップと、物理的および論理的資源の周知のセットを使用することができて、周知のプロセスが動作することができる予め決められた状態に、前記コンピュータ・プラットフォームを活動化するステップと、前記予め決められた状態から、前記監視構成要素を再構成するための構成メニューに入るステップと、前記構成メニューを含む命令セットに従って、ユーザ・インターフェースを介してデータを入力することにより、前記監視構成要素の構成を変更するステップとを含む。
【００３４】
監視構成要素の構成メニューに入る前記ステップは、確認キーの物理的な活動化に応答して生成された確認キー信号を、前記監視構成要素に直接入力するステップを含むことができる。
【００３５】
前記監視構成要素の構成メニューに入る前記ステップは、前記信用構成要素にユーザ・インターフェースを介してパスワードを入力するステップを含むことができる。
【００３６】
本発明の第４の側面によると、第１のデータ処理手段および第１のメモリ手段を有する監視構成要素と、第２のデータ処理手段および第２のメモリ手段を有するコンピュータ・プラットフォームとを備えるコンピューティング・エンティティを動作させる方法が提供される。該方法は、前記コンピュータ・エンティティの、複数の事前に選択された物理的および論理的資源を使用することができる第１の状態に入るステップと、前記第１の状態において、前記コンピュータ・プラットフォームによって複数のデータ入力が受け取られて、前記第２のデータ処理手段が、該受け取られたデータについてデータ処理を実行するユーザ・セッションを開始するステップと、前記セッションで受け取られた命令に従って前記複数の物理的および論理的資源を再構成するステップと、前記物理的および論理的資源の構成を記述するセッション・データを生成するステップと、前記セッション内で動作するプロセスの結果として生じた複数のユーザ・データを生成するステップと、前記ユーザ・データを格納するステップと、セッション・データを格納するステップと、前記セッションを出るステップと、前記コンピュータ・プラットフォームが前記状態から出るステップとを含む。
【００３７】
前記第１の状態の前記ユーザ・セッション中に前記監視構成要素を再構成するステップをさらに含むことができる。こうして、監視構成要素を、コンピュータ・プラットフォームの信用状態から再構成することができる。
【００３８】
ここで、本発明をよりよく理解し、どのようにすれば同様に実行できるかを示すために、本発明に従う所定の実施形態、方法、およびプロセスについて、図面を参照しながら、例示的なものとしてのみ記載する。
【００３９】
［発明の好ましい形態の詳細な説明］
ここで、本発明を実施するために発明者によって企図された最良の実施形態を、例示的なものとして説明する。以下の記述では、本発明を完全に理解してもらうために多数の特定の詳細について述べる。しかし、当業者であれば、本発明がこれらの特定の詳細に限定されることなく実施できるものであることが明らかであろう。その他の場合では、本発明を不必要に不明瞭なものにしないように、周知の方法および構造については詳細に説明していない。
【００４０】
本発明の特定の実施形態には、処理手段およびメモリ手段を有するコンピュータ・プラットフォームが含まれている。コンピュータ・プラットフォームは、該コンピュータ・プラットフォームから測定基準（メトリクス；metrics）データを集めることによってコンピュータ・プラットフォームの動作を監視する構成要素（これを、以下「信用構成要素」または「監視構成要素」と呼ぶ）に物理的に関連付けられている。信用構成要素は、コンピュータ・プラットフォームが正しく機能しているかについて、コンピュータ・プラットフォームと対話する第三者のコンピュータ・エンティティに対し、検証することができる。
【００４１】
このような信用構成要素がそれぞれ設けられている２つのコンピューティング・エンティティは、高い「信用」度で相互に対話することができる。すなわち、第１および第２のコンピューティング・エンティティが相互に対話し合う場合、信用構成要素が存在しない場合に比べて、以下の理由から対話のセキュリティが強化される。
【００４２】
１）コンピューティング・エンティティのユーザは、自分自身のコンピュータ・エンティティの保全性とセキュリティ、および他のコンピューティング・エンティティに属しているコンピュータ・エンティティの保全性とセキュリティに、より高い信頼を寄せている。
【００４３】
２）それぞれのエンティティは、他方のエンティティが、実際に目指すところのエンティティであると確信する。
【００４４】
３）一方または両方のエンティティがトランザクション、たとえばデータ転送トランザクションの当事者を表している場合、信用構成要素が組み込まれていることによって、該エンティティと対話する第三者のエンティティは、そのエンティティがそのような当事者を実際に表しているということを高い信頼度で確信する。
【００４５】
４）信用構成要素は、該信用構成要素によって実施される検証および監視プロセスを通じて、エンティティ自体の固有のセキュリティを向上させる。
【００４６】
５）コンピュータ・エンティティは、予測される挙動方法で挙動する可能性が高い。
【００４７】
本明細書では、「信用」という用語が物理的または論理的構成要素に関して使用されるとき、常に予測された方法で挙動する物理的または論理的構成要素を意味するものとして使用される。その構成要素の挙動は、予測可能であり周知である。信用構成要素は、許可されていない変更に対して高い耐性を有する。
【００４８】
本明細書では、「コンピュータ・プラットフォーム」という用語は、少なくとも１つのデータ・プロセッサおよび少なくとも１つのデータ記憶手段を有する。コンピュータ・プラットフォームは、通常（だが、必須ではない）、たとえば複数のドライバなどの関連付けられた通信機構や、関連するアプリケーションおよびデータ・ファイルを有している。コンピュータ・プラットフォームは、たとえばインターネットへの接続、外部ネットワークへの接続により、またはＣＤ  ＲＯＭ、フロッピィ・ディスク、リボン・テープなどのデータ記憶媒体上に格納されたデータを受け取ることができる入力ポートを有することにより、たとえばユーザまたは他のコンピュータ・エンティティなどの外部エンティティと対話することができる。「コンピュータ・プラットフォーム」という用語は、コンピュータ・エンティティの主なデータ処理および記憶機構を含んでいる。
【００４９】
図１を参照すると、本発明の特定の実施態様に従うコンピュータ・エンティティの一例が概略的に示されている。図２を参照すると、図１の信用コンピュータ・エンティティの構成要素の一部の物理的接続が概略的に示されている。図３を参照すると、エンティティの構成要素の物理的接続を示す図１および図２の信用コンピュータ・エンティティのアーキテクチャが概略的に示されている。
【００５０】
一般に、本明細書に記載されたベストモードでは、信用コンピュータ・エンティティは、第１のデータ・プロセッサおよび第１のメモリ手段からなるコンピュータ・プラットフォームを、該コンピューティング・プラットフォームの保全性および正しい機能性を検証する信用構成要素と共に含む。信用構成要素は、第１のデータ・プロセッサおよび第１のメモリ手段とは物理的および論理的に異なる第２のデータ・プロセッサおよび第２のメモリ手段を有する。
【００５１】
図１から図３に示された例では、信用コンピュータ・エンティティが、家庭用または業務用に好適なパーソナル・コンピュータの形式で示されている。しかし当業者であれば、これが本発明の一実施形態であるに過ぎず、本発明の他の実施形態が、パームトップ・コンピュータ、ラップトップ・コンピュータ、サーバ型コンピュータ、携帯電話型コンピュータなどの形式であってもよく、本発明が本明細書の特許請求の範囲によってのみ限定されるものであることは理解されよう。本明細書に記載されたベストモードの例では、コンピュータ・エンティティには、ディスプレイ・モニタ１００、キーボード・データ入力手段１０１、ケーシング１０２、ユーザのスマート・カードを受け入れるためのスマート・カード・リーダ１０３、ユーザが該信用コンピュータ・エンティティを介してトランザクションを確認するときに起動することのできる確認キー１０４、マウス１０５またはトラックボール・デバイスなどのポインティング・デバイス、および信用構成要素が含まれる。また、ケーシング１０２は、データ・プロセッサが搭載されたマザーボード、ハード・ディスク・ドライブなどの１つまたは複数のデータ記憶手段、動的なランダム・アクセス・メモリ、および様々な入出力ポート（図１には図示せず）を有する。
【００５２】
図２を参照すると、確認キー１０４およびスマート・カード・リーダ１０３を組み込んだキーボード１０１、第１のデータ・プロセッサ２０１および信用構成要素２０２が取り付けられたメイン・マザーボード２００、ハード・ディスク・ドライブ２０３の一例、およびモニタ１００を有する信用コンピュータ・エンティティの構成要素の一部が示されている。信用コンピュータ・エンティティの追加の構成要素として、ケーシング１０２の内部フレームに、１つまたは複数のローカル・エリア・ネットワーク（ＬＡＮ）・ポート、１つまたは複数のモデム・ポート、１つまたは複数の電源、冷却ファンなど（図２には図示せず）を含めることができる。
【００５３】
本明細書のベストモードでは、図３に示されるように、メイン・マザーボード２００が、第１のデータ・プロセッサ２０１、好ましくは永久的に固定される信用構成要素（ＴＣ）２０２、ランダム・アクセス・メモリなどの高速アクセス・メモリ領域である第１のデータ・プロセッサに対するローカル・メモリ・デバイス３００、ＢＩＯＳメモリ領域３０１、スマート・カード・インターフェース３０５、複数の制御ライン３０２、複数のアドレスライン３０３、確認キー・インターフェース３０６、およびデータバス３０４、を有するように製造される。ここで、データバス３０４は、プロセッサ２０１、信用構成要素２０２、メモリ領域３００、ＢＩＯＳメモリ構成要素３０１およびスマート・カード・インターフェース３０５を接続する。また、ハードウェア乱数発生器ＲＮＧ３０９は、バス３０４を介してプロセッサ２０１と通信することができる。
【００５４】
マザーボードの外部にあり、データバス３０４によって接続されるものに、１つまたは複数のハード・ディスク・ドライブ・メモリ・デバイス２０３、キーボード・データ入力デバイス１０１、マウスやトラックボール・デバイスなどのポインティング・デバイス１０５、モニタ・デバイス１００、前述したようにスマート・カード・デバイスを受け入れるためのスマート・カード・リーダ・デバイス１０３がある。ここで、ディスク・ドライブ、キーボード、モニタ、およびポインティング・デバイスは、データバス３０４を介してプロセッサ２０１と通信することができる。さらに、たとえばモデム、プリンタ・スキャナ、または他の周知の周辺デバイスなどの１つまたは複数の周辺デバイス３０７、３０８が、データ・バス３０４によって接続されている。
【００５５】
機能強化されたセキュリティを提供するために、確認キー・スイッチ１０４が、マザーボード２００上にある確認キー・インターフェース３０６に直接配線されている。このことは、ユーザが確認キー１０４を起動したときに、信号入力が信用構成要素２０２に直接与えられることを示す。こうして、ユーザが確認キーを起動することにより、信号が、コンピュータ・プラットフォームの第１のデータ・プロセッサおよび第１のメモリ手段をバイパスして、直接信用構成要素に送られるようにする。
【００５６】
一実施形態では、確認キーが単純なスイッチを含むようにしてもよい。確認キー１０４および確認キー・ドライバ３０６は、ユーザと信用構成要素との間に、プロセッサ２０１が干渉することができない保護通信経路（ＰＣＰ）を提供する。保護通信経路は、データバス３０４をバイパスしており、メモリ領域３００またはハード・ディスク・ドライブ・メモリ・デバイス２０３に物理的にも論理的にも接続されていない。
【００５７】
信用構成要素２０２は、コンピューティング・プラットフォームのモニタ１００とプロセッサ２０１との間に論理的および物理的に配置される。このため、信用構成要素２０２は、モニタ１００上に表示されるビューを介した直接制御を有し、これに対して、プロセッサ２０１は干渉することができない。
【００５８】
信用構成要素は、そのアイデンティティおよび信用プロセスをコンピュータ・プラットフォームに貸与し、信用構成要素は、その不正変更に対する耐性、偽造に対する耐性、および模造に対する耐性という特性を有する。適切な認証機構によって選択されたエンティティだけが、信用構成要素内で実行されるプロセスに影響を与えることができる。信用コンピュータ・エンティティのユーザも、ｍたネットワークを介して該コンピュータ・エンティティに接続されたいかなる人物およびいかなるエンティティも、信用構成要素の内部で実行されるプロセスにアクセスしたり干渉したりすることはできない。信用構成要素は、「侵害されない」という特性を有する。
【００５９】
スマート・カード・リーダ１０３は、マザーボード上にあるスマート・カード・インターフェース３０５に直接配線され、データバス３０４には直接接続されない。代替的に、スマート・カード・リーダ１０３をデータバス３０４に直接接続してもよい。それぞれの個々のスマート・カードには、対応するそれぞれのイメージ・データを格納することができ、該イメージ・データは、各スマート・カードによって異なる。たとえば信頼構成要素によって生成されるダイアログボックスのモニタ表示のように、ユーザが信用構成要素と対話する場合、信用構成要素は、ユーザのスマート・カードからイメージ・データを取り出し、これを、モニタ１００に表示されるダイアログ・ボックスの背景として使用する。こうしてユーザは、モニタ１００に表示されるダイアログ・ボックスが信用構成要素によって生成されたものであるという確信を持つ。イメージ・データは、偽造された場合には即時にユーザが目で見てわかるような方法で、人間が簡単に認識することができるものであることが好ましい。たとえば、イメージ・データはユーザの写真を含むものでもよい。スマート・カード上のイメージ・データは、スマート・カードを使用する人物に固有のものであることができる。
【００６０】
図４を参照すると、信用構成要素２０２の内部アーキテクチャが概略的に示されている。信用構成要素は、プロセッサ４００、揮発性メモリ領域４０１、不揮発性メモリ領域４０２、固有のコードを格納するメモリ領域４０３、１つまたは複数の暗号関数を格納するメモリ領域４０４を有している。不揮発性メモリ４０２、固有コード・メモリ４０３、および暗号メモリ４０４はまとめて、上記で述べた第２のメモリ手段に含まれる。
【００６１】
信用構成要素２０２は、コンピュータ・プラットフォームから物理的および論理的に独立したコンピューティング・エンティティを構成する。ベストモードでは、信用構成要素がコンピュータ・プラットフォームに物理的にリンクされるよう、信用構成要素は、コンピュータ・プラットフォームとマザーボードを共用する。ベストモードでは、信用構成要素が、コンピュータ・プラットフォームと物理的に別個である。すなわち、信用構成要素は、コンピュータ・プラットフォームに含まれるデータ・プロセッサおよびメモリ手段の下位機能として単独に存在するのではなく、別の物理データ・プロセッサ４００および別の物理メモリ領域４０１、４０２、４０３、４０４として別々に存在する。コンピュータ・エンティティのメイン・プロセッサとは別個に物理的に存在する信用構成要素を設けることによって、信用構成要素は、コンピュータ・プラットフォーム上に導入されたソフトウェアを介して模倣または偽造されにくくなる。信用構成要素を、プラットフォームのメイン・プロセッサと物理的に分けて不正変更の耐性を向上させることにより生じる他の利点は、信用構成要素がローカル・ユーザによって物理的に破壊されることがないこと、およびローカル・ユーザまたはリモート・ユーザのいずれによっても論理的に破壊されることがないことである。信用構成要素内にあるプログラムは、信用構成要素の製造時に安全な環境で事前にロードされる。ユーザはプログラムを変更することはできない。しかし、プログラムを構成する許可を与えるためのプログラムが書き込まれた場合は、ユーザはそのような構成を行うことができる。信用構成要素の物理的性質と、信用構成要素がユーザによって構成不可能であるという事実により、ユーザは信用構成要素の本質的な保全性を確信することができるようになる。したがって、ユーザは、コンピュータ・プラットフォーム上での信用構成要素の動作および存在に高い「信用」を寄せることができる。
【００６２】
図５を参照すると、コンピュータ・エンティティ５００の論理アーキテクチャが概略的に示されている。論理アーキテクチャには、図１から図３に記載されている物理アーキテクチャの場合と同様に、コンピュータ・プラットフォームと信用構成要素との間に基本的な区分けがある。すなわち、信用構成要素はコンピュータ・プラットフォームとは論理的に別個であり、物理的には関係している。コンピュータ・エンティティは、論理空間であるユーザ空間５０１および信用構成空間５０２を有しており、ユーザ空間５０１は、物理的にコンピュータ・プラットフォーム（第１のプロセッサおよび第１のデータ記憶手段）上に存在し、信用構成空間５０２は、物理的に信用構成要素２０２上に存在する。ユーザ空間５０１内には、１つまたは複数のドライバ５０３、１つまたは複数のアプリケーション・プログラム５０４、ファイル記憶領域５０５、スマート・カード・リーダ１０３、スマート・カード・インターフェース３０５、およびユーザ空間内で演算を実行してその結果を信用構成要素２０２に報告するソフトウェア・エージェント５０６がある。信用構成要素空間５０２は、信用構成要素に基づく論理領域であり、物理的には該信用構成要素の中に存在し、信用構成要素の第２のデータ・プロセッサおよび第２のメモリ領域によってサポートされる。確認キー・デバイス１０４は、信用構成要素空間５０２に直接入力し、モニタ１００は、信用構成要素空間５０２から直接イメージを受け取る。コンピュータ・エンティティ５００の外部には、インターネット５０７、様々なローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク５０８などの外部通信ネットワークがあり、１つまたは複数のモデム・ポートを有することのできるドライバ５０３を介してユーザ空間５０１に接続される。外部ユーザのスマート・カード５０９は、ユーザ空間内にあるスマート・カード・リーダ１０３に入力される。
【００６３】
信用構成要素空間５０２内には、信用構成要素自体が存在する。モニタ１００には、信用構成要素によって生成されたものが表示され、確認キー１０４は、確認キー・インターフェース３０６を介して確認信号を入力する。
【００６４】
本発明を実施するためのベストモードでは、コンピューティング・エンティティは複数の動作モードを有し、本明細書ではこれを「動作状態」と呼ぶ。複数の動作状態のうちの異なる状態によって、コンピューティング・エンティティは、異なるセットのタスクおよび機能を実行することができる。個々の状態の中には、かなり高いレベルの自由度および複雑度で実行することのできる複雑な動作がある。他の動作状態においては、コンピューティング・エンティティの挙動に多くの制約がある。
【００６５】
複数の異なる状態のそれぞれで動作する場合にコンピューティング・エンティティ上に設けることのできる「信用」レベルは、以下の事項に関連している。
【００６６】
１）特定の状態で実行することのできる異なる動作の数。
【００６７】
２）特定の状態で実行することのできる動作の複雑さ。
【００６８】
３）コンピューティング・エンティティをリブートせずに、コンピューティング・エンティティが特定の状態から移動することのできるいくつかの他の状態。
【００６９】
４）コンピューティング・エンティティをリブートせずに、特定の状態に到着することのできるいくつかの異なる状態。
【００７０】
５）特定の状態にあるときのコンピューティング・エンティティの接続性。すなわち、エンティティが、インターネット、ワイド・エリア・ネットワークまたはローカル・エリア・ネットワークなどを介して接続可能な、他のコンピューティング・エンティティまたはデバイスの数。
【００７１】
６）外部ソース、例えば他のコンピューティング・エンティティ、フロッピィ・ディスク、ＣＤ  ＲＯＭ、モデム、ＬＡＮポートなどからのデータ入力に対する制約。
【００７２】
７）たとえばデータをＣＤライタまたはフロッピィ・ディスク・ドライブに保存すことができるか、またはインターフェースによって他のコンピュータ・エンティティにインターネット、ローカル・エリア・ネットワーク、またはワイド・エリア・ネットワークを介してエクスポートすることができるかどうかなど、特定の状態から他のコンピューティング・エンティティへのデータ出力に対する制約。
【００７３】
８）特定の状態で発生するコンピュータ・エンティティ内での内部監視プロセスの量およびその信頼性。すなわち。その状態にあるときに信用構成要素によって適用される一組の測定基準の量および信頼性。
【００７４】
９）ユーザが特定の状態に入る前に実行する必要があるいくつかのチェック。
【００７５】
１０）ユーザが特定の状態に入る前に実行する必要がある１つまたは複数のチェックをバイパスすることの困難さ。
【００７６】
１１）コンピュータ・エンティティのユーザがコンピューティング・エンティティを特定の状態に入らせる前に実行される１つまたは複数のチェックを、バイパスすることなく乗り越えることの困難さ。
【００７７】
コンピュータ・エンティティに設けられる信用は、以下のような２つの別々の部分からなる。
【００７８】
１）信用構成要素自体に設けられる信用。
【００７９】
２）信用構成要素が、コンピュータ・エンティティの動作を検証する際に用いる確実性。
【００８０】
本明細書で説明したように、コンピュータ・エンティティに設けられる信用のレベルまたは程度は、信用構成要素内に設けられる信用のレベルに関連するものとして決定される。コンピュータ・エンティティにおける信用の量は多くの要因に関連しているが、信用を測定する際に重要となる要因は、信用構成要素自体がコンピュータ・エンティティ上で実行する保全性測定基準チェックのタイプ、範囲、および規則正しさである。
【００８１】
信用構成要素は暗黙的に信用される。信用構成要素は、コンピューティング・プラットフォームに置かれる任意の信用ルートとして埋め込まれ、コンピューティング・プラットフォームは全体として、信用構成要素内に設けられた信用の量よりも多く信用されることはできない。
【００８２】
信用構成要素のコンピュータ・プラットフォーム監視動作によって、信用構成要素内に設けられた信用を、コンピュータ・プラットフォームの様々な部分に拡張することができる。コンピュータ・プラットフォームの個々の領域に設けられる信用のレベルおよび範囲は、信用構成要素がそのコンピューティング・プラットフォームの特定領域を監視することのできるレベルおよび信頼性に依存する。
【００８３】
コンピューティング・プラットフォームの信用領域は、信用構成要素が、一組の保全性測定基準の測定をコンピュータ・プラットフォームに適用する頻度、範囲、および完全性に依存する。したがって、信用構成要素が、コンピューティング・プラットフォーム動作のすべての測定可能な側面を常時包括的に測定しない場合、コンピュータ・プラットフォームの個々の部分に設けられる信用レベルは、信用構成要素自体に設けられる信用全体の一部を形成する。コンピューティング・エンティティが、限られた数の保全性測定基準しかサポートしない場合、第三者のコンピューティング・エンティティを含む機器のユーザは、コンピューティング・エンティティに設けることができる信用レベルを推論する能力が制限される。
【００８４】
コンピュータ・プラットフォームの様々な「アイランド（島）」は、コンピュータ・プラットフォームのそれらの領域を測定するために信用構成要素によって適用される保全性測定基準に応じて様々なレベルで信用されるが、コンピュータ・プラットフォームに設けられる信用レベルは、全体として、信用構成要素に固有のレベルほどは高くない。すなわち、信用構成要素空間５０２が最も高いレベルで信用され、ユーザ空間５０１は、様々な信用レベルのいくつかの領域を含むことができる。たとえば、アプリケーション・プログラム５０４は、相対的に信用されないことがある。ユーザが、特に高いレベルの機密性またはセキュリティを必要とする動作用にコンピュータ・エンティティを使用したい場合（たとえば、新しい事業を提案する業務、従業員の賃金表の設定、または同等の注意が必要な動作の場合）、人間であるユーザは、情報の機密性またはセキュリティが危険にさらされることになるリスクを考えると、コンピュータ・プラットフォーム上にこのような詳細を入力することに心配をおぼえることがある。機密情報は、コンピューティング・エンティティに格納しなければならないけれども、信頼の高いアイランドは、コンピューティング・プラットフォーム全体に対して均一かつ同じ信用度で拡張されない。たとえば、侵入者にとって、コンピューティング・プラットフォーム上の特定の領域またはファイルにアクセスすることが、他の領域またはファイルへのアクセスに比べて簡単なことがある。
【００８５】
さらに、ユーザがある一定の機能を実行するよう信用構成要素に命じたいと欲する場合、信用構成要素に命令するすべてのコマンドは、信用構成要素自体よりも低い信用レベルにあるコンピュータ・プラットフォームを通過しなければならないという問題が生じる。したがって、信用構成要素へのコマンドは、それらがコンピュータ・プラットフォームを介して渡され処理される間に、危険にさらされることになるというリスクがある。
【００８６】
本発明の特定の実施形態によれば、コンピュータ・エンティティは複数の異なる状態に入ることができ、それぞれの状態が、対応するそれぞれのレベルの信用を有しており、異なる状態に対応する個々の信用レベルが互いに異なるものであることができる。
【００８７】
図６を参照すると、コンピューティング・エンティティに利用可能な物理的および論理的資源のセットが概略的に示されている。一般的なケースでは、コンピューティング・エンティティは、他のコンピューティング・エンティティと通信するための複数の入出力デバイス６００を備える。このようなデバイスの例には、モデム、ローカル・エリア・ネットワーク・ポート、イーサネット・カード、ハード・ディスク・ドライブ２０３、フロッピィ・ディスク・ドライブ、およびスマート・カード・リーダ・デバイス１０３が含まれる。さらにコンピューティング・エンティティは、ハード・ディスク２０３またはＲＡＭ３００上にある複数のメモリ領域６０１〜６０３、１つまたは複数のオペレーティング・システム６０４〜６０６、および１つまたは複数のアプリケーション・プログラム６０７〜６０９を有する。
【００８８】
本明細書では、「状態」という用語がコンピューティング・エンティティと関連して使用される場合、この用語は、コンピューティング・プラットフォームによって提供される複数の機能を実行することができる、コンピューティング・エンティティの動作モードを意味する。たとえば、第１の状態では、コンピューティング・エンティティは第１のオペレーティング・システムの制御下で動作することができ、第１のセットのアプリケーション・プログラム、第１のセットのファイル、および、モデム、ディスク・ドライブ、イーサネット・カードのようなローカル・エリア・ネットワーク・カードなどの第１のセットの通信機能へのアクセスを有する。第２の状態では、コンピューティング・プラットフォームは、第２のオペレーティング・システム、第２のセットのアプリケーション、第２のセットのデータ・ファイル、および第２のセットの入出力資源へのアクセスを有することができる。順に第３の状態、第４の状態、．．．と、コンピューティング・エンティティが設定されることのできる状態の合計数まで同様である。２つの異なる状態で使用可能な機構間では重複が生じてもよい。たとえば、第１の状態と第２の状態が同じオペレーティング・システムを使用し、第３の状態は別のオペレーティング・システムを使用することができる。
【００８９】
図７を参照すると、コンピューティング・エンティティが置かれることのある複数の状態を表す状態図が概略的に示されている。原則として、コンピューティング・エンティティが置かれる異なる状態の数には制限がないが、図７に示された例ではこうした状態のうち３つの状態が示されている。図７の例では、コンピューティング・エンティティは第１の信用状態７００、汎用の非信用状態である第２の状態７０１、および汎用の非信用状態である第３の状態７０２に置かれることがある。一般的なケースでは、コンピューティング・エンティティは複数の異なる状態に存在することができ、それぞれの状態は、対応するそれぞれの信用レベルを有する。
【００９０】
信用状態７００は、信用状態にアクセスすることができる方法によって、第２および第３の状態７０１、７０２とは区別される。１つのオプションでは、信用状態７００には、信用構成要素２０２を参照することによってのみアクセスすることができる。しかし、好ましいベストモードの場合、信用構成要素によって制御されずに信用状態に入ることができる。信用状態にアクセスするには、ユーザは、コンピューティング・エンティティをオンにする。すなわち、ユーザーは、電源投入プロセス７０３でコンピューティング・エンティティの電源をオンにする。電源をオンにすると、コンピューティング・エンティティは、プロセス７０４において、コンピュータＢＩＯＳに含まれるルーチンからＢＩＯＳファイル３０１を介してブートする（立ち上がる）。コンピューティング・エンティティは、ＢＩＯＳファイルがどのように構成されているかによって、信用状態７００、第２の状態７０１、または第３の状態７０２のいずれかに入ることができる。本明細書のベストモードでは、コンピュータ・エンティティのユーザには、選択によって信用状態７００または他の状態７０１、７０２のうちのいずれかに入るためのオプションが提供される。該オプションは、コンピュータ・エンティティのブート中にモニタ１００のメニュー表示オプションとして提供され、または、いずれかの状態に入ったときにスクリーン・アイコンとして示される選択可能オプションとして提供される。たとえば、電源をオンにしたときに、ＢＩＯＳがデフォルトの立ち上がりを第２の状態７０１に設定するよう該ＢＩＯＳを構成することができる。いったん第２の状態に入ると、別の状態７００に入るには、ユーザからのキー入力が必要とされる。これには、パスワードの入力によって、またはユーザがスマート・カードをスマート・カード・リーダ１０３に挿入することによって、ユーザのアイデンティティを確認することを含めることができる。
【００９１】
コンピューティング・エンティティがいったん信用状態以外の状態、たとえば第２の状態７０１または第３の状態７０２に入ると、ユーザをこの状態から別の状態にナビゲートすることができる。たとえば、キーボード上でキーを打ち込む通常の入力動作によって、またはモニタを見ながらポインティング・デバイスの信号入力を使用することによって、ユーザを第２の状態７０１から第３の状態７０２にナビゲートすることができる（このとき、通常はＢＩＯＳが再び参照される）。これについては、新規状態選択プロセス７０８として概略的に示されている。
【００９２】
信用状態７００に入るためには、コンピュータ・エンティティを、電源オン後の最初のプロセス７０４でブートするか、またはリブート・プロセス７０５でＢＩＯＳを介してリブートしなければならない。リブート・プロセス７０５は、コンピューティング・エンティティの電源をオフにしてから再度オンにするということを行わずに入ることができるという点を除いて、ブート・プロセス７０４と非常によく似ている。信用状態７００を出るには、コンピューティング・エンティティは、ＢＩＯＳを再び参照しなければならず、このことは、監視プロセス７０６において信用構成要素２０２による自動監視を必要とする。同様に、プロセス７０５においてＢＩＯＳを介してリブートするためには、監視プロセス７０６における信用構成要素による自動監視を必要とする。
【００９３】
信用状態７００を出るには、電源オフ・プロセス７０７で電源をオフにするか、またはリブート・プロセス７０５でコンピューティング・エンティティをリブートしないと、信用状態から出られない。リブート・プロセス７０５でＢＩＯＳをリブートするには、信用構成要素による自動監視７０６を必要とする。いったん信用状態から出ると、リブート・プロセス７０５でコンピューティング・エンティティをリブートするか、または電源をオフにした後にプロセス７０４でコンピューティング・エンティティをブートしないと、信用状態に再度入ることはできない。どちらの場合も、監視プロセス７０６での信用構成要素による自動監視を必要とする。
【００９４】
図８を参照すると、１つまたは複数の状態を介してナビゲートするコンピュータ・エンティティのユーザが従う使用モデルが概略的に示されている。ステップ８００では、コンピューティング・エンティティの電源をオンにした後、コンピュータは、ＢＩＯＳプログラムを介してブートする。ブート・プロセスは、既存の状態からコンピュータをリブートするのに非常によく似ている。どちらの場合も、マイクロプロセッサ２０１の制御は、ＢＩＯＳ構成要素３０１によって把握されている。信用構成要素２０２は、ＢＩＯＳ３０１から一組の保全性測定基準信号を測定し、ＢＩＯＳ３０１の状態を判断する。ステップ８０１では、グラフィカル・ユーザ・インターフェースが、複数の異なる状態に入るためのメニュー・オプションを表示する。メニュー上に表示される状態の１つが、上記で説明した信用状態である。ユーザは、グラフィカル・ユーザ・インターフェースのキーボードまたはポインティング・デバイスを使用して（たとえば、グラフィカル・ユーザ・インターフェース上に表示される状態アイコン上にあるポインタ・アイコンをクリックすることによって）、どの状態に入るかを手動で選択する。代替的に、スマートカードを使用して、またはネットワーク接続を介して、ＢＩＯＳによって生成される状態選択オプションから状態を自動的に選択することができる。状態を選択した後、ＢＩＯＳは、その状態に対応する選択されたオペレーティング・システムをロードするプログラムをロードする。複数の異なる可能な状態のそれぞれについて、異なるロード・プログラムが使用される。信用構成要素は、広義にＢＩＯＳを測定する方法と同様の方法でプログラムを測定する。信用構成要素は、どの状態がロードされたかを記録し、判断することができる。外部エンティティが、信用構成要素に、保全性測定基準を供給するよう要求したとき、信用構成要素は、ＢＩＯＳ測定基準とロードされたプログラムの測定基準の両方を供給する。
【００９５】
ステップ８０２において、コンピューティング・エンティティは、選択された状態に入る。いったん選択された状態に入ると、ユーザは、その状態の物理的および論理的資源のセットにアクセスできる。たとえば、比較的安全でない状態の場合、ユーザは、コンピューティング・エンティティを含むモデム・デバイスを介したインターネットへの全アクセスを有し、１つまたは複数のハード・ディスク・ドライブまたはＣＤリーダ／ライタへの全アクセスを有し、フロッピィ・ディスク・ドライブへの全アクセスを有し、さらに、事前にロードされている市販の複数のアプリケーション・プログラムへのアクセスを有することができる。他方で、ユーザが比較的信用レベルの高い信用状態を選択すると、その状態においてユーザが利用できるのは、１つのオペレーティング・システムと、たとえばワード・プロセッサ、課金パッケージ、またはデータベースなどの限定された一組のアプリケーションである。また、印刷デバイスの使用は可能であるが、その状態では、ハード・ディスク・ドライブ、フロッピィ・ディスク・ドライブ、またはインターネットの使用を制約することができる。
【００９６】
コンピュータがブートされることのできる個々の状態のそれぞれの選択は、ＢＩＯＳ構成要素３０１を構成することによって事前に構成されることができる。状態の選択は、ＢＩＯＳによってユーザに示される。いったん状態が選択されると、ＢＩＯＳは、オペレーティング・システムのローディング・プログラムを呼び出すことにより、該選択された状態がロードされるようにする。状態そのものは、ローディングおよび関連するオペレーティング・システムによって事前に構成されている。信用状態に入るときは、ＢＩＯＳ構成要素３０１の動作（監視プロセス７０６における信用構成要素による監視も含む）を介してその状態に入る。信用状態に入るために、ユーザは、ステップ８０４でコンピュータ・プラットフォームをブートするかまたはリブートしなければならない。同様に、信用状態から出る場合も、ユーザはステップ８０４でコンピューティング・エンティティをブートまたはリブートしなければならない。信用レベルの低い状態、例えば第２の状態（７０１）または第３の状態（７０２）からナビゲートするには、ユーザは、ステップ８０５でその状態から別の状態にナビゲートすることができるが、その場合、ベストモードでは、ＢＩＯＳを介したコンピューティング・エンティティのリブートが必要とされる。
【００９７】
図９を参照すると、ブート・プロセス７０４またはリブート・プロセス７０５を介して状態に入るための、コンピューティング・エンティティによって実行されるプロセス・ステップが概略的に示されている。
【００９８】
ステップ９００では、コンピューティング・エンティティの電源をオンにした結果として、またはリセット命令信号をユーザが入力した結果として（たとえば、グラフィカル・ユーザ・インターフェース上に表示されるリセット・アイコン上のポインタ・アイコンをクリックして、リセット信号を発生させることによって）、コンピュータはブート・ルーチンに入る。リセット信号は、内部バス３０４を監視する信用構成要素によって受け取られる。ステップ９０１で、ＢＩＯＳ構成要素３０１が、コンピュータ・プラットフォームのブート・プロセスを開始する。信用構成要素２０２は、コンピュータ・プラットフォームの状態をチェックするために、コンピュータ・プラットフォームに関する複数の保全性チェック、特にＢＩＯＳ構成要素３０１のチェックを行う。保全性チェックは、ＢＩＯＳ構成要素のダイジェスト(digest)を読み取ることによって実行される。信用構成要素２０２は、ＢＩＯＳの状態を監視するよう動作し、該ＢＩＯＳの状態を、第三者のエンティティに報告することができる。これにより、第三者のエンティティは、該コンピューティング・エンティティに割り振ることのできる信用レベルを決定することが可能となる。
【００９９】
ＢＩＯＳの保全性測定基準の測定を実現するには、いくつかの方法がある。それぞれのケースにおいて、信用構成要素は、コンピュータ・プラットフォームのブート・プロセスのかなり早い時期に、ＢＩＯＳファイルのダイジェストを取得することができる。その例を以下に示す。
【０１００】
１）ＢＩＯＳ構成要素を、信用構成要素２０２の一部として設けることができる。この場合、図３に示されたアーキテクチャは、ＢＩＯＳ３０１が信用構成要素２０２内に存在するよう修正される。
【０１０１】
２）コンピュータ・プラットフォームの第１のプロセッサ２０１は、リセットの直後に、内部ファームウェア構成要素を実行させることができる。内部ファームウェア構成要素は、ＢＩＯＳファイルによって占有される、事前設定されたメモリ空間上のダイジェストを算出することができる。第１のプロセッサは、事前設定されたメモリ空間にダイジェストを書き込むが、信用構成要素のメモリ空間に書き込むことができるのはファームウェア構成要素だけである。第１のプロセッサは、コンピュータ・プラットフォームをブートするために、ＢＩＯＳファイルを読み取る。信用構成要素は、その後いつでも、ＢＩＯＳダイジェスト・データを取得するために、該メモリ空間内の事前設定された位置からデータを読み取ることができる。
【０１０２】
３）信用構成要素は、ＢＩＯＳ３０１によって占有されるメモリ位置においてアドレスされることができる。こうして、信用構成要素には、第１のプロセッサ２０１がリセットされた後にアクセスされる第１の固有の命令セットが含まれる。これらの命令は、コンピュータ・プラットフォームの第１のプロセッサ２０１に、ＢＩＯＳのダイジェストを算出させて、それを、信用構成要素に格納させる。ＢＩＯＳのダイジェストが信用構成要素内に格納されると、信用構成要素は、制御をＢＩＯＳ３０１に渡す。
【０１０３】
４）信用構成要素は、メモリ制御ラインおよびリセット・ラインを監視し、コンピュータ・プラットフォームがリセットした後にアクセスされる第１のメモリ位置にＢＩＯＳ構成要素３０１がいることを検証することができる。ブート・プロセスの何らかの段階で、ＢＩＯＳは信用構成要素に制御を渡し、信用構成要素は、コンピュータ・プラットフォームの第１のプロセッサに、ＢＩＯＳのダイジェストを算出させて、該ダイジェストを該信用構成要素に返させる。ダイジェストを算出してその結果を信用構成要素に書き込むプロセスは、アトミック(atomic)でなければならない。このアクションは信用構成要素によって開始されることができ、コンピュータ・プラットフォームのプロセッサに、信用構成要素から固有の命令セットを読み取らせる。その後、該プロセッサに、ＢＩＯＳによって占有されるメモリ空間上のダイジェストを算出させ、さらに信用構成要素によって占有されるメモリ空間にダイジェスト・データを書き込ませる。代替的には、このアクションを信用構成要素によって開始することができる。その場合、プラットフォームの第１のプロセッサに命令を実行させ、該プロセッサは、ＢＩＯＳによって占有されている事前設定されたメモリ空間上のダイジェストを算出し、そのダイジェストを、該信用構成要素によって占有されている事前設定されたメモリ空間に書き込む。
【０１０４】
５）選択されたオペレーティング・システムをロードするためのローディング・プログラムは、それ自体が、ＢＩＯＳプログラムによってロードされる。オペレーティング・システムのローディング・プログラムの保全性測定基準も、ローディング・プログラムのダイジェストを算出することによって測定される。
【０１０５】
一実施形態では、信用構成要素２０２が、コンピュータ・プラットフォームの個々の構成要素、特にハード・ディスク・ドライブ２０３、マイクロプロセッサ２０１、およびＲＡＭ３０１に問い合わせて、該これらの構成要素から、該構成要素の状態および条件を記述したデータ信号を直接取得する。信用構成要素２０２は、コンピュータ・エンティティの複数の構成要素から受け取った測定基準信号と、信用構成要素によるアクセス用に予約されたメモリ領域内に格納されている、事前に記録された測定基準データとを比較することができる。コンピュータ・プラットフォームの構成要素から受け取った信号が、それらのメモリ内に格納された測定基準データに適合したならば、信用構成要素２０２は、コンピュータ・プラットフォームが正しく動作しているということの確証として出力信号を提供する。第三者、たとえばコンピューティング・エンティティと通信している他のコンピューティング・エンティティは、この出力信号を、コンピューティング・エンティティが正しく動作している、すなわち信用されるものであるということの確証として受け取ることができる。
【０１０６】
ステップ９０３では、ＢＩＯＳが、モニタ１００上のメニュー表示を生成し、信用状態７００を含む状態選択オプションをユーザに提示する。ユーザは、グラフィカル・ユーザ・インターフェースへのキー入力またはマウス１０５などのポインティング・デバイスを使用したデータ入力を実行することで、どの状態に入るかを入力する。ＢＩＯＳは、ステップ９０４で、どの状態にブートするかを指示するキー入力をユーザから受け取る。信用構成要素は、状態を選択するユーザのキー入力に加えて、人間が物理的に起動する必要のある確認キー１０４からの別の入力を必要とすることもある。この場合、コンピュータ・エンティティの内部バス３０４をバイパスし、信用構成要素２０２に直接アクセスすることとなる。ＢＩＯＳ３０１が、どの状態が要求されたかを指示する必要なキー入力を受け取ると、ＢＩＯＳ３０１に格納された構成命令セットの処理がマイクロプロセッサ２０１によって発生し、ＢＩＯＳファイル内に格納されている状態オプション・セットのいずれか１つを指示する。これにより、コンピュータ・プラットフォームは、自身をそのように構成する。コンピュータ・プラットフォームがブートすることのできる複数の状態選択のそれぞれは、別々のブート・オプションとしてＢＩＯＳ３０１内に格納されることができる。ブート・オプションの選択は、コンピューティング・エンティティのユーザによって実行されたキーストロークによる入力または他のグラフィカルなユーザ入力に応答して制御される。ＢＩＯＳファイル３０１の正しいルーチンがユーザによって選択されると、ステップ９０６で、ＢＩＯＳファイルは、コンピュータ・プラットフォームのメモリ領域に格納されたオペレーティング・システムのロード・プログラムに制御を解放し、これにより、選択された状態のオペレーティング・システムへのコンピュータ・プラットフォームのブートが起動される。オペレーティング・システムのロード・プログラムには、状態を開始するための複数の起動ルーチンが含まれており、さらに該起動ルーチンには、選択された状態に対応する特定のオペレーティング・システムを起動するためのルーチンが含まれている。オペレーティング・システムのロード・プログラムは、コンピュータ・プラットフォームを、選択された状態にブートする。オペレーティング・システムは、ステップ９０７で、オペレーティング・システムを導入するのに使用されるロード・プログラムの測定基準を測定する。
【０１０７】
選択された状態に入ると、信用構成要素２０２は、ステップ９０８において、進行中の連続ベースでさらに保全性チェック測定を実行し、選択された状態を連続的に監視して、矛盾、障害、およびその状態で通常予測されるコンピュータ・プラットフォームの動作との相違を探す。こうした保全性測定は、信用構成要素２０２が呼びかけ信号をコンピュータ・プラットフォームの個々の構成要素に送信すること、および、該コンピュータ・プラットフォームの個々の構成要素から応答信号を受け取ることによって実行される。信用構成要素は、この応答信号を、信用構成要素のメモリに格納されたそれらの特定状態に対応する予め決められて事前にロードされた予測応答信号のセットと比較することができる。または、信用構成要素２０２は、コンピュータ・プラットフォームが選択された状態に入ると同時に、選択された状態のコンピュータ・プラットフォームから測定される保全性測定基準と、初期に測定された一組の保全性測定基準とを比較することができる。こうして、進行ベースで、それら初期に記録されたものに対する保全性測定基準のいかなる変更をも検出することができる。
【０１０８】
ブート手順が実行されている間に、信用構成要素は、ＢＩＯＳ構成要素によって実行されるブート・プロセスを監視するけれども、ブート・プロセスを制御する必要はない。信用構成要素は、ブート手順の初期段階で、ＢＩＯＳ構成要素３０１のダイジェストの値を獲得する。代替実施形態の中には、ＢＩＯＳ構成要素によるブートが開始される前に、信用構成要素が、コンピュータ・プラットフォームの制御を把握することを必要とするものがある。しかし、本明細書に記載されたベストモードの実施の代替的な形態では、信用構成要素はブート・プロセスの制御を取得する必要はないが、信用構成要素は、コンピュータ・プラットフォーム、特にＢＩＯＳ構成要素３０１を監視する。コンピュータ・プラットフォームを監視することによって、信用構成要素は、コンピュータをブートするのにどのＢＩＯＳオプションが使用されたか、およびどのオペレーティング・システムが選択されたかを記述するデータを格納する。信用構成要素は、オペレーティング・システムを導入するのに使用されるローディング・プログラムをも監視する。
【０１０９】
ここで、本発明に従う第１の固有の動作モードにおける信用状態にあるコンピュータ・エンティティの動作の一例について説明する。
【０１１０】
図１０および図１１を参照すると、複数のユーザ・セッションに及ぶ、信用状態におけるコンピューティング・エンティティの使用、たとえば連続２日間にわたり、セッション間においてコンピューティング・エンティティの電源をオフにするかまたはリブートするコンピューティング・エンティティの使用を示す図が概略的に示されている。
【０１１１】
図１０を参照すると、前述したように、第１のブート・プロセス１０００で、ユーザは、コンピューティング・エンティティを信用状態７００にブートする。この信用状態において、ユーザは、コンピューティング・エンティティの使用である第１のセッション１００１を開始する。コンピュータ・プラットフォームが信用状態にブートされたので、このセッション内では、その信用状態にいるユーザは、論理的および物理的資源の予め決められたセットを使用することができる。典型的には、これには、オペレーティング・システムへのアクセス、およびアプリケーションの所定の選択が含まれる。信用状態に適用される信用レベルは、信用状態にいるユーザが使用可能な物理的および論理的資源の数、複雑さ、および信頼性に応じて変化する。たとえば、信用状態が、周知の信頼性のあるオペレーティング・システム、たとえばＵＮＩＸを使用するように構成され、かつ信頼性のあるワード・プロセッシング・パッケージを使用するよう構成されており、たとえばモデムへのアクセスは無く、出力データへのアクセスは単一の書込み装置ドライブ（たとえばＣＤライター）に制限されているというように、信用状態で許可されているコンピュータ・プラットフォームの周辺デバイスへのアクセスが最小限である場合、これは比較的高い信用を有することができる。より多くの機構が使用可能な他の信用状態においては、信用レベルは、物理的または論理的資源へのアクセスがより厳しく制限されている信用状態の信用レベルとは異なる。しかし、それぞれの信用状態は、機構へのアクセスが事前に決められていて周知であり、該アクセスが信用構成要素２０２によって検証されるることができるという特徴を持つ。第１のセッション１００１中に、ユーザは、信用状態で使用可能なアプリケーション１００２を呼び出し、ユーザ・データ１００３を、たとえばキーボード・デバイスを介して入力することができる。ユーザ・データ１００３は、処理動作１００４のアプリケーション１００２に従って処理され、その結果、処理済みユーザ・データ１００５が出力される。
【０１１２】
セッションの間、コンピュータ・プラットフォーム、オペレーティング・システム、およびアプリケーションを使用することによって、ユーザは、セッション内での特定の使用のために、アプリケーションおよび／またはオペレーティング・システムを再構成することができる。たとえば、ワード・プロセッサのアプリケーションについて、文書を、一定の行間隔、フォント・スタイルなどを使って書式設定しておくことができる。信用状態を出るときにこれらの設定が失われることのないように、セッション中に、こうしたセッション・データ１００６を構成する設定値を格納することができる。同様に、セッション中にユーザが行った努力が失われないように、セッション中に、出力ユーザ・データを格納することができる。しかし、ユーザ・セッション１００１は、信用状態が存在している間だけしか信用状態にない。したがって、信用状態７００の第１のセッション１００１からの設定およびデータが失われないように、出力ユーザ・データおよびセッション・データは、信用状態を出る前に、それぞれ格納済み出力ユーザ・データ１００７および格納済みセッション・データ１００８として格納しなければならない。格納済み出力ユーザ・データ１００７および格納済みセッション・データ１００８は、さらに連続するセッションで使用するために、信用状態で使用可能なデバイス、たとえばハード・ディスク・ドライブ２０３またはＣＤリーダ／ライタの周辺機器に保存することができ、または暗号化および符号化した後に、ネットワークを介してアクセスされるリモート位置に保存することができる。ユーザ・データおよびセッション・データの符号化は、信用構成要素および／またはユーザのスマート・カードによって実行されることが好ましい。
【０１１３】
信用状態から出るには、第１のユーザ・セッション１００１を閉じ、リブート・プロセス７０５を介してコンピューティング・エンティティをリブートするか、または電源オフ・プロセス７０７を介してコンピューティング・エンティティの電源を切る必要がある。信用状態の第１のユーザ・セッションでは、ユーザ入力のデータ処理が発生し、プロセスの出力は処理済みデータ出力である。処理済みデータ出力は、データの処理が終了した後であってセッションが終了する前、かつ信用状態を出る前に格納される。
【０１１４】
図１１を参照すると、同じ信用状態７００の第２のセッションの、２日目のコンピューティング・エンティティの動作を示す図が概略的に示されている。第１のセッションおよび第２のセッションの間で、コンピューティング・エンティティが信用状態７００を出るため、信用状態７００は完全に消滅する。信用状態７００を出ると、格納済み出力ユーザ・データおよび格納済みセッション・データは別として、コンピュータ・プラットフォームは、ＢＩＯＳ３０１、ローディング・プログラム、および信用構成要素２０２に事前プログラミングされる情報以外には、信用状態に関する情報を保存しない。したがって、実際的には、電源オフまたはリブート時に、信用状態７００は存在しなくなる。しかし、ブート・プロセスまたはリブート・プロセスの新しい動作によって、信用状態７００に再度入る能力は、コンピューティング・エンティティの機能の中に残っている。前述したように、信用状態には、第２のブート・プロセス１１００を介して入る。信用状態に入ると、第２のセッション１１０１が開始される。第２のセッション１１０１中に、オペレーティング・システム、アプリケーション、およびコンピュータ・プラットフォームの使用可能な機構は、第１のセッションで前に使用可能だった物理的および論理的資源の同じセットが選択される。しかし、第２のセッションにおけるこれらの機構の使用は、ユーザのキーストローク指示に従って変えることができる。第２のセッション１１０１には、第１のセッション１００１の続きを効率よく含めることができる。ユーザは、以前と同じアプリケーション１００２を呼び出し、第２のセッション１１０１で、第１のセッション中に実行した作業を効率よく続行することができる。しかし、信用状態を出るには、コンピュータ・プラットフォームが、その信用状態中に発生したすべてのイベントの記憶を完全に消失する必要がある。したがって、状態から出た後に、信用状態が再起動されて新しいセッションが開始されると、アプリケーション１００２には、それ以前の構成に関する記憶がなくなっている。したがって、アプリケーションを再構成するためには（たとえば行間隔および書式の設定を保存するためには）、第１のセッション１００１の終わりに生成された格納済み出力セッション・データ１００８を、第２のセッション１１０１に入力しなければならない。また、格納済み出力ユーザ・データ１００７として格納された出力ユーザ・データ１００５は、そのデータに関する作業を続行するために、第２のセッション１１０１に再入力されなければならない。格納済みセッション・データ１００８およびユーザ・データ１００７は、第１のセッションの続きとして第２のセッションを構成するために、記憶媒体から取り出して復号および認証した後、信用状態にローディングされることができる。好ましくは、スマート・カードまたは記憶媒体からインポートされたユーザ・データおよびセッション・データに対しては、そのデータがロードされる前に、信用構成要素によって保全性測定チェックが実行される。第２のセッション１１０１中に、プロセス１１０３では、ユーザによってさらなるユーザ・データ１１０２が入力される。さらに、該さらなるデータは、第１の格納済み出力セッション・データ１００８に従って構成されたアプリケーション１００２に従って、第１の格納済み出力データ１００７と共に処理される。第２のセッション１１０１中にデータの処理１１０３が行われた結果、新規の出力ユーザ・データ１１０４が生じる。第２のセッションにおいて使用されたアプリケーションまたはオペレーティング・システムの構成が第２のセッション中に変更されると、新規セッション・データ１１０５が生じる。第１のセッションの場合と同様に、アプリケーション・プログラムおよびオペレーティング・システムの設定を失わずに、また第２のセッション中に実行された作業の利点を失わずにセッションを閉じるために、新規セッション・データ１１０５および新規出力ユーザ・データ１１０４の両方を格納する必要がある。これらのデータは、それぞれ格納済み新規出力ユーザ・データ１１０６および格納済み新規セッション・データ１１０７として格納される。
【０１１５】
第２のセッションの終わりに、第２のセッションで実行した作業を保存した後でセッションを閉じ、電源オフ・プロセスまたはリブート・プロセス７０５、７０７を介して信用状態から出る。格納済みセッション・データ１１０７および格納済み出力ユーザ・データ１１０６以外の、信用状態および第２のセッションのすべての記憶が、コンピュータ・プラットフォームから失われる。
【０１１６】
上記の例は、日付けが異なる連続する第１のセッションおよび第２のセッションでコンピュータを使用する特定の例であることは理解されよう。これらのセッション間で使用する場合、コンピューティング・エンティティは、信用の程度が異なる複数の異なる状態、異なる目的、および異なる動作で使用されることができる。信用レベルが低い動作状態、たとえば第２および第３の状態（「非信用」状態）においては、コンピュータ・エンティティは、状態間で遷移してもそのデータ構成の記憶を失うことがない。前述の動作に従い、信用状態７００は何回でも起動されることができ、いくつものセッションを実行することができる。しかし、いったん信用状態から出ると、信用状態は、前のセッションの記憶を失う。信用状態のいかなる構成も、データ１００３、１１０２の新規入力、または以前に格納されたセッション・データまたはユーザ・データ１００７、１００８、１１０６、１１０７の入力によるものでなければならない。
【０１１７】
本発明に従う前述の特定の実施態様、特定の方法、特定の実施形態および動作モードでは、信用状態が、すべてが周知の状態にある処理セットを実行するコンピュータ・プラットフォームを含む。処理は、セッションが信用状態で動作している間中、信用構成要素２０２により継続して監視されることができる。
【０１１８】
図１２を参照すると、信用構成要素２０２自体がユーザによって再構成可能な、信用状態の第２の動作モードが概略的に示されている。第２の動作モードでは、構成要素自体が再構成されることのできる信用状態にコンピュータ・プラットフォームがいるときに適用される測定基準を記述した所定のデータ・セットを、信用構成要素が格納する。前述したように、ブート・プロセス７０４またはリブート・プロセス７０５を介して信用状態１２００に入る。信用状態では、ステップ１２０１で、ユーザが、信用構成要素の構成メニューを呼び出すコマンドを入力する。信用構成要素の構成メニューには、メモリ内に格納された命令セットが含まれており、これには、信用状態を介してのみアクセスすることができる。メニューを変更するために、様々なレベルまたはセキュリティを適用することができる。たとえば、ステップ１２０２で、ユーザは、安全保護パスワード、たとえば数字および英字または他の文字を含むパスワードを入力する必要がある。
【０１１９】
信用構成要素は、信用状態にある間にコンピュータ・プラットフォームから測定された保全性測定基準と、信用構成要素が自身のメモリ領域内に格納する事前に格納された一組の保全性測定基準とを比較することによって、信用構成要素が再構成されることのできる信用状態を監視する。信用構成要素は、コンピュータ・プラットフォームが、信用構成要素が再構成されることのできる信用状態にあるときに、信用構成要素によって測定された保全性測定基準が、信用構成要素独自のメモリ内に事前に格納された値に適合し、それによってコンピュータ・プラットフォームが信用状態で正しく動作していることを検証しない限り、ユーザに信用構成要素２０２の再構成を許可することはできない。測定されたコンピュータ・プラットフォームの保全性測定基準が、信用構成要素独自の内部メモリに格納された、信用構成要素が再構成されることのできる信用状態の予め決められた値に適合しないことを検出した場合、信用構成要素は、信用構成要素のユーザ再構成を拒否する。
【０１２０】
追加として、または任意選択で、ユーザは、ステップ１２０３で、スマート・カードをスマート・カード・リーダ１０３に挿入するよう要求されることができる。その後、信用構成要素は、スマート・カード・インターフェース３０５を介してスマート・カードからデータを読み取ることによって、ユーザのアイデンティティを検証する。さらにユーザは、図３を参照して述べたように、ステップ１２０４で確認キー１０４を起動して信用構成要素２０２に直接入力することによって、自身の存在の物理的な確認を入力するよう要求されることができる。たとえば、どのオペレーティング・システムを使用するか、およびどのアプリケーションを使用するかなど、信用状態を記述するデータをスマート・カードに格納し、コンピュータ・プラットフォームを信用状態にブートするのに使用することができる。
【０１２１】
パスワード、スマート・カードによる検証、および／または確認キーの起動を含むセキュリティ・チェックが信用構成要素によって受け入れられると、ステップ１２０５では、信用構成要素２０２の制御下で、グラフィカル・ユーザ・インターフェースにファイル構成メニューを表示する。ステップ１２０６では、ユーザがメニューを使用して信用構成要素の再構成を実行することができる。適用されるセキュリティのレベル（これは、信用構成要素の構成メニューの実施に固有のものである）に応じて、ユーザは、メニュー自体にデータを入力するときに、さらにパスワードを入力し、さらに確認キーを起動しなければならないことができる。ステップ１２０７でユーザは、信用構成要素の再構成を終えて信用構成要素の再構成メニューから出る。
【０１２２】
信用構成要素の構成メニューでは、ユーザは、信用構成要素の動作を再構成することができる。たとえばユーザは、コンピュータ・プラットフォームの監視に使用される保全性測定基準を変更することができる。
【０１２３】
信用構成要素独自のメモリ内に、ある状態における複数の保全性測定基準に対応する予め決められたダイジェスト・データを格納することによって、コンピュータ・プラットフォームがブートされる状態のダイジェスト・データと比較することができるデータを信用構成要素に設けることができる。これにより、信用構成要素は、コンピュータ・プラットフォームが、許可されていない状態にブートされていないことをチェックすることができる。
【０１２４】
信用構成要素は、主に、コンピュータ・プラットフォームのブートを監視する。コンピュータ・プラットフォームが、許可されていない状態にブートした場合、信用構成要素はコンピュータ・プラットフォームを制御する必要はない。しかし、任意選択で、コンピュータ・プラットフォームが、許可されていないまたは認識されていない状態にブートした場合、信用構成要素は、コンピュータ・プラットフォームを制御することを可能にするソフトウェアを、信用構成要素内に設けることができる。
【０１２５】
信用状態にあるとき、ユーザは、該信用状態で使用するための新しいアプリケーションを使用することを認証することができた場合は、その信用状態で使用する該新しいアプリケーションをロードすることができる。これには、必要なアプリケーションの署名データをユーザが信用構成要素に入力し、該アプリケーションを信用状態にロードするときに、信用構成要素がその署名を使用してアプリケーションを検証することができるようにする必要がある。信用構成要素は、実際にアプリケーションをロードする前に、アプリケーションの署名と、ユーザが信用構成要素にロードしておいた署名とが同じであるかどうかをチェックする。セッションの終わりに、アプリケーションは、プラットフォームからすべて失われる。信用状態にあるセッションは、一時メモリ、たとえばランダム・アクセス・メモリ内にのみ存在し、これは、信用状態から出るときにはリセットされる。
【０１２６】
前述の実施態様では、ディスプレイ・ユニットへのビデオ経路内に信用構成要素が存在するコンピュータ・エンティティについて説明してきた。しかし、本発明は、ディスプレイ・ユニットへのビデオ経路内に存在する信用構成要素に依存するものではなく、当業者であれば、前述のベストモードの実施態様が、本発明によって存在することが可能な大規模な実施の典型的な例であることを理解されよう。
【０１２７】
前述のベストモードの実施形態では、複数の状態から１つの状態を選択するためのオプション・セットがユーザに示され、特定の所望の状態を入力するにはユーザ入力が必要とされる動作方法について説明してきた。たとえば、コンピュータ・プラットフォームの状態に対応して、使用する必要のある特定タイプのオペレーティング・システムを指定するには、ユーザ入力を必要とする場合がある。特定の実施形態の他の動作モードでは、コンピュータ・プラットフォームの予め決められた動作状態を選択するためのデータをスマート・カードに格納することができる。このデータは、コンピュータ・プラットフォーム間で転送可能であり、コンピュータ・プラットフォームを所定の必要な状態にブートするのにこのデータを使用することができる。スマート・カードは、ＢＩＯＳによって提示される状態選択オプションのセットに応答し、提供された複数の状態選択肢から１つを選択する。ＢＩＯＳには利用可能な状態選択肢が含まれており、ローディング・プログラムのセットが、状態を提供する様々なオペレーティング・システムを実際に導入する。この動作モードでは、信用構成要素の第１のメモリ領域内に格納される所定の状態を記述したデータ、およびコンピュータ・プラットフォームを、要求された所定の状態にブートするためにそのデータを信用構成要素から取得するＢＩＯＳシステム以外に、スマート・カード・リーダに挿入されたスマート・カードの情報にアクセスすることができる。
【０１２８】
１つまたは複数の所定の状態を選択するためのデータによって事前に構成されたこのようなスマート・カードを使用することにより、スマート・カードを携帯しているユーザは、このような任意のコンピューティング・エンティティを起動する。本明細書で述べたように、ユーザ・セッションが起こった後、コンピューティング・エンティティは状態の記録を全く保持しないという知識により、信用構成要素およびコンピュータ・プラットフォームを、ユーザが指定した所定の状態にすることができる。同様に、図１０および図１１を参照しながら述べたように、セッション中に生成された任意の出力ユーザ・データまたは構成データを、スマート・カードによって検証することができる。このカードをユーザが携帯して、他の異なるコンピューティング・エンティティを同じ状態にブートし、異なるコンピューティング・エンティティ上でセッションを続行して、コンピューティング・エンティティが所定の状態の永久的な記録を保持することなく、また、コンピューティング・エンティティが所定の状態の処理済みユーザ・データまたはセッション構成データを保持することなく、取り出すべきユーザ・データまたはセッション・データに関する任意の情報を検証することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に従う、コンピュータ・エンティティを示す概略図。
【図２】図１のコンピュータ・エンティティの選択された構成要素の接続を示す概略図。
【図３】図１のコンピュータ・エンティティの構成要素のハードウェア・アーキテクチャを示す概略図。
【図４】図１のコンピュータ・エンティティを構成する信用構成要素のアーキテクチャを示す概略図。
【図５】コンピュータ・プラットフォーム上に存在する被監視ユーザ空間と、信用構成要素上に存在する信用空間とに分けられた、コンピュータ・エンティティの論理アーキテクチャを示す概略図。
【図６】コンピュータ・エンティティを構成する物理的および論理的資源のセットを示す概略図であって、個々の物理的および論理的資源の用途およびアクセス可能度の様々な組み合わせが、コンピューティング・エンティティの異なる状態における動作に対応することを示す図。
【図７】コンピューティング・エンティティが置かれることのできる状態セットと、該状態への出入りに関するプロセスとを示す状態図の一例を示す概略図。
【図８】コンピューティング・エンティティのユーザが、コンピューティング・エンティティの個々の状態を出入りするために従う使用モデルを示す概略図。
【図９】信用状態に入るためのプロセスのステップを示す概略図。
【図１０】第１のセッションがユーザによって実行される、信用状態にあるコンピューティング・エンティティの第１の動作モードを示す概略図。
【図１１】信用状態で実行され、かつ第１のセッション終了後に実行される第２のセッションを示す概略図。
【図１２】ユーザが信用構成要素の再構成を実行することができる、コンピュータ・エンティティの第２の動作モードを示す概略図。
【図１】
0004865177.tif 000002
【図２】
0004865177.tif 000003
【図３】
0004865177.tif 000004
【図４】
0004865177.tif 000005
【図５】
0004865177.tif 000006
【図６】
0004865177.tif 000007
【図７】
0004865177.tif 000008
【図８】
0004865177.tif 000009
【図９】
0004865177.tif 000010
【図１０】
0004865177.tif 000011
【図１１】
0004865177.tif 000012
【図１２】
0004865177.tif 000013