【誤訳訂正書】
【提出日】平成22年2月17日(2010.2.17)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】０００２
【訂正方法】変更
【訂正の内容】
【０００２】
コンピュータシステムのファームウェアにおける最近の進歩は、拡張可能なファームウェアインタフェース（ＥＦＩ）のフレームワークであり、このＥＦＩのフレームワークにより、ソフトウェアベンダーは、各種の中央処理装置（ＣＰＵ）と共に使用することができるオペレーティングシステムプログラムを開発することができる。スタック上でどのようにデータを渡すかを指定するアプリケーション・バイナリ・インタフェース（ＡＢＩ）が所与のＣＰＵタイプについて含まれる。プラットフォームを抽象化することで、フレームワークは、レガシーアーキテクチャを採用するシステムを通して多くの利点を提供する。このコンポーネントアーキテクチャの進歩の概念として、ＡＢＩと、全体システムの初期化処理を通したソフトウェアの抽象化とを使用したシステムアーキテクチャが登場している。このアーキテクチャは、ＣＰＵの初期化を含むだけでなく、チップセットとＩ／Ｏ装置の初期化とを含んでいる。チップセット又はＩ／Ｏコンプレックスの一部がどのように動作するかを抽象化する一部のコードを複数パーティが記述することを可能にするソフトウェアフレームワークが提供されている。かかるフレームワーク内で、様々なベンダーからの製品は、相互使用可能となる。それぞれのベンダーからのコードの一部は、初期化モジュールに含まれる。システム初期化フェーズの間（ＣＰＵリセット後であるが、メモリ初期化前）、コアとなる初期化コードは、基本サービスを提供するために、順序付けされたオーダーで初期化モジュールにＣＰＵの処理時間を割り当てる。初期化フェーズは、たとえばＩ／Ｏバスのスキャニング、リソースの列挙及びドライバのインストールのような、アルゴリズム的に更に複雑である初期化プロセスに関与するドライバ実行フェーズといった、後続のフェーズを可能にするために十分にシステムを初期化する。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】０００３
【訂正方法】変更
【訂正の内容】
【０００３】
複数パーティーからのドライバ及びアプリケーションの提供を可能にするこの概念は、幾つかの問題点を生じる。１つのベンダーにより提供されるシステムファームウェアのセキュリティは、そのベンダーから暗黙的である。サンドボックス又はコードの認証のいずれに対しても手段が存在しないため、様々なソースからのコードモジュールを組み込むことは、システムインテグリティを危険にする。ＥＦＩのプラットフォームは、物理モードで実行する。物理モードでの実行は、全てのアドレスが実際のメモリ位置に対応することを意味する。物理モードにおける実行は、全てのプラットフォームのリソースへのフルアクセスをＯＳローダに提供するが、また、仮想メモリのページテーブルの使用、及びプリブートにおいて提供するプロテクションを不可能にする。ブートファームウェアは、フルマシンアクセスを有するので、高感度のデータ構造及びコアのＥＦＩのコードは、ドライバ及びアプリケーションによるアクセスを通して破壊されやすい。ドライバ及びアプリケーションのソースを認証するためのコード署名のような技術は、システム状態が不正なコードにより破壊されているとき、障害隔離を保証することができない。
【誤訳訂正３】
【訂正対象書類名】明細書
【訂正対象項目名】０００６
【訂正方法】変更
【訂正の内容】
【０００６】
本発明は、第一の実施の形態において、レガシー互換コードを実行すること、或いは安全性及びセキュリティのためにキーデータ及びコード領域をプロテクトするために、システム状態の仮想化を提供する方法及び装置を提供するものである。
【誤訳訂正４】
【訂正対象書類名】明細書
【訂正対象項目名】０００７
【訂正方法】変更
【訂正の内容】
【０００７】
ＶＭＭは、全てのＣＰＵ命令及びシステムリソース（たとえば、メモリ及びＩ／Ｏ装置）を含むオリジナルマシンの高性能なレプリカを提供するシミュレータソフトウェアである。第一の実施の形態では、コンポーネントに基づくアーキテクチャプラットフォームのためのプリブートセキュリティ（ｐｒｅ−ｂｏｏｔ  ｓｅｃｕｒｉｔｙ）及びインテグリティポリシー（ｉｎｔｅｇｒｉｔｙ  ｐｏｌｉｃｙ）を維持するためにＶＭＭが使用される。
【誤訳訂正５】
【訂正対象書類名】明細書
【訂正対象項目名】０００８
【訂正方法】変更
【訂正の内容】
【０００８】
仮想マシンモニタ（ＶＭＭ）は、レガシーコードのサポートを提供するため、レガシーハードウェア及び環境をエミュレートする。ＶＭＭにより、表面上の特権コード（たとえば、ＢＩＯＳコード）をエミュレートすることができ、そのコードがエミュレートされていることに気付くことなしに実行することができる。
【誤訳訂正６】
【訂正対象書類名】明細書
【訂正対象項目名】０００９
【訂正方法】変更
【訂正の内容】
【０００９】
ドライバ実行フェーズでは、ＶＭＭをインストールするドライバがロードされる場合がある。次いで、レガシーアプリケーション（たとえば、レガシーＯＳローダ）は、ＶＭＭ内で実行される場合がある。第一の実施の形態では、レガシーＯＳがブートされることを示すブート変数が設定された場合にのみ、ＶＭＭはロードされる。ＶＭＭを使用することは、メモリ及びシステム構造をアプリケーションの乱れから保護する助けとなる。アプリケーションには、システムリソースのサブセットへのアクセスが与えられ、及び、更新用に指定されていないメモリマップの一部へのアクセスは、ＶＭＭにトラップ（プログラム割込み）される。ＶＭＭのプリブートのポリシーエージェントは、次いで、状態をプロテクトし、問題となるソフトウェアをアンロードする。ＶＭＭは、物理モードの環境のように見えるが違法な行為に対して予防手段を有する環境をトランスペアレントに公表する。また、このポリシーエージェントは、この物理的なアドレスレンジを実際にデコードしないシステムについて、ソフトウェアがレガシーメモリマップを１メガバイト以下で見るようにメモリをマッピングする。このトランスペアレンシーは、レガシーＰＣ／ＡＴ  ＢＩＯＳモジュール、オプションのＲＯＭ、ＥＦＩのドライバ及びアプリケーションとの互換性を維持する。
【誤訳訂正７】
【訂正対象書類名】明細書
【訂正対象項目名】００１０
【訂正方法】変更
【訂正の内容】
【００１０】
第一の実施の形態では、本発明は、全体のＰＣ／ＡＴ環境を仮想化して、レガシーＯＳ、及びタイマカウンタ、シリアルポート及びマスタ／スレーブ割込みコントローラといった８２ｘｘシリーズのようなレガシーハードウェアに対するサポートを提供する。ＶＭにより、拡張可能なファームウェアアーキテクチャを有するシステムは、プリブートのオプションＲＯＭ又はそのネイティブなインタフェースを使用しないランタイム環境を容易にする。たとえば、ＶＭは、ＰＣ／ＡＴ環境をエミュレートして、レガシーオプションＲＯＭが実行され、そのＩ／Ｏサービスを行うことを可能にする。次いで、ＶＭＭは、結果をネイティブなＡＰＩに変換する。すなわち、ＶＭＭは、ネイティブな環境（ｎａｔｉｖｅ  ｅｎｖｉｒｏｎｍｅｎｔ）において等価な意味にＩ／Ｏをトラップする。
【誤訳訂正８】
【訂正対象書類名】明細書
【訂正対象項目名】００１１
【訂正方法】変更
【訂正の内容】
【００１１】
代替的な実施の形態では、ＶＭＭは、ネイティブな３２ビット／６４ビット環境をエミュレートするために使用され、物理モードで実行するプラットフォームに、プロテクトされたストレージ及びプロテクトされた実行を提供する。ＥＦＩのシステムアーキテクチャは、ＯＳローダがＯＳカーネルをブートストラップするためにページテーブルを使用している場合があるため、ページテーブルを考慮せず、指定されたページの読取り専用の指定を考慮しない。ＶＭＭを使用することで、ドライバ及びアプリケーションコードのバルクがアクセスを有さないセキュリティに関連する情報を生成及び記憶するため、ＯＳローダの下となる手段が提供される。
【誤訳訂正９】
【訂正対象書類名】明細書
【訂正対象項目名】００１２
【訂正方法】変更
【訂正の内容】
【００１２】
図１は、本発明のＶＭＭを実行する典型的な計算システム１００を説明する図である。本実施の形態で記載される、レガシー互換コードを実行するため、又はセイフティとセキュリティのためにキーデータ及びコード領域をプロテクトするためにシステム状態を仮想化することが計算システム１００内で実行される。計算システム１００は、汎用コンピュータ、携帯用コンピュータ又は他の類似の装置で表すことができる。計算システム１００の構成要素は、典型的なものであって、１つ以上の構成要素を省略又は追加することができる。たとえば、１つ以上のメモリ装置は、計算システム１００のために利用することができる。
【誤訳訂正１０】
【訂正対象書類名】明細書
【訂正対象項目名】００１７
【訂正方法】変更
【訂正の内容】
【００１７】
本発明により、レガシー環境をエミュレートしてレガシーオペレーティングシステム及びオプションＲＯＭをサポートすること、並びに物理モードの環境をエミュレートしてプロテクトされた実行及びプロテクトされたストレージを提供することは、計算システム１００内に含まれるハードウェア及び／又はソフトウェアにより実現することができる。たとえば、ＣＰＵ１０２又はシグナルプロセッサ１０３は、たとえばメインメモリ１０４のようなマシン読み取り可能な媒体に記憶されたコード又は命令を実行することができる。
【誤訳訂正１１】
【訂正対象書類名】明細書
【訂正対象項目名】００１９
【訂正方法】変更
【訂正の内容】
【００１９】
図２は、本発明の第一の実施の形態によるレガシーエミュレーションを説明する図である。典型的に、パーソナルコンピュータのマザーボードは、レガシーオプションＲＯＭのみがそれらの存在を前提としているとしても、レガシー８２５９割込みコントローラをサポートする。現代のオペレーティングシステムは、それらの割込みのサポートのためにＡＰＩＣ（ＩＡ３２）又はＳＡＰＩＣ（ＩＰＦ）を使用し、これにより、ペアをなす８２５９のようなマザーボードハードウェアを数秒間のマシンブートの間に使用可能なままにする。
【誤訳訂正１２】
【訂正対象書類名】明細書
【訂正対象項目名】００２０
【訂正方法】変更
【訂正の内容】
【００２０】
図２に示されるシステム２００は、ＥＦＩのコア２０５、レガシー実行イメージ２１０、ＥＦＩのドライバ２１５及びＶＭＭ２２０を含む。レガシー実行イメージ２１０は、プリブートのオプションＲＯＭ、又はネイティブなＥＦＩインタフェースを使用しないランタイム環境である。レガシー実行イメージ２１０からのレガシー８２５９割込み制御部への書込みに応じて、たとえば、命令がＶＭＭ２２０にトラップされる。ＶＭＭ２００は、システム状態（たとえば、割り込みフラグ）に影響を与えるか、或いはプロテクションを変更するための任意の命令をトラップすることができる。システムがレガシーモードで実行している場合、ＶＭＭ２２０は、レガシー割込み（ＰＩＣ）マスクへのアクセスを、関連するネイティブな割り込み制御レジスタにマッピングする。システムは、たとえば、含まれていないレガシーハードウェアへのアクセスを試みる場合がある。ＶＭＭは、ネイティブな環境において等価な意味にＩ／Ｏをトラップする。この点で、ＥＦＩドライバ２１５のうちの１つは、関連するチップセットレジスタと通信し、仮想マシンに結果を供給する。これにより、レガシー環境からの移行パスが提供される。
【誤訳訂正１３】
【訂正対象書類名】明細書
【訂正対象項目名】００２１
【訂正方法】変更
【訂正の内容】
【００２１】
ＶＭＭは、第三者からのプログラムのサンドボックスによりプリブートセキュリティを提供するために使用される。サンドボックスモードにおいてプログラムを実行することにより、プログラムがシステムの残りの部分へのアクセスを有することを防止する。コードは、システムの残りの部分を破壊することはないので信頼することができる。アプリケーションには、システムリソースのサブセットへのアクセスが与えられ、及び、更新用に指定されていないメモリマップの部分へのアクセスは、ＶＭＭにトラップされる。ＶＭＭのプリブートのポリシーエージェントは、状態を保護し、問題のあるソフトウェアをアンロードする。
【誤訳訂正１４】
【訂正対象書類名】明細書
【訂正対象項目名】００２２
【訂正方法】変更
【訂正の内容】
【００２２】
図３は、本発明の第一の実施の形態による、信頼できないプログラムをサンドボックスするＶＭＭ処理を説明するフローチャートである。図３に示される処理３００は、処理３０５で始まり、ここでは、信頼できないプログラムは違法な書込みアクセスを試みる。処理３１０で、命令はＶＭＭにトラップされる。プログラムがＥＦＩのコアのコードにより開始された場合、及びプログラムがＥＦＩのコアのデータ構造へのアクセスを有する場合、アクセスは合法である。これ以外の場合、処理３２０でアクセスは否定され、制御はコアに戻る。
【誤訳訂正１５】
【訂正対象書類名】明細書
【訂正対象項目名】００２４
【訂正方法】変更
【訂正の内容】
【００２４】
ＶＭＭは、特権モードで実行し、また、ＶＭＭは、ＯＳのロードまでＥＦＩの環境を実行するため、特権モードをエミュレートする。ＶＭＭは、この下位の特権コード（ｌｅｓｓ  ｐｒｉｖｉｌｅｇｅｄ  ｃｏｄｅ）を抽象化するため、ＶＭＭは、アドレス空間の一部を隠すことができる。保護されたモードを仮想化する保護されたストレージ及び保護された実行により、セキュリティインフラストラクチャの一部となることができる。
【誤訳訂正１６】
【訂正対象書類名】明細書
【訂正対象項目名】００２５
【訂正方法】変更
【訂正の内容】
【００２５】
図４は、本発明の第一の実施の形態によるＶＭＭの使用を通したセキュリティアプリケーションの実行を示している。図４に示されるシステム４００は、モジュール４１０を評価するプリブートの認証ドライバ４０５を含んでいる。モジュール４１０は、ベンダーからのデジタル署名を含んでいる。署名は、ＭＤ５又はＳＨＡ−１署名である。プリブートの認証ドライバ４０５は、署名を認証するためにＶＭＭ４２０の署名ロジック４２１へのエントリポイントを呼出す。ＶＭＭ４２０は、認証ログにおいて有効なドライバ及びモジュールの署名を含むセキュアストレージを提供する。認証ログは、システムがロードしたコードの署名を含む場合がある。認証ログが該コードの署名を含んでいる場合、ＶＭＭは該コードを確認する。すなわち、プラットフォームは、コードを実行したことに対して認証する。これにより、制御を行うに先立って、そのコードを信用することができるという保証がＯＳに対して提供される。
【誤訳訂正１７】
【訂正対象書類名】明細書
【訂正対象項目名】００２６
【訂正方法】変更
【訂正の内容】
【００２６】
このように、ＶＭＭは、ＯＳのロードを含め、ＯＳのロードまで信頼されるプラットフォームを実現するため、プリブートセキュリティを提供する。この時点で、ＯＳローダは、自身のセキュリティを提供することができる。