(57)【要約】  コンピュータシステム内のセキュアなアプリケーションおよびデータの整合性を実現する技術が提供される。一実施形態では、アプリケーションおよびデータを格納および実行可能な１以上のセキュアなエンクレーブを構築する。【選択図】図１
2012508938.tif 000002
【特許請求の範囲】
【請求項１】
エンクレーブ・ページキャッシュ（ＥＰＣ）と第２の格納領域との間で保護データを移動させる少なくとも１つの第１の命令を実行する実行ロジックを備えるプロセッサ。
【請求項２】
前記保護データにアクセスするプログラムの実行中に前記データを移動させる請求項１に記載のプロセッサ。
【請求項３】
前記プログラムは特権モードで実行される請求項２に記載のプロセッサ。
【請求項４】
前記少なくとも１つの第１の命令は、メモリから前記ＥＰＣにデータをコピーする命令を含む請求項１に記載のプロセッサ。
【請求項５】
前記少なくとも１つの第１の命令は、前記ＥＰＣからメモリにデータをコピーする命令を含む請求項１に記載のプロセッサ。
【請求項６】
前記ＥＰＣは、悪意あるコードから保護された情報を格納する請求項１に記載のプロセッサ。
【請求項７】
前記ＥＰＣはユーザアプリケーション専用の情報を格納する請求項１に記載のプロセッサ。
【請求項８】
前記ＥＰＣは、暗号化鍵を利用した場合のみアクセス可能である請求項１に記載のプロセッサ。
【請求項９】
機械により実行されると前記機械に、エンクレーブ・ページキャッシュ（ＥＰＣ）と第２の格納領域との間で保護データを移動させる段階を備える方法を実行させる命令を格納している機械可読媒体。
【請求項１０】
前記保護データにアクセスするプログラムの実行中に前記データを移動させる請求項９に記載の機械可読媒体。
【請求項１１】
前記プログラムは特権モードで実行される請求項１０に記載の機械可読媒体。
【請求項１２】
前記少なくとも１つの第１の命令は、メモリから前記ＥＰＣにデータをコピーする命令を含む請求項９に記載の機械可読媒体。
【請求項１３】
前記少なくとも１つの第１の命令は、前記ＥＰＣからメモリにデータをコピーする命令を含む請求項９に記載の機械可読媒体。
【請求項１４】
前記ＥＰＣは、悪意あるコードから保護された情報を格納する請求項９に記載の機械可読媒体。
【請求項１５】
前記ＥＰＣはユーザアプリケーション専用の情報を格納する請求項９に記載の機械可読媒体。
【請求項１６】
前記ＥＰＣは、暗号化鍵を利用した場合のみアクセス可能である請求項９に記載の機械可読媒体。
【請求項１７】
第１の命令を格納する格納領域と、
前記格納領域から前記第１の命令をフェッチするプロセッサと
を備え、
前記第１の命令は、エンクレーブ・ページキャッシュ（ＥＰＣ）と第２の格納領域との間で保護データのコピーを行うシステム。
【請求項１８】
前記保護データにアクセスするプログラムの実行中に前記データを移動させる請求項１７に記載のシステム。
【請求項１９】
前記プログラムは特権モードで実行される請求項１８に記載のシステム。
【請求項２０】
前記少なくとも１つの第１の命令は、メモリから前記ＥＰＣにデータをコピーする命令を含む請求項１７に記載のシステム。
【請求項２１】
前記少なくとも１つの第１の命令は、前記ＥＰＣからメモリにデータをコピーする命令を含む請求項１７に記載のシステム。
【請求項２２】
前記ＥＰＣは、悪意あるコードから保護された情報を格納する請求項１７に記載のシステム。
【請求項２３】
前記ＥＰＣはユーザアプリケーション専用の情報を格納する請求項１７に記載のシステム。
【請求項２４】
前記ＥＰＣは、暗号化鍵を利用した場合のみアクセス可能である請求項１７に記載のシステム。
【請求項２５】
第１の命令が実行されるとエンクレーブ・ページキャッシュ（ＥＰＣ）と格納領域との間で情報を移動させる段階を備え、
前記第１の命令は特殊なＥＰＣアクセス命令であり、
前記保護データにアクセスするプログラムの実行中に前記データを移動させ、
前記プログラムを特権モードで実行する方法。
【請求項２６】
前記少なくとも１つの第１の命令は、メモリから前記ＥＰＣにデータをコピーする命令を含む請求項２５に記載の方法。
【請求項２７】
前記少なくとも１つの第１の命令は、前記ＥＰＣからメモリにデータをコピーする命令を含む請求項２６に記載の方法。
【請求項２８】
前記ＥＰＣは、悪意あるコードから保護された情報を格納する請求項２７に記載の方法。
【請求項２９】
前記ＥＰＣはユーザアプリケーション専用の情報を格納する請求項２８に記載の方法。
【請求項３０】
前記ＥＰＣは、暗号化鍵を利用した場合のみアクセス可能である請求項２９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は概して情報処理分野に係り、より詳しくはコンピュータシステムおよびマイクロプロセッサにおけるセキュリティ分野に係る。
【背景技術】
【０００２】
コンピュータシステムにおけるアプリケーションおよびそのデータの実行および整合性をセキュアに守ることは益々重要となっている。先行技術のセキュリティ技術のなかには、柔軟且つ信頼性高くアプリケーションおよびデータを適切にセキュアに守ることができないものもある。
【０００３】
本発明の実施形態を、添付図面に限定を意図せずに示すが、添付図面において同様の参照番号が付されている部材は同様である。
【図面の簡単な説明】
【０００４】
【図１】本発明の少なくとも１つの実施形態を利用可能なマイクロプロセッサのブロック図を示す。
【図２】本発明の少なくとも１つの実施形態を利用可能な共有バスコンピュータシステムのブロック図を示す。
【図３】本発明の少なくとも１つの実施形態を利用可能なポイントツーポイントインターコネクトコンピュータシステムのブロック図を示す。
【発明を実施するための形態】
【０００５】
本発明の実施形態は、セキュアなアプリケーションおよびデータを柔軟且つ信頼性高く提供する技術に係る。本発明には複数の側面を表す複数の実施形態が存在するが、「セキュアなエンクレーブ・アーキテクチャ」というタイトルの添付書類をここに少なくとも１つの実施形態の例として組み込む。しかし、組み込まれる参考文献により本発明の実施形態の範囲を限定する意図は全くなく、本発明の精神および範囲に含まれる他の実施形態を利用することもできる。
【０００６】
図１は、本発明の少なくとも１つの実施形態を利用可能なマイクロプロセッサを示す。特に図１においては、それぞれローカルキャッシュ１０７および１１３を関連付けられた１以上のプロセッサコア１０５および１１０を有するマイクロプロセッサ１００が示されている。さらに図１には、ローカルキャッシュ１０７および１１３の各々に格納されている情報の少なくとも一部のバージョンを格納してよい共有キャッシュメモリ１１５も示されている。一部の実施形態では、マイクロプロセッサ１００は、さらに、図１に示されていない他のロジック（例えば、統合メモリコントローラ、統合グラフィックスコントローラ、およびＩ／Ｏ制御等のコンピュータシステム内の他の機能を実行する他のロジック）を含むことができる。一実施形態では、マルチプロセッサシステムの各マイクロプロセッサまたはマルチコアプロセッサの各プロセッサコアが、ロジック１１９を含み、またはロジック１１９に関連付けられて、少なくとも１つの実施形態におけるセキュアなエンクレーブ技術を可能とする。ロジックに、回路、ソフトウェア（有形媒体に具現化されている）、またはこれらの両方を含めることで、一部の先行技術における実装例におけるよりも、複数のコアまたはプロセッサ間のリソース割り当てを効率的に行うことができる。
【０００７】
例えば図２は、本発明の一実施形態を利用可能なフロントサイドバス（ＦＳＢ）コンピュータシステムを示す。プロセッサ２０１、２０５、２１０、または２１５は、いずれもが、プロセッサコア２２３、２２７、２３３、２３７、２４３、２４７、２５３、２５７のいずれかの中の、またはこれに関連付けられたいずれかのローカルレベル１（Ｌ１）キャッシュメモリ２２０、２２５、２３０、２３５、２４０、２４５、２５０、２５５からの情報にアクセスすることができる。さらにプロセッサ２０１、２０５、２１０、または２１５は、いずれもが、いずれかの共有レベル２（Ｌ２）キャッシュ２０３、２０７、２１３、２１７からの情報に、または、チップセット２６５を介してシステムメモリ２６０からの情報にアクセスすることができる。図２のプロセッサのうち１以上のプロセッサが、ロジック２１９を含むことで、またはこれに関連付けられることで、少なくとも１つの実施形態におけるセキュアなエンクレーブ技術を実現することができる。
【０００８】
図２に示すＦＳＢコンピュータシステムに加えて、他のシステム構成（例えばポイントツーポイント（Ｐ２Ｐ）インターコネクトシステムおよびリングインターコネクトシステム）を本発明の様々な実施形態と共に利用することもできる。図３のＰ２Ｐシステムは、例えば、複数のプロセッサを含むことができ、このうち２つのプロセッサであるプロセッサ３７０および３８０を例示している。プロセッサ３７０、３８０は各々、メモリ３２、３４に接続するべくローカルメモリコントローラハブ（ＭＣＨ）３７２、３８２を含んでよい。プロセッサ３７０、３８０は、ＰｔＰインタフェース回路３７８、３８８を利用してポイントツーポイント（ＰｔＰ）インタフェース３５０を介してデータを交換することができる。プロセッサ３７０、３８０は各々、ポイントツーポイントインタフェース回路３７６、３９４、３８６、３９８を利用して個々のＰｔＰインタフェース３５２、３５４を介してチップセット３９０とデータを交換することができる。さらにチップセット３９０は、高性能グラフィックスインタフェース３３９を介して高性能グラフィック回路３３８とデータを交換することができる。本発明の実施形態は、任意の数のプロセッサコアを有する任意のプロセッサ内に、または、図３の各ＰｔＰバスエージェント内に位置してよい。一実施形態では、いずれのプロセッサコアもが、ローカルキャッシュメモリ（不図示）を含んでも、これと関連付けられてよい。さらに共有キャッシュ（不図示）は、両プロセッサの外のいずれかのプロセッサに含まれるが、ｐ２ｐインターコネクトを介してこれらプロセッサと接続されており、プロセッサが低電力モードになった場合に、これらプロセッサのいずれかまたは両方のローカルキャッシュ情報を共有キャッシュに格納することができる。図３のプロセッサまたはコアの１以上は、ロジック３１９を含む、またはこれと関連付けられることで、少なくとも１つの実施形態におけるセキュアなエンクレーブ技術を実現することができる。
【０００９】
少なくとも１つの実施形態の１以上の側面は、プロセッサ内の様々なロジックを表す機械可読媒体に格納された代表的なデータにより実装することができ、機械により読み出されると、機械に、ここで説明する技術を行わせるロジックを生成させる。「ＩＰコア」として知られているような表現は、有形の機械可読媒体（「テープ」）に格納されて、様々なカスタマーまたは製造施設に供給された後に製造機械へ搭載され、ここで実際のロジックまたはプロセッサが生成される。
【００１０】
マイクロアーキテクチャにおけるメモリ領域アクセスを行うための方法および装置を記載してきた。上述した記載は、例示を意図しており限定は意図していない。当業者であれば上述の記載を読むことで数多くの他の実施形態を想到するであろう。従って本発明の範囲は、添付請求項、および、請求項の均等物の全範囲による定義が意図されている。
【図１】
2012508938.tif 000003
【図２】
2012508938.tif 000004
【図３】
2012508938.tif 000005
【手続補正書】
【提出日】平成23年5月26日(2011.5.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
エンクレーブ・ページキャッシュ（ＥＰＣ）と第２の格納領域との間で保護データを移動させる少なくとも１つの第１の命令を実行する実行ロジックを備えるプロセッサ。
【請求項２】
前記保護データにアクセスするプログラムの実行中に前記データを移動させる請求項１に記載のプロセッサ。
【請求項３】
前記プログラムは特権モードで実行される請求項２に記載のプロセッサ。
【請求項４】
前記少なくとも１つの第１の命令は、メモリから前記ＥＰＣにデータをコピーする命令を含む請求項１に記載のプロセッサ。
【請求項５】
前記少なくとも１つの第１の命令は、前記ＥＰＣからメモリにデータをコピーする命令を含む請求項１に記載のプロセッサ。
【請求項６】
前記ＥＰＣは、悪意あるコードから保護された情報を格納する請求項１に記載のプロセッサ。
【請求項７】
前記ＥＰＣはユーザアプリケーション専用の情報を格納する請求項１に記載のプロセッサ。
【請求項８】
前記ＥＰＣは、暗号化鍵を利用した場合のみアクセス可能である請求項１に記載のプロセッサ。
【請求項９】
機械に、エンクレーブ・ページキャッシュ（ＥＰＣ）と第２の格納領域との間で保護データを移動させる段階を備える方法を実行させるためのプログラム。
【請求項１０】
前記保護データにアクセスするプログラムの実行中に前記データを移動させる請求項９に記載のプログラム。
【請求項１１】
前記プログラムは特権モードで実行される請求項１０に記載のプログラム。
【請求項１２】
前記少なくとも１つの第１の命令は、メモリから前記ＥＰＣにデータをコピーする命令を含む請求項９に記載のプログラム。
【請求項１３】
前記少なくとも１つの第１の命令は、前記ＥＰＣからメモリにデータをコピーする命令を含む請求項９に記載のプログラム。
【請求項１４】
前記ＥＰＣは、悪意あるコードから保護された情報を格納する請求項９に記載のプログラム。
【請求項１５】
前記ＥＰＣはユーザアプリケーション専用の情報を格納する請求項９に記載のプログラム。
【請求項１６】
前記ＥＰＣは、暗号化鍵を利用した場合のみアクセス可能である請求項９に記載のプログラム。
【請求項１７】
第１の命令を格納する格納領域と、
前記格納領域から前記第１の命令をフェッチするプロセッサと
を備え、
前記第１の命令は、エンクレーブ・ページキャッシュ（ＥＰＣ）と第２の格納領域との間で保護データのコピーを行うシステム。
【請求項１８】
前記保護データにアクセスするプログラムの実行中に前記データを移動させる請求項１７に記載のシステム。
【請求項１９】
前記プログラムは特権モードで実行される請求項１８に記載のシステム。
【請求項２０】
前記少なくとも１つの第１の命令は、メモリから前記ＥＰＣにデータをコピーする命令を含む請求項１７に記載のシステム。
【請求項２１】
前記少なくとも１つの第１の命令は、前記ＥＰＣからメモリにデータをコピーする命令を含む請求項１７に記載のシステム。
【請求項２２】
前記ＥＰＣは、悪意あるコードから保護された情報を格納する請求項１７に記載のシステム。
【請求項２３】
前記ＥＰＣはユーザアプリケーション専用の情報を格納する請求項１７に記載のシステム。
【請求項２４】
前記ＥＰＣは、暗号化鍵を利用した場合のみアクセス可能である請求項１７に記載のシステム。
【請求項２５】
第１の命令が実行されるとエンクレーブ・ページキャッシュ（ＥＰＣ）と格納領域との間で情報を移動させる段階を備え、
前記第１の命令は特殊なＥＰＣアクセス命令であり、
前記保護データにアクセスするプログラムの実行中に前記データを移動させ、
前記プログラムを特権モードで実行する方法。
【請求項２６】
前記少なくとも１つの第１の命令は、メモリから前記ＥＰＣにデータをコピーする命令を含む請求項２５に記載の方法。
【請求項２７】
前記少なくとも１つの第１の命令は、前記ＥＰＣからメモリにデータをコピーする命令を含む請求項２６に記載の方法。
【請求項２８】
前記ＥＰＣは、悪意あるコードから保護された情報を格納する請求項２７に記載の方法。
【請求項２９】
前記ＥＰＣはユーザアプリケーション専用の情報を格納する請求項２８に記載の方法。
【請求項３０】
前記ＥＰＣは、暗号化鍵を利用した場合のみアクセス可能である請求項２９に記載の方法。
【国際調査報告】
2012508938.tif 000006
2012508938.tif 000007