説明

処理ユニット封入型オペレーティングシステム

【課題】セキュリティの強制および/またはたとえば従量制課金、可用性課金を強制する際に使用する稼働ポリシーのための安全な基盤を提供する。
【解決手段】電子装置で使用するための処理ユニット302が、標準命令プロセッシング及び通信インタフェース308を含み、またオペレーティングシステム304において見出されるものに対して追加又は代替される機能的な能力も含む。処理ユニット302内のセキュアメモリ318は、ハードウェア識別子320、ポリシーデータ322並びにセキュアクロック326、ポリシー管理332及びポリシー強制などのサブシステム機能を含み得る。セキュアメモリ318内の機能中のデータは、処理ユニット302の外部からアクセスできない。

【発明の詳細な説明】
【背景技術】
【0001】
ソフトウェアオペレーティング・プラットフォーム又はオペレーティングシステムをホスティングするハードウェアプロセッシング・プラットフォームを有する、アーキテクチャを用いて稼動する計算機が使用されている。オペレーティングシステムは、プロセッシング・プラットフォームと(少なくとも広範囲のパラメタ内で)独立に設計され、反対にプロセッシング・プラットフォームは、オペレーティングシステムと(一般的に同等な広範囲のパラメタ内で)独立に設計される。例えばリナックス(登録商標)又はマイクロソフトのウィンドウズ(登録商標)は、インテルのx86プロセッサの大部分のバージョン上で実行され得る。仮想マシンモニタ(VMM)又はハイパーバイザを使用することによって、オペレーティングシステム双方を同時に実行できる。同様にUNIX(登録商標)などのオペレーティングシステムの中には、1種類以上のプロセッサ、例えばIBMのPowerPC及びSunのSparcプロセッサ上で実行できるものもある。
【特許文献1】米国出願特許第11/006,837
【特許文献2】米国出願特許第11/152,214
【発明の開示】
【発明が解決しようとする課題】
【0002】
この処理プラットフォームとオペレーティングシステムとの間の独立は、プロセッサとオペレーティングシステム、すなわち計算機のハードウェアとソフトウェアとの間の信用を確立する際の難しさが一部の理由として、自称不正侵入者により利用され得るセキュリティリスクを導入する。最新のマイクロプロセッサは、それに与えられる命令を盲目的に実行する「フェッチし、実行する」サイクルをエンターし、コンテンツ又は実行される分岐に関係せず、それらは電子装置の使用に関連するポリシーの決定にも関与しない。
【課題を解決するための手段】
【0003】
組込みシステム機能を有する処理ユニットが、セキュリティの強制及び/又は例えば従量制課金、可用制課金を強制する際に使用する稼働ポリシーのための安全(セキュア)な基盤又は計算機、携帯電話、携帯情報端末、メディアプレーヤのような別の電子装置の計量される稼動を提供する。処理ユニットは、大部分又はすべての近代的なマイクロプロセッサにおいて見出される特徴及び機能的な支援を含み得、ハードウェア識別子、耐タンパー性クロック及びセキュアストレージを提供する更なる機能を支援し得る。暗号ユニットなどの別の機能的な能力もまた同様に存在し得る。その結果、処理ユニットは、任意の外部コンポーネント、特にオペレーティングシステムソフトウェア、信頼計算モジュール(TCM)、又は利用ポリシーに従って稼動可能な計算機のための基盤を確立するためのセキュア起動BIOSに依存しない。
【0004】
起動されるとき、処理ユニットは、どのポリシーがアクティブかを決定し、例えば、有効メモリの制限、周辺機器の数並びにタイプ又はネットワーク通信を設定するポリシーに従ったシステム構成を設定する。クロックは、期間を超えた利用などの計量利用及びシステムクロックと共に、改ざんを検出するための参照用に信用できる時間を提供する。
【発明を実施するための最良の形態】
【0005】
以下の文章は、多くの異なる実施形態の詳細記述を説明しているが、記載の法的範囲は、本開示において説明される請求項の語句によって定義されることが理解されよう。詳細な記述は、例示的に過ぎないと理解されるべきであって、あらゆる可能な実施形態を記述することは不可能でないにしても非実用的なので、あらゆる可能な実施形態を記述はしない。最新技術又は本明細書の出願日以降の開発技術のいずれかを使用した本請求の範囲内の多数の代替実施形態が実施され得る。
【0006】
また、以下理解されるべきことは、「本明細書に使用される用語’‘は、・・・を意味するために定義される」という文章か又は同様な文章を使用し、用語が本明細書において明確に定義されていない場合、その明白な又は普通の意味を越えて、単純又は普通の意味を超えて、その用語の意味を制限する意図は全くなく、(請求項の言語以外の)本明細書におけるいかなる項目のいかなる記述を基にする範囲内でも制限されると解釈してはいけない。本明細書の請求項において復唱されるいかなる用語も単一の意味と共に一貫した方法によって本明細書内で参照されることは、読者を混乱させないように明確にするだけのためになされるのであって、言外の意味又は別のその単一の意味によってその請求用語を制限する意図はない。最終的に、請求項がいかなる構造の詳説を伴わず「手段」及び機能という語句の列挙による定義がされない場合、いかなる請求項の範囲も米国特許法35のセクション112の第6パラグラフの適用に基づいて解釈されることを意図しない。
【0007】
独創的な機能性の多くと独創的な原理の多くは、ソフトウェアプログラム又は命令及び特定用途向けICなどの集積回路(IC)又はそれらを利用して最善に実装される。例えば、有効時間、最新技術、及び経済面の考慮によって動機づけられる多大な努力と多くの設計の選択が必要とされるにもかかわらず、本明細書に開示された概念と原理によって誘導されたとき、当業者は最小量の実験で通常技術の1つが、そのようなソフトウェア命令とプログラム及びICを容易に生成できると予想される。したがって、本発明に従う原理と概念を曖昧にするいかなるリスクを最小化し、簡潔にする利益のために、そのようなソフトウェア及びICの更なる論述があったとしても、望ましい実施例の原理と概念に関する本質に制限される。
【0008】
図1は、従量制課金の計算機システムを実現するために使用され得るネットワーク(10)を示す。ネットワーク(10)は、通信可能に相互接続されるためのインターネット、仮想私設網(VPN)又は1台以上の計算機、通信装置、データベースなどを許容する任意の他のネットワークであり得る。イーサネット(登録商標)(16)とルータ(18)及び地上通信線(20)を介し、パーソナル計算機(12)及び計算機端末(14)にネットワーク(10)を接続できる。他方、無線通信ステーション(26)及び無線リンク(28)を介し、無線でラップトップ計算機(22)と携帯情報端末(24)とネットワーク(10)を接続することができる。同様に、通信リンク(32)を使用し、サーバ(30)はネットワーク(10)と接続され得、メインフレーム(34)は、別の通信リンク(36)を使用し、ネットワーク(10)と接続され得る。
【0009】
図2は、ネットワーク(10)に接続され得、動的ソフトウェア設定システムの1つ以上のコンポーネントを実装するために使用され得る計算機(110)形式の計算装置を示す。計算機(110)のコンポーネントは、処理ユニット(120)、システムメモリ(130)及び、処理ユニット(120)とシステムメモリを含む様々なシステムコンポーネントを結合するシステムバス(121)を含むが、これらに限定されない。システムバス(121)は、メモリバス又はメモリコントローラ、周辺機器用バスと、様々なバス構成のいずれも使用するローカルバスを含むいくつかのタイプのバス構造のいずれかであり得る。制限ではなく例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ機器に関する標準化団体(VESA)ローカルバス及びメザニンバスとして知られる周辺機器相互接続(PCI)バスを含む。
【0010】
処理ユニット(120)は、当業界において知られるインテル社又は他社製の有効なマイクロプロセッサなどのマイクロプロセッサであり得る。処理ユニットは、シングルチップか又は複数のプロセッサユニットであり得、(表示されない)関連する周辺チップ又は(表示されない)機能ブロックを含み得る。そのような関連チップは、プリプロセッサ、パイプラインチップ、シンプルバッファ及びドライバを含み得るか、又はいくつかの最近の技術の計算機アーキテクチャで知られる「ノースブリッジ」及び「サウスブリッジ」チップなどのさらに複雑なチップ/チップセットを含み得る。処理ユニット(120)はまた、マイクロプロセッサと同じシリコン上か又は処理ユニット全体の一部として関連するチップいずれかのセキュア実行環境(125)を含み得る。セキュア実行環境(125)及び処理ユニット(120)又は同等な装置とその対話については、図3及び図4に関し更に詳細に後述する。
【0011】
計算機(110)は通常、様々な計算機可読メディアを含む。計算機可読メディアは、計算機(110)によってアクセスされ、揮発性及び不揮発性双方のメディア、取り外し可能及び取り外し不可能メディアを含む任意の利用可能なメディアであり得る。制限ではなく例として、計算機可読メディアは、計算機ストレージメディア及び通信メディアを含み得る。計算機ストレージメディアは、計算機可読命令、データ構造、プログラムモジュール又は他のデータなどの情報のストレージに関する任意の方法又は技術で実装された揮発性及び不揮発性の取り外し可能及び取り外し不可能なメディアを含む。計算機ストレージメディアは、限定されないが、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)又は他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ装置又は他の磁気ストレージ装置、又は所望の情報をストアするために使用され計算機(110)によってアクセスできる任意の他のメディア、を含む。通信メディアは一般に、搬送波又は別の移送メカニズムのような変調データ信号で計算機可読命令、データ構造、プログラムモジュール又はデータを具現化したものであり、任意の情報伝達メディアを含む。「変調データ信号」という用語は、1つ以上の特徴の組を有するか又は信号中の情報を符号化する方法で変更された信号を意味する。制限ではなく例として、通信メディアは、有線ネットワーク又は直接有線接続のようなワイヤードメディア並びに音響、無線(RF)、赤外線及び他の無線メディアのようなワイヤレスメディアを含む。前述の任意の組み合わせもまた、計算機可読メディアの範囲内に含まれるべきである。
【0012】
システムメモリ(130)は、読み出し専用メモリ(ROM)(131)及びランダムアクセスメモリ(RAM)(132)のような揮発性及び/又は不揮発性メモリの形の計算機ストレージメディアを含む。基本入力/出力システム(133)(BIOS)は、起動中などに計算機(110)の内部の要素間で情報を転送するのを支援する基本ルーチンを含んでいて、通常ROM(131)内にストアされる。RAM(132)は通常、データ及び/又はプログラムモジュールを含み、それは処理ユニット(120)によって即座にアクセス可能及び/又はその上で現在稼動中である。制限ではなく例として、図2は、オペレーティングシステム(134)、アプリケーションプログラム(135)、他のプログラムモジュール(136)及びプログラムデータ(137)を示す。
【0013】
計算機(110)はまた、他の取り外し可能/取り外し不可能、揮発性/不揮発性の計算機ストレージメディアを含み得る。一例に過ぎないが、図2は、取り外し不可能、不揮発性磁気メディアに対して読出す又は書込むハードディスクドライブ(141)と、取り外し可能、不揮発性磁気ディスク(152)に対して読出す又は書込む磁気ディスクドライブ(151)と、及びCD−ROM又は別の光メディアのような取り外し可能、不揮発性光ディスク(156)に対して読出す又は書込む光ディスクドライブ(155)を示す。例示的な動作環境内で使用可能な別の取り外し可能/取り外し不可能、揮発性/不揮発性計算機ストレージメディアは、限定しないが磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROM等を含む。ハードディスクドライブ(141)は一般に、インタフェース(140)などの取り外し不可能メモリインタフェースを介し、システムバス(121)に接続され、磁気ディスクドライブ(151)及び光ディスクドライブ(155)は一般に、インタフェース(150)などの取り外し可能メモリインタフェースによって、システムバス(121)と接続される。
【0014】
前述及び図2中に示しているドライブ及びそれらに関連する計算機ストレージメディアが、計算機(110)に対する計算機可読命令、データ構造、プログラムモジュール及び他のデータのストレージを提供する。例えば図2中、ハードディスクドライブ(141)は、オペレーティングシステム(144)、アプリケーションプログラム(145)、他のプログラムモジュール(146)及びプログラムデータ(147)をストアするものとして示されている。ここでこれらのコンポーネントは、オペレーティングシステム(134)、アプリケーションプログラム(135)、他のプログラムモジュール(136)、及びプログラムデータ(137)と同じか又は異なるかのいずれかであり得ることに留意すべきである。オペレーティングシステム(144)、アプリケーションプログラム(145)、他のプログラムモジュール(146)及びプログラムデータ(147)は、最小限それらが異なる複製であることを示すように異なる番号が与えられている。ユーザはキーボード(162)及び一般にマウス、トラックボール又はタッチパッドと呼ばれるポインティング装置(161)などの入力装置を通してコマンド及び情報を計算機(20)に入力できる。別の入力装置は、ウェブカム(163)として知られるインターネット上において画像を送信するためのカメラがあり得る。(図示しない)別の入力装置は、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ又はその他を含み得る。これら及び他の入力装置は、多くの場合、システムバスに接続されたユーザ入力インタフェース(160)を介し処理ユニット(120)と接続されるが、パラレルポート、ゲームポート、又はユニバーサルシリアルバス(USB)のような別のインタフェース及びバス構造によっても接続され得る。モニタ(191)又は別のタイプの表示装置もまた、ビデオインタフェース(190)のようなインタフェースを介しシステムバス(121)に接続される。モニタに加えて計算機はまた、スピーカ(197)及びプリンタ(196)のような他の周辺出力装置を含み得、これらは出力周辺インタフェース(195)を経由し接続され得る。
【0015】
計算機(110)は、リモート計算機(180)などの1台以上のリモート計算機と論理的な接続を使用し、ネットワークに接続された環境で稼動できる。リモート計算機(180)は、パーソナル計算機、サーバ、ルータ、ネットワークPC、ピア装置又は他の一般的なネットワークのノードがあり得、図2においてメモリストレージ装置(181)だけが示されたが、通常計算機(110)に対して前述の要素の多くか又はすべてを含む。図2に示された論理的な接続は、ローカルエリアネットワーク(LAN)(171)及び広域ネットワーク(WAN)(173)を含むが、また他のネットワークも含み得る。そのようなネットワーク環境は、オフィス、企業全体の計算機ネットワーク、イントラネット及びインターネットにおいて一般的である。
【0016】
LANネットワーク環境において使用されるとき、計算機(110)は、ネットワークインターフェース又はアダプタ(170)を介し、LAN(171)と接続される。WANネットワーク環境において使用されるとき、計算機(110)は通常、インターネットのようなWAN(173)上で通信を確立するためのモデム(172)又は他の手段を含む。内蔵又は外付けであり得るモデム(172)は、ユーザ入力インタフェース(160)、又は他の適切な手段を介し、システムバス(121)と接続され得る。ネットワークと接続された環境において、計算機(110)か又はその部分に関して表示されたプログラムモジュールは、リモートメモリストレージ装置にストアすることができる。制限ではなく例として、図2は、メモリ装置(181)に存在するリモートアプリケーションプログラム(185)を示す。示されたネットワーク接続は、例示的であり、計算機間の通信リンクを設立する別の手段を使用できることが理解されよう。
【0017】
図3は計算機(300)の簡単なブロック図を示す。計算機は、処理ユニット(302)を含み、それは処理ユニット(120)と同様又は同等であり得る。またブロック図は、アプリケーションプログラムインタフェース(API)(306)のインタフェースによって処理ユニット(302)と結合され得るオペレーティングシステム及びアプリケーション(304)、を有する計算機(300)を示す。API(306)は、処理ユニット(302)内の通信インタフェース(308)と通信できる。通信インタフェース(308)は、割り込みハンドラ又はメッセージ処理ハンドラ、解析ユニットなどの形式を取り得る。従来のマイクロプロセッサにおいて見出されるように、処理ユニット(302)は、汎用のマイクロコードセット(312)を使用し、通信インタフェース(308)を介して受信された汎用命令を処理する、汎用処理ユニット(GPU)コア(310)を含み得る。GPUコア(310)の稼動及び汎用マイクロコード(312)との関係が十分に文書化され、業界内で理解されていて、インテル社のペンティアム(登録商標)シリーズ、アドバンストライズマシンリミテッド社製のARM(登録商標)プロセッサ及びIBM社のPowerPC(登録商標)プロセッサなどのプロセッサ内に例示される。
【0018】
セキュア実行環境(314)は、GPUコア(310)及びマイクロコード(312)によって提供される一般的な処理能力を補足できる。セキュア実行環境(314)は、予約実行メモリ(316)を含み得る。予約実行メモリ(316)は、処理ユニット(302)内で高特権レベルを有する命令の実行のための非常にセキュアな記憶場所を提供できる。この高特権レベルの稼動によって、処理ユニット(302)は、処理ユニット(302)外部から直接アクセスできないコードを実行できる。例えば、特定の割込みベクトルは、処理ユニット(302)をセキュアな操作に設定可能か又は命令が、セキュアなリソースを必要とするコンテンツのために評価される。この高特権モードで稼動するとき、処理ユニット(302)は、セキュアプロセッシング環境を構築するための完全なサブシステムとして稼動し、いかなる外部の資産、例えばBIOSリソース、プログラムメモリ又はTCMも必要としない。
【0019】
セキュアメモリ(318)は、計算機(302)のセキュア動作に関連するコード及びデータを耐タンパー性の方法によってストアできる。通信インタフェース(308)は、プロセッサ(302)に入力する命令のどれが次に、予約実行メモリ(316)内で実行するためにセキュアメモリ(318)に向けられる必要があるか決定できる。セキュアメモリ(318)内のデータは、識別証又はハードウェア識別子(320)及びポリシー関連の計量、レポーティング、更新要求などの稼動上の指示を指定できるポリシーデータ(322)を含み得る。また、セキュアメモリ(318)は、多様な機能(324)を実施するために必要なコード又はデータを含み得る。機能(324)は、クロック(326)又はクロック機能を実施するタイマ、権利行使機能(強制機能)(328)、メータ測定(計量)(330)、ポリシー管理(332)、暗号(334)、プライバシー(336)、生体照合(338)及びいくつかを指定するためのストアードバリュー(340)を含み得る。
【0020】
クロック(326)は、時間測定のための信用できる基盤を提供でき、システムクロックを変更することによって計算機(300)を不正に使用する試みを防ぐ支援をするために、オペレーティングシステム(134)によって維持されるシステムクロックのためのチェックとして使用され得る。また、クロック(326)は、例えば、アップグレードの有効性を検証するために、ホストサーバとの通信を要求するポリシー管理(332)と関連し、使用され得る。強制機能(328)は、計算機(300)が1つ以上のポリシー(322)要素に従っていないことを決定したとき、予約実行メモリ(316)にロードされ実行され得る。そのような振舞いは、セキュア実行環境(314)によって利用されるように一般に有効なシステムメモリを割り当てるように、処理ユニット(302)を方向付けることによってシステムメモリ(132)を制限することを含み得る。セキュア実行環境(314)にシステムメモリ(134)を再割り当てすることによって、システムメモリ(134)は、本質的にユーザの目的でなくなる。
【0021】
別の機能(324)は計量(330)で有り得る。計量(330)は、例えば同時出願の米国出願特許第11/006,837において論述される、多様な技法及び測定を含み得る。計量するか、どの特定の測定項目がポリシー(322)の機能であり得るかはポリシー管理機能(332)によって実装される。暗号機能(334)は、デジタル署名照合、デジタル署名、乱数発生及び暗号化/復号化のために使用され得る。これらの機能の任意又は全ては、セキュアメモリ(318)の更新を検証するためか、又は、計算機(300)の内部又は外部に関わらず、処理ユニット(302)の外部のエンティティとの信用を確立するために使用され得る。
【0022】
セキュア実行環境(314)によって、いくつかの特定用途の機能を開発でき、使用できる。プライバシーマネージャ(336)は、ユーザ又は当事者の個人情報を管理するために使用され得る。プライバシーマネージャ(336)は、例えばオンライン購入で使用するための、アドレス及びクレジットカード情報を保持するための「財布」機能を実装するために使用され得る。生体照合機能(338)は、個人の身元を検証するための外部の生体センサと共に使用され得る。そのような身元証明は、例えば、プライバシーマネージャ(336)内の個人情報を更新するためか、又はデジタル署名を適用するときに、使用され得る。前述のような暗号機能(334)は、(表示されない)外部の生体センサに対する信用及びセキュアなチャンネルを確立するために使用され得る。
【0023】
ストアードバリュー機能(340)はまた、従量制課金の計算機上で時間に対する支払い時か、又は外部からの購入、例えばオンライン株取引のトランザクションの間、実施され得る。
【0024】
予約実行メモリ(316)における実行のために、セキュアメモリ(318)からのデータ及び機能を使用する事によってセキュアハードウェアインタフェース(342)を呈示できる。セキュアハードウェアインタフェース(342)によって、周辺デバイス(344)又はBIOS(346)に対する制限され、監視されるアクセスが可能である。更に、本機能(324)は、オペレーティングシステム(134)を含む外部プログラムが、ハードウェア識別子及びセキュアハードウェアインタフェース(342)内のGPU(310)間の論理的な接続(348)を介する乱数生成などの、セキュアなファシリティにアクセス可能にするために、使用され得る。更に、セキュアメモリ(318)内にコードとして実装され、ストアされた前述の機能それぞれは、ロジックとして実装され、物理的な回路として実体化され得る。ハードウェアとソフトウェアとの間の機能的な振舞いをマッピングするための操作は、当分野においてよく知られており、ここでは更に詳細に論述されない。
【0025】
稼動中、指定された割込みが、通信インタフェース(308)によって処理され得、データ又は1つ以上の機能が、セキュアメモリ(318)から予約実行メモリ(316)にロードされる。その機能を実施するために、GPU(310)は、予約実行メモリ(316)から実行できる。一実施形態においては、有効な機能(324)は、オペレーティングシステム(134)において有効な標準関数を補足又は置換できる。この方法で構成されたとき、対応するオペレーティングシステム(134)は、処理ユニット(302)との対になるときにだけ稼動する。この概念を別のレベルに持って行くと、処理ユニット(302)の別の実施形態が、予約実行メモリ(316)から実行されない場合、外部のオペレーティングシステム機能をトラップするようにプログラムされ得る。例えば外部のオペレーティングシステム(134)による、メモリ割り当ての試みが否定され得るか、又は内部的にストアされる機能に対してリダイレクトされ得る。この方法で構成されたとき、処理ユニット(302)のために特に構成されたオペレーティングシステムだけが正しく稼動する。更に、別の実施形態においては、ポリシーデータ(322)及びポリシー管理機能(332)は、認証されたソフトウェア及びハードウェアが存在することを確かめるために、オペレーティングシステム(134)、アプリケーションプログラム(135)及びハードウェアパラメタを検証できる。
【0026】
一実施形態においては、計算機(300)は、BIOS起動プロシージャを使用し、起動する。オペレーティングシステム(134)が起動されているある地点において、処理ユニット(302)は、ポリシーデータ(322)に従う計算機(300)の構成を実行するためにポリシー管理機能(332)を予約実行メモリ(316)にロードできる。構成プロセスは、計量要求だけでなく、メモリの割り当て、処理能力、周辺装置の有効化及び利用を含み得る。計量が実施されるとき、例えばCPU利用による又はある期間にわたっての何の測定が為されるかなどの計量に関連するポリシーが起動され得る。更に、利用が期間単位又は活動毎に課金されるとき、ストアードバリュー機能(340)を使用し、ストアードバリューの差額が維持され得る。計算機(300)がポリシー(322)に従って構成されたとき、通常の起動プロセスは、オペレーティングシステム(134)及び別のアプリケーションプログラム(135)の起動及び実体化によって継続できる。別の実施形態においては、ポリシーは、起動プロセス又は通常の動作サイクル内の異なる地点に適用され得る。
【0027】
ポリシーに従わないことが発見された場合、強制機能(328)が起動され得る。強制ポリシー及び稼動の論述は、同時出願の米国出願特許第11/152,214において見出される。強制機能(328)は、ポリシー(322)に従う計算機を復旧するための試み全てが失敗したとき、計算機(300)を代替モードの運転に設定できる。例えば、一実施形態においては、メモリをシステムメモリ(130)としての使用から「再割り当て」し、それをセキュアメモリ(318)として指定することによって認可を課すことができる。セキュアメモリ(318)は、オペレーティングシステム(134)を含む外部プログラムによってアドレス指定できないので、計算機の稼動が、そのようなメモリアロケーションによって一層厳しく制限され得る。
【0028】
ポリシー及び強制機能が処理ユニット(302)内で維持されるために、システム上において典型的ないくつかの攻撃は、困難であるか、又は不可能である。例えば外部メモリのポリシーメモリ部を置換することによってポリシーは、「変造(spoof)」され得ない。同様に、ポリシー及び強制機能は、実行サイクル及びそれらそれぞれのアドレスレンジをブロックすることによって「枯渇(starve)」され得ない。
【0029】
計算機(300)を通常稼働に振り向けるために、(表示されない)ライセンス機関又はサービスプロバイダから復旧コードが取得され、計算機(300)に入力される必要があり得る。復旧コードは、ハードウェア識別子(320)、ストアードバリュー補充及びクロック(326)を検証するために使用される「より早くない(no-earlier-than)」時間を含み得る。復旧コードは通常、処理ユニット(302)による確認のために暗号化及び署名され得る。
【0030】
セキュアメモリ(318)内のデータへの更なる更新は、特定の評価基準が満たされるとき、例えば更新がデジタル署名によって検証されるときだけ許可され得る。
【0031】
図4は、図3に示される処理ユニット(302)の代替実施形態を示す計算機(400)のブロック図である。計算機(400)は、処理ユニット(402)、オペレーティングシステム(404)及びマイクロプロセッサオペレーティングシステムのインタフェースのアプリケーションプログラムインタフェース(API)(406)を有する。処理ユニット(402)は、割込み特性又はアドレスレンジなどの評価基準に基づく適切なマイクロプロセッサ機能にデータの通信を指示することによる、通信インタフェース(308)と同様の方法によって稼動可能な通信インタフェース(408)を含む。処理ユニット(402)は、従来の一般処理ユニット(GPU)(410)と、対応する汎用マイクロコード(412)を有する。セキュア実行環境(414)は、個別のセキュアなコアプロセッサ(416)を追加したセキュア実行環境(314)において見出されるものと同様の機能を含み得る。セキュアなコアプロセッサ(416)は、GPUコア(410)からの更なるレベルの独立、及び処理ユニット(402)の対応するセキュリティ増加を可能にできる。
【0032】
セキュアメモリ(418)は、図3に関して前述したように稼動する汎用機能(424)、例えばクロック(426)、強制(428)、計量(430)、ポリシー管理(432)及び暗号(434)に加えて、ハードウェア識別子(420)及びポリシーデータ(422)を含み得る。追加として、プライバシー管理(436)、生体照合(438)及びストアードバリュー(440)などの特定目的の機能が存在し得る。当業者によって容易に想像される別の機能のような汎用及び特定目的の機能(424)が、制限ではなく例として与えられる。
【0033】
高信頼クロック及び乱数生成などの機能の提示だけでなく、デバイスインタフェース(444)及びBIOSインタフェース(446)などのセキュアハードウェアインタフェース(442)に対する装置の提供は、仮想接続(448)を介して為され得る。セキュアコアプロセッサ(416)内のGPUコア(410)との間の通信は、コミュニケーションバス(450)を介して為され得る。一実施形態においては、コミュニケーションバス(450)は、セキュアコアプロセッサ(416)からGPU(410)に至る信用関係を拡大するために、セキュアチャンネル上にデータを送信できる。
【0034】
前述されたものは、計算機利用の精巧な計量のためのハードウェア及びソフトウェアの実施形態を含む特定のいくつかの実施形態である。計算機(110)の1つ以上のコンポーネントの活動レベルを監視し、評価し、適切なビジネス規則を適用することによって、有益な利用を決定し測定するための、より公正かつ正確な方法が開示される。これは、自宅、オフィス及び企業の従量制課金又は計量利用のアプリケーションの大きな利点となる。しかし、これらの実施形態に対して、多様な修正及び変更がされるのであって、適切な利用予定を決定することに関連する多少複雑な規則だけでなく、活動の監視、複数料金用のハードウェア又はソフトウェアの異なる組み合わせの利用を制限されないが含むことを当業者は理解するだろう。従って、仕様と図面は、制限的な意味というよりむしろ例示的な意味と見なすべきであり、そのような修正すべてが本発明の範囲内に含まれることが意図される。
【図面の簡単な説明】
【0035】
【図1】計算機ネットワークの簡易で代表的なブロック図である。
【図2】図1のネットワークに接続可能な計算機のブロック図である。
【図3】処理ユニットの詳細を示す計算機のブロック図である。
【図4】図3の処理ユニットの代替実施形態の詳細を示す計算機のブロック図である。

