(57)【要約】【解決手段】電子装置で使用するための処理ユニットが、標準命令プロセッシング及び通信インタフェースを含み、またオペレーティングシステムにおいて見出されるものに対して追加又は代替される機能的な能力も含む。処理ユニット内のセキュアメモリは、ハードウェア識別子、ポリシーデータ並びにセキュアクロック、ポリシー管理及びポリシー強制などのサブシステム機能を含み得る。セキュアメモリ内の機能中のデータは、処理ユニットの外部からアクセスできない。【選択図】図３
2009508259.tif 000002
【特許請求の範囲】
【請求項１】
電子装置内で使用するための処理ユニットであって、
命令処理ユニットと、
通信インタフェースと、
識別証と、
ポリシー管理回路と、
強制回路と、
単調に増加する時間基準を提供するクロック回路と、
利用ポリシーに対応するデータをストアする耐タンパー性メモリであって、前記利用ポリシーに従って前記電子装置の稼働を規制するものと、を含む処理ユニット。
【請求項２】
前記利用ポリシーが、前記電子装置内のリソース利用に対応するシステム設定を指定することを特徴とする請求項１の処理ユニット。
【請求項３】
前記利用ポリシーが、時間による計量及び利用による計量のうち少なくとも１つに対応する稼動上の値を含むことを特徴とする請求項１記載の処理ユニット。
【請求項４】
更に、耐タンパー性メモリにストアされ、プライバシー機能を実施するソフトウェアコードであって、前記プライバシー機能が、ユーザデータに対応するセキュア情報に対するもの、を含む請求項１記載の処理ユニット。
【請求項５】
前記通信インタフェースが、ポリシー更新を通信するために、アプリケーションプログラムインタフェースにデータを提供することを特徴とする請求項１記載の処理ユニット。
【請求項６】
前記ポリシー管理回路が、前記電子装置の利用を計量する時刻を決定することを特徴とする請求項１記載の処理ユニット。
【請求項７】
稼動が前記ポリシーに従っていないことを前記ポリシー管理回路が決定したとき、前記強制回路が、前記電子装置の前記稼働を制限することを特徴とする請求項１記載の処理ユニット。
【請求項８】
更に、前記耐タンパー性メモリにストアされ、生体認証機能を実施するためのソフトウェアコードを含む請求項１記載の処理ユニット。
【請求項９】
更に、前記耐タンパー性メモリにストアされ、暗号機能を実施するためのソフトウェアコードであって、ポリシー更新が導入前に暗号検証されるもの、を含む請求項１記載の処理ユニット。
【請求項１０】
前記暗号機能が、前記電子装置の別のコンポーネントとの信用関係を確立することが可能であることを特徴とする請求項９記載の処理ユニット。
【請求項１１】
前記ポリシーが、ハードウェア構成を定義することを特徴とする請求項１記載の処理ユニット。
【請求項１２】
前記ポリシーが、前記耐タンパー性メモリに外部システムメモリを割り当てることによって、一般的な利用から前記外部システムメモリを除外するメモリ構成を定義することを特徴とする請求項１記載の処理ユニット。
【請求項１３】
更に、前記耐タンパー性メモリにストアされ、ストアードバリュー機能を実施するためのソフトウェアコードを含む請求項１記載の処理ユニット。
【請求項１４】
メモリ構成、処理能力、計量要求及び周辺機器に対する認証のうち少なくとも１つに対応するポリシーに従う利用に適合する計算機であって、
揮発性メモリと、
不揮発性メモリと、
入力インタフェースと、
通信インタフェースと、
及び、前記揮発性メモリ、前記不揮発性メモリ、前記入力インタフェース及び出力インタフェースと接続された処理ユニットを含み、前記処理ユニットが、
命令処理ユニットと、
データバスインタフェースと、
ポリシー管理機能と、
強制機能と、
耐タンパー性クロックと、
前記ポリシーをストアするセキュアメモリを含み、
前記計算機が前記セキュアメモリにストアされた前記ポリシーに従って稼働するものと、を含む計算機。
【請求項１５】
前記ポリシーに対応するデータが、前記入力インタフェース及び前記通信インタフェースのうち１つを介し受信されることを特徴とする請求項１４記載の計算機。
【請求項１６】
前記処理ユニットが更に、暗号機能を含むことを特徴とする請求項１４の計算機。
【請求項１７】
耐タンパー性メモリと共に処理ユニットを有する計算機を稼働する方法であって、
前記計算機を起動するための計算機命令を実行するステップと、
前記耐タンパー性メモリからポリシーを読み込むための計算機命令を実行するステップであって、前記ポリシーが、メモリ構成、処理能力、計量要求及び周辺機器に対する認証のうち少なくとも１つに対応するものと、
前記ポリシーに従って前記計算機を稼働するための計算機命令を実行するステップと、を含む方法。
【請求項１８】
更に、
限定利用モードに前記計算機を設定するステップと、
時間指標を含む回復コードを受信するステップと、
前記時間指標と内部クロック機能とを比較するステップと、を含む請求項１７記載の方法。
【請求項１９】
更に、
前記ポリシーが前記計算機の利用を計量要求する時刻を決定するステップと、
前記ポリシーに従って前記利用を計量するステップと、を含む請求項１７記載の方法。
【請求項２０】
前記ポリシーに従って前記計算機を稼働するための計算機命令を実行するステップが更に、前記耐タンパー性メモリにシステムメモリを再割り当てし、前記計算機による一般的利用に対して前記システムメモリを無効にするための計算機命令を実行するステップを含む、ことを特徴する請求項１７の本方法。
【発明の詳細な説明】
【背景技術】
【０００１】
ソフトウェアオペレーティング・プラットフォーム又はオペレーティングシステムをホスティングするハードウェアプロセッシング・プラットフォームを有する、アーキテクチャを用いて稼動する計算機が使用されている。オペレーティングシステムは、プロセッシング・プラットフォームと（少なくとも広範囲のパラメタ内で）独立に設計され、反対にプロセッシング・プラットフォームは、オペレーティングシステムと（一般的に同等な広範囲のパラメタ内で）独立に設計される。例えばリナックス又はマイクロソフトのウィンドウズ（登録商標）は、インテルのｘ８６プロセッサの大部分のバージョン上で実行され得る。仮想マシンモニタ（ＶＭＭ）又はハイパーバイザを使用することによって、オペレーティングシステム双方を同時に実行できる。同様にＵＮＩＸ（登録商標）などのオペレーティングシステムの中には、１種類以上のプロセッサ、例えばＩＢＭのＰｏｗｅｒＰＣ及びＳｕｎのＳｐａｒｃプロセッサ上で実行できるものもある。
【特許文献１】米国出願特許第１１／００６，８３７
【特許文献２】米国出願特許第１１／１５２，２１４
【発明の開示】
【発明が解決しようとする課題】
【０００２】
この処理プラットフォームとオペレーティングシステムとの間の独立は、プロセッサとオペレーティングシステム、すなわち計算機のハードウェアとソフトウェアとの間の信用を確立する際の難しさが一部の理由として、自称不正侵入者により利用され得るセキュリティリスクを導入する。最新のマイクロプロセッサは、それに与えられる命令を盲目的に実行する「フェッチし、実行する」サイクルをエンターし、コンテンツ又は実行される分岐に関係せず、それらは電子装置の使用に関連するポリシーの決定にも関与しない。
【課題を解決するための手段】
【０００３】
組込みシステム機能を有する処理ユニットが、セキュリティの強制及び／又は例えば従量制課金、可用制課金を強制する際に使用する稼働ポリシーのための安全（セキュア）な基盤又は計算機、携帯電話、携帯情報端末、メディアプレーヤのような別の電子装置の計量される稼動を提供する。処理ユニットは、大部分又はすべての近代的なマイクロプロセッサにおいて見出される特徴及び機能的な支援を含み得、ハードウェア識別子、耐タンパー性クロック及びセキュアストレージを提供する更なる機能を支援し得る。暗号ユニットなどの別の機能的な能力もまた同様に存在し得る。その結果、処理ユニットは、任意の外部コンポーネント、特にオペレーティングシステムソフトウェア、信頼計算モジュール（ＴＣＭ）、又は利用ポリシーに従って稼動可能な計算機のための基盤を確立するためのセキュア起動ＢＩＯＳに依存しない。
【０００４】
起動されるとき、処理ユニットは、どのポリシーがアクティブかを決定し、例えば、有効メモリの制限、周辺機器の数並びにタイプ又はネットワーク通信を設定するポリシーに従ったシステム構成を設定する。クロックは、期間を超えた利用などの計量利用及びシステムクロックと共に、改ざんを検出するための参照用に信用できる時間を提供する。
【発明を実施するための最良の形態】
【０００５】
以下の文章は、多くの異なる実施形態の詳細記述を説明しているが、記載の法的範囲は、本開示において説明される請求項の語句によって定義されることが理解されよう。詳細な記述は、例示的に過ぎないと理解されるべきであって、あらゆる可能な実施形態を記述することは不可能でないにしても非実用的なので、あらゆる可能な実施形態を記述はしない。最新技術又は本明細書の出願日以降の開発技術のいずれかを使用した本請求の範囲内の多数の代替実施形態が実施され得る。
【０００６】
また、以下理解されるべきことは、「本明細書に使用される用語’‘は、・・・を意味するために定義される」という文章か又は同様な文章を使用し、用語が本明細書において明確に定義されていない場合、その明白な又は普通の意味を越えて、単純又は普通の意味を超えて、その用語の意味を制限する意図は全くなく、（請求項の言語以外の）本明細書におけるいかなる項目のいかなる記述を基にする範囲内でも制限されると解釈してはいけない。本明細書の請求項において復唱されるいかなる用語も単一の意味と共に一貫した方法によって本明細書内で参照されることは、読者を混乱させないように明確にするだけのためになされるのであって、言外の意味又は別のその単一の意味によってその請求用語を制限する意図はない。最終的に、請求項がいかなる構造の詳説を伴わず「手段」及び機能という語句の列挙による定義がされない場合、いかなる請求項の範囲も米国特許法３５のセクション１１２の第６パラグラフの適用に基づいて解釈されることを意図しない。
【０００７】
独創的な機能性の多くと独創的な原理の多くは、ソフトウェアプログラム又は命令及び特定用途向けＩＣなどの集積回路（ＩＣ）又はそれらを利用して最善に実装される。例えば、有効時間、最新技術、及び経済面の考慮によって動機づけられる多大な努力と多くの設計の選択が必要とされるにもかかわらず、本明細書に開示された概念と原理によって誘導されたとき、当業者は最小量の実験で通常技術の１つが、そのようなソフトウェア命令とプログラム及びＩＣを容易に生成できると予想される。したがって、本発明に従う原理と概念を曖昧にするいかなるリスクを最小化し、簡潔にする利益のために、そのようなソフトウェア及びＩＣの更なる論述があったとしても、望ましい実施例の原理と概念に関する本質に制限される。
【０００８】
図１は、従量制課金の計算機システムを実現するために使用され得るネットワーク（１０）を示す。ネットワーク（１０）は、通信可能に相互接続されるためのインターネット、仮想私設網（ＶＰＮ）又は１台以上の計算機、通信装置、データベースなどを許容する任意の他のネットワークであり得る。イーサネット（登録商標）（１６）とルータ（１８）及び地上通信線（２０）を介し、パーソナル計算機（１２）及び計算機端末（１４）にネットワーク（１０）を接続できる。他方、無線通信ステーション（２６）及び無線リンク（２８）を介し、無線でラップトップ計算機（２２）と携帯情報端末（２４）とネットワーク（１０）を接続することができる。同様に、通信リンク（３２）を使用し、サーバ（３０）はネットワーク（１０）と接続され得、メインフレーム（３４）は、別の通信リンク（３６）を使用し、ネットワーク（１０）と接続され得る。
【０００９】
図２は、ネットワーク（１０）に接続され得、動的ソフトウェア設定システムの１つ以上のコンポーネントを実装するために使用され得る計算機（１１０）形式の計算装置を示す。計算機（１１０）のコンポーネントは、処理ユニット（１２０）、システムメモリ（１３０）及び、処理ユニット（１２０）とシステムメモリを含む様々なシステムコンポーネントを結合するシステムバス（１２１）を含むが、これらに限定されない。システムバス（１２１）は、メモリバス又はメモリコントローラ、周辺機器用バスと、様々なバス構成のいずれも使用するローカルバスを含むいくつかのタイプのバス構造のいずれかであり得る。制限ではなく例として、そのようなアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ機器に関する標準化団体（ＶＥＳＡ）ローカルバス及びメザニンバスとして知られる周辺機器相互接続（ＰＣＩ）バスを含む。
【００１０】
処理ユニット（１２０）は、当業界において知られるインテル社又は他社製の有効なマイクロプロセッサなどのマイクロプロセッサであり得る。処理ユニットは、シングルチップか又は複数のプロセッサユニットであり得、（表示されない）関連する周辺チップ又は（表示されない）機能ブロックを含み得る。そのような関連チップは、プリプロセッサ、パイプラインチップ、シンプルバッファ及びドライバを含み得るか、又はいくつかの最近の技術の計算機アーキテクチャで知られる「ノースブリッジ」及び「サウスブリッジ」チップなどのさらに複雑なチップ／チップセットを含み得る。処理ユニット（１２０）はまた、マイクロプロセッサと同じシリコン上か又は処理ユニット全体の一部として関連するチップいずれかのセキュア実行環境（１２５）を含み得る。セキュア実行環境（１２５）及び処理ユニット（１２０）又は同等な装置とその対話については、図３及び図４に関し更に詳細に後述する。
【００１１】
計算機（１１０）は通常、様々な計算機可読メディアを含む。計算機可読メディアは、計算機（１１０）によってアクセスされ、揮発性及び不揮発性双方のメディア、取り外し可能及び取り外し不可能メディアを含む任意の利用可能なメディアであり得る。制限ではなく例として、計算機可読メディアは、計算機ストレージメディア及び通信メディアを含み得る。計算機ストレージメディアは、計算機可読命令、データ構造、プログラムモジュール又は他のデータなどの情報のストレージに関する任意の方法又は技術で実装された揮発性及び不揮発性の取り外し可能及び取り外し不可能なメディアを含む。計算機ストレージメディアは、限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）又は他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ装置又は他の磁気ストレージ装置、又は所望の情報をストアするために使用され計算機（１１０）によってアクセスできる任意の他のメディア、を含む。通信メディアは一般に、搬送波又は別の移送メカニズムのような変調データ信号で計算機可読命令、データ構造、プログラムモジュール又はデータを具現化したものであり、任意の情報伝達メディアを含む。「変調データ信号」という用語は、１つ以上の特徴の組を有するか又は信号中の情報を符号化する方法で変更された信号を意味する。制限ではなく例として、通信メディアは、有線ネットワーク又は直接有線接続のようなワイヤードメディア並びに音響、無線（ＲＦ）、赤外線及び他の無線メディアのようなワイヤレスメディアを含む。前述の任意の組み合わせもまた、計算機可読メディアの範囲内に含まれるべきである。
【００１２】
システムメモリ（１３０）は、読み出し専用メモリ（ＲＯＭ）（１３１）及びランダムアクセスメモリ（ＲＡＭ）（１３２）のような揮発性及び／又は不揮発性メモリの形の計算機ストレージメディアを含む。基本入力／出力システム（１３３）（ＢＩＯＳ）は、起動中などに計算機（１１０）の内部の要素間で情報を転送するのを支援する基本ルーチンを含んでいて、通常ＲＯＭ（１３１）内にストアされる。ＲＡＭ（１３２）は通常、データ及び／又はプログラムモジュールを含み、それは処理ユニット（１２０）によって即座にアクセス可能及び／又はその上で現在稼動中である。制限ではなく例として、図２は、オペレーティングシステム（１３４）、アプリケーションプログラム（１３５）、他のプログラムモジュール（１３６）及びプログラムデータ（１３７）を示す。
【００１３】
計算機（１１０）はまた、他の取り外し可能／取り外し不可能、揮発性／不揮発性の計算機ストレージメディアを含み得る。一例に過ぎないが、図２は、取り外し不可能、不揮発性磁気メディアに対して読出す又は書込むハードディスクドライブ（１４０）と、取り外し可能、不揮発性磁気ディスク（１５２）に対して読出す又は書込む磁気ディスクドライブ（１５１）と、及びＣＤ−ＲＯＭ又は別の光メディアのような取り外し可能、不揮発性光ディスク（１５６）に対して読出す又は書込む光ディスクドライブ（１５５）を示す。例示的な動作環境内で使用可能な別の取り外し可能／取り外し不可能、揮発性／不揮発性計算機ストレージメディアは、限定しないが磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭ等を含む。ハードディスクドライブ（１４１）は一般に、インタフェース（１４０）などの取り外し不可能メモリインタフェースを介し、システムバス（１２１）に接続され、磁気ディスクドライブ（１５１）及び光ディスクドライブ（１５５）は一般に、インタフェース（１５０）などの取り外し可能メモリインタフェースによって、システムバス（１２１）と接続される。
【００１４】
前述及び図２中に示しているドライブ及びそれらに関連する計算機ストレージメディアが、計算機（１１０）に対する計算機可読命令、データ構造、プログラムモジュール及び他のデータのストレージを提供する。例えば図２中、ハードディスクドライブ（１４１）は、オペレーティングシステム（１４４）、アプリケーションプログラム（１４５）、他のプログラムモジュール（１４６）及びプログラムデータ（１４７）をストアするものとして示されている。ここでこれらのコンポーネントは、オペレーティングシステム（１３４）、アプリケーションプログラム（１３５）、他のプログラムモジュール（１３６）、及びプログラムデータ（１３７）と同じか又は異なるかのいずれかであり得ることに留意すべきである。オペレーティングシステム（１４４）、アプリケーションプログラム（１４５）、他のプログラムモジュール（１４６）及びプログラムデータ（１４７）は、最小限それらが異なる複製であることを示すように異なる番号が与えられている。ユーザはキーボード（１６２）及び一般にマウス、トラックボール又はタッチパッドと呼ばれるポインティング装置（１６１）などの入力装置を通してコマンド及び情報を計算機（２０）に入力できる。別の入力装置は、ウェブカム（１６３）として知られるインターネット上において画像を送信するためのカメラがあり得る。（図示しない）別の入力装置は、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ又はその他を含み得る。これら及び他の入力装置は、多くの場合、システムバスに接続されたユーザ入力インタフェース（１６０）を介し処理ユニット（１２０）と接続されるが、パラレルポート、ゲームポート、又はユニバーサルシリアルバス（ＵＳＢ）のような別のインタフェース及びバス構造によっても接続され得る。モニタ（１９１）又は別のタイプの表示装置もまた、ビデオインタフェース（１９０）のようなインタフェースを介しシステムバス（１２１）に接続される。モニタに加えて計算機はまた、スピーカ（１９７）及びプリンタ（１９６）のような他の周辺出力装置を含み得、これらは出力周辺インタフェース（１９５）を経由し接続され得る。
【００１５】
計算機（１１０）は、リモート計算機（１８０）などの１台以上のリモート計算機と論理的な接続を使用し、ネットワークに接続された環境で稼動できる。リモート計算機（１８０）は、パーソナル計算機、サーバ、ルータ、ネットワークＰＣ、ピア装置又は他の一般的なネットワークのノードがあり得、図２においてメモリストレージ装置（１８１）だけが示されたが、通常計算機（１１０）に対して前述の要素の多くか又はすべてを含む。図２に示された論理的な接続は、ローカルエリアネットワーク（ＬＡＮ）（１７１）及び広域ネットワーク（ＷＡＮ）（１７３）を含むが、また他のネットワークも含み得る。そのようなネットワーク環境は、オフィス、企業全体の計算機ネットワーク、イントラネット及びインターネットにおいて一般的である。
【００１６】
ＬＡＮネットワーク環境において使用されるとき、計算機（１１０）は、ネットワークインターフェース又はアダプタ（１７０）を介し、ＬＡＮ（１７１）と接続される。ＷＡＮネットワーク環境において使用されるとき、計算機（１１０）は通常、インターネットのようなＷＡＮ（１７３）上で通信を確立するためのモデム（１７２）又は他の手段を含む。内蔵又は外付けであり得るモデム（１７２）は、ユーザ入力インタフェース（１６０）、又は他の適切な手段を介し、システムバス（１２１）と接続され得る。ネットワークと接続された環境において、計算機（１１０）か又はその部分に関して表示されたプログラムモジュールは、リモートメモリストレージ装置にストアすることができる。制限ではなく例として、図２は、メモリ装置（１８１）に存在するリモートアプリケーションプログラム（１８５）を示す。示されたネットワーク接続は、例示的であり、計算機間の通信リンクを設立する別の手段を使用できることが理解されよう。
【００１７】
図３は計算機（３００）の簡単なブロック図を示す。計算機は、処理ユニット（３０２）を含み、それは処理ユニット（１２０）と同様又は同等であり得る。またブロック図は、アプリケーションプログラムインタフェース（ＡＰＩ）（３０６）のインタフェースによって処理ユニット（３０２）と結合され得るオペレーティングシステム及びアプリケーション（３０４）、を有する計算機（３００）を示す。ＡＰＩ（３０６）は、処理ユニット（３０２）内の通信インタフェース（３０８）と通信できる。通信インタフェース（３０８）は、割り込みハンドラ又はメッセージ処理ハンドラ、解析ユニットなどの形式を取り得る。従来のマイクロプロセッサにおいて見出されるように、処理ユニット（３０２）は、汎用のマイクロコードセット（３１２）を使用し、通信インタフェース（３０８）を介して受信された汎用命令を処理する、汎用処理ユニット（ＧＰＵ）コア（３１０）を含み得る。ＧＰＵコア（３１０）の稼動及び汎用マイクロコード（３１２）との関係が十分に文書化され、業界内で理解されていて、インテル社のペンティアム（登録商標）シリーズ、アドバンストライズマシンリミテッド社製のＡＲＭ（登録商標）プロセッサ及びＩＢＭ社のＰｏｗｅｒＰＣ（登録商標）プロセッサなどのプロセッサ内に例示される。
【００１８】
セキュア実行環境（３１４）は、ＧＰＵコア（３１０）及びマイクロコード（３１２）によって提供される一般的な処理能力を補足できる。セキュア実行環境（３１４）は、予約実行メモリ（３１６）を含み得る。予約実行メモリ（３１６）は、処理ユニット（３０２）内で高特権レベルを有する命令の実行のための非常にセキュアな記憶場所を提供できる。この高特権レベルの稼動によって、処理ユニット（３０２）は、処理ユニット（３０２）外部から直接アクセスできないコードを実行できる。例えば、特定の割込みベクトルは、処理ユニット（３０２）をセキュアな操作に設定可能か又は命令が、セキュアなリソースを必要とするコンテンツのために評価される。この高特権モードで稼動するとき、処理ユニット（３０２）は、セキュアプロセッシング環境を構築するための完全なサブシステムとして稼動し、いかなる外部の資産、例えばＢＩＯＳリソース、プログラムメモリ又はＴＣＭも必要としない。
【００１９】
セキュアメモリ（３１８）は、計算機（３０２）のセキュア動作に関連するコード及びデータを耐タンパー性の方法によってストアできる。通信インタフェース（３０８）は、プロセッサ（３０２）に入力する命令のどれが次に、予約実行メモリ（３１６）内で実行するためにセキュアメモリ（３１８）に向けられる必要があるか決定できる。セキュアメモリ（３１８）内のデータは、識別証又はハードウェア識別子（３２０）及びポリシー関連の計量、レポーティング、更新要求などの稼動上の指示を指定できるポリシーデータ（３２２）を含み得る。また、セキュアメモリ（３１８）は、多様な機能（３２４）を実施するために必要なコード又はデータを含み得る。機能（３２４）は、クロック（３２６）又はクロック機能を実施するタイマ、権利行使機能(強制機能)（３２８）、メータ測定（計量）（３３０）、ポリシー管理（３３２）、暗号（３３４）、プライバシー（３３６）、生体照合（３３８）及びいくつかを指定するためのストアードバリュー（３４０）を含み得る。
【００２０】
クロック（３２６）は、時間測定のための信用できる基盤を提供でき、システムクロックを変更することによって計算機（３００）を不正に使用する試みを防ぐ支援をするために、オペレーティングシステム（１３４）によって維持されるシステムクロックのためのチェックとして使用され得る。また、クロック（３２６）は、例えば、アップグレードの有効性を検証するために、ホストサーバとの通信を要求するポリシー管理（３３２）と関連し、使用され得る。強制機能（３２８）は、計算機（３００）が１つ以上のポリシー（３２２）要素に従っていないことを決定したとき、予約実行メモリ（３１６）にロードされ実行され得る。そのような振舞いは、セキュア実行環境（３１４）によって利用されるように一般に有効なシステムメモリを割り当てるように、処理ユニット（３０２）を方向付けることによってシステムメモリ（１３２）を制限することを含み得る。セキュア実行環境（３１４）にシステムメモリ（１３４）を再割り当てすることによって、システムメモリ（１３４）は、本質的にユーザの目的でなくなる。
【００２１】
別の機能（３２４）は計量（３３０）で有り得る。計量（３３０）は、例えば同時出願の米国出願特許第１１／００６，８３７において論述される、多様な技法及び測定を含み得る。計量するか、どの特定の測定項目がポリシー（３２２）の機能であり得るかはポリシー管理機能（３３２）によって実装される。暗号機能（３３４）は、デジタル署名照合、デジタル署名、乱数発生及び暗号化／復号化のために使用され得る。これらの機能の任意又は全ては、セキュアメモリ（３１８）の更新を検証するためか、又は、計算機（３００）の内部又は外部に関わらず、処理ユニット（３０２）の外部のエンティティとの信用を確立するために使用され得る。
【００２２】
セキュア実行環境（３１４）によって、いくつかの特定用途の機能を開発でき、使用できる。プライバシーマネージャ（３３６）は、ユーザ又は当事者の個人情報を管理するために使用され得る。プライバシーマネージャ（３３６）は、例えばオンライン購入で使用するための、アドレス及びクレジットカード情報を保持するための「財布」機能を実装するために使用され得る。生体照合機能（３３８）は、個人の身元を検証するための外部の生体センサと共に使用され得る。そのような身元証明は、例えば、プライバシーマネージャ（３３６）内の個人情報を更新するためか、又はデジタル署名を適用するときに、使用され得る。前述のような暗号機能（３３４）は、（表示されない）外部の生体センサに対する信用及びセキュアなチャンネルを確立するために使用され得る。
【００２３】
ストアードバリュー機能（３４０）はまた、従量制課金の計算機上で時間に対する支払い時か、又は外部からの購入、例えばオンライン株取引のトランザクションの間、実施され得る。
【００２４】
予約実行メモリ（３１６）における実行のために、セキュアメモリ（３１８）からのデータ及び機能を使用する事によってセキュアハードウェアインタフェース（３４２）を呈示できる。セキュアハードウェアインタフェース（３４２）によって、周辺デバイス（３４４）又はＢＩＯＳ（３４６）に対する制限され、監視されるアクセスが可能である。更に、本機能（３２４）は、オペレーティングシステム（１３４）を含む外部プログラムが、ハードウェア識別子及びセキュアハードウェアインタフェース（３４２）内のＧＰＵ（３１０）間の論理的な接続（３４８）を介する乱数生成などの、セキュアなファシリティにアクセス可能にするために、使用され得る。更に、セキュアメモリ（３１８）内にコードとして実装され、ストアされた前述の機能それぞれは、ロジックとして実装され、物理的な回路として実体化され得る。ハードウェアとソフトウェアとの間の機能的な振舞いをマッピングするための操作は、当分野においてよく知られており、ここでは更に詳細に論述されない。
【００２５】
稼動中、指定された割込みが、通信インタフェース（３０８）によって処理され得、データ又は１つ以上の機能が、セキュアメモリ（３１８）から予約実行メモリ（３１６）にロードされる。その機能を実施するために、ＧＰＵ（３１０）は、予約実行メモリ（３１６）から実行できる。一実施形態においては、有効な機能（３２４）は、オペレーティングシステム（１３４）において有効な標準関数を補足又は置換できる。この方法で構成されたとき、対応するオペレーティングシステム（１３４）は、処理ユニット（３０２）との対になるときにだけ稼動する。この概念を別のレベルに持って行くと、処理ユニット（３０２）の別の実施形態が、予約実行メモリ（３１６）から実行されない場合、外部のオペレーティングシステム機能をトラップするようにプログラムされ得る。例えば外部のオペレーティングシステム（１３４）による、メモリ割り当ての試みが否定され得るか、又は内部的にストアされる機能に対してリダイレクトされ得る。この方法で構成されたとき、処理ユニット（３０２）のために特に構成されたオペレーティングシステムだけが正しく稼動する。更に、別の実施形態においては、ポリシーデータ（３２２）及びポリシー管理機能（３３２）は、認証されたソフトウェア及びハードウェアが存在することを確かめるために、オペレーティングシステム（１３４）、アプリケーションプログラム（１３５）及びハードウェアパラメタを検証できる。
【００２６】
一実施形態においては、計算機（３００）は、ＢＩＯＳ起動プロシージャを使用し、起動する。オペレーティングシステム（１３４）が起動されているある地点において、処理ユニット（３０２）は、ポリシーデータ（３２２）に従う計算機（３００）の構成を実行するためにポリシー管理機能（３３２）を予約実行メモリ（３１６）にロードできる。構成プロセスは、計量要求だけでなく、メモリの割り当て、処理能力、周辺装置の有効化及び利用を含み得る。計量が実施されるとき、例えばＣＰＵ利用による又はある期間にわたっての何の測定が為されるかなどの計量に関連するポリシーが起動され得る。更に、利用が期間単位又は活動毎に課金されるとき、ストアードバリュー機能（３４０）を使用し、ストアードバリューの差額が維持され得る。計算機（３００）がポリシー（３２２）に従って構成されたとき、通常の起動プロセスは、オペレーティングシステム（１３４）及び別のアプリケーションプログラム（１３５）の起動及び実体化によって継続できる。別の実施形態においては、ポリシーは、起動プロセス又は通常の動作サイクル内の異なる地点に適用され得る。
【００２７】
ポリシーに従わないことが発見された場合、強制機能（３２８）が起動され得る。強制ポリシー及び稼動の論述は、同時出願の米国出願特許第１１／１５２，２１４において見出される。強制機能（３２８）は、ポリシー（３２２）に従う計算機を復旧するための試み全てが失敗したとき、計算機（３００）を代替モードの運転に設定できる。例えば、一実施形態においては、メモリをシステムメモリ（１３０）としての使用から「再割り当て」し、それをセキュアメモリ（３１８）として指定することによって認可を課すことができる。セキュアメモリ（３１８）は、オペレーティングシステム（１３４）を含む外部プログラムによってアドレス指定できないので、計算機の稼動が、そのようなメモリアロケーションによって一層厳しく制限され得る。
【００２８】
ポリシー及び強制機能が処理ユニット（３０２）内で維持されるために、システム上において典型的ないくつかの攻撃は、困難であるか、又は不可能である。例えば外部メモリのポリシーメモリ部を置換することによってポリシーは、「変造（spoof）」され得ない。同様に、ポリシー及び強制機能は、実行サイクル及びそれらそれぞれのアドレスレンジをブロックすることによって「枯渇（starve）」され得ない。
【００２９】
計算機（３００）を通常稼働に振り向けるために、（表示されない）ライセンス機関又はサービスプロバイダから復旧コードが取得され、計算機（３００）に入力される必要があり得る。復旧コードは、ハードウェア識別子（３２０）、ストアードバリュー補充及びクロック（３２６）を検証するために使用される「より早くない（no-earlier-than）」時間を含み得る。復旧コードは通常、処理ユニット（３０２）による確認のために暗号化及び署名され得る。
【００３０】
セキュアメモリ（３１８）内のデータへの更なる更新は、特定の評価基準が満たされるとき、例えば更新がデジタル署名によって検証されるときだけ許可され得る。
【００３１】
図４は、図３に示される処理ユニット（３０２）の代替実施形態を示す計算機（４００）のブロック図である。計算機（４００）は、処理ユニット（４０２）、オペレーティングシステム（４０４）及びマイクロプロセッサオペレーティングシステムのインタフェースのアプリケーションプログラムインタフェース（ＡＰＩ）（４０６）を有する。処理ユニット（４０２）は、割込み特性又はアドレスレンジなどの評価基準に基づく適切なマイクロプロセッサ機能にデータの通信を指示することによる、通信インタフェース（３０８）と同様の方法によって稼動可能な通信インタフェース（４０８）を含む。処理ユニット（４０２）は、従来の一般処理ユニット（ＧＰＵ）（４１０）と、対応する汎用マイクロコード（４１２）を有する。セキュア実行環境（４１４）は、る個別のセキュアなコアプロセッサ（４１６）を追加したセキュア実行環境（３１４）において見出されるものと同様の機能を含み得る。セキュアなコアプロセッサ（４１６）は、ＧＰＵコア（４１０）からの更なるレベルの独立、及び処理ユニット（４０２）の対応するセキュリティ増加を可能にできる。
【００３２】
セキュアメモリ（４１８）は、図３に関して前述したように稼動する汎用機能（４２４）、例えばクロック（４２６）、強制（４２８）、計量（４３０）、ポリシー管理（４３２）及び暗号（４３４）に加えて、ハードウェア識別子（４２０）及びポリシーデータ（４２２）を含み得る。追加として、プライバシー管理（４３６）、生体照合（４３８）及びストアードバリュー（４４０）などの特定目的の機能が存在し得る。当業者によって容易に想像される別の機能のような汎用及び特定目的の機能（４２４）が、制限ではなく例として与えられる。
【００３３】
高信頼クロック及び乱数生成などの機能の提示だけでなく、デバイスインタフェース（４４４）及びＢＩＯＳインタフェース（４４６）などのセキュアハードウェアインタフェース（４４２）に対する装置の提供は、仮想接続（４４８）を介して為され得る。セキュアコアプロセッサ（４１６）内のＧＰＵコア（４１０）との間の通信は、コミュニケーションバス（４５０）を介して為され得る。一実施形態においては、コミュニケーションバス（４５０）は、セキュアコアプロセッサ（４１６）からＧＰＵ（４１０）に至る信用関係を拡大するために、セキュアチャンネル上にデータを送信できる。
【００３４】
前述されたものは、計算機利用の精巧な計量のためのハードウェア及びソフトウェアの実施形態を含む特定のいくつかの実施形態である。計算機（１１０）の１つ以上のコンポーネントの活動レベルを監視し、評価し、適切なビジネス規則を適用することによって、有益な利用を決定し測定するための、より公正かつ正確な方法が開示される。これは、自宅、オフィス及び企業の従量制課金又は計量利用のアプリケーションの大きな利点となる。しかし、これらの実施形態に対して、多様な修正及び変更がされるのであって、適切な利用予定を決定することに関連する多少複雑な規則だけでなく、活動の監視、複数料金用のハードウェア又はソフトウェアの異なる組み合わせの利用を制限されないが含むことを当業者は理解するだろう。従って、仕様と図面は、制限的な意味というよりむしろ例示的な意味と見なすべきであり、そのような修正すべてが本発明の範囲内に含まれることが意図される。
【図面の簡単な説明】
【００３５】
【図１】計算機ネットワークの簡易で代表的なブロック図である。
【図２】図１のネットワークに接続可能な計算機のブロック図である。
【図３】処理ユニットの詳細を示す計算機のブロック図である。
【図４】図３の処理ユニットの代替実施形態の詳細を示す計算機のブロック図である。
【図１】
2009508259.tif 000003
【図２】
2009508259.tif 000004
【図３】
2009508259.tif 000005
【図４】
2009508259.tif 000006
【国際調査報告】
2009508259.tif 000007
2009508259.tif 000008