(57)【要約】  コンピュータが、分離コンピューティング環境と共に提供される（５０２）。この分離コンピューティング環境は、製造、配送、および販売において使用するための初期プログラミングを可能にするように適合されている。この分離コンピューティング環境はさらに、認証されたソースまたは認証されたコードが、エンドユーザの環境において使用するためのコードおよび構成データを用いて分離コンピューティング環境を更新できるようにする（５０４）。最終的な更新を促すために、承認されたコードがインストールされて（５１０）機能できるようになるまで、コンピュータを限定機能モード（５０６）に置くことができる。分離コンピューティング環境の拘束および安全な更新のための方法および装置が開示される。
2008521091.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ内で使用するための分離コンピューティング環境であって、
コアサービスと、
メッセージを受信するためのインターフェースであって、前記メッセージは、更新コードおよび構成情報のうちの少なくとも１つを含むインターフェースと、
第１のキーにアクセスし、前記第１のキーを使用して前記メッセージの電子署名を確認するための暗号化サービスと、
前記第１のキーを使用した前記メッセージの確認後に、前記メッセージに応答して前記コアサービスを更新する更新サービスと
を含むコンピュータ実行可能命令を実行することを特徴とする分離コンピューティング環境。
【請求項２】
構成テーブルをさらに含み、前記更新サービスは、前記構成情報を含む前記メッセージに応答して前記構成テーブルを更新することを特徴とする請求項１に記載の分離コンピューティング環境。
【請求項３】
前記コンピュータの機能を制限するための拘束サービスをさらに含むことを特徴とする請求項１に記載の分離コンピューティング環境。
【請求項４】
前記拘束サービスは、前記第１のキーによって確認された前記メッセージに応答した前記コアサービスの前記更新に先立って、前記コンピュータの前記機能を制限することを特徴とする請求項３に記載の分離コンピューティング環境。
【請求項５】
ホストされているアプリケーションをさらに含み、前記メッセージは、コアサービスの更新データおよびホストされているアプリケーションの更新データのうちの少なくとも１つを含むことを特徴とする請求項１に記載の分離コンピューティング環境。
【請求項６】
前記コアサービスの特徴は電子的に確認されることを特徴とする請求項１に記載の分離コンピューティング環境。
【請求項７】
アプリケーションプログラムインターフェースをさらに含み、前記アプリケーションプログラムインターフェースは、前記コンピュータと前記分離コンピューティング環境との間の標準的なインターフェースを提供し、前記分離コンピューティング環境上でホストされているアプリケーションをインスタンス化すること、前記分離コンピューティング環境上でホストされているアプリケーションを設定すること、および前記分離コンピューティング環境を更新することのうちの１つを容易にすることを特徴とする請求項１に記載の分離コンピューティング環境。
【請求項８】
分離コンピューティング環境を使用して機能するように適合されているコンピュータであって、
プロセッサと、
プロセッサ実行可能命令を保存するために前記プロセッサに結合されているメモリと、
アプリケーションプログラムインターフェースを介して送信された信号に応答する分離コンピューティング環境であって、
暗号化回路と、
処理回路と、
アプリケーションプログラムインターフェース、第１の実行コード、および第１の構成を保存するための安全なメモリと、
前記コンピュータの機能を妨げるための拘束回路であって、少なくとも、前記アプリケーションプログラムインターフェースを使用して前記第１の実行コードおよび前記第１の構成のうちの１つが置き換えられるまで前記コンピュータの機能を妨げる拘束回路とを含む分離コンピューティング環境と
を含むことを特徴とするコンピュータ。
【請求項９】
双方向のデータ転送のためのポートをさらに含み、前記ポートを介して受信されるデータは、第２の実行コードおよび第２の構成のうちの少なくとも１つを含むことを特徴とする請求項８に記載のコンピュータ。
【請求項１０】
前記アプリケーションプログラムインターフェースは、前記第１の実行コードおよび前記第１の構成のうちの１つを更新するための第１のルーチンを含むことを特徴とする請求項８に記載のコンピュータ。
【請求項１１】
前記アプリケーションプログラムインターフェースは、前記分離コンピューティング環境への安全なデータ転送接続のためのサポートを含むことを特徴とする請求項８に記載のコンピュータ。
【請求項１２】
前記コンピュータと前記拘束回路との間に結合されているトリガー装置をさらに含み、それによって、前記拘束回路がトリガーされたときに前記コンピュータの前記機能が妨げられることを特徴とする請求項８に記載のコンピュータ。
【請求項１３】
前記トリガー装置は、改ざんできないようになっていることを特徴とする請求項１２に記載のコンピュータ。
【請求項１４】
コンピュータの前記機能を妨げることは、継続的にリセットを行うこと、および前記プロセッサの機能を減らすことのうちの１つを含むことを特徴とする請求項８に記載のコンピュータ。
【請求項１５】
コンピュータ内の分離コンピューティング環境をプログラムする方法において、前記コンピュータはオペレーティングシステムを有する方法であって、
分離コンピューティング環境を含む前記コンピュータを提供するステップと、
一時的な機能を前記分離コンピューティング環境内にプログラムするステップと、
オペレーティングシステムから実行可能命令を受信するステップと、
前記実行可能命令を認証するステップと、
更新された機能を用いて、前記一時的な機能の上から前記分離コンピューティング環境を再プログラムするステップと
を含むことを特徴とする方法。
【請求項１６】
前記実行可能命令を認証する前記ステップが失敗した場合に前記コンピュータの機能を制限するステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記一時的な機能を前記分離コンピューティング環境内にプログラムするステップは、中間暗号化キーと、少なくともダウンロード機能とをプログラムするステップを含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
更新された機能を用いて前記分離コンピューティング環境を再プログラムするステップは、前記中間暗号化キーを使用して前記更新された機能を認証するステップを含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
更新された機能を用いて前記分離コンピューティング環境を再プログラムするステップは、前記中間暗号化キーを使用して前記更新された機能のソースを認証するステップを含むことを特徴とする請求項１７に記載の方法。
【請求項２０】
前記コンピュータのオペレーションを制限するステップであって、プロセッサの機能を減らすこと、および前記コンピュータをリセットすることのうちの少なくとも１つを含むステップをさらに含むことを特徴とする請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分離コンピューティング環境をプログラムするためのシステムおよび方法に関する。
【背景技術】
【０００２】
本出願は、２００４年１２月２２日に出願された米国特許出願第１１／０２２４９３号の一部継続出願であり、米国特許出願第１１／０２２４９３号は、２００４年１２月８日に出願された米国特許出願第１１／００６８３７号の一部継続出願であり、米国特許出願第１１／００６８３７号は、２００４年１１月１５日に出願された米国特許出願第１０／９８９１２２号の一部継続出願である。
【０００３】
上述の出願において論じられているように、信頼できるコンピューティングベース（ｔｒｕｓｔｅｄ  ｃｏｍｐｕｔｉｎｇ  ｂａｓｅ）と呼ばれる場合もある分離コンピューティング環境（ｉｓｏｌａｔｅｄ  ｃｏｍｐｕｔｉｎｇ  ｅｎｖｉｒｏｎｍｅｎｔ）を使用することは、コンピュータ、特に、使用するたびに支払うタイプの（ｐａｙ−ｐｅｒ−ｕｓｅ）、すなわちその都度支払うタイプの（ｐａｙ−ａｓ−ｙｏｕ−ｇｏ）ビジネスモデルにおいて使用されるコンピュータのオペレーションを管理することに関して多大な機能をもたらす。このようなコンピュータがエンドユーザの管理下にある場合には、分離コンピューティング環境は、目の前にいないサービスプロバイダその他の関係者の利害を表すことができる。分離コンピューティング環境は、目の前にいない関係者のために機能するため、製造および配送プロセスを通じてその目の前にいない関係者の利害を表すためにインテグリティを保持しなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
分離コンピューティング環境を製造中にプログラムすると、分離コンピューティング環境の有用性が、特定のビジネスロジック／ポリシー、アプリケーション、プロセッサのベンダ、あるいはオペレーティングシステムのバージョンなどの特定のオペレーティング環境に不必要に限定されるおそれがある。逆に、分離コンピューティング環境をエンドユーザへの配送後にプログラムすると、エンドユーザが、サービスプロバイダの不利になるように分離コンピューティング環境のプログラミングに介入できるようになるおそれがある。
【課題を解決するための手段】
【０００５】
本開示の一態様によれば、分離コンピューティング環境の構成およびプログラミングのための方法および装置は、認証のために暗号化の方法を使用する。一実施形態においては、分離コンピューティング環境は、販売および配送に先立って安全な製造環境においてプログラムすることができる。別の実施形態においては、分離コンピューティング環境は、一般的なシステム環境および標準キーを用いて最初にプログラムされる。そして分離コンピューティング環境は、その一般的なシステム環境および標準キーを使用して、その後の中間のまたは最終のプログラミングおよびキーを認証することができる。このレベルのプログラミングは、安全な製造環境の中や外で行うことができる。さらに別の実施形態においては、分離コンピューティング環境のプログラミングは、安全な製造環境の域外に遅らせることができる。この実施形態においては、オペレーティングシステムは、プログラミングをマスストレージデバイスから定期的にダウンロードすることを担当することができる。そして分離コンピューティング環境は、ダウンロードされたデータの認証および承認を担当することができる。
【０００６】
製造の後半のステージにおいて又はエンドユーザなどの現場への配送後に認証および承認を行うために、分離コンピューティング環境は、セットアップキーまたは移送キーと初期プログラムとを用いて、特定の機能を提供するようにプログラムすることができる。そして分離コンピューティング環境は、後ほど配送サイクルにおいて、信頼できるソースによって、または認証されたデータを用いて更新することができる。最終的なプログラミングを遅らせることによって、分離コンピューティング環境の有用性および柔軟性を大幅に拡張することができる。最終的なプログラミングを強制する目的から、承認されたバージョンのコードが分離コンピューティング環境内にインストールされるまで、またはダウンロードの試みが認証に失敗した場合に、コンピュータの有用性を制限するためにコンピュータに拘束（ｓａｎｃｔｉｏｎ）を課すことができる。
【０００７】
コンピュータと分離コンピューティング環境とが、様々なオペレーティング環境およびインストール環境にわたり対話できるようにするアプリケーションプログラムインターフェースによって、分離コンピューティング環境の柔軟性をさらに高めることができる。
【発明を実施するための最良の形態】
【０００８】
以降の文章は、多くの異なる実施形態の詳細な説明を記載しているが、この説明の法的範囲は、本開示に添付されている特許請求の範囲の文言によって規定されるという点を理解されたい。この詳細な説明は、例示的なものにすぎないと解釈されるべきであり、可能な実施形態をすべて説明しているわけではない。というのも、可能な実施形態をすべて説明することは、不可能ではないにしても、非現実的であるためである。現在の技術または本願の出願日以降に開発される技術を使用して、多くの代替実施形態を実施することができ、それらも請求項の範囲に属するだろう。
【０００９】
また用語については、「本明細書で使用する際、「      」という用語は、．．．を意味するものと定義する。」という文や類似の文を使用して本願内で明確に定義されていない限り、その用語の意味を、明示的にも暗示的にもその率直な意味すなわち通常の意味を越えて限定する意図はまったくなく、またそのような用語は、本願のいずれかのセクションにおいて行われているいずれかの記述（特許請求の範囲の言葉は除く。）に基づく範囲に限定されるものと解釈すべきではないという点を理解されたい。本願に添付されている特許請求の範囲に記載されているいずれかの用語が、ある単一の意味と一致した方法で本願内で言及されている限りにおいては、それは、もっぱら読者を混乱させないように明確にする目的で行われているものであり、そのような特許請求の範囲の用語を、暗示などによって、その単一の意味に限定することを意図するものではない。最後に、特許請求の範囲の発明特定事項が、いかなる構造についても記載せずに「手段（ｍｅａｎｓ）」という言葉と機能とを記載することによって定義されているのでない限り、いかなる発明特定事項の範囲も、３５Ｕ．Ｓ．Ｃ．セクション１１２第６パラグラフの適用に基づいて解釈されることを意図するものではない。
【００１０】
本発明の機能の多く、および本発明の原理の多くは、ソフトウェアプログラムやソフトウェア命令、および特定用途向けＩＣなどのＩＣを用いて或いはそれらの中に実装するのが最も好ましい。当業者なら、例えば利用可能な時間、現在の技術、および経済面での考慮事項によって動機付けられる可能性のある多大な労力および多くの設計上の選択肢にもかかわらず、本明細書で開示されるコンセプトおよび原理によって導かれれば、そのようなソフトウェア命令およびソフトウェアプログラムならびにＩＣを最小限の実験で容易に作製できるであろうと予想される。したがって、簡潔にするために、また本発明による原理およびコンセプトを分かりにくくするあらゆる危険性を最小限に抑えるために、そのようなソフトウェアおよびＩＣについてさらに論じる場合には、好ましい実施形態の原理およびコンセプトに関する本質的な要素に限定することとする。
【００１１】
分離コンピューティング環境を使用すると、インターネットサービスプロバイダ、リース業者（ｌｅａｓｉｎｇ  ａｇｅｎｃｙ）、銀行等のサービスプロバイダは、コンピュータが自分の物理的なコントロールの範囲外にある場合でさえ、そのコンピュータに特定のポリシーを強制することができる。効果的であるためには、分離コンピューティング環境は、その分離コンピューティング環境が、信頼できる環境においてプログラムされていること、あるいは安全な環境へとつながる信頼の連鎖を維持していることを意味する一定レベルの信頼を必要とすることができる。
【００１２】
前述したことだが、早い段階でプログラムを行うと、必要とされるセキュリティー環境をより容易に確立して維持することができるが、分離コンピューティング環境が限られた一式のコンピューティングプラットフォームオプションに限定されるおそれがある。早い段階でのセットアップと遅い段階でのプログラミングや構成とを組み合わせることは、分離コンピューティング環境の柔軟性を助長する一方で、そのセキュリティを確かなものにする上で役に立つ。
【００１３】
図１は、コンピュータ１１０という形態のコンピューティングデバイスを示している。コンピュータ１１０のコンポーネントは、処理装置１２０と、システムメモリ１３０と、システムメモリを含む様々なシステムコンポーネントを処理装置１２０に結合するシステムバス１２１とを備えることができるが、これらには限定されない。システムバス１２１は、メモリバスまたはメモリコントローラと、ペリフェラルバスと、様々なバスアーキテクチャのいずれかを使用するローカルバスとを含む複数のタイプのバス構造のいずれにすることもできる。例えばこのようなアーキテクチャは、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニンバスとしても知られているＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを含むが、これらには限定されない。
【００１４】
コンピュータ１１０は通常、様々なコンピュータ可読メディア（ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉａ）を備える。コンピュータ可読メディアは、コンピュータ１１０によってアクセスできる利用可能な任意のメディアとすることができ、揮発性メディアおよび不揮発性メディア、ならびにリムーバブルメディアおよびノンリムーバブルメディアの双方を含む。例えばコンピュータ可読メディアは、コンピュータストレージメディアおよび通信メディアを含むことができるが、これらには限定されない。コンピュータストレージメディアは、コンピュータ可読命令、データ構造、プログラムモジュールその他のデータなどの情報を記憶するための任意の方法または技術により実装されている揮発性メディアおよび不揮発性メディア、ならびにリムーバブルメディアおよびノンリムーバブルメディアを含む。コンピュータストレージメディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、またはその他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、またはその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、またはその他の磁気ストレージデバイス、あるいは所望の情報を保存するために使用可能でコンピュータ１１０によってアクセス可能なその他の任意のメディアを含むが、これらには限定されない。通信メディアは通常、搬送波やその他の伝送メカニズムなどの変調されたデータ信号内に、コンピュータ可読命令、データ構造、プログラムモジュール、あるいはその他のデータを具体化し、任意の情報伝達メディアを含む。「変調されたデータ信号」という用語は、情報をその信号内にコード化するような方法で、その特性のうちの１つまたは複数が設定または変更されている信号を意味する。例えば通信メディアは、有線ネットワークや直接有線接続などの有線メディアと、音波メディア、無線周波数メディア、赤外線メディア、その他の無線メディアなどの無線メディアとを含むが、これらには限定されない。また上記のいずれの組合せも、コンピュータ可読メディアの範囲内に含まれるものである。
【００１５】
システムメモリ１３０は、コンピュータストレージメディアを、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）１３１およびＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１３２などの揮発性メモリおよび／または不揮発性メモリの形態で備える。ＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）１３３は、起動中等にコンピュータ１１０内の要素同士の間における情報伝達を補助する基本ルーチンを含み、通常はＲＯＭ１３１内に格納されている。ＲＡＭ１３２は通常、処理装置１２０がすぐにアクセスできるか、および／または処理装置１２０によってその時点で操作されているデータモジュールおよび／またはプログラムモジュールを含む。図１は、例としてオペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７を示しているが、これらには限定されない。
【００１６】
またコンピュータ１１０は、その他のリムーバブル／ノンリムーバブル、揮発性／不揮発性コンピュータストレージメディアを備えることもできる。図１は、例示のみを目的として、ノンリムーバブルな不揮発性の磁気メディアとの間で読み取りや書き込みを行うハードディスクドライブ１４１と、リムーバブルな不揮発性の磁気ディスク１５２との間で読み取りや書き込みを行う磁気ディスクドライブ１５１と、ＣＤ−ＲＯＭやその他の光メディアなどのリムーバブルな不揮発性の光ディスク１５６との間で読み取りや書き込みを行う光ディスクドライブ１５５とを示している。例示的な動作環境において使用できるその他のリムーバブル／ノンリムーバブル、揮発性／不揮発性コンピュータストレージメディアとしては、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどがあるが、これらには限定されない。ハードディスクドライブ１４１は通常、インターフェース１４０などのノンリムーバブルなメモリインターフェースを介してシステムバス１２１に接続されており、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インターフェース１５０などのリムーバブルなメモリインターフェースによってシステムバス１２１に接続されている。
【００１７】
図１に示されている上述のドライブおよびそれらに関連するコンピュータストレージメディアは、コンピュータ１１０用のコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの記憶を提供する。例えば図１において、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７と同一とするか、または異なっていてもよいという点に留意されたい。ここでは、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７が最低限異なるコピーであることを示すために、異なる番号を割り当てている。ユーザは、キーボード１６２や、通常はマウス、トラックボール、あるいはタッチパッドと呼ばれるポインティングデバイス１６１などの入力デバイスを介してコンピュータ２０にコマンドおよび情報を入力することができる。その他の入力デバイス（図示せず）としては、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナなどを含むことができる。これらおよびその他の入力デバイスは、システムバスに結合されているユーザ入力インターフェース１６０を介して処理装置１２０に接続される場合が多いが、パラレルポート、ゲームポート、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）などのその他のインターフェース構造およびバス構造によって接続することもできる。またモニタ１９１やその他のタイプのディスプレイデバイスも、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。モニタに加えて、コンピュータは、スピーカ１９７やプリンタ１９６などのその他の周辺出力デバイスを含むこともでき、これらは、周辺出力インターフェース１９５を介して接続することができる。
【００１８】
コンピュータ１１０は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境内で機能することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、あるいはその他の一般的なネットワークノードとすることができ、図１にはメモリストレージデバイス１８１しか示されていないが、通常はコンピュータ１１０に関連する上述の要素の多くまたはすべてを備える。図１に示されている論理接続は、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）１７１およびＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）１７３を含むが、その他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいてよく見受けられる。
【００１９】
ＬＡＮネットワーキング環境において使用する場合には、コンピュータ１１０は、ネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境において使用する場合には、コンピュータ１１０は通常、モデム１７２や、インターネットなどのＷＡＮ１７３上で通信を確立するためのその他の手段を備える。モデム１７２は、内蔵型または外付け型とすることができ、ユーザ入力インターフェース１６０やその他の適切なメカニズムを介してシステムバス１２１に接続することができる。ネットワーク化された環境においては、コンピュータ１１０に関連して示されているプログラムモジュール、またはその一部をリモートメモリストレージデバイス内に格納することができる。図１は、例としてリモートアプリケーションプログラム１８５をメモリデバイス１８１上に常駐するものとして示しているが、この形態には限定されない。
【００２０】
通信接続１７０、１７２によって、このデバイスは他のデバイスと通信することができる。通信接続１７０、１７２は、通信メディアの一例である。通信メディアは通常、搬送波やその他の伝送メカニズムなどの変調されたデータ信号内にコンピュータ可読命令、データ構造、プログラムモジュール、あるいはその他のデータを具体化し、任意の情報伝達メディアを含む。「変調されたデータ信号」とは、情報をその信号内にコード化するような方法で、その特性のうちの１つまたは複数を設定または変更した信号とすることができる。例えば通信メディアは、有線ネットワークや直接有線接続などの有線メディアと、音波メディア、ＲＦメディア、赤外線メディア、その他の無線メディアなどの無線メディアとを含むが、これらには限定されない。コンピュータ可読メディアは、ストレージメディアおよび通信メディアの双方を含む。
【００２１】
分離コンピューティング環境１２５（図２に関連してさらに詳しく論じる。）は、プログラムおよびデータを保存し、実行させることができる。分離コンピューティング環境１２５は、コンピュータ１１０のユーザと、コンピュータ１１０に利害を有するサービスプロバイダとの間における合意の条件を実行するように展開および構成することができる。
【００２２】
分離コンピューティング環境１２５は、複数の方法でインスタンス化することができる。１つまたは複数の別個のコンポーネントによって実装される場合には、分離コンピューティング環境１２５は、コンピュータのマザーボード（図示せず）上に配置することができる。マザーボードは、所与のアプリケーションに適した、回路を相互接続してコンポーネントを取り付ける基盤となる任意の技術（ａｎｙ  ｃｉｒｃｕｉｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ  ａｎｄ  ｃｏｍｐｏｎｅｎｔ  ｍｏｕｎｔｉｎｇ  ｂａｓｅ  ｔｅｃｈｎｏｌｏｇｙ  ｓｕｉｔａｂｌｅ  ｆｏｒ  ａ  ｇｉｖｅｎ  ａｐｐｌｉｃａｔｉｏｎ）とすることができ、グラスファイバ素材から、成形エポキシ樹脂、マイラー、セラミックなどまで、多岐にわたることができる。分離コンピューティング環境１２５は、マザーボード上またはマザーボード内に配置される際には、エポキシでコーティングするか、あるいは相互接続層または相互接続コンポーネントの下に埋め込むことができる。分離コンピューティング環境１２５をコーティングすることや埋め込むことは、分離コンピューティング環境１２５そのもの、分離コンピューティング環境１２５に関連付けられている電力接続およびアース接続、あるいは分離コンピューティング環境１２５へのデータ接続およびアドレス接続を取り外すことや改ざんすることをより困難にする役割を果たすことができる。分離コンピューティング環境１２５を取り外すと、あるいはその蓋を外すと、マザーボードおよび／または周辺のコンポーネントに永久的な損傷が生じて、コンピュータ１１０が機能できなくなるようにすることが理想的である。
【００２３】
分離コンピューティング環境１２５の別のインスタンス化（ｉｎｓｔａｎｔｉａｔｉｏｎ）は、図１に示されているようなものとすることができ、ここでは、分離コンピューティング環境１２５は、処理装置１２０内に組み込まれている。処理装置内にそのように配置されていることは、処理装置のレジスタによりよくアクセスできること、およびデータシーケンスをモニタできること、ならびに物理的な攻撃に対する抵抗力が高まることという利点を提供することができる。
【００２４】
図２を参照して、簡略化された典型的な分離コンピューティング環境について論じ、説明する。この分離コンピューティング環境は、上で紹介した分離コンピューティング環境１２５とすることもでき、あるいはその分離コンピューティング環境１２５に類似したものとすることもできる。分離コンピューティング環境１２５は、メモリ２０２、論理回路２０４、およびクロックまたはタイマ２０６を備えることができ、例えばタイマ２０６は、実際の時間の間隔をカウントすることによってクロックを実装するために使用することができる。メモリ２０２は、揮発性メモリおよび不揮発性メモリの双方を含むことができる。
【００２５】
分離コンピューティング環境１２５は、電子署名確認回路（ｄｉｇｉｔａｌ  ｓｉｇｎａｔｕｒｅ  ｖｅｒｉｆｉｃａｔｉｏｎ  ｃｉｒｃｕｉｔ）２０８をさらに備えることができる。外部のエンティティの一方向の確認、例えばサーバ（図示せず）の確認が必要とされる場合には、乱数発生器２１０を電子署名確認回路２０８の一部とすることができる。電子署名技術は、よく知られており、ハッシュ法、署名の確認、対称暗号化アルゴリズムおよび非対称暗号化アルゴリズム、ならびにそれらのそれぞれのキーについては、本明細書では詳細に論じない。
【００２６】
分離コンピューティング環境１２５のブロック同士は、バス２１２によって結合することができる。バス２１２は、外部のアクセスのために使用されるシステム／処理装置バス２１４とは別個のものとすることができる。別個のバスは、バス２１２によって渡されるデータへのアクセスを制限することによって、セキュリティを高めることができる。バス２１２は、メモリ２０２内に保存されている暗号化キー２１６へのパワー面での攻撃（ｐｏｗｅｒ  ａｔｔａｃｋ）をより困難にするために、バランスのとれたデータライン（ｂａｌａｎｃｅｄ  ｄａｔａ  ｌｉｎｅ）など、セキュリティ上の予防措置を組み込むことができる。
【００２７】
メモリ２０２は、不揮発性メモリを含むことができ、この不揮発性メモリは、暗号化キー２１６を保存することに加えて、少なくとも１つの確認プログラム（ｖｅｒｉｆｉｃａｔｉｏｎ  ｐｒｏｇｒａｍ）２１８および少なくとも１つの強制プログラム（ｅｎｆｏｒｃｅｍｅｎｔ  ｐｒｏｇｒａｍ）２２０を保存することができる。これらのプログラムについて、以降でさらに詳しく論じる。例えばハッシュコード（ｈａｓｈ  ｃｏｄｅ）、および／または既知のＢＩＯＳコードに関連付けられているその他の電子署名情報、あるいはアプリケーションプログラムなど、その他のデータ２２２をメモリ２０２内に保存することができる。メモリ２０２内に保存することができるデータ２２２のその他の例は、コンピュータ１１０の現在の状態に関する準拠データ（ｃｏｍｐｌｉａｎｃｅ  ｄａｔａ）や、確認プログラム２１８または強制プログラム２２０に対するダウンロードされた更新の確認のための証明書情報とすることができる。メモリ２０２内の不揮発性メモリはまた、オペレーティングシステム１４４から分離した、信頼できる、安全なブートプロセスを可能にすることもできる。
【００２８】
確認プログラム２１８および強制プログラム２２０は、分離コンピューティング環境１２５内に格納されるものとして図示されているが、分離コンピューティング環境１２５内に格納されたプログラムの電子署名またはハッシュと共に外部に、例えばメモリ２０２のデータセクション２１６内に格納することもできる。あるいは、分離コンピューティング環境１２５の外部に電子署名を保存し、場合によってはメタデータとしてこれらのプログラムに添付することができる。アプリケーションプログラムをモニタまたは評価する場合、分離コンピューティング環境１２５は、アプリケーションプログラムの実行前または実行中にそのプログラムのハッシュまたは電子署名を確認することができる。メモリ２０２内に格納されているプログラム２１８、２２０およびデータは、その都度支払うタイプの、使用するたびに支払うタイプのビジネスモデルの成功に関連するセキュリティの一部であるため、それらのデータを不正なアクセスおよび改ざんから保護することが重要かもしれない。メモリ２０２への不正なアクセスは、論理回路２０４、または電子署名確認回路２０８、あるいはその両者の組合せを使用して制限することができる。メモリへのアクセスは、知られているプログラムコード、すなわち分離コンピューティング環境１２５によって信頼されているプログラムコードを実行するプロセスに限定することができる。このプログラムコードは、確認プログラム２１８または強制プログラム２２０とすることができる。しかし、その他のプログラムにメモリ２０２へのアクセスを認めることもできる。例えば、利用に関するクレジットや残高の管理をサポートするアプリケーションは、分離コンピューティング環境１２５のメモリを使用することができる。修理やメンテナンスが必要とされる場合には、修理を行うために正当な証明書を有するネットワーク接続されたデバイス上でサポートされるサービスプロセスにメモリ２０２へのアクセスを認めることができる。
【００２９】
分離コンピューティング環境１２５は、複数の機能を有することができる。分離コンピューティング環境１２５の機能の１つは、それ自身を不正な更新および改ざんから保護することである。分離コンピューティング環境１２５内に格納されるプログラムおよびデータは、製造時に注入（ｉｎｊｅｃｔ）することができ、あるいは分離コンピューティング環境１２５自身によって認証された署名で正しくサインされている場合にはダウンロードすることもできる。別の機能としては、コンピュータ１１０の状態をモニタおよび／または評価して、コンピュータ１１０の状態に不正侵入やその他の不正な変更が進行中かどうか、または発生したかどうかを判断することができる。モニタリングおよび評価の別の態様は、リソースを提供すること、およびイベントディスパッチャー（ｅｖｅｎｔ  ｄｉｓｐａｔｃｈｅｒ）やバランスマネージャー（ｂａｌａｎｃｅ  ｍａｎａｇｅｒ）などの安全な機能をホストすることに関連した機能に関するコンピュータ１１０の状態の正当な変更をサポートすることとすることができる。第３の機能は、現在のＢＩＯＳコードを有効にすること、ならびにＢＩＯＳコードに対する更新および拡張を有効にすることとすることができる。分離コンピューティング環境１２５の別の機能としては、信頼できるクロックまたはタイマを、双方ともプログラムおよび有効期限を測定するための時間の源として提供することができる。このクロックまたはタイマは、分離コンピューティング環境１２５が、コンピュータ１１０へのアクセスを定期的に認められ、ＣＰＵサイクルやバスサイクルに対して「飢えた」状態にならないようにすることもできる。別の機能としては、準拠していない状態がコンピュータ１１０内で判定された場合に拘束を実行することができる。
【００３０】
分離コンピューティング環境１２５のさらに別の機能は、コンピュータの使用を監視し、プロバイダまたは法定所有権者によって出されたビジネスの条件およびポリシーに準拠しているかを確かめる独立したスーパーバイザの役割を果たすことである。その都度支払うタイプのコンピュータおよびサブスクリプションコンピュータ（ｓｕｂｓｃｒｉｐｔｉｏｎ  ｃｏｍｐｕｔｅｒ）が、そのような技術の例である。
【００３１】
不正な更新および改ざんから守るために、メモリ２０２を保護することができる。これを実現するために、例えばコンピュータ１１０の安全なオペレーティングモードのコントロール下において電子署名によって認証された更新ルーチンなど、特定のプログラムだけがメモリ２０２にアクセスできるようにすることができる。オペレーティングシステムやカーネルなどの別の実行環境によって実行されるいかなるプログラムもメモリ２０２にアクセスできないようにすることができる。カーネルは通常、コンピュータ１１０がブートしているときに作動する。例えばＩｎｔｅｌ（商標）のｘ８６プロセッサは、いくつかのモード、または実行のリング（ｒｉｎｇｓ  ｏｆ  ｅｘｅｃｕｔｉｏｎ）で機能することができる。リング０〜２は、カーネルによって占められ、リング３は、「ユーザモード」プロセスによって占められる。第３のモードであるＳＭＭ（ｓｙｓｔｅｍ  ｍａｎａｇｅｍｅｎｔ  ｍｏｄｅ）は、ＢＩＯＳによって占められる。安全なメモリ２０２へアクセスできるプログラムは、カーネルの影響が及ぶ範囲外であるが、ＢＩＯＳを保護する必要があるため、ＳＭＭで実行することができる。あるいは、分離コンピューティング環境１２５は、専用のデバイスを使用してＣＰＵから独立して実装することもできる。
【００３２】
分離コンピューティング環境１２５のセキュリティのために、分離コンピューティング環境１２５以外のデバイスは、単に、分離コンピューティング環境のメモリ２０２の専用の物理メモリにアドレスできないようにすることができる。これは、プログラム２１８、２２０、キー２１６、および状態／オペレーショナルデータ（ｓｔａｔｅ／ｏｐｅｒａｔｉｏｎａｌ  ｄａｔａ）２２２を含む分離コンピューティング環境のメモリ２０２のオペレーションに関連するデータのいずれに対しても、分離コンピューティング環境しかアクセスおよび変更を行えないようにするための１つの方法にすぎない。外部から生じる、すなわちオペレーティングシステム１４４を通じて生じるメモリ２０２への要求されたすべての変更を確認するために、電子署名確認回路２０８を使用することができる。内部に保存されているキーを使用して電子署名を確認することによって、信頼できないソース、すなわちオペレーティングシステム１４４によって受信されたデータに対して信頼を確立することができる。
【００３３】
図３は、分離コンピューティング環境１２５の論理図（ｌｏｇｉｃａｌ  ｖｉｅｗ）を示している。暗号化サービス３０２は、内部の層やサービスを改ざんや不正なアクセスから保護するように機能する。暗号化キー３０４は、図２のメモリ２０２などの安全なメモリ内に保存することができる。構成テーブル３０６およびコアサービス３０８は、分離コンピューティング環境１２５の特徴および機能をプログラムするために使用することができる。ＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍ  ｉｎｔｅｒｆａｃｅ）３１０は、分離コンピューティング環境１２５との双方向のデータ転送をサポートするために使用することができる。アプリケーションプログラムインターフェース３１０を使用することによって、有効な通信のコマンドセットを、特定のフォーマット、スキーマ、および／またはセキュリティーポリシーに限定することができる。このようにして、所定の一式の特徴に適合しないデータ伝送は、さらなる処理を行わずに拒否することができる。例えば、ＩＣＥのいくつかの側面を更新するペイロードを伴うメッセージは、信頼できる当局によって電子署名されることを必要とする。
【００３４】
更新サービス３１２は、受信されたメッセージの認証に応答して、キー３０４、構成テーブル３０６、およびコアサービス３０８を変更するために使用することができる。拘束サービス３１４は、図２の強制プログラム２２０と同じものか又は類似したものであり、最初の製造後に移送されている間に、または適合しない状況が通常のオペレーション中に識別された後に、コンピュータ１１０の機能を制限するためにトリガー（ｔｒｉｇｇｅｒ）することができる。拘束サービスは、コンピュータの機能を妨げるために起動メカニズムを使用することができる。起動メカニズムは、バスドライバやクロック回路内に組み込むことができ、あるいはマイクロコードなど、マイクロプロセッサ（図示せず）のシリコンのコンポーネントとすることもできる。あるいは、起動メカニズムはコンピュータの定期的なリセットとすることができる。一実施形態において、リセットから次のリセットまでの間隔は、ランダムに変わるが、一般には、診断機能およびメンテナンス機能を実行できるだけの十分な長さとすることができる。起動メカニズムを無効にすることが拘束を無効にするために利用される可能性があるため、起動メカニズムおよびその物理的な体裁は、改ざんできないような作りにすることができる。
【００３５】
ホストされているアプリケーション３１６やその他の機能プログラムを分離コンピューティング環境１２５に関連付けることができる。ホストされているアプリケーション３１６は、分離コンピューティング環境１２５内に最初からインストールすることもでき、あるいは後で、例えば製造の後半に小売センターで、または顧客への配送後に、インスタンス化することもできる。ホストされているアプリケーション３１６は、使用するたびに支払うタイプのコンピュータを測定することに関連付けることもでき、評価される機能の監視役として機能することもでき、あるいはセキュリティの評価が望ましい任意のアプリケーション、機能、またはリソースとすることもできる。複数のホストされているアプリケーション３１６が、単一の分離コンピューティング環境１２５によってサポートされることができる（分離コンピューティング環境１２５をＩＣＥと呼ぶ場合には、ホストされているアプリケーションをアイシクル（ｉｃｉｃｌｅ）と呼ぶことができる。）。
【００３６】
コアサービス３０８とホストされているアプリケーション３１６との間における関係は、アプリケーションに応じて、また時と共に変化することができる。例えば一実施形態において、コアサービス３０８が、分離コンピューティング環境１２５の更新をコントロールすることができる、すなわち、更新の管理者としての役割を果たすことができる、といった具合である。別の実施形態においては、ホストされているアプリケーション３１６が、管理者としての役割を果たすことができる。さらに別の実施形態においては、コアサービス３０８は、トークンを提示されると、ホストされているアプリケーション３１６に管理者としての役割を委譲または委任することができる。複雑ではあるが別の実施形態では、コアサービス３０８とホストされているアプリケーション３１６との間で、管理者としての役割を共有することができる。
【００３７】
更新サービス３１２は、アプリケーションプログラムインターフェース３１０を介して受信された確認されたメッセージに応答して、コアサービス３０８、構成テーブル３０６、キー３０４、および／またはホストされているアプリケーション３１６を更新するか、または完全に再プログラムするために使用することができる。コアサービス３０８を更新する場合には、１つまたは複数のオペレーティングルーチンを更新することができる。これらのオペレーティングルーチンは、コンピュータ１１０に対して下される評価、およびエンドユーザのオペレーション中に課される拘束に影響を与えることができる。構成テーブル３０６に対する更新は、支払いスケジュール、評価基準、デフォルトの設定などを含むことができる。キーに対して行われる更新は、その後のメッセージの確認を可能にするために古いキーを取り替えることや、新たなキーをインストールすることとすることができる。したがって、有効にされたメッセージ内で受信されたデータは、コアサービス３０８、構成テーブル３０６の設定、ホストされているアプリケーション３１６、あるいはキー３０４によって使用されるルーチンのいずれかまたはすべてを含むことができる。以前のバージョンの更新、特に障害が起きた可能性のある更新を再びロードすることを防止するために、有効にされたメッセージの一部としてシーケンス番号やタイムスタンプを使用することができる。
【００３８】
図４は、コンピュータ１１０などのコンピュータにおける代表的なライフサイクルステージを示している。分離コンピューティング環境１２５など、コンピュータの安全なエリアを保護する際に使用することができる代表的な中間暗号化キー（ｉｎｔｅｒｉｍ  ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｋｅｙ）も示されている。チップ検査の段階のように製造プロセスの初期に、初期キー４０２をコンピュータ１２５またはそのコンポーネント内に注入することができる。注入は通常、メモリ回路２０２に直接書き込むことによって行われ、これは、そのような直接の書き込みプロセスからメモリ２０２を保護するために十分な保護回路および物理的な硬化材によってメモリ回路２０２が覆われる前に行われる場合が多い。
【００３９】
製造４０４の後、初期キー４０２は、セットアップキー４０６によって置き換えることができる。セットアップキー４０６は、製造業者やそのサブプロセスとプログラミング段階４０８との間で共有することができる。プログラミング中に、オペレーティングシステムおよびアプリケーションをインストールすることができる。コンピュータ１１０の最終目的地が分かっている場合には、ローカライゼーションを行うことができる。いくつかの信頼できる環境においては、分離コンピューティング環境１２５を製造中に開いたままにすることができ、これによって、より標準的な分離コンピューティング環境をインストールすることができる。暗号化のロックによって課される制約を受けることなく、特定のオペレーティングシステムおよび機能環境に拘束されるのを遅らせることができる。一実施形態において、オペレーティングシステムのインストールおよびセットアップは、分離コンピューティング環境１２５のセットアップおよびプログラミングに結び付けることができる。別の実施形態においては、すべての分離コンピューティング環境に標準キーすなわちグループキーを与えることができ、これによって、そのグループ内のすべてのマシンを単一のキーでプログラムすることができる。分離コンピューティング環境１２５内にプログラムされた一意の識別子を使用して、それぞれの別個の分離コンピューティング環境１２５ごとに暗号化のキーおよび環境を区別し、独自のものにすることができる。プログラミング４０８の最中には、中間暗号化キー４１０をインストールすることもできる。中間キー４１０は、プログラミングオペレーションとセットアップ／構成オペレーション４１２との間で共有することができる。セットアップ／構成４１２は、小売配送センター（ｒｅｔａｉｌ  ｄｅｌｉｖｅｒｙ  ｃｅｎｔｅｒ）とすることもでき、あるいはサービスプロバイダ中継エリア（ｓｅｒｖｉｃｅ  ｐｒｏｖｉｄｅｒ  ｓｔａｇｉｎｇ  ａｒｅａ）とすることもできる。セットアップおよび構成の最中には、個々のユーザアカウントをプログラムし、Ｅメールサービスを確立し、インターネット接続をプログラムすることができ、使用するたびに支払うタイプのコンピュータの場合には、利用プランおよび初期オペレーティングクレジット（ｏｐｅｒａｔｉｎｇ  ｃｒｅｄｉｔ）をインストールすることができる。
【００４０】
セットアップ／構成プロセスの最中には、オペレーションキー４１４、および場合によってはメンテナンスキー４１８をインストールすることができる。１つまたは複数のオペレーションキー４１４をエンドユーザと共有することはできないが、（１つまたは複数の）オペレーションキーは、コンピュータ１１０内に存在することができ、より具体的には、分離コンピューティング環境１２５内に格納することができる。いくつかのセットの対称キーを対称キー暗号化環境においてインストールすることができ、あるいは非対称暗号化が使用される場合には、ルート証明書および公開キーをインストールすることもできる。コンピュータは、この時点で、エンドユーザによる有益なオペレーション４１６に対する準備を整えることができる。オペレーション４１６の過程で、メンテナンスが必要となる可能性もある。特別なアクセスが必要とされる場合には、オペレーションキー４１４を迂回することができ、メンテナンスキー４１８を使用して、コンピュータ１１０を特別なメンテナンスモード４２０に置くことができる。メンテナンスプロセス４２０が完了すると、コンピュータ１１０をオペレーションモード４１６に戻すことができる。
【００４１】
オペレーションキー４１４は、例えばその都度支払うタイプのアカウントに値を追加するために、通常のオペレーションにおいて使用することができる。その他の特別な目的のキーを、任意の時点で補足的な使用のためにインストールすることができ、それらの補足的な使用としては、電子署名された更新が含まれるが、それには限定されない。製造および配送プロセスのそれぞれのステージでは、そのステージにおいて実行されたオペレーションを反映するために、あるいは次のステージのためにスケジュールされたアクティビティーを可能にするために、コアサービス３０８、構成テーブル３０６、およびキー３０４内のコードを更新することができる。このような順次処理において使用されるキー管理プロセスは、当業界において既知である。
【００４２】
コンピュータ１１０や、分離コンピューティング環境１２５などのコンピューティング環境のライフサイクル内のそれぞれのステップにおいては、インストールされたキー、および認証のために提示されたトークンを使用することによって、信頼を確立することができる。電子署名された更新など、許容可能なトークンを提示することによって、送信側当事者との信頼が確立される。製造プロセスの初期にのみ、コンピュータ１１０や分離コンピューティング環境１２５は、初期キー４０２の注入などの信頼できるアクションについて、サポートしている環境に依存しなければならない。その最初の信頼できる環境を過ぎると、コンピュータ１１０や分離コンピューティング環境１２５は、提示されるいかなるデータも推測的に信頼することを期待されないであろう。さらに、分離コンピューティング環境は、要求を認証し、その承認を有効にすることができる。例えば、様々な分離コンピューティング環境のコンポーネントの更新およびインストールに、様々なポリシーを適用することができる。例えばコアサービスおよび構成サービスの更新は、非常に厳格にコントロールされているグループに対して認めることができるが、その一方で、ホストされているアプリケーションの更新は、その作成者に認められる。
【００４３】
分離コンピューティング環境１２５の初期プログラミングおよび初期キー４０２の注入の後の任意の時点で、例えば製造４０４のステップにおいて、分離コンピューティング環境１２５は、コンピュータ１１０に拘束を課すことができる。この拘束は、コンピュータ１１０のプログラミングおよびセットアップにおける後半のステップを完了するのに適した最小限の一式の有用なルーチンやサービスに機能を限定することができ、この最小限の一式の有用なルーチンやサービスは、エンドユーザによる有益な使用を妨げるのに十分なものである。拘束は、持続的にリセットを行うこと、命令セットを減らすこと、オペレーションを遅くすること、スクリーンのエリアや色を最小限に抑えることなどを含むことができ、配送のステージの最中に変更することができる。これらの初期の拘束は、分離コンピューティング環境１２５が、エンドユーザのオペレーションに適したコアサービス３０８、構成テーブル３０６の設定、およびキー３０４を用いて更新されたときに解除することができる。コンピュータ１１０、より具体的には、分離コンピューティング環境１２５の構成を確認する一環として、コアサービス３０８の特徴を電子的に確認することができる。例えばこの確認には、電子的な署名やハッシュと、ルート証明書や既知のハッシュなど、以前に確立された信頼トークン（ｔｒｕｓｔ  ｔｏｋｅｎ）とを使用することができる。
【００４４】
インスタンス化、プログラミング、およびセットアップが、例えば適切なソフトウェアモジュールの連続したインストールによって一連のステップとして発生する場合には、「最後の」モジュールのインストールによって拘束を解除することができる。すなわち最後のモジュールは、基礎をなすモジュールが無事にインストールされたことを判断することができ、そして拘束を解除することができる。
【００４５】
あるいは、製造プロセスや顧客満足プロセスの後半まで拘束を課さないでおくこともできる。一実施形態においては、拘束サービス３１４は、複数回のリセット、カレンダー上の日付、あるいは構築後の経過日数など、トリガーとなるイベントをモニタし、分離コンピューティング環境１２５が更新されていない場合に拘束を発動する。
【００４６】
コンピュータの分離コンピューティング環境におけるプログラミングを遅らせる方法を示すフローチャートである図５について論じ、説明する。コンピュータ１１０などのコンピュータが、５０２において提供される。このコンピュータは、物理的に分離されたコンピューティング環境を備えることもでき、あるいは、分離コンピューティング環境をオペレーティングシステムによって実装することもできる。一般には、ハードウェアの分離コンピューティング環境の方が、改ざんおよび攻撃に対してより安全かもしれない。
【００４７】
エンドユーザへ配送する前に、好ましくは製造プロセスの初期に、５０４において分離コンピューティング環境を移送機能（ｔｒａｎｓｐｏｒｔ  ｆｕｎｃｔｉｏｎａｌｉｔｙ）と共にプログラムすることができる。移送機能は、顧客への配送に向けた現在のステップおよび／または次のステップを可能にする機能に限定することができ、その一方で、最終的なエンドユーザ向けの機能は含まないようにすることができる。移送機能のプログラミングは、キー４０６や４１０などの移送暗号化キー（ｔｒａｎｓｐｏｒｔ  ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｋｅｙ）と、コアサービス３０８内の少なくともダウンロード機能とのプログラミングを含むことができる。このダウンロード機能によって、中間機能やエンドユーザ向けの機能を後でダウンロードすることができる。
【００４８】
製造および配送サイクルを完了させる上で役立つように、コンピュータのオペレーションを５０６において制限するか、あるいは減らすことができる。上述の内容および参照される優先権書類において論じられているように、コンピュータのオペレーションを制限するための多くのオプションが利用可能であり、それらのオプションには、処理装置１２０の機能を減らすことや、コンピュータ１１０を定期的にリセットすることを含むことができる。
【００４９】
着信するメッセージを５０８において受信し、認証することができる。これらのデータは、キー３０４、コアサービス３０８、あるいは構成テーブル３０６を更新するための構成データなど、更新された機能やその他のデータ設定に相当することができる。５１０において、認証されたデータを用いて分離コンピューティング環境を再プログラムすることができる。これらのデータは、電子署名など、自前のセキュリティートークン（ｓｅｃｕｒｉｔｙ  ｔｏｋｅｎ）を含むこともでき、あるいは分離コンピューティング環境が、移送キーを使用して、データの信頼性を確認するホストとの間で、認証されたセッションを確立することもできる。オペレーションレベルのコードがインストールされ、確認されると、コンピュータ１１０の移送時の構成に関連付けられた拘束を５１２において解除することができ、ユーザによる有益な使用が可能になる。
【００５０】
上述のようなプロセスを経ることによって、分離コンピューティング環境１２５やその他の安全な環境を製造プロセスの初期に保護することができ、分離コンピューティング環境を改ざんする機会は、少なく抑えられる。それぞれのステップが適切なキーを提示することによって変更を行う権利を証明できる範囲で更新および変更を行うために、その他の中間の製造オペレーションおよび配送オペレーションを承認することができる。構成テーブル３０６およびコアサービス３０８に対する最終的な更新によって、より広い範囲のコンピュータ構成、オペレーティングシステム、およびローカライゼーションにわたって分離コンピューティング環境を使用できるようになる。また同時に、分離コンピューティング環境は、製造および配送をサポートするための十分な機能を保持し、その一方で、中間暗号化キーの使用を通じてそのインテグリティー／信頼性を維持する。
【００５１】
上述の文章は、本発明の多くの異なる実施形態の詳細な説明を記載しているが、本発明の範囲は、本願に添付されている特許請求の範囲の文言によって定義されるという点を理解されたい。この詳細な説明は、例示的なものにすぎないと解釈されるべきであり、本発明の可能な実施形態をすべて説明しているわけではない。というのも、可能な実施形態をすべて説明することは、不可能ではないにしても、非現実的と思われるためである。本発明を定義する特許請求の範囲内に収まるであろう現在の技術または本願の出願日以降に開発される技術を使用して、多くの代替実施形態を実施することができる。
【００５２】
したがって、本発明の趣旨および範囲から逸脱することなく、本明細書で説明および例示されている技術および構造において、多くの修正形態および変形形態が可能である。したがって、本明細書に記載されている方法および装置は、例示的なものにすぎず、本発明の範囲を限定するものではないという点を理解されたい。
【図面の簡単な説明】
【００５３】
【図１】コンピュータを示す簡略化された典型的なブロック図である。
【図２】簡略化された分離コンピューティング環境を示すブロック図である。
【図３】分離コンピューティング環境のサービス同士の間における機能的な関係を示す簡略化された例示的なブロック図である。
【図４】分離コンピューティング環境の連続したプログラミングのためのシステムを示すブロック図である。
【図５】分離コンピューティング環境のプログラミングおよびセットアップを遅らせる方法を示すフローチャートである。
【図１】
2008521091.tif 000003
【図２】
2008521091.tif 000004
【図３】
2008521091.tif 000005
【図４】
2008521091.tif 000006
【図５】
2008521091.tif 000007
【国際調査報告】
2008521091.tif 000008