【特許請求の範囲】
【請求項1】
電子装置内で使用するための処理ユニットであって、
オペレーティングシステム・アプリケーションプログラミングインタフェースに通信的に接続された通信インタフェースと、
汎用マイクロコード命令セットと、
前記汎用マイクロコード命令セットを利用して、前記通信インタフェースを通して受け取った汎用命令を処理する汎用処理ユニットコアと、
ポリシー管理機能をストアするセキュアメモリと、
前記処理ユニットのメモリを割り当てるために前記ポリシー管理機能を実行するセキュア処理ユニットコアと、
を含む処理ユニット。
【請求項2】
前記汎用処理ユニットコアとセキュア処理ユニットコアが、前記処理ユニットの同じコンポーネントを用いて実装されることを特徴とする請求項1の処理ユニット。
【請求項3】
前記汎用処理ユニットコアとセキュア処理ユニットコアが、前記処理ユニットの異なるコンポーネントを用いて実装されることを特徴とする請求項1の処理ユニット。
【請求項4】
前記セキュア処理ユニットが、オペレーティングシステムが基本入出力システム(BIOS)によって起動されると同時に、ポリシー管理機能を実行用にロードすることを特徴とする請求項1の処理ユニット。
【請求項5】
前記セキュア処理ユニットが、前記ポリシー管理機能に対する非遵守の検出と同時に、コンピュータを、メモリをシステムメモリとしての使用から再割り当てし、それをセキュアメモリとして指定する代替モードに設定することを特徴とする請求項1の処理ユニット。
【請求項6】
前記セキュアメモリの更新時に暗号化機能が用いられることを特徴とする請求項1記載の処理ユニット。
【請求項7】
前記セキュアメモリの更新時に生体認証機能が用いられることを特徴とする請求項1記載の処理ユニット。
【請求項8】
コンピュータで実行される方法であって、
コンピュータを起動するために基本入出力システム(BIOS)を実行するステップと、
前記コンピュータのメモリを割り当てるポリシー管理機能をロードするステップと、
前記ポリシー管理機能のロード後に、前記コンピュータ上でオペレーティングシステムと他のアプリケーションプログラムを起動するステップと、
を含む方法。
【請求項9】
更に、前記ポリシー管理機能に従わない動作を識別するステップと、
前記コンピュータを動作の代替モードにするステップと、
を含む請求項8記載の方法。
【請求項10】
更に、前記コンピュータを、復旧コードの受信によって、動作の通常動作に振り向けるステップ、
を含む請求項9記載の方法。
【請求項11】
更に、デジタル署名を用いて前記コンピュータの更新を検証するステップ、
を含む請求項8記載の方法。
【請求項12】
更に、周辺機器へのアクセスを制限するために前記ポリシー管理機能を用いるステップ、
を含む請求項8の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−190474(P2012−190474A)
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願番号】特願2012−113055(P2012−113055)
【出願日】平成24年5月17日(2012.5.17)
【分割の表示】特願2008−531184(P2008−531184)の分割
【原出願日】平成18年9月2日(2006.9.2)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